Answer the question
In order to leave comments, you need to log in
How to unload an assortment with a GUID from 1C?
I have 1C:Enterprise 8.3 (8.3.10.2168)
Trade Management, edition 11 (11.3.4.228)
I need to pull out the Item List with GUIDs from there. How to do it ?
Answer the question
In order to leave comments, you need to log in
In general, it turned out to be easier to pile processing, taking as a basis unloading from the Internet
Who needs it - use
https://vk.com/solotony?w=wall399047259_51%2Fall
// Выполним запрос к справочнику Номенклатуры
// Получим Таблицу Значений
Функция ПолучитьНоменклатуру()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 100000
| Номенклатура.Ссылка,
| Номенклатура.Код,
| Номенклатура.Родитель,
| Номенклатура.Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
ТаблицаЗначений = Результат.Выгрузить();
возврат ТаблицаЗначений;
КонецФункции // ПолучитьНоменклатуру()
// Создаем строку загоовков для CSV-файла
Функция СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель)
//разделитель = "|";
колонкиТЗ=ТаблицаЗначений.колонки;
Для каждого колонка Из колонкиТЗ Цикл
стрКолонки = "" + стрКолонки + колонка.Имя + разделитель ;
КонецЦикла;
Возврат стрКолонки;
КонецФункции
// Создаем текст CSV:
// текст заголовков и
// текст данных
Функция СоздатьДанныеCSV(ТаблицаЗначений,разделитель)
текст="";
для каждого запись из ТаблицаЗначений Цикл
если текст="" тогда
текст=СоздатьЗаголовкиCSV(ТаблицаЗначений,разделитель)
+ Символы.ПС;
КонецЕсли;
сообщить(запись.Наименование);
текст = текст + запись.Ссылка.УникальныйИдентификатор()
+ разделитель + запись.Код
+ разделитель + запись.Родитель
+ разделитель + запись.Наименование
+ Символы.ПС;
КонецЦикла;
//сообщить(текст);
Возврат текст;
КонецФункции //
// Запишем данные в файл
Функция ЗаписатьCSV(текст,имяФайла)
кодировка = КодировкаТекста.ANSI;
ТекстовыйФайлЗапись = Новый ЗаписьТекста(имяФайла,Кодировка);
ТекстовыйФайлЗапись.ЗаписатьСтроку(текст);
ТекстовыйФайлЗапись.Закрыть();
Возврат 0;
КонецФункции // ЗаписатьCSV()
// Основная логика:
Функция ВыгрузитьВCSV(имяФайлаCSV);
разделитель = "|";
ТаблицаЗначений = ПолучитьНоменклатуру();
текст = СоздатьДанныеCSV(ТаблицаЗначений,разделитель);
ЗаписатьCSV(текст,имяФайлаCSV);
КонецФункции
// Начало
ВыгрузитьВCSV("C:\work\my.csv");
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question