Создание ввода на основании Требования-накладной из Авансового отчета через расширение - БГУ 2.0 - проблемы с заполнением реквизитов приемника.
Здравствуйте.
Платформа 1С:Предприятие 8.3 (8.3.21.1624)
Конфигурация БГУ 2.0.87.19
Задача - создать "Ввод на основании" Требование - Накладная (Материальные запасы) из Авансового отчета.
Причина - из документа Поступление МЗ такой ввод на основании есть. Любое поступление материалов сначала производится на склад, потом в таком же объеме выдается МОЛу. Поэтому поступление МЗ на склад удобно было использовать для ввода на основании для повторной передачи МОЛу который уже и будет расходовать.
Но в БГУ 2.0 есть возможность разносить приход МЗ в самом Авансовом отчете. А из него Требование -накладную не создать.
Реализовать данный функционал было решено через Расширение.
Создано расширение. В нем создана общая команда ввода на основании со следующим модулем:
Так же в расширение были заимствованы документы АвансовыйОтчет и ТребованиеНакладная0315006 соответственно.
В модуле Требования стоит следующий код:
В результате новый документ создается - данные табличной части переносятся. И все.
Шапка заполняется по умолчания как при создании нового документа. Часть данных стоит - часть пустая (в том числе и реквизит "ИФО"
Пробовал добавлять
В результате Через сообщить и через отладчик видно что реквизит "ИФО" принимает значение аналогичного реквизита документа-источника, но на самом создаваемом документе это никак не отражается. Поле все так же пустое.
Другие поля шапки аналогично пустые кроме заполняемых по умолчанию при создании нового документа.
Подскажите, что я делаю не так?
Платформа 1С:Предприятие 8.3 (8.3.21.1624)
Конфигурация БГУ 2.0.87.19
Задача - создать "Ввод на основании" Требование - Накладная (Материальные запасы) из Авансового отчета.
Причина - из документа Поступление МЗ такой ввод на основании есть. Любое поступление материалов сначала производится на склад, потом в таком же объеме выдается МОЛу. Поэтому поступление МЗ на склад удобно было использовать для ввода на основании для повторной передачи МОЛу который уже и будет расходовать.
Но в БГУ 2.0 есть возможность разносить приход МЗ в самом Авансовом отчете. А из него Требование -накладную не создать.
Реализовать данный функционал было решено через Расширение.
Создано расширение. В нем создана общая команда ввода на основании со следующим модулем:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
СтруктураДанных = Новый Структура("Основание" , ПараметрКоманды);
ПараметрыФормы = Новый Структура("ЗначенияЗаполнения" , СтруктураДанных);
ОткрытьФорму("Документ.ТребованиеНакладная0315006.ФормаОбъекта",
ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно,
ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры
ПоказатьТак же в расширение были заимствованы документы АвансовыйОтчет и ТребованиеНакладная0315006 соответственно.
В модуле Требования стоит следующий код:
&После("ОбработкаЗаполнения")
Процедура Ввод1_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПоступлениеМЗ") Тогда
ЗаполнитьПоПоступлениюМЗ(ДанныеЗаполнения);
КонецЕсли;
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
Если ДанныеЗаполнения.Свойство("Основание") Тогда
ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения.Основание);
Если ТипДанныхЗаполнения = Тип("ДокументСсылка.АвансовыйОтчет") Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения.Основание,,"Номер, Дата");
Для Каждого СтрокаИзрасходовано Из ДанныеЗаполнения.Основание.Израсходовано Цикл
НоваяСтрока = Материалы.Добавить();
НоваяСтрока.Номенклатура = СтрокаИзрасходовано.СубконтоДебета1;
НоваяСтрока.КоличествоЗатребовано = СтрокаИзрасходовано.Количество;
НоваяСтрока.Количество = СтрокаИзрасходовано.Количество;
НоваяСтрока.Количество = СтрокаИзрасходовано.Количество;
НоваяСтрока.СчетУчета = СтрокаИзрасходовано.СчетДебета;
НоваяСтрока.КПС = СтрокаИзрасходовано.КПС;
НоваяСтрока.КФО = СтрокаИзрасходовано.КФО;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
ПоказатьВ результате новый документ создается - данные табличной части переносятся. И все.
Шапка заполняется по умолчания как при создании нового документа. Часть данных стоит - часть пустая (в том числе и реквизит "ИФО"
Пробовал добавлять
ИФО=ДанныеЗаполнения.Основание.ИФО;
В результате Через сообщить и через отладчик видно что реквизит "ИФО" принимает значение аналогичного реквизита документа-источника, но на самом создаваемом документе это никак не отражается. Поле все так же пустое.
Другие поля шапки аналогично пустые кроме заполняемых по умолчанию при создании нового документа.
Подскажите, что я делаю не так?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В принципе решил.
Изменил код в команде на:
После создания документа на основании выполнялась процедура создания документа копированием видимо и реквизиты заменялись на "По умолчанию".
Изменил код в команде на:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ЗначенияЗаполнения = ПараметрКоманды;
ОткрытьФорму("Документ.ТребованиеНакладная0315006.Форма.ФормаДокумента",Новый структура("Основание", ЗначенияЗаполнения));
КонецПроцедуры
ПоказатьПосле создания документа на основании выполнялась процедура создания документа копированием видимо и реквизиты заменялись на "По умолчанию".
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот