Конвертация объектов: Как разбить одну строку на несколько
☑
0
SMakcik
29.10.12
✎
14:13
Всем привет!
В конвертации я только начал разбираться. Почитал, посмотрел примеры.
Выгружаю строки документа и разбиваю строки одну в несколько
Алгоритм таков
КоллекцияОбъектов = Новый ТаблицаЗначений;
КоллекцияОбъектов.Колонки.Добавить("Номенклатура");
КоллекцияОбъектов.Колонки.Добавить("Количество");
КоллекцияОбъектов.Колонки.Добавить("КоличествоУпаковок");
КоллекцияОбъектов.Колонки.Добавить("Характеристика");
Для Каждого СтрокаТаблицыТоваров ИЗ Источник.Товары Цикл
Если СтрокаТаблицыТоваров.Номенклатура.ВестиУчетПоРазмерам Тогда
Для к = 1 ПО глОбщееКоличествоРазмеров Цикл
Если СтрокаТаблицыТоваров["КоличествоРазмер" + Строка(к)] > 0 Тогда
НоваяСтрока = КоллекцияОбъектов.Добавить();
НоваяСтрока.Номенклатура = СтрокаТаблицыТоваров.Номенклатура;
НоваяСтрока.Характеристика = СтрокаТаблицыТоваров["Размер" + Строка(к)];
НоваяСтрока.Количество = СтрокаТаблицыТоваров["КоличествоРазмер" + Строка(к)];
НоваяСтрока.КоличествоУпаковок = СтрокаТаблицыТоваров["КоличествоРазмер" + Строка(к)];
КонецЕсли;
КонецЦикла;
Иначе
НоваяСтрока = КоллекцияОбъектов.Добавить();
НоваяСтрока.Номенклатура = СтрокаТаблицыТоваров.Номенклатура;
НоваяСтрока.Характеристика = СтрокаТаблицыТоваров.ХарактеристикаНоменклатуры;
НоваяСтрока.Количество = СтрокаТаблицыТоваров.Количество;
НоваяСтрока.КоличествоУпаковок = СтрокаТаблицыТоваров.Количество;
КонецЕсли;
КонецЦикла
При загрузке и выгрузке через универсальный обмен вроде все проходит нормально.
А вот при плане обмена с розницой табличная часть не загружается. кто-нить может пояснить данное явление. В какую сторону рыть.
1
SMakcik
29.10.12
✎
15:22
апп
2
SMakcik
29.10.12
✎
15:26
И зачем он выгружает КлючПоискаВИБИсточнике и как от него избавиться?
3
SMakcik
29.10.12
✎
17:28
и еще разочек ап
4
SMakcik
29.10.12
✎
17:46
Народ, ну что никто не знает в чем дело?
5
texnik
29.10.12
✎
21:15
В ПКО (твой документ) в обработчике ПередВыгрузкой
пишешь свой код
Затем пишешь
ВходящиеДанные = Новый Структура("Товары");
ВходящиеДанные.Товары = КоллекцияОбъектов ;
В ПКС на группе Товары ставишь получать из входящих все подчиненные ПКС товарам отключаешь
Таким образом ты уже не этапе выгрузки передаешь набранную таблицу и разбитую на столько строк как тебе надо в Приемник, а приемник все принимает как родное.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший