Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:23

Обработка загрузки данных из CSV

Автор AlexSib, 25 июл 2022, 16:04

0 Пользователей и 1 гость просматривают эту тему.

AlexSib

Ребят, помогите пожалуйста с кодом. Пытаюсь написать обработину,которая будет загружать инфу из CSV файла.
Обработка работает, но есть небольшой нюанс, необходимо сделать так, что бы в случае отсутствия родителя (Группы Контрагента) обработка создавала его в бд и записывала в него контрагента. Сейчас обработина записывает отдельно контрагента, отдельно группу. Заранее спасибо за советы!!!!)))

&НаСервере
Процедура ЗагрузитьНаСервере()
   
    Док = Новый ТекстовыйДокумент();
   Док.Прочитать(ПутьКФайлу);
   
   для А=1 По Док.КоличествоСтрок()Цикл
   Строка = Док.ПолучитьСтроку(А);
   Массив = СтрРазделить(Строка, ";");
   Наименование = Массив[0];
   ВидКонтрагента = Массив[1];
   Группа = Массив[2];
   
   НовыйКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
   НовыйКонтрагент.Наименование = Наименование;
   
   НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(Группа);
   Если НовыйКонтрагент.Родитель.Пустая() Тогда
    НовыйКонтрагент.Родитель = Группа;
   НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу();
    НоваяГруппа.Наименование = Группа; 
    НоваяГруппа.Записать();
    КонецЕсли;
              
   НовыйКонтрагент.Записать();
   
КонецЦикла;
   
КонецПроцедуры

ЗагрузкаИзCSVКонтрагенты.epf

LexaK

AlexSib, смотрите коменты
...
   НовыйКонтрагент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию(Группа);
   Если НовыйКонтрагент.Родитель.Пустая() Тогда
   // НовыйКонтрагент.Родитель = Группа;// это что, зачем? убираем
   НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу();//вот создание новой группы
    НоваяГруппа.Наименование = Группа;
    НоваяГруппа.Записать();//записали новую группу

    НовыйКонтрагент.Родитель = НоваяГруппа.Ссылка;// только здесь присваиваем ссылку новой группы

   КонецЕсли;
...
если помогло нажмите: Спасибо!

SavElAlex

Добрый день, В этом модуле нигде не указан ВидКонрагента! Поскажите какего прописать?

LexaK

Цитата: SavElAlex от 19 окт 2022, 16:47В этом модуле нигде не указан ВидКонрагента!
в указанной задаче, ВидКонрагента - не используется!

для установки Вида можно использовать такую команду

НовыйКонтрагент.ВидКонрагента = НужныйВидКонтрагента;
если помогло нажмите: Спасибо!

SavElAlex

LexaK, Нет, так не работает.Выдает ошибку

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск