Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 дек 2022, 16:55

Не создается группа в обработке для загрузки

Автор ВанСаныч, 30 мая 2022, 17:32

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

ВанСаныч

Здравствуйте, помогите найти ошибку пожалуйста. Обработка для загрузки из CSV в коде ошибок нет, ничего не ругается, просто не создаются группы- элементы справочника номенклатуры и реквизит вид товара загружается корректно.
&НаСервере
Процедура ЗагрузитьНаСервере()
Док = Новый ТекстовыйДокумент();
Док.Прочитать(ПутьКФайлу);

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


НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НоваяНоменклатура.Наименование = Наименование;
НоваяНоменклатура.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию(ВидНоменклатуры);
НоваяНоменклатура.Родитель = Справочники.Номенклатура.НайтиПоНаименованию(Группа);
Если НоваяНоменклатура.Родитель.Пустая() тогда
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу(); 
        НоваяГруппа.Наименование = Группа;
        НоваяГруппа.Записать();
НоваяНоменклатура.Родитель = НоваяГруппа.Ссылка;
    КонецЕсли;
    НоваяНоменклатура.Записать();
КонецЦикла
КонецПроцедуры

LexaK

ВанСаныч, проверьте а вообще иерархия включена? и какая только Элементов или и Групп тоже?

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

    КонецЦикла
КонецПроцедуры
если помогло нажмите: Спасибо!

ВанСаныч

LexaK, Если создаю руками группу такую же как в CSV прописано, то элементы которые создаются оказываются внутри нее как мы и хотим. А создаваться не хочет почему то...

ВанСаныч

LexaK, Прописал ваш код - результат тот же. Все создается в корне без группы и группа не создается. Еще раз создал руками группу- все в нее записывается  и создается корректно :dfbsdfbsdf:

LexaK

ВанСаныч, вывод один, по какой-то причине не создается Группа, пройдите свой код под отладчиком, с заходом в процедуру .Записать()
еще как вариант неправильно задали реквизиты своей обработки/формы (ну это уже вообще)
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск