По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот код
файл = Новый ТекстовыйДокумент;
адресФайла="C:\ТекстСНовымиГруппами.txt";
Попытка файл.Прочитать(адресФайла);
Исключение
Предупреждение("файл по данному адресу не найден");
КонецПопытки;
Для Сч=1 По файл.КоличествоСтрок() Цикл
ОбработкаПрерыванияПользователя();
Стр = файл.ПолучитьСтроку(Сч);
Состояние("обработка файла "+Строка(Сч));
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
//НоваяГруппа.Код = Строка(ТекстыЯчеек[2]);
НоваяГруппа.Наименование = СокрЛП(Стр);
НоваяГруппа.Записать();
КонецЦикла;
файл = Новый ТекстовыйДокумент;
адресФайла="C:\ТекстСНовымиГруппами.txt";
Попытка файл.Прочитать(адресФайла);
Исключение
Предупреждение("файл по данному адресу не найден");
КонецПопытки;
Для Сч=1 По файл.КоличествоСтрок() Цикл
ОбработкаПрерыванияПользователя();
Стр = файл.ПолучитьСтроку(Сч);
Состояние("обработка файла "+Строка(Сч));
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
//НоваяГруппа.Код = Строка(ТекстыЯчеек[2]);
НоваяГруппа.Наименование = СокрЛП(Стр);
НоваяГруппа.Записать();
КонецЦикла;
(2) passtools,
Код допилить
У объектов типа "Справочник" есть реквизит Родитель, он таки и является группой )
(3) passtools,
Код допилить
НоваяГруппа.УстановитьНовыйКод()
У объектов типа "Справочник" есть реквизит Родитель, он таки и является группой )
НоваяГруппа.Родитель = СсылкаНаНужнуюГруппу
(3) passtools,
файл = Новый ТекстовыйДокумент;
адресФайла="C:\ТекстСНовымиГруппами.txt";
Попытка файл.Прочитать(адресФайла);
Исключение
Предупреждение("файл по данному адресу не найден");
КонецПопытки;
Для Сч=1 По файл.КоличествоСтрок() Цикл
ОбработкаПрерыванияПользователя();
Стр = файл.ПолучитьСтроку(Сч);
Состояние("обработка файла "+Строка(Сч));
ЭлементПоиска = Справочники.Номенклатура.НайтиПоНаименованию(СокрЛП(Стр), Истина);
Если не ЗначениеЗаполнено(ЭлементПоиска) тогда
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
//НоваяГруппа.Код = Строка(ТекстыЯчеек[2]);
НоваяГруппа.Наименование = СокрЛП(Стр);
НоваяГруппа.Записать();
Иначе
НоваяГруппа = ЭлементПоиска.ПолучитьОбъект();
//Делаем тут что-то если элемент найден
Конецесли;
КонецЦикла;
Показать
Можно другой вариант из файла xls
txt создал, вот только он создает все в однну номенклатуру. Как сделать чтобы создавал в родителях?
txt создал, вот только он создает все в однну номенклатуру. Как сделать чтобы создавал в родителях?
Прикрепленные файлы:
СоздатьГруппуНоменклатур.epf
Через тхт файл он создает все номенклатуры групп в одну номенклатуру, А не с родителями. Так же при поторнов загрузке сосздает дубли. Как избежать этого? Чтобы проверял если есть группа, значит пропускал (не добавлял)
Думаю можно через xls файл доступнее, потому что там есть колонки, что последовательно по строкам можно будет указать родителей.
Думаю можно через xls файл доступнее, потому что там есть колонки, что последовательно по строкам можно будет указать родителей.
(7) passtools,
Строку можно сделать с разделителями выбрать какой-нить не стандартный символ и значения получается типа этого
Строка в тхт файле должна быть такого типа:
"НаименованиеГруппы|НаименованиеРодителя"
Строку можно сделать с разделителями выбрать какой-нить не стандартный символ и значения получается типа этого
файл = Новый ТекстовыйДокумент;
адресФайла="C:\ТекстСНовымиГруппами.txt";
Попытка файл.Прочитать(адресФайла);
Исключение
Предупреждение("файл по данному адресу не найден");
КонецПопытки;
Для Сч=1 По файл.КоличествоСтрок() Цикл
ОбработкаПрерыванияПользователя();
Стр = СтрЗаменить(файл.ПолучитьСтроку(Сч), "|", Символы.ПС);
//Состояние("обработка файла "+Строка(Сч));
НаименованиеНоменклатуры = СокрЛП(СтрПолучитьСтроку(Стр, 1));
НаименованиеРодителя = СокрЛП(СтрПолучитьСтроку(Стр, 2))
Если не ПустаяСтрока(НаименованиеРодителя) тогда
Родитель = Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеРодителя, Истина)
Иначе
Родитель = Справочники.Номенклатура.ПустаяСсылка();
КонецЕсли;
ЭлементПоиска = Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеНоменклатуры, Истина);
Если не ЗначениеЗаполнено(ЭлементПоиска) тогда
НоваяГруппа = Справочники.Номенклатура.СоздатьГруппу();
//НоваяГруппа.Код = Строка(ТекстыЯчеек[2]);
НоваяГруппа.Наименование = СокрЛП(Стр);
Если ЗначениеЗаполнено(Родитель) тогда
НоваяГруппа.Родитель = Родитель;
КонецЕсли;
НоваяГруппа.Записать();
Иначе
НоваяГруппа = ЭлементПоиска.ПолучитьОбъект();
//Делаем тут что-то если элемент найден
Конецесли;
КонецЦикла;
ПоказатьСтрока в тхт файле должна быть такого типа:
"НаименованиеГруппы|НаименованиеРодителя"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот