Имя: Пароль:
1C
1С v8
Выгрузка номенклатуры из 7.7 в 8.2. через эксель файл или текстовый
0 dborovsky
 
27.05.13
11:27
Есть у меня выгруженная база номенклатуры из 7.7 в ввиде текстового файла. Мне ее необходимо загрузить в 8.2. Поделитесь пожалуйста примером как это лучше реализовать или объясните как это лучше сделать? Раньше таким еще не занимался, хотелось бы услышать помощь бывалых. Заранее спасибо за ответ.

Конфигурация: бухгалтерия 2.0. Пример из тектового файла:

00000005
Автокамеры
1

                       

0


0
0








0
         
00002252
11.00-20
0
00000005
1100-20                  
шт
0
Товар (пр. ТМЦ)

0
0

шт
Вид товара
Камера 11.00-20
18%


паллет
0
         
00000197
12.00-20
0
00000005
1200-20                  
шт
0
Товар (пр. ТМЦ)
Грузовая МАЗ
0
0

шт
Вид товара
Камера 12.00-20
18%
Без налога


0
         
00003213
175-16
0
00000005
ГК115                    
шт
0
1 zak555
 
27.05.13
11:28
> Есть у меня выгруженная база номенклатуры из 7.7 в ввиде текстового файла

выгрузи её с помощью КД
2 v4442
 
27.05.13
11:30
Без пол литра не разобраться.
3 Славен
 
27.05.13
11:30
если есть уже текстовый, то загружай из текстового, в чем проблема?
4 Godofsin
 
27.05.13
11:30
(2) +
(0) Чот разделителей не увидел
5 v4442
 
27.05.13
11:30
(0) обработка выгрузки имеется?
6 1Сергей
 
27.05.13
11:31
(4) переносстроки
7 zak555
 
27.05.13
11:32
(3) т.е. тебе проще загнать данные из непонятной структуры файла, чем написать нормальный перенос ?
8 dborovsky
 
27.05.13
11:34
выгрузка:

Процедура Сформировать()
   // номенклатура    
   ТекстДок = СоздатьОбъект("Текст");

   спрНоменклатура = СоздатьОбъект("Справочник.Номенклатура");
   спрНоменклатура.ВыбратьЭлементы();
   Сообщить("Выгрузка номенклатуры");
   Пока спрНоменклатура.ПолучитьЭлемент() > 0 Цикл
       Состояние("" + спрНоменклатура.Код);
         ТекстДок.ДобавитьСтроку(спрНоменклатура.Код);
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Наименование);
       
       ТекстДок.ДобавитьСтроку(спрНоменклатура.ЭтоГруппа());
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Родитель.Код);
       
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Артикул);
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.БазоваяЕдиница);// справочник
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Весовой);
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.ВидНоменклатуры);//справочник
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Комментарий);
       ТекстДок.ДобавитьСтроку(спрНоменклатура.МинОстаток);
       ТекстДок.ДобавитьСтроку(спрНоменклатура.НеВключатьВПрайс);
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.НомерГТД); // справочник
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.ОсновнаяЕдиница); // справочник
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.ОсновноеСвойство);// справочник
       ТекстДок.ДобавитьСтроку(спрНоменклатура.ПолнНаименование);
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.СтавкаНДС); // перечисление
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.СтавкаНП); // справочник
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.СтранаПроисхождения); // справочник ОКСМ
       ТекстДок.ДобавитьСтроку("" + спрНоменклатура.Упаковка); // справочник
       ТекстДок.ДобавитьСтроку(спрНоменклатура.Нетто);
       ТекстДок.ДобавитьСтроку(спрНоменклатура.ТНВЭД);
   КонецЦикла;
   ТекстДок.Записать("Номенклатура.txt");
   
   ТекстДок.Очистить();
   спрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
   спрКонтрагенты.ВыбратьЭлементы();
   Сообщить("Выгрузка контрагентов");
   Пока спрКонтрагенты.ПолучитьЭлемент() > 0 Цикл
       Состояние("" + спрКонтрагенты.Код);
       
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Код);
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Наименование);
       
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.ЭтоГруппа());
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Родитель.Код);
       
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Владелец);
       ТекстДок.ДобавитьСтроку("" + спрКонтрагенты.ЮрФизЛицо); // справочник
       ТекстДок.ДобавитьСтроку("" + спрКонтрагенты.ОсновнойДоговор);// договор
       ТекстДок.ДобавитьСтроку("" + спрКонтрагенты.ОсновнойСчет);//спр банковские счета
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Идентификатор);
       ТекстДок.ДобавитьСтроку("" + спрКонтрагенты.ОсновноеСвойство); // спр свойстваконтрагентов
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.ЭлПочта);
       ТекстДок.ДобавитьСтроку("" + спрКонтрагенты.Сайт); // спр сайты
       ТекстДок.ДобавитьСтроку(спрКонтрагенты.Комментарий);
   КонецЦикла;
   ТекстДок.Записать("Контрагенты.txt");
   
   ТекстДок.Очистить();
   докРеализация = СоздатьОбъект("Документ.Реализация");
   докРеализация.ВыбратьДокументы();
   Сообщить("Выгрузка цен продажи...");
   Пока докРеализация.ПолучитьДокумент()>0 Цикл
   Сообщить("" + докРеализация.ДатаДок);
   //Сообщить("Документ №" + докРеализация.НомерДок);
         ТекстДок.ДобавитьСтроку(докРеализация.НомерДок);
       ТекстДок.ДобавитьСтроку(докРеализация.ДатаДок);
       ТекстДок.ДобавитьСтроку(докРеализация.Контрагент.Код);
       ТекстДок.ДобавитьСтроку("" + докРеализация.Валюта);
           
       докРеализация.ВыбратьСтроки();
       Пока докРеализация.ПолучитьСтроку()>0 Цикл
           ТекстДок.ДобавитьСтроку(докРеализация.Номенклатура.Код); // код товара ???
           ТекстДок.ДобавитьСтроку(докРеализация.Цена);
       КонецЦикла;
   КонецЦикла;
   ТекстДок.Записать("ЦеныПродажи.txt");
   
   ТекстДок.Очистить();
   докПоступлениеТМЦ = СоздатьОбъект("Документ.ПоступлениеТМЦ");
   докПоступлениеТМЦ.ВыбратьДокументы();
   Сообщить("Выгрузка цен покупки...");
   Пока докПоступлениеТМЦ.ПолучитьДокумент()>0 Цикл
       Сообщить("" + докПоступлениеТМЦ.ДатаДок);
       //Сообщить("Документ №" + докПоступлениеТМЦ.НомерДок);
         ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.НомерДок);
       ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.ДатаДок);
       ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.Контрагент.Код);
       ТекстДок.ДобавитьСтроку("" + докПоступлениеТМЦ.Валюта);
       ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.КоличествоСтрок());
       
       докПоступлениеТМЦ.ВыбратьСтроки();
       Пока докПоступлениеТМЦ.ПолучитьСтроку()>0 Цикл
           ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.Номенклатура.Код); // код товара ???
           ТекстДок.ДобавитьСтроку(докПоступлениеТМЦ.Цена);
       КонецЦикла;
   КонецЦикла;
   ТекстДок.Записать("ЦеныПокупки.txt");
   Сообщить("Обработка завершена");
КонецПроцедуры
9 zak555
 
27.05.13
11:35
это тис =)
10 dborovsky
 
27.05.13
11:39
Хотелось бы пример посмотреть, как это лучше сделать
11 zak555
 
27.05.13
11:40
(10) см. в (1)
12 v4442
 
27.05.13
11:43
13 mistеr
 
27.05.13
11:48
(0) Выгружай в csv, загружай обработкой ЗагрузкаДанныхИзТабличногоДокумента.
14 dborovsky
 
27.05.13
13:22
ясно, спасибо
Закон Брукера: Даже маленькая практика стоит большой теории.