Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Загрузка информации из текстового документа txt в справочник

Загрузка информации из текстового документа txt в справочник
Я
   Ник-Виталик
 
03.11.16 - 15:25
Всем привет!Помогите, пожалуйста!
Нужно загрузить данные из txt в справочники Товары и Производители.
В текстовом документе соответственно Товары и Производители стоят через табуляцию. С записью данных из документа проблем нет, но проблема в том что много наименований там повторяются, а нужно отследить их на уникальность. Уже всё перепробовал. Вот то что я написал, но как бы я не пробовал ставить условие, записываются сразу либо все строки текстового документа, либо ничего. Помогите!

Текст = Новый ТекстовыйДокумент;                                                                                                       
Текст.Прочитать("C://1.txt");
Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
 Стр = СокрЛП(Текст.ПолучитьСтроку(НомерСтроки));
 Позиция = Найти (Стр, "    ");
 Спр=Справочники.Товары.СоздатьЭлемент();
 Спр.Наименование = Сред(Стр,1,Позиция-1);
 НайденнаяСтрока = Справочники.Товары.НайтиПоНаименованию(Стр);
 Если НайденнаяСтрока.Пустая() Тогда Сообщить("Элемента еще нет!");    Спр.Записать();
 Иначе Сообщить("Элемент уже есть!"); 
КонецЕсли;
КонецЦикла
 
 
   Numerus Mikhail
 
1 - 03.11.16 - 15:26
НайденнаяСтрока = Справочники.Товары.НайтиПоНаименованию(Стр);
замени на 
 НайденнаяСтрока = Справочники.Товары.НайтиПоНаименованию(Сред(Стр,1,Позиция-1));
   iITmenedger
 
2 - 03.11.16 - 15:28
(0)я бы сначала в ТЗ выгрузил файл, обработал бы ТЗ, а потом уже в документ
   Ник-Виталик
 
3 - 03.11.16 - 17:06
Numerus Mikhail, да, спасибо большое) В этом было и дело)
   Ник-Виталик
 
4 - 03.11.16 - 18:46
Теперь другая проблема. Я занес из документа отдельно наименования элементов справочников Товары и Производители. Теперь в справочнике Товары нужно заполнить реквизит Производители в соответствии с текстовым документом. Здесь задача потяжелее. Есть у кого-нибудь идеи?
   Злопчинский
 
5 - 03.11.16 - 18:50
(0) вообще то табуляция это совсем не пробелы
   Ник-Виталик
 
6 - 03.11.16 - 19:03
Это здесь отобразились пробелы. В обработке у меня стоит табуляция и все работает. К чему это вообще? Я же не на пробелы жаловался
   Besometr
 
7 - 03.11.16 - 19:09
я бы сделал (2) 
потом сгруппировал бы производителям, убрал дубли, запросом бы сопоставил товары и производителей с уже имеющимися, а остальное насоздавал.
   Злопчинский
 
8 - 03.11.16 - 19:10
(6) я так думаю что нужно указать специсмвол явным образом а не ставить в ковычки табулятор которого не видать
А то при копипастинге куда нить он запросто випробел пиевратится
   bootini
 
9 - 03.11.16 - 19:13
(4) Сразу на одном проходе цикла заполняй и номенклатуру, и производителя.
   Ник-Виталик
 
10 - 03.11.16 - 20:22
Сразу на одном проходе цикла заполнить не получается. Причину я нашел в том что реквизит Производитель в спр.товары имеет тип СправочникСсылка.Производители. Т.е. выход только писать обработку, которая выберет из уже имеющихся наименований производителей нужных производителей. Не совсем представляю, как это сделать, тем более что для одного и того же товара могут быть 2 разных производителя, т.е. придется еще и дублировать наименование товара при необходимости. Может, я чего-то не учел и ошибаюсь.
 
 Рекламное место пустует
   bootini
 
11 - 03.11.16 - 20:56
(10) Тогда создавай таблицу значений, с двумя колонками Номенклатура и Производитель, типа строка. Просто заполняй её данными из файла, передавай в запрос как параметр и вяжи со справочником номенклатура по двум полям Номенклатура.Наименование и Поставщик.Наименование.

На выходе получишь таблицу с найденной номенклатурой и стой которую надо создать.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует