Добрый день. На форме документа А есть кнопка с помощью которой открывается вспомогательный документ Б. Можно ли при закрытии документа Б передать значение в документ А?
Процедура ОбработкаПодбора(<?>,) КонецПроцедуры Синтаксис: ОбработкаПодбора(<Элемент>,<КонтФормы>) Назначение: Предопределенная процедура обработки подбора значения при нажатия кнопки Выбрать в Форме Подбора значения.
смотриТЕ в эту сторону
Причина редактирования: Предупреждение за ''Ты''! http://pro1c.org.ua/index.php?showtopic=2284
Завсегдатай
Группа: Местный
Сообщений: 124
Из: Полтавская обл.
Спасибо сказали: 72 раз
Рейтинг: 0
Если документ Б открывается отдельно то можно еще после закрытия документа Б, просто прочитать данные из базы... (это как ище один вариант) и вроде как бы можно ище через контекст формы (Форма.параметр), но точно не знаю, подойдет ли к вашей задачи...
Для каждой строки документа А создается, при необходимости, документ Б. Необходимо ПриЗакрытии документа Б в строке табл. части документа А изменить реквизит.
Я что-то не пойму, как это можно сделать с помощью ОбработкаПодбора(<?>,)?
Открывайте Б через ОткрытьФорму() и, в качестве параметра, передавайте в Б контекст документа А и номер нужной строки, например. Тогда в документе Б в ПриЗаписи() изменяйте реквизит в А.
Открывайте Б через ОткрытьФорму() и, в качестве параметра, передавайте в Б контекст документа А и номер нужной строки, например. Тогда в документе Б в ПриЗаписи() изменяйте реквизит в А.
Парам=Форма.Параметр; Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда Конт=Парам.Получить("Конт"); НСтр=Парам.Получить("НСтр"); Попытка Если Конт.ПолучитьСтрокуПоНомеру(НСтр)=1 Тогда Конт.УстановитьАтрибут("Кво",10000); //Конт.УстановитьАтрибут("НаименованиеНужногоРеквизита",ЗначениеНужногоРеквизита); КонецЕсли; // Конт.ПолучитьСтрокуПоНомеру(НСтр)=1 Исключение Сообщить("Не получилось! "+ОписаниеОшибки()); КонецПопытки КонецЕсли; // ТипЗначенияСтр(Форма.Параметр)="СписокЗначений"
Процедура ПриЗаписи() Если ТипЗначения(Форма.Параметр) = 100 Тогда формаМСК = Форма.Параметр.Получить("Конт"); формаМСК.НомВспомогательного=номердок; КонецЕсли;
По завершении процедуры ПриЗаписи() реквизит НомВспомогательного остается пустым. Только при повторном переходе на строку документа А для которой создавался документ Б заполняется реквизит НомВспомогательного. Такое ощущения, что нужно добавить форма.обновить(), но нет.
Подскажите, что делаю не так?
Причина редактирования: Когда Вы научитесь выделять код, а?
DAS_Alex, я ж Вам написала, пользуйтесь методом УстановитьАтрибут. И в моем варианте можно обойтись без проверки на открытость формы, чтобы исключить ошибку при групповой перезаписи, так как в таком случае Форма.Параметр не будет иметь тип СписокЗначений.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!