Обработка заполнения: открыть документ, если документ основания уже существует
Приветствую, Форумчане!
1с8.3.12, самопис, УФ
Из документа "КомплектацияЗаказов" идет программное заполнение документа "ПеремещениеПаллет"
В документе "КомплектацияЗаказов" есть реквизит "ПеремещенияПаллет" (документ основание) типа признака, что перемещение уже создано.
Пытаюсь сделать следующее, если в "КомплектацияЗаказов" заполнен реквизит "ПеремещенияПаллет", то не создавать новое перемещение, а открыть существующий документ.
Подскажите как правильно это сделать. Перепробовал несколько вариантов, но выдает различные ошибки.
1с8.3.12, самопис, УФ
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.КомплектацияЗаказов") Тогда
Если ЗначениеЗаполнено(ДанныеЗаполнения.ПеремещенияПаллет) Тогда
Док = ДанныеЗаполнения.Ссылка.ПолучитьОбъект();
Стр = новый Структура;
Стр.Вставить("Ключ",Док);
Форма = ПолучитьФорму("Документ.КомплектацияЗаказов.Форма.ФормаДокумента",Стр);
Форма.Открыть();
Возврат;
КонецЕсли;
ПоказатьИз документа "КомплектацияЗаказов" идет программное заполнение документа "ПеремещениеПаллет"
В документе "КомплектацияЗаказов" есть реквизит "ПеремещенияПаллет" (документ основание) типа признака, что перемещение уже создано.
Пытаюсь сделать следующее, если в "КомплектацияЗаказов" заполнен реквизит "ПеремещенияПаллет", то не создавать новое перемещение, а открыть существующий документ.
Подскажите как правильно это сделать. Перепробовал несколько вариантов, но выдает различные ошибки.
По теме из базы знаний
- Заполнение ПоступлениеТоваровУслуг по внешнему документу в формате XLS (УТ 11)
- Перенос документов из УТ 11 в БП 3.0
- Перенос документов из УНФ в Бухгалтерию 3.0
- Загрузка чеков из ФНС в документы 1С:БП, УНФ, ERP, КА и УТ
- Универсальное удаление любых документов без пометки на удаление для любых конфигураций 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
У вас не получится открыть форму документа на сервере, вместо этого нужно:
1. Создать свою команду для документа КомплектацияЗаказов, тип параметра команды ДокументСсылка.КомплектацияЗаказов, назвать ее допустим "Создать перемещение паллет"
2. В модуле команды первым делом проверять заполнен ли реквизит ПеремещенияПаллет у документа КомплектацияЗаказов. Если заполнен открывать форму документа перемещения палллет с параметром Ключ=ссылка на ПеремещенияПаллет, иначе открывать форму с параметром Основание=ссылка на Комплектация заказов
3. Из формы списка, объекта комплектация заказов убрать видимость для сгенированной платформой команды создать на основании для перемещения паллет
1. Создать свою команду для документа КомплектацияЗаказов, тип параметра команды ДокументСсылка.КомплектацияЗаказов, назвать ее допустим "Создать перемещение паллет"
2. В модуле команды первым делом проверять заполнен ли реквизит ПеремещенияПаллет у документа КомплектацияЗаказов. Если заполнен открывать форму документа перемещения палллет с параметром Ключ=ссылка на ПеремещенияПаллет, иначе открывать форму с параметром Основание=ссылка на Комплектация заказов
3. Из формы списка, объекта комплектация заказов убрать видимость для сгенированной платформой команды создать на основании для перемещения паллет
Эту проверку можно перенести в событие формы "ПриОткрытии".
То есть на этапе заполнения в модуле объекта мы сохраняем документ основание в реквизите документа.
А в процедуре "ПриОткрытии" для условия "Объект.Ссылка.Пустая()" (новый объект) уже выполняем анализ документа основания и его открытие при необходимости.
То есть на этапе заполнения в модуле объекта мы сохраняем документ основание в реквизите документа.
А в процедуре "ПриОткрытии" для условия "Объект.Ссылка.Пустая()" (новый объект) уже выполняем анализ документа основания и его открытие при необходимости.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот