Имя: Пароль:
1C
 
создание элемента номенклатуры
0 dimonl
 
06.11.08
15:22
Подскажите как при создании элемента справочника задать значение для ЕдиницаДляОтчетов. Проблемма в том что задать ее похоже можно только полсе создания элемента номенклатуры. А как отредактировать уже созданный объект я инфы не нашел.
1 butterbean
 
06.11.08
15:25
(0) как-то так
Объект.Записать();
Объект.ЕдиницаДляОтчетов = ......;
Объект.Записать();
2 Falcon
 
06.11.08
15:27
(0) а в чём проблема?
3 dimonl
 
06.11.08
15:28
Так не получается. Элемент не доступен для записи.

Я тут ошибся с версией у меня v8.
4 Sadovnikov
 
06.11.08
15:28
(3) Показывай, как делаешь.
5 dimonl
 
06.11.08
15:30
пытался разными способами. сейчас выложу.
6 dimonl
 
06.11.08
15:49
Вот первый вариант. Сначала записал элемент номенклатуры. Потом единицу измерения. Поле ЕдиницаДляОтчетов и ЕдиницаХраненияОстатков для записи недоступна.

............
Объект.Записать();
НайденыйОбъект=Спр.НайтиПоНаименованию(НаименованиеВ);
НовЕд=СпрЕд.СоздатьЭлемент();
        НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);        
НовЕд.Наименование=Нов.БазоваяЕдиницаИзмерения.Наименование;
НовЕд.Владелец=НайденыйОбъект;
НовЕд.Записать();
НайденыйОбъект.ЕдиницаДляОтчетов=НовЕд.Наименование;
НайденыйОбъект.ЕдиницаХраненияОстатков=НовЕд.Наименование;
НайденыйОбъект.записать;
7 butterbean
 
06.11.08
15:50
(6) накуа нужно
НайденыйОбъект=Спр.НайтиПоНаименованию(НаименованиеВ); ?????
работай с Объект
8 butterbean
 
06.11.08
15:51
(7)+ и посмотри повнимательнее на тип реквизита ЕдиницаДляОтчетов
9 Sadovnikov
 
06.11.08
15:51
(6) Объект - это тот самый элемент справочника Номенклатура?
Если да, то зачем
НайденыйОбъект=Спр.НайтиПоНаименованию(НаименованиеВ);
?
Ну а дальше вообще что-то непонятное идет. Очень подозреваю, что НайденыйОбъект.ЕдиницаДляОтчетов - это все-таки не строка. Так зачем в него строку пихать?
Совет - разберись с понятием "тип данных".
10 dimonl
 
06.11.08
15:52
сейчас попробую. спасибо!
11 dimonl
 
06.11.08
15:53
На счет строки вы правы. Это я просто варианты разные пробовал.
12 Sadovnikov
 
06.11.08
15:54
(11) Так варианты-то разумные надо пробовать :)
13 dimonl
 
06.11.08
15:54
но ЕдиницаДляОтчетов для записи недоступна в любом случае.
14 dimonl
 
06.11.08
15:55
сейчас буду пробовать
15 butterbean
 
06.11.08
15:55
(13) даже у Объект??
16 dimonl
 
06.11.08
15:57
нет. я в процессе...
17 dimonl
 
06.11.08
16:05
заменил на объект.

............
Объект.Записать();
НайденыйОбъект=Спр.НайтиПоНаименованию(НаименованиеВ);
НовЕд=СпрЕд.СоздатьЭлемент();        НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);        
НовЕд.Наименование=Объект.БазоваяЕдиницаИзмерения.Наименование;
НовЕд.Владелец=Объект;
НовЕд.Записать();
Объект.ЕдиницаДляОтчетов=НовЕд;
Объект.ЕдиницаХраненияОстатков=НовЕд;
Объект.записать;



Результат не может задать владельца:

Ошибка при вызове метода контекста (Записать): Владелец не задан или задан неверно!
НовЕд.Записать();
18 Sadovnikov
 
06.11.08
16:06
(17)
НовЕд.Владелец=Объект.Ссылка;
?
19 butterbean
 
06.11.08
16:06
(17) тебе бы почитать че-нить...
НовЕд.Владелец=Объект.Ссылка;
20 Green_Zu
 
06.11.08
16:10
НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ); - эт ты зачем делаешь? Тебе надо на каждый элемент номенклатуры создать свой элемент КлассификаторЕдиницИзмерения, если он подчинен.
21 dimonl
 
06.11.08
16:16
Единицы измерения я делаю перед этим. то есть на данный момент они уже есть
22 dimonl
 
06.11.08
16:31
а СпрЕд= Справочники.ЕдиницыИзмерения то есть совершенно отдельный справочник.
23 dimonl
 
06.11.08
16:33
Сделал Объект.Ссылка но поля ЕдиницаДляОтчетов и ЕдиницаХраненияОстатков не заполнились.

Объект.Записать();
НайденыйОбъект=Спр.НайтиПоНаименованию(НаименованиеВ);
НовЕд=СпрЕд.СоздатьЭлемент();        НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);        
НовЕд.Наименование=Объект.БазоваяЕдиницаИзмерения.Наименование;
НовЕд.Владелец=Объект.ссылка;
НовЕд.Записать();
Объект.ЕдиницаДляОтчетов=НовЕд;
Объект.ЕдиницаХраненияОстатков=НовЕд;
Объект.записать;
24 butterbean
 
06.11.08
16:33
(23) опять...
НовЕд.Ссылка :-)
25 dimonl
 
06.11.08
16:34
Что интересно в самой базе если открыть созданный элемент и нажать записать то они автоматически заполняются на основании базовый единицы измерения
26 butterbean
 
06.11.08
16:36
(25) поизучай события, которые происходят при записи номенклатуры
27 dimonl
 
06.11.08
16:42
НовЕд.Ссылка  не помогла. буду в отладчике смотреть...
28 dimonl
 
06.11.08
16:47
а может проще открыть созданный объект на запись и задать ЕдиницаДляОтчетов?
Только вопрос в том как в 1с открыть уже сеществующий объект на запись? кто-нибудь знает?
29 butterbean
 
06.11.08
16:51
(28) чего теперь не работает??
30 dimonl
 
06.11.08
16:52
просто эти поля остались пустыми...
31 butterbean
 
06.11.08
16:53
(30) весь код покажи
32 dimonl
 
06.11.08
17:00
Процедура Кнопка4Нажатие(Элемент)//ПФ //ПоступлениеТоваровУслуг
   //Если РодительВОрг=справочники.Организации.ПустаяСсылка() тогда
   Если ЭлементыФормы.Надпись1.Значение="организация не выбрана" тогда
   Предупреждение("Не выбрана организация",4);

       Возврат;
       
   конецЕсли;    
       ИмяФайла =  "I:\PARUS\IMPORT\zao_pf1.csv";
 Если ПустаяСтрока(ИмяФайла) = Истина Тогда
       Возврат;
   КонецЕсли;
   xl = Новый COMОбъект("Excel.Application");  
   Книга=xl.Application.Workbooks.Open(ИмяФайла);
   ТекЛист=Книга.WorkSheets(1);
   Сч = 0;
   Для й = 1 По 10000 Цикл  
       КодОС = ТекЛист.Cells(й,1).Value;
       Если ПустаяСтрока(Строка(КодОС)) = Истина Тогда
           Сч = Сч + 1;
       КонецЕсли;
       Если Сч = 5 Тогда
           Прервать;
       КонецЕсли;
   КонецЦикла;
   xl.Application.Quit();
   xl = 0;    
   КолСтрок = й - Сч;

   //Если ПустаяСтрока(ИмяФайла) = Истина Тогда
   //Предупреждение("Не выбран файл!",4);
   //Возврат;
   //КонецЕсли;
   xl = Новый COMОбъект("Excel.Application");  
   Книга=xl.Application.Workbooks.Open("I:\PARUS\IMPORT\ZAO_PF3_copia.xls");
   ТекЛист=Книга.WorkSheets(1);
   //xl.Application.Run("Y:\NETWORK\1C\KeuneR2.xls!exel2");
   //xl.Application.Run("KeuneR2.xls!exel3");
   xl.Application.Run("ZAO_PF3_copia.xls!exel_3");
   //ТекЛист.Columns("A:A").Select;
   //range=xl.Cells(1,1);
   //qry=Book.ActiveSheet.QueryTables.Add("URL;http://www.celler.ru/prices/sellphones/?idf=30", range);
   //ТекЛист.Selection.TextToColumns(range);//, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True;
   //ТекЛист.Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:=True;        
   
   xl.Application.Quit();
   xl = 0;  
   Предупреждение("Файл обработан ",2);

   
   ИмяФайла =  "I:\PARUS\IMPORT\ZAO_PF4.xls";
   Если ПустаяСтрока(ИмяФайла) = Истина Тогда
       Предупреждение("Не выбран файл!",4);
       Возврат;
   КонецЕсли;
   ФайлВыгрузкиПриИзменении4();
   xl = Новый COMОбъект("Excel.Application");  
   Книга=xl.Application.Workbooks.Open(ИмяФайла);
   ТекЛист=Книга.WorkSheets(1);

   НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
   УИН = Новый УникальныйИдентификатор();
   НомерТ = УИН;//ТекЛист.Cells(1,10).Value;
   Номер = УИН;
   GroupТ = ТекЛист.Cells(1,2).Value;
   Спр =  Справочники.Номенклатура;      
   СпрСерия = Справочники.СерииНоменклатуры;
   СпрЕд= Справочники.ЕдиницыИзмерения;
   j=1;
   КоэфРозн=1.20;
   КоэфОпт=1.15;
   Для й = 1 По КолСтрок Цикл
       //Номер = УИН; //ТекЛист.Cells(й,10).Value;
       Сообщить ("группа "+ ТекЛист.Cells(й,1).Value+"й="+й );
       Если   ТекЛист.Cells(й,1).Value="Group:" Тогда
        Group=ТекЛист.Cells(й,2).Value;
        й=й+1;
        Сообщить ("й="+й );

       КонецЕсли;
        Сообщить ("Group= "+ Group+"GroupТ="+GroupТ );

       Если 1 = 1  Тогда
          Артикул = ТекЛист.Cells(й,1).Value;
          НаименованиеВ = ТекЛист.Cells(й,2).Value;
          ЕдВ = ТекЛист.Cells(й,3).Value;
          Количество = ТекЛист.Cells(й,4).Value;
          Сумма = ТекЛист.Cells(й,5).Value;
          НДС_Сумма= ТекЛист.Cells(й,6).Value;
         
          РодительВ = GroupТ; //ТекЛист.Cells(й,11).Value;
          НДС_В = ТекЛист.Cells(й,13).Value;
          Страна = ТекЛист.Cells(й,11).Value;
          НомерГТД = ТекЛист.Cells(й,12).Value;
          атрибут =  ТекЛист.Cells(й,13).Value;
          компания = ТекЛист.Cells(й,14).Value;
          Если  Страна = "США"  Тогда  
        Страна="СОЕДИНЕННЫЕ ШТАТЫ";
          КонецЕсли;
           Если ПересчетЦены=Истина тогда
               Если   атрибут=18 тогда
                   Серия=НомерГТД+0.00;//+"_"+Окр(Цена*100,0);
                   Цена =Сумма/КоэфОпт/Количество;//Сумма/1.18/КоэфОпт/Количество;//; = Сумма/1.18/1.25;
               иначе
                  Если атрибут=32 тогда

                   Серия=НомерГТД+0.00;//+"_"+Окр(Цена*100,0);
                   Цена =Сумма/КоэфРозн/Количество;//Сумма/1.18/КоэфРозн/Количество;
                  иначе
                   Серия=НомерГТД+0.00;//+"_"+Окр(Цена*100,0);
                   Цена =Сумма/Количество;//Сумма/1.18/Количество;
                   Сообщить ("Артикул: "+Артикул+ " Атрибут "+атрибут+" цена не проиндексирована!!!");
                  КонецЕсли;    
               КонецЕсли;
                   
           Иначе
                   Цена = Сумма/Количество;//Сумма/1.18/Количество;
                   Цена_С_НДС=Сумма/Количество+НДС_Сумма/Количество;
                   Серия=НомерГТД+"_"+Окр(Цена_С_НДС,2);
                   Серия=СтрЗаменить(Серия, ",", ".");

           Конецесли;
           //Серия=НомерГТД+"_"+Окр(Цена*100,0);

         // Цена =Сумма/Количество;  //ТекЛист.Cells(й,5).Value;

          НайденныйЭл = Спр.НайтиПоНаименованию(НаименованиеВ);
          Если  НайденныйЭл = Спр.ПустаяСсылка()  Тогда    
         //Ищем группу            
         НайденнаГруп = Спр.НайтиПоНаименованию(РодительВ);
         Если  ПустаяСтрока(РодительВ) Тогда
           РодительВ="неопознанное";
         КонецЕсли;
         Если  НайденнаГруп = Спр.ПустаяСсылка()  Тогда    
           НовГруп = Спр.СоздатьГруппу();
           УИ = Новый УникальныйИдентификатор();
   //            НовГруп.УстановитьСсылкуНового(Спр.ПолучитьСсылку(УИ));
//    Если   РодительВОрг="ЗАОПФФеникс" Тогда
       Если  компания="Косметика"    Тогда        
           НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду("3124134");
       КонецЕсли;    
       Если  компания="Грили"     Тогда
           НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду("00000000002");
       КонецЕсли;    
       Если  компания="Камины"    Тогда
           НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду("00000000003");
       КонецЕсли;
       Если  компания="Отделочные материалы"  Тогда
           НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду("00000000004");
       КонецЕсли;    
//        иначе
           //Если РодительВОрг="ЗАО ПФ Феникс" Тогда
//        Если  РодительВГлоб="Косметика"    Тогда        
//            НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду(РодительВГлоб);
//        КонецЕсли;    
////            НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду(РодительВГлоб);
//        КонецЕсли;    
//        Если  РодительВГлоб="Камины"    Тогда
//            НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду(РодительВГлоб);
//        КонецЕсли;
//        Если  РодительВГлоб="Отделочные материалы"  Тогда
//            НовГруп.Родитель = Справочники.Номенклатура.НайтиПоКоду(РодительВГлоб);
//        КонецЕсли;    
//        конецЕсли;
   //НовГруп.Родитель = РодительВГлоб;//Справочники.Номенклатура.НайтиПоНаименованию("Товары склад");
           НовГруп.Наименование = РодительВ;
           НовГруп.Код = УИ;
           НовГруп.Записать();
           Сообщить ("Создана группа: "+ РодительВ );                
       КонецЕсли;
       //КонецЕсли;

           
         Нов = Спр.СоздатьЭлемент();
        // D=ТекущаяДата();
         Нов.Код = Артикул;//+D;
         Нов.ВидНоменклатуры= Справочники.ВидыНоменклатуры.НайтиПоНаименованию("товар");
       
         Нов.Родитель = Справочники.Номенклатура.НайтиПоНаименованию(РодительВ);
         Нов.Наименование = НаименованиеВ;
         Нов.НаименованиеПолное = НаименованиеВ;
         
         Нов.ВестиУчетПоСериям=Истина;
         Нов.ВестиПартионныйУчетПоСериям=Истина;
         

         НовСерия= СпрСерия.СоздатьЭлемент();
         НовСерия.Наименование=Серия;
         
         НайденнаГТД = Справочники.НомераГТД.НайтиПоКоду(НомерГТД);
         Если  НайденнаГТД = Справочники.НомераГТД.ПустаяСсылка()  Тогда
           Сообщить ("Не найден номер ГТД и будет создан: ");
           ГТД = Справочники.НомераГТД.СоздатьЭлемент();
           ГТД.Код = НомерГТД;
           ГТД.Записать();
           НовСерия.НомерГТД=Справочники.НомераГТД.НайтиПоКоду(НомерГТД);
         Иначе
         НовСерия.НомерГТД = НайденнаГТД;
         КонецЕсли;
         
         НайденнаЕД = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);
         Если  НайденнаЕД = Справочники.КлассификаторЕдиницИзмерения.ПустаяСсылка()  Тогда
             
          Если Найти(ЕдВ, "шт") > 0 Тогда
            Нов.БазоваяЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
            Нов.ЕдиницаДляОтчетов=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
            Нов.ЕдиницаХраненияОстатков=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
          иначе  
            Сообщить ("Не найдена единица измерения: "+ ЕдВ );
            Ед = Справочники.КлассификаторЕдиницИзмерения.СоздатьЭлемент();
            Ед.Наименование = ЕдВ;
            Ед.НаименованиеПолное = ЕдВ;
            УИ = Новый УникальныйИдентификатор();
            Ед.Код = УИ;
            Ед.Записать();

            //Ед.
            //Ед.Код =
            Ед.Записать();
            Нов.БазоваяЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);
            Нов.ЕдиницаДляОтчетов=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ЕдВ);
            Нов.ЕдиницаХраненияОстатков=Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(ЕдВ);
          КонецЕсли;
       Иначе
         Нов.БазоваяЕдиницаИзмерения = НайденнаЕД;
         Нов.ЕдиницаДляОтчетов=НайденнаЕД;
         Нов.ЕдиницаХраненияОстатков=НайденнаЕД;
         КонецЕсли;
         
         Если НДС_В=0 тогда
       Нов.СтавкаНДС= Перечисления.СтавкиНДС.БезНДС;
       КонецЕсли;    
       
       Если НДС_В=10 тогда
       Нов.СтавкаНДС= Перечисления.СтавкиНДС.НДС10;
       КонецЕсли;    
       
       Если НДС_В=18 тогда
       Нов.СтавкаНДС= Перечисления.СтавкиНДС.НДС18;
       КонецЕсли;    
       
       Если НДС_В=20 тогда
       Нов.СтавкаНДС= Перечисления.СтавкиНДС.НДС20;
       КонецЕсли;    

        // Нов .СтавкаНДС = НДС;
         НайденнаСтрана = Справочники.КлассификаторСтранМира.НайтиПоНаименованию(Страна);
         Если  НайденнаСтрана = Спр.ПустаяСсылка()  Тогда
           Сообщить ("Не найдена страна: "+ Страна );    
         Иначе
         Нов.СтранаПроисхождения = НайденнаСтрана;
     КонецЕсли;
          Если  Страна = "США"  Тогда
          Нов.СтранаПроисхождения=Справочники.КлассификаторСтранМира.НайтиПоНаименованию("СОЕДИНЕННЫЕ ШТАТЫ");
          КонецЕсли;  

         Сообщить ("группа: "+ РодительВ + " элемент: " + НаименованиеВ+ "КОД" + Нов.Код+ "записан будет!");
         
                               УИ = Новый УникальныйИдентификатор();
                       
       Нов.УстановитьСсылкуНового(Спр.ПолучитьСсылку(УИ));        
       НовСерия.Владелец=Нов.ПолучитьСсылкуНового();
       НовСерия.СтранаПроисхождения=Нов.СтранаПроисхождения;
       
       //НовЕд=СпрЕд.СоздатьЭлемент();
       //НовЕд.Наименование=Нов.БазоваяЕдиницаИзмерения.Наименование;

       //УИ2 = Новый УникальныйИдентификатор();

       //Нов.УстановитьСсылкуНового(Спр.ПолучитьСсылку(УИ2));
       //НовЕд.Владелец=Нов.ПолучитьСсылкуНового();

       //Нов.ОсновнойДоговорКонтрагента=НовДоговор.ПолучитьСсылкуНового();
       Нов.Записать();
       НовСерия.Записать();
       //Н=Спр.НайтиПоНаименованию(НаименованиеВ);
       НовЕд=СпрЕд.СоздатьЭлемент();
       Если Найти(ЕдВ, "шт") > 0 Тогда
       НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
        иначе
       НовЕд.ЕдиницаПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЕдВ);
        конецЕсли;
       НовЕд.Наименование=Нов.БазоваяЕдиницаИзмерения.Наименование;
       НовЕд.Владелец=Нов.Ссылка;
       Нов.ЕдиницаДляОтчетов=НовЕд.Ссылка;
       Нов.ЕдиницаХраненияОстатков=НовЕд.Ссылка;
       Нов.Записать();
       НовЕд.Записать();

       КонецЕсли;
       //КонецЕсли;
       
       НайденнаСерия=СпрСерия.НайтиПоНаименованию(Серия);
        Сообщить ("НайденнаСерия: "+ НайденнаСерия);

       Если НайденнаСерия=СпрСерия.ПустаяСсылка() Тогда
         НовСерия= СпрСерия.СоздатьЭлемент();
         НовСерия.Наименование=Серия;
         НайденнаГТД = Справочники.НомераГТД.НайтиПоКоду(НомерГТД);
         Если  НайденнаГТД = Справочники.НомераГТД.ПустаяСсылка()  Тогда
           Сообщить ("Не найден номер ГТД и будет создан: ");
           ГТД = Справочники.НомераГТД.СоздатьЭлемент();
           ГТД.Код = НомерГТД;
           ГТД.Записать();
           НовСерия.НомерГТД=Справочники.НомераГТД.НайтиПоКоду(НомерГТД);
         Иначе
         НовСерия.НомерГТД = НайденнаГТД;
         КонецЕсли;

         Н=Спр.НайтиПоНаименованию(НаименованиеВ);
        // Нов2=Н.ПолучитьОбъект();
       //  УИ = Новый УникальныйИдентификатор();
         //Нов2.УстановитьСсылкуНового(Спр.ПолучитьСсылку(УИ));
         НовСерия.Владелец=Н;//Нов2;//.ПолучитьСсылкуНового();
        // Нов.Записать();    
        НовСерия.СтранаПроисхождения=Н.СтранаПроисхождения;
         НовСерия.Записать();
         Сообщить ("Создана серия: "+ Серия);
       КонецЕсли;

       
                 
       
          НоваяСтрокаТабличнойЧасти=НовДок.Товары.Добавить();
          НоваяСтрокаТабличнойЧасти.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(НаименованиеВ);
          НоваяСтрокаТабличнойЧасти.Количество=Количество;
          НоваяСтрокаТабличнойЧасти.СтавкаНДС=Перечисления.СтавкиНДС.НДС18;
          НоваяСтрокаТабличнойЧасти.СерияНоменклатуры= Справочники.СерииНоменклатуры.НайтиПоНаименованию(Серия);
          НоваяСтрокаТабличнойЧасти.Цена = Цена;
          Если Найти(ЕдВ, "шт") > 0 Тогда
           НоваяСтрокаТабличнойЧасти.ЕдиницаИзмерения= СпрЕд.НайтиПоНаименованию("шт");
          иначе
           НоваяСтрокаТабличнойЧасти.ЕдиницаИзмерения= СпрЕд.НайтиПоНаименованию(ЕдВ);
          КонецЕсли;
          //НоваяСтрокаТабличнойЧасти.Сумма = Сумма;
         
            Если ПересчетЦены=Истина тогда
               Если   атрибут=18 тогда
                   НоваяСтрокаТабличнойЧасти.Сумма = Сумма/КоэфОпт;
               иначе
                  Если атрибут=32 тогда
                   НоваяСтрокаТабличнойЧасти.Сумма = Сумма/КоэфРозн;
                  иначе
                   НоваяСтрокаТабличнойЧасти.Сумма = Сумма;
                   Сообщить ("Артикул: "+Артикул+ " Атрибут "+атрибут+" цена не проиндексирована!!!");
                  КонецЕсли;    
               КонецЕсли;
           Иначе
                   НоваяСтрокаТабличнойЧасти.Сумма = Сумма;


           Конецесли;

         
               
       // НоваяСтрокаТабличнойЧасти.Сумма = Сумма/1.18;
          НоваяСтрокаТабличнойЧасти.СуммаНДС = НДС_Сумма; //Сумма*1.18-Сумма;
         
//           НоваяСтрокаТабличнойЧасти.СчетУчетаБУ = Планысчетов.Хозрасчетный.ТоварыНаСкладах;
//           НоваяСтрокаТабличнойЧасти.СчетУчетаНДС= Планысчетов.Хозрасчетный.НДСпоПриобретеннымМПЗ;//СчетУчетаНДСПоРеализации = Планысчетов.Хозрасчетный.Продажи_НДС;
         // НоваяСтрокаТабличнойЧасти.СчетДоходовБУ = Планысчетов.Хозрасчетный.ВыручкаНеЕНВД;
          //НоваяСтрокаТабличнойЧасти.СубконтоБУ = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Опт");
          //НоваяСтрокаТабличнойЧасти.СубконтоНУ = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Опт");
          //НоваяСтрокаТабличнойЧасти.СчетРасходовБУ = Планысчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД;
//           НоваяСтрокаТабличнойЧасти.СчетУчетаНУ = Планысчетов.Налоговый.ТоварыНаСкладах;          
          //НоваяСтрокаТабличнойЧасти.СчетДоходовНУ=Планысчетов.Налоговый.ВыручкаОтРеализацииПокупныхТоваров;
          //НоваяСтрокаТабличнойЧасти.СчетРасходовНУ=Планысчетов.Налоговый.СебестоимостьПродаж;      
           // НоваяСтрокаТабличнойЧасти..НомерГТД=Справочники.НомераГТД.НайтиПоКоду(НомерГТД);//НомерГТД;
           // НоваяСтрокаТабличнойЧасти.СтранаПроисхождения=Справочники.КлассификаторСтранМира.НайтиПоНаименованию(Страна);
//Страна;//Нов.СтранаПроисхождения.Наименование;


        Если й = КолСтрок Тогда
           Дата = ТекущаяДата();//ТекЛист.Cells(j,8).Value;
           //Дата =  Лев(Дата,6)+"20"+Прав(Дата,2);
           //Дата =   "20"+Прав(Дата,2)+Прав(Лев(Дата,5),2)+ Лев(Дата,2);
           //сообщить ("Data: "+ Дата);
           //Дата = СтрЗаменить(Дата, "06", "2006");
           //Дата = СтрЗаменить(Дата, ".", "");
           //Организация = ТекЛист.Cells(j,12).Value;
            НайденнОрг = Справочники.Организации.НайтиПоНаименованию(РодительВОрг);
           //НайденнОрг = Справочники.Организации.НайтиПоКоду("000000001");
         Если  НайденнОрг = Справочники.Организации.ПустаяСсылка()  Тогда
           Сообщить ("Не найдена организация по коду: "+ НайденнОрг);
           Возврат;
           //Кон = Справочники.Организации.СоздатьЭлемент();
           //Кон.Родитель = Справочники.Организация.НайтиПоНаименованию("Покупатели2");
           //Кон.Наименование = Организация;
           //Кон.НаименованиеПолное = Организация;
           //Ед.Код =
           //Кон.Записать();
           //НовДок.Организация =Справочники.Организации.НайтиПоНаименованию(Организация);
         Иначе
         НовДок.Организация = Справочники.Организации.НайтиПоНаименованию(РодительВОрг);
         КонецЕсли;

     //ТекЛист.Cells(j,9).Value;
          НайденнКон = Справочники.Контрагенты.НайтиПоКоду("000000002"); //Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
         Если  НайденнКон = Справочники.Контрагенты.ПустаяСсылка()  Тогда
           Сообщить ("Не найден контрагент и будет создан: "+ НайденнКон);
           //Кон = Справочники.Контрагенты.СоздатьЭлемент();
           //Кон.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели2");
           //Кон.Наименование = Контрагент;
           //Кон.НаименованиеПолное = Контрагент;
           //Ед.Код =
           //Кон.Записать();
           НовДок.Контрагент =НайденнКон;//Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
         Иначе
           НовДок.Контрагент = НайденнКон;
         КонецЕсли;
         //Новдок.ВидОперации=
         Новдок.ДоговорКонтрагента=Справочники.ДоговорыКонтрагентов.НайтиПоКоду("000000001");
         НовДок.Комментарий ="торговля";
         НовДок.Номер = НомерТ;
       //НовДок.Дата=ТекущаяДата();
         НовДок.Дата=Дата;
       //Дата("198403262421");
       //НовДок.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент);
         НовДок.ОтражатьВБухгалтерскомУчете=Истина;
         НовДок.ОтражатьВУправленческомУчете= Истина;
         НовДок.ОтражатьВНалоговомУчете=Ложь;
         
       //НовДок.ВидОперации=Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия;//.ВидыОперацийРеализацияТоваров.//ПродажаКомиссия;
        Новдок.ВидПоступления=Перечисления.ВидыПоступленияТоваров.НаСклад;
        Новдок.СкладОрдер=Справочники.Склады.НайтиПоНаименованию("Главный склад");
       //Новдок.СчетУчетаРасчетовСКонтрагентом= Планысчетов.Хозрасчетный.РасчетыСПоставщиками;//РасчетыСПокупателями;
       //Новдок.СчетУчетаРасчетовПоАвансам=Планысчетов.Хозрасчетный.РасчетыПоАвансамВыданным;//РасчетыПоАвансамПолученным;
         Новдок.ВалютаДокумента=Справочники.Валюты.НайтиПоНаименованию("руб.");
         Новдок.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("закупка");
         Новдок.УчитыватьНДС=Истина;
         Новдок.СуммаВключаетНДС=Истина;
         Новдок.КурсВзаиморасчетов=1.0;            
         Новдок.КратностьВзаиморасчетов=1.0;

         Новдок.СуммаВключаетНДС=Ложь;
         сообщить ("Data: "+ Дата);

         НовДок.Записать();
        КонецЕсли;

        КонецЕсли;                    
       КонецЦикла;
   xl.Application.Quit();
   xl = 0;  
   Предупреждение("Импорт завершен!",2);
   
КонецПроцедуры
33 v_rtex
 
06.11.08
17:01
многа букав.. ниасилит никто..
34 dimonl
 
06.11.08
17:02
ну весь код просили ведь... :))
35 butterbean
 
06.11.08
17:04
(34) у тебя  

НовЕд.Записать();

стоит после присвоения...
36 dimonl
 
06.11.08
17:06
записать НовЕд можно толдько после самого элемента номенклатуры
37 butterbean
 
06.11.08
17:07
(36) он у тебя и так раньше записывается, а потом еще раз, но уже с единицами...
будь внимательнее
38 dimonl
 
06.11.08
17:13
действительно! совсем я запутался уже...
39 dimonl
 
06.11.08
17:18
Спасибо всем! Сработало!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан