УНФ Поэтапное производство

1. pilyukhin 26.08.23 20:45 Сейчас в теме
Господа, доброго времени суток.
Есть проблема с обработкой Выполнение этапов(вернее общая глобальная проблема УНФ) - невозможно создавать несколько Заказов на производство по одному Заказу покупателя. И если обойти вопрос с созданием нескольких заказов на производство - обработка Выполнение этапов берет только один(максимальный по номенклатуре).
Можете помочь переформатировать Набор данных, чтобы он не учитывал Заказ клиента, а шел от Заказа на производство(как в случае, когда Заказ на производство не имеет связи с Заказом покупателя).
Безусловно не просто так.
По теме из базы знаний
Найденные решения
8. pilyukhin 28.08.23 15:15 Сейчас в теме
Вух, таки смог сформировать SQL-иньекцию обхода этой проблемы.
Всем спасибо!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. karamazoff 96 26.08.23 20:55 Сейчас в теме
(1)
невозможно создавать несколько Заказов на производство по одному Заказу покупателя
на эту тему - возможно, по моему даже штатно, если товар не обеспечен на складе, то можно создать заказ на пр-во, указать кол-во и товар, и если в заказе останутся недообеспеченные, можно создать еще. Я делал расширение, которое создавало заказы на пр-во поштучно, т.е. отдельный заказ на каждую единицу товара (нам так было надо), этапов у нас не было, но там вроде не сложно
3. pilyukhin 26.08.23 20:57 Сейчас в теме
(2)
Почти так. НО это работает ТОЛЬКО при НЕ включенной функции поэтапного производства.
При включении функции поэтапного производства(собственно о чём и тема) - на это стоит запрет.
4. karamazoff 96 26.08.23 21:17 Сейчас в теме
(3) этапы включены

Код в расшерении (не причесывал, не критиковать)
&НаСервере
Процедура АдаптацияСоздатьЗаказыНаПроизводствоПослеНаСервере()
	кол = 1;
	Пока не кол = 0 цикл
		об = Документы.ЗаказНаПроизводство.СоздатьДокумент();
		об.Дата = ТекущаяДата();
		об.Заполнить(Объект.Ссылка);
		Если об.Продукция.Количество()=0 тогда
			прервать;			
		КонецЕсли;	
		об.Организация = Справочники.Организации.НайтиПоКоду("00-000001");//("Наша фирма");
		об.СтруктурнаяЕдиница = Справочники.СтруктурныеЕдиницы.НайтиПоКоду("НФ-000005");//("04 Производство");
		об.СтруктурнаяЕдиницаРезерв = Справочники.СтруктурныеЕдиницы.НайтиПоКоду("НФ-000009");//("Материалы Ж");			
		об.Комментарий = Объект.Комментарий;
		об.Финиш = Объект.ДатаОтгрузки;
		
		колСтрок = об.Продукция.Количество();
		Если об.Продукция.Количество()>1  тогда
			к = об.Продукция.Количество()-1;
			пока к >0 цикл
				об.Продукция.Удалить(к);
				к = к-1;
			КонецЦикла;	
		КонецЕсли;		
		//Если об.Продукция.Получить(0).Количество = 1 и колСтрок = 1 тогда
		//	кол = 0;
		//иначе 
			об.Продукция.Получить(0).Количество = 1;
			об.Запасы.Очистить();
			СтекСпецификацийУзлов = Новый Массив;
			об.ЗаполнитьЗапасыПоСпецификации(СтекСпецификацийУзлов);			
		//КонецЕсли;
		
		об.СтруктурнаяЕдиницаОпераций = Справочники.СтруктурныеЕдиницы.НайтиПоНаименованию("04 Производство");
		об.Исполнитель = Справочники.Бригады.НайтиПоНаименованию("Бригада Цех");
		об.Операции.Очистить();
		об.ЗаполнитьОперацииПоСпецификации();
		Для каждого опер из об.Операции цикл
			опер.КоличествоПлан = 1;
			опер.Нормочасы = опер.НормаВремени * опер.КоличествоПлан;	
		КонецЦикла;
		
		об.Записать(РежимЗаписиДокумента.Проведение);
		сообщить("создан заказ на производство "+строка(об.Ссылка));
		
	КонецЦикла;		
		

КонецПроцедуры

Показать
Прикрепленные файлы:
5. pilyukhin 26.08.23 21:38 Сейчас в теме
(4)
Александр, не пинайте, плиз.
Но вопрос не в создании Заказов(это Мы обошли достаточно быстро), а в работе обработки Выполнение заказов - она "стопорит" процесс из-за того, что:
1. Формирует Набор данных, в котором очень не просто разобраться;
2. Набор данных сразу формируется с привязной ЗаказКлиента-ЗаказНаПроизводство(только один заключительный ЗаказНаПроизводство в цепочке заказов) - и вот из-за этого и есть основная проблема.
6. karamazoff 96 26.08.23 21:51 Сейчас в теме
(5)Ну, как говорил, у нас нет этапов, завтра, если будет время, посмотрю, если чего насмотрю, поделюсь!
7. pilyukhin 28.08.23 13:06 Сейчас в теме
Люби добрый, помогите.
8. pilyukhin 28.08.23 15:15 Сейчас в теме
Вух, таки смог сформировать SQL-иньекцию обхода этой проблемы.
Всем спасибо!
Оставьте свое сообщение

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