A
A
Antonio Solo2018-09-17 23:51:01
1C-Enterprise
Antonio Solo, 2018-09-17 23:51:01

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

1 answer(s)
A
Antonio Solo, 2018-09-18
@solotony

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 question

Ask a Question

731 491 924 answers to any question