Создание ввода на основании Требования-накладной из Авансового отчета через расширение - БГУ 2.0 - проблемы с заполнением реквизитов приемника.

1. Tron77 19.11.22 13:15 Сейчас в теме
Здравствуйте.
Платформа 1С:Предприятие 8.3 (8.3.21.1624)
Конфигурация БГУ 2.0.87.19

Задача - создать "Ввод на основании" Требование - Накладная (Материальные запасы) из Авансового отчета.
Причина - из документа Поступление МЗ такой ввод на основании есть. Любое поступление материалов сначала производится на склад, потом в таком же объеме выдается МОЛу. Поэтому поступление МЗ на склад удобно было использовать для ввода на основании для повторной передачи МОЛу который уже и будет расходовать.
Но в БГУ 2.0 есть возможность разносить приход МЗ в самом Авансовом отчете. А из него Требование -накладную не создать.

Реализовать данный функционал было решено через Расширение.

Создано расширение. В нем создана общая команда ввода на основании со следующим модулем:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)   
	
	
	СтруктураДанных	= Новый Структура("Основание"			, ПараметрКоманды);
        ПараметрыФормы 	= Новый Структура("ЗначенияЗаполнения"	, СтруктураДанных);
    
        ОткрытьФорму("Документ.ТребованиеНакладная0315006.ФормаОбъекта", 
	ПараметрыФормы,
	ПараметрыВыполненияКоманды.Источник, 
	ПараметрыВыполненияКоманды.Уникальность, 
	ПараметрыВыполненияКоманды.Окно, 
	ПараметрыВыполненияКоманды.НавигационнаяСсылка);
		
КонецПроцедуры
Показать


Так же в расширение были заимствованы документы АвансовыйОтчет и ТребованиеНакладная0315006 соответственно.

В модуле Требования стоит следующий код:
   &После("ОбработкаЗаполнения")
	   Процедура Ввод1_ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) 
		
		   Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПоступлениеМЗ") Тогда
			   ЗаполнитьПоПоступлениюМЗ(ДанныеЗаполнения);
		   КонецЕсли; 
		   
		   
		   Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда 
			   Если ДанныеЗаполнения.Свойство("Основание") Тогда 
				   ТипДанныхЗаполнения = ТипЗнч(ДанныеЗаполнения.Основание);
				   Если ТипДанныхЗаполнения = Тип("ДокументСсылка.АвансовыйОтчет") Тогда
					   
					ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения.Основание,,"Номер, Дата");
					
					   Для Каждого СтрокаИзрасходовано Из ДанныеЗаполнения.Основание.Израсходовано Цикл 
						   
						   НоваяСтрока                 						= Материалы.Добавить();
						   НоваяСтрока.Номенклатура 						= СтрокаИзрасходовано.СубконтоДебета1;
						   НоваяСтрока.КоличествоЗатребовано		 		= СтрокаИзрасходовано.Количество;
						   НоваяСтрока.Количество					 		= СтрокаИзрасходовано.Количество;
						   НоваяСтрока.Количество					 		= СтрокаИзрасходовано.Количество;
						   НоваяСтрока.СчетУчета					 		= СтрокаИзрасходовано.СчетДебета;
						   НоваяСтрока.КПС					 				= СтрокаИзрасходовано.КПС;
						   НоваяСтрока.КФО							 		= СтрокаИзрасходовано.КФО;
						   
	
					   КонецЦикла; 

				   КонецЕсли;
			   КонецЕсли;
		   КонецЕсли;
 
	   КонецПроцедуры  

Показать


В результате новый документ создается - данные табличной части переносятся. И все.

Шапка заполняется по умолчания как при создании нового документа. Часть данных стоит - часть пустая (в том числе и реквизит "ИФО"

Пробовал добавлять
ИФО=ДанныеЗаполнения.Основание.ИФО;


В результате Через сообщить и через отладчик видно что реквизит "ИФО" принимает значение аналогичного реквизита документа-источника, но на самом создаваемом документе это никак не отражается. Поле все так же пустое.
Другие поля шапки аналогично пустые кроме заполняемых по умолчанию при создании нового документа.

Подскажите, что я делаю не так?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Tron77 20.11.22 18:16 Сейчас в теме
В принципе решил.
Изменил код в команде на:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)   

	ЗначенияЗаполнения = ПараметрКоманды;
	ОткрытьФорму("Документ.ТребованиеНакладная0315006.Форма.ФормаДокумента",Новый структура("Основание", ЗначенияЗаполнения));
	
КонецПроцедуры
Показать


После создания документа на основании выполнялась процедура создания документа копированием видимо и реквизиты заменялись на "По умолчанию".
3. Kilka_v_Kepke 21.11.22 16:16 Сейчас в теме
(2) странно, как дальше документ в обработку заполнения приехал ...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот