Разделить один документ на несколько документов

1. AlexanderKai 22.05.12 17:10 Сейчас в теме
Суть проблемы заключается в том, что в конфигурации ББУ 7.7, документ содержит нужный реквизит в табличной части. В БГУ 8.2 куда надо все это перенести нужный реквизит содержится только в шапке документа. Соответственно, нужно разделить один документ на несколько.
Желательно вариант с минимальными правками типовых правил обмена.
Заранее благодарю.
mistervoron; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ice-D 02.06.12 15:27 Сейчас в теме
Делалось подобное.
вот вырезал кусок модуля для образца:
			ИмяПКО = "ПО_ПТУ";
			МассивСкладов = Объект.Товары.ВыгрузитьКолонку("Склад");
			ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(МассивСкладов);
			КоличествоСкладов = МассивСкладов.Количество();
			
			Запрос = Новый Запрос;
			Запрос.Текст = "ВЫБРАТЬ
			|	ПриходныйОрдерНаТоварыТовары.Номенклатура,
			|	ПриходныйОрдерНаТоварыТовары.Склад
			//Остальные поля ТЧ			
			|ИЗ
			|	Документ.ПриходныйОрдерНаТовары.Товары КАК ПриходныйОрдерНаТоварыТовары
			|ГДЕ
			|	ПриходныйОрдерНаТоварыТовары.Ссылка = &Ссылка";
			Запрос.УстановитьПараметр("Ссылка",	Объект.Ссылка);
			ТаблицаТЧ = Запрос.Выполнить().Выгрузить();
			
			Для Каждого ТекущийСклад Из МассивСкладов Цикл
				
				ТЧТовары			= ТаблицаТЧ.НайтиСтроки(Новый Структура("Склад", ТекущийСклад)); 
//Можно не извращаться, как тут а построить итоги в запросе и обойти по группировкам, но это не суть
				
				ВходящиеДанные 		= Новый Структура;
				
				ВходящиеДанные.Вставить("Склад", ТекущийСклад);
				ВходящиеДанные.Вставить("Товары", ТЧТовары);
				
				//Прочие входящие данные, если нужны
				ВыгрузитьПоПравилу(Объект,,ВходящиеДанные,,ИмяПКО);
				
				
			КонецЦикла;
Показать

Идея в том, что табличную часть бьешь на несколько ТЗ (По количеству различных значений НужногоРеквизита). После на каждую пару НужныйРеквизит - ТЗ с ним выгружаешь документ передавая ТЗ и реквизит во входящие данные.

Для самого документа приемника в ПКС нужного реквизита и ТЧ поставить галочки получать из входящих данных, в ПКО нужно установить галку "Не запоминать выгруженные объекты", так как один объект выгружается несколько раз с различными значениями ТЧ и Нужного реквизита.

С учетом того что выгрузка из 7.7: ВходящиеДанные передаются типом "СписокЗначений" в остальном все тоже самое.
mistervoron; Азверин; tolyan_ekb; coch; +4 Ответить
Оставьте свое сообщение

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