Показано с 1 по 5 из 5
Комбинированный просмотр
-
20.11.2015, 10:23 #1
- Регистрация
- 20.11.2015
- Сообщений
- 3
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Как сделать отбор в справочнике?
Здравствуйте,
пытаюсь реализовать автоматическую подстановку реквизита, при изменении элемента формы.
Ошибки не выдает, но и реквизит не подставляет.
Я только учусь, поэтому не судите строго:blush::blush::blush:
2222.jpg
-
20.11.2015, 10:35 #2
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Как сделать отбор в справочнике?
А как он может вернуть? Почитать в "букваре" - а есть ли в контексте "Клиент" такие объекты как "справочник ссылка"?
Т.е. хинт "а наподумать" - Процедура на стороне сервера "это" возвращает, теперь вопрос - а может ли это воспринять "на прямую" процедура в контексте "на клиенте"?
-
20.11.2015, 11:46 #3
- Регистрация
- 20.11.2015
- Сообщений
- 3
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Как сделать отбор в справочнике?
А как это реализовать? я пыталась с помощью метода справочника "Выбрать", получить выборку и с помощью отбора получить нужный объект, и у него взять нужный реквизит и отправить его в процедуру на клиенте.
Но я не понимаю почему метод "Выбрать", возвращает выборку с неопределенными значениями, если я не накладываю значение отбора, он ведь должен вернуть все объекты справочника ?
Подскажите пожалуйста, как реализовать эту задачу? " на подумать" я уже потратила много времени=) но у меня ничего не выходит........(
4444.jpg
-
20.11.2015, 14:02 #4
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Как сделать отбор в справочнике?
В качестве совета - минимизируйте на 8-ке использование "объектной модели" програмирования (это несёт довольно существенные издержки на платформу "лишними действиями"). Сделайте запрос и вытаскивайте им (в контексте сервера) все что нужно.
Ну и небольшая выдержка из "букваря"
7.2.2. Преобразование данных прикладных объектов в данные формы и обратно
Для конвертирования прикладных объектов в данные формы и обратно существует набор глобальных методов:
? ЗначениеВДанныеФормы(),
? ДанныеФормыВЗначение(),
? КопироватьДанныеФормы().
Методы, работающие с прикладными объектами, доступны только в серверных процедурах. Метод для копирования значений между данными формы доступен на сервере и на клиенте, так как не требует прикладных объектов в качестве параметров.
Во время конвертирования данных формы в прикладной объект нужно учитывать их совместимость.
? ЗначениеВДанныеФормы() – преобразует объект прикладного типа в данные формы.
? ДанныеФормыВЗначение() – преобразует данные формы в объект прикладного типа.
? КопироватьДанныеФормы() – производит копирование данных формы, обладающих совместимой структурой. Возвращает значение Истина, если копирование произведено, или Ложь, если структура объектов несовместима.
При преобразовании данных формы в прикладные объекты и обратно используется кеширование объектов, но при этом выполняется проверка актуальности версии объекта в кеше.
Приведем пример, как использовать преобразование данных в собственных алгоритмах.
Копировать в буфер обмена
&НаСервере
Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
ОбъектТовар = Товары.НайтиПоНаименовани� �("Кофейник").ПолучитьОбъект ();
ЗначениеВДанныеФормы(Объе� �тТовар, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Записать()
ЗаписатьНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаписатьНаСервере()
ОбъектТовар = ДанныеФормыВЗначение(Объе� �т, Тип("СправочникОбъект.Това� �ы"));
ОбъектТовар.Записать();
КонецПроцедурыТакже у объекта УправляемаяФорма существуют методы, доступные на сервере:
? ЗначениеВРеквизитФормы() – выполняет преобразование объекта прикладного типа в заданный реквизит формы.
? РеквизитФормыВЗначение() – преобразует реквизит данных формы в объект прикладного типа.
Использование данных методов обычно удобнее, так как они имеют, например, информацию о типе реквизита формы. Кроме того, метод РеквизитФормыВЗначение() выполняет установку соответствия данных формы и объекта, которая используется при формировании сообщений (см. здесь).
Также следует помнить, что при преобразовании в данные формы (как с помощью метода ЗначениеВДанныеФормы(), так и с помощью метода ЗначениеВРеквизитФормы()) объектов типа ТаблицаЗначений или ДеревоЗначений нужно учитывать следующую особенность: в преобразуемом объекте должны существовать все колонки, которые существуют в данных формы.
ВНИМАНИЕ! Колонки реквизитов, не связанные с данными (см. здесь), не участвуют в преобразовании значений между данными формы и объектами информационной базы и обратно. Колонки, отсутствующие в данных объекта, очищаются при преобразовании в данные формы.
Примечание. В качестве первого параметра методов РеквизитФормыВЗначение() и ДанныеФормыВЗначение() могут выступать только реквизиты формы следующих типов: ДанныеФормыСтруктура, ДанныеФормыКоллекция, ДанныеФормыСтруктураСКолл екцией, ДанныеФормыДерево.
Приведем пример использования этих методов.
Копировать в буфер обмена
&НаСервере
Процедура ПересчитатьНаСервере()
// Преобразует реквизит Объект в прикладной объект.
Документ = РеквизитФормыВЗначение("Об ъект");
// Выполняет пересчет методом, определенным в модуле документа.
Документ.Пересчитать();
// Преобразует прикладной объект обратно в реквизит.
ЗначениеВРеквизитФормы(До� �умент, "Объект");
КонецПроцедуры
-
20.11.2015, 11:46 #5
- Регистрация
- 20.11.2015
- Сообщений
- 3
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Как сделать отбор в справочнике?
А как это реализовать? я пыталась с помощью метода справочника "Выбрать", получить выборку и с помощью отбора получить нужный объект, и у него взять нужный реквизит и отправить его в процедуру на клиенте.
Но я не понимаю почему метод "Выбрать", возвращает выборку с неопределенными значениями, если я не накладываю значение отбора, он ведь должен вернуть все объекты справочника ?
Подскажите пожалуйста, как реализовать эту задачу? " на подумать" я уже потратила много времени=) но у меня ничего не выходит........(
4444.jpg
Похожие темы
-
Не получается удалить контрагентов в справочнике!
от ZAviator в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 13Последнее сообщение: 25.12.2014, 17:18 -
Открытие формы регистра сведений из справочника в управляемой форме
от ppkmlite в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 3Последнее сообщение: 29.10.2014, 09:12 -
Печать справочника расчетные счета из 1 С 7.7
от sitash в разделе 1С - Предприятие 7.7Ответов: 1Последнее сообщение: 01.07.2014, 02:37 -
Значение реквизита справочника из модуля управляемого приложения
от dr_t_j в разделе Конфигурирование, программирование 1С - ПредприятиеОтветов: 0Последнее сообщение: 14.01.2014, 12:53
Социальные закладки