Конвертация данных ВыгрузитьПоПравилу. Выгрузить ТЗ из 1С 7.7 в ТЧ 1С 8

1. dikd 17 14.10.20 11:45 Сейчас в теме
Всем привет!
Срочный вопрос...

Выгружаю из 1С ТиС 7.7 в 1С Розница 2.3 цены номенклатуры.

В 1С 7.7 получаю ТЗ, как её выгрузить в ТабЧасть документа "Установка цен номенклатуры"?

Из 1С 8 в 1С 8 там всё ясно, там можно использовать "Структуру", но в 7.7 Структуры нет
ВходящиеДанные = Новый Структура("Товары");
ВходящиеДанные.Товары= Новый ТаблицаЗначений;
ВходящиеДанные.Товары.Колонки.Добавить("Номенклатура");
ВходящиеДанные.Товары.Колонки.Добавить("Цена");
ВходящиеДанные.Товары.Колонки.Добавить("Видцены");


Для каждого ТекСтрока Из Выгрузка Цикл
НовСтрока               = ВходящиеДанные.Товары.Добавить();
НовСтрока.Номенклатура          = ТекСтрока.Номенклатура;
НовСтрока.ВидЦены= ТекСтрока.ВидЦены;
НовСтрока.Цена= ТекСтрока.Цена;
КонецЦикла;
ВыгрузитьПоПравилу(, ,ВходящиеДанные, ,"УстановкаЦенНоменклатуры");
Показать


Ни как это сделать в 1С 7.7

Пробовал через список значений, через две ТЗ т.е, но везде при выгрузке 1С сыпет ошибкой

Вот крайний вариант - не работает:
ВходящиеДанные = СоздатьОбъект("ТаблицаЗначений");
ВходящиеДанные.НоваяКолонка("Товары");

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Номенклатура");
ТЗ.НоваяКолонка("ВидЦены");
ТЗ.НоваяКолонка("Цена");

ВходящиеДанные.Товары = ТЗ;
ВыгрузитьПоПравилу(,,ВходящиеДанные,,"УстановкаЦенНоменклатуры");
Показать
Вознаграждение за ответ
Показать полностью
Найденные решения
2. ZergKRSK 130 14.10.20 12:21 Сейчас в теме +0.4 $m
(1)
Товары = СоздатьОбъект("ТаблицаЗначений");
Товары.НоваяКолонка("Номенклатура");
Товары.НоваяКолонка("Цена");
Товары.НоваяКолонка("Видцены");

цикл по Выгрузка
	Товары.НоваяСтрока();
	Товары.Номенклатура = ... ;
	Товары.Цена = ... ;
	Товары.Видцены = ... ;
конец цикла по Выгрузка

Если Товары.КоличествоСтрок() > 0 Тогда
	ВходящиеДанные = СоздатьОбъект("СписокЗначений");
	ВходящиеДанные.Установить("Товары", Товары);
	ВыгрузитьПоПравилу(,, ВходящиеДанные,, "УстановкаЦенНоменклатуры");
КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 130 14.10.20 12:21 Сейчас в теме +0.4 $m
(1)
Товары = СоздатьОбъект("ТаблицаЗначений");
Товары.НоваяКолонка("Номенклатура");
Товары.НоваяКолонка("Цена");
Товары.НоваяКолонка("Видцены");

цикл по Выгрузка
	Товары.НоваяСтрока();
	Товары.Номенклатура = ... ;
	Товары.Цена = ... ;
	Товары.Видцены = ... ;
конец цикла по Выгрузка

Если Товары.КоличествоСтрок() > 0 Тогда
	ВходящиеДанные = СоздатьОбъект("СписокЗначений");
	ВходящиеДанные.Установить("Товары", Товары);
	ВыгрузитьПоПравилу(,, ВходящиеДанные,, "УстановкаЦенНоменклатуры");
КонецЕсли;
Показать
3. dikd 17 14.10.20 13:27 Сейчас в теме
(2) Спасибо, помогло конечно) Но самое интересно, что через СписокЗначений я уже пробовал, не работало.
Поубирал всякий мусор из кода и вуаля)

Только
не
ВходящиеДанные.Установить("Товары", Товары);

а
ВходящиеДанные.ДобавитьЗначение(ТЗ,"Товары");


Спасибо)
4. dikd 17 14.10.20 13:31 Сейчас в теме
Вот весь код передачи двух ТЗ в две ТЧ в документ, может кому-то еще будет полезно

ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Номенклатура","Справочник.Номенклатура");
ТЗ.НоваяКолонка("ВидЦены","Справочник.ТипыЦен");
ТЗ.НоваяКолонка("Цена","Число");

Цены = СоздатьОбъект("Справочник.Цены");	

Цены.ВыбратьЭлементы(0);  

Пока Цены.ПолучитьЭлемент() = 1 Цикл
	Если (Цены.ТекущийЭлемент().ТипЦен <> Параметры.ТипЦенРозн) И (Цены.ТекущийЭлемент().ТипЦен <> Параметры.ТипЦенЗакуп) тогда
		Продолжить;
	КонецЕсли;	
		
	ТЗ.НоваяСтрока();
	ТЗ.Номенклатура = Цены.ТекущийЭлемент().Владелец;
	ТЗ.ВидЦены      = Цены.ТекущийЭлемент().ТипЦен;
	ТЗ.Цена         = Цены.ТекущийЭлемент().Цена.Получить(ДатаОкончания);
КонецЦикла;

ТЗЦен = СоздатьОбъект("ТаблицаЗначений");
ТЗЦен.Загрузить(ТЗ);
ТЗЦен.Свернуть("ВидЦены",);

ВходящиеДанные = СоздатьОбъект("СписокЗначений");
ВходящиеДанные.ДобавитьЗначение(ДатаОкончания,"Дата");
ВходящиеДанные.ДобавитьЗначение(ТЗ,"Товары");
ВходящиеДанные.ДобавитьЗначение(ТЗЦен,"ВидыЦен");

ВыгрузитьПоПравилу(,,ВходящиеДанные,,"УстановкаЦенНоменклатуры");
Показать
Оставьте свое сообщение

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