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


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

Запись данных в справочник НОМЕНКЛАТУРА

Запись данных в справочник НОМЕНКЛАТУРА
Я
   Юзер123
 
13.12.17 - 13:59
Доброго времени. Написал обработку , которая добавляет информацию в спровочник номенклатура. А именно заполняет 2 таб части.


https://i.gyazo.com/4280e94cca1e3ced6e578d0fa6fbc999.png

https://i.gyazo.com/d11ab665d1122327e982a424d7fd454e.png

Ошибок нет. Обработка отрабатывает до конца. Но данные не записываются.

Сделал вторую обработку где на форме выбираю что записать и куда. Все работает.

        л_Код =  Сокрлп(СтрЗаменить(СтрокаТ.КодИнструмента,Символы.НПП,""));
        Если л_Код = "" тогда
            Продолжить;
        КонецЕсли;
        // Находим инструмент в справочнике

        л_Инструмент = Справочники.Номенклатура.НайтиПоКоду(л_Код);
        
        Если  л_Инструмент.Пустая() тогда
            Сообщить("Не найден инструмент с кодом " + л_Код + " наименование " + СтрокаТ.Инструмент);
            л_Инструмент = СоздатьНоменклатуру(СтрокаТ.Инструмент,л_Код).ССылка;
        КонеЦЕсли;
        ЭлементыФормы.НомИнструмент.Значение =  л_Инструмент;
        л_ИнструментОб = НомИнструмент.ПолучитьОбъект();
        
        
        л_ИнструментОб.Наименование =    л_ИнструментОб.Наименование + "*";
        л_ИнструментОб.Записать();
        Прервать;

Даже вот эта часть кода  не  изменяет наименование элемента справочники. Я уже даже реквизит на форму вытащил. его заполняю, потом получаю объект и меняю. все так же. в чем может быть дело? спасибо.
 
 
   Петрович 2018
 
1 - 13.12.17 - 14:04
(0) Всё не читал, но, может, подписка на событие?
   Юзер123
 
2 - 13.12.17 - 14:04
(1) не совсем понял
   del123
 
3 - 13.12.17 - 14:04
находишь л_Инструмент, объект получаешь у НомИнструмент
   Джинн
 
4 - 13.12.17 - 14:05
ЭлементыФормы.НомИнструмент.Значение =  лИнструмент;
лИнструментОб = НомИнструмент.ПолучитьОбъект();

Что это?
   бомболюк
 
5 - 13.12.17 - 14:07
просто элемент формы под названием "НомИнструмент" связан с реквизитом формы по имени "НомИнструмент" только и делов то.
   Юзер123
 
6 - 13.12.17 - 14:09
(3) (4)  Нахожу. Присваиваю элементы формы. Потом с формы получаю объект.  Это уже от безысходности. Естественно этого не было в начально версии)))
   Юзер123
 
7 - 13.12.17 - 14:09
Самое интересное что отладчик видит все изменения. Но в момент записи ничего не происходит
   del123
 
8 - 13.12.17 - 14:13
тогда попробуй посмотреть что в (1) советуют
   Табуретко
 
9 - 13.12.17 - 14:14
(7) см (1)
   бомболюк
 
10 - 13.12.17 - 14:14
если нет записи значит была ошибка. если нет ошибки - она где то глотается, в конструкции Попытка - Исключение - КонецПопытки. Есть такие?
 
 Рекламное место пустует
   del123
 
11 - 13.12.17 - 14:15
и в модуле объекта процедуры передзаписью и призаписи
   бомболюк
 
12 - 13.12.17 - 14:16
а еще как вариант есть внешняя транзакция, которая тихо откатывается.
   Юзер123
 
13 - 13.12.17 - 14:16
(12) это как?
   Юзер123
 
14 - 13.12.17 - 14:17
ОбъектЫ = ПолеВвода1.ПолучитьОбъект();

    СтрокаТ =  ОбъектЫ.ТорговыеНазвания.Добавить();
    СтрокаТ.Номенклатура  = ОбъектЫ.Ссылка;    
    ОбъектЫ.Записать();



Вот такой код работает в тойже конфе
   Юзер123
 
15 - 13.12.17 - 14:18
(9) что такое 1?
   Табуретко
 
16 - 13.12.17 - 14:19
(15) смотреть внимательно сообщение(1)

можно увидеть весь код?
   Юзер123
 
17 - 13.12.17 - 14:21
(16) Можно но как поможет?))
Для каждого СтрокаТ из ТЗ цикл
        
        л_Код =  Сокрлп(СтрЗаменить(СтрокаТ.КодИнструмента,Символы.НПП,""));
        Если л_Код = "" тогда
            Продолжить;
        КонецЕсли;
        // Находим инструмент в справочнике

        л_Инструмент = Справочники.Номенклатура.НайтиПоКоду(л_Код);
        
        Если  л_Инструмент.Пустая() тогда
            Сообщить("Не найден инструмент с кодом " + л_Код + " наименование " + СтрокаТ.Инструмент);
            л_Инструмент = СоздатьНоменклатуру(СтрокаТ.Инструмент,л_Код).ССылка;
        КонеЦЕсли;
        ЭлементыФормы.НомИнструмент.Значение =  л_Инструмент;
        л_ИнструментОб = НомИнструмент.ПолучитьОбъект();
        
        
        л_ИнструментОб.Наименование =    л_ИнструментОб.Наименование + "*";
        
        Попытка
        л_ИнструментОб.Записать();
        
        Исключение
         Инфо = ИнформацияОбОшибке();
        Сообщить("Описание='" + Инфо.Описание + "'");
            Сообщить("ИмяМодуля='" + Инфо.ИмяМодуля + "'");
            Сообщить("НомерСтроки=" + Инфо.НомерСтроки);
        Сообщить("ИсходнаяСтрока='" + Инфо.ИсходнаяСтрока + "'");

        КонецПопытки;
    
        Прервать;
        // Модуль

        
         ЭтоМодуль = ?((Не Сокрлп(СтрокаТ.КодМодуль) = ""),Истина,Ложь);
        
         Если ЭтоМодуль = Истина тогда
             
              л_КодМодуль = Сокрлп(СтрЗаменить(СтрокаТ.КодМодуль,Символы.НПП,""));
              л_Модуль = Справочники.Номенклатура.НайтиПоКоду(л_КодМодуль);
              
              Если  л_Модуль.Пустая() тогда
                  Сообщить("Не найден модуль с кодом " + л_КодМодуль + " наименование " + СтрокаТ.НаимМодуль);
                  л_Модуль = СоздатьНоменклатуру(СтрокаТ.НаимМодуль,л_КодМодуль);
                  
              КонеЦЕсли;
              
              СтрокаСоответствия = л_ИнструментОб.ТорговыеНазвания.Добавить();
              СтрокаСоответствия.Номенклатура = л_Модуль;
              л_ИнструментОб.Записать();
         КонецЕсли;
         
        // Пластина 1

         ЭтоПерваяПластина  =  ?((Не Сокрлп(СтрокаТ.КОДКомплект) = ""),Истина,Ложь);
         
         Если ЭтоПерваяПластина = Истина тогда
             
              л_КодПластина1 = Сокрлп(СтрЗаменить(СтрокаТ.КОДКомплект,Символы.НПП,""));
              л_Пластина1 = Справочники.Номенклатура.НайтиПоКоду(л_КодПластина1);
              
              Если  л_Пластина1.Пустая() тогда
                  Сообщить("Не найден модуль с кодом " + л_КодПластина1 + " наименование " + СтрокаТ.НаимКомплект);
                  л_Пластина1 = СоздатьНоменклатуру(СтрокаТ.НаимКомплект,л_КодПластина1);
                  
              КонеЦЕсли;
              ЭлементыФормы.НомПластина.Значение =  л_Пластина1.ССылка;
              
              
              СтрокаСоответствия = л_ИнструментОб.ТорговыеНазвания.Добавить();
              СтрокаСоответствия.Номенклатура = НомПластина;
              л_ИнструментОб.Записать();
         КонецЕсли;
         
         
        // Пластина 2

         ЭтоВтораяПластина  =  ?((Не Сокрлп(СтрокаТ.КОДКомплект1) = ""),Истина,Ложь);
         
         Если ЭтоВтораяПластина = Истина тогда
             
              л_КодПластина2 = Сокрлп(СтрЗаменить(СтрокаТ.КОДКомплект1,Символы.НПП,""));
              л_Пластина2 = Справочники.Номенклатура.НайтиПоКоду(л_КодПластина2);
              
              Если  л_Пластина2.Пустая() тогда
                  Сообщить("Не найден модуль с кодом " + л_КодПластина2 + " наименование " + СтрокаТ.НаимКомплект1);
                  л_Пластина2 = СоздатьНоменклатуру(СтрокаТ.НаимКомплект1,л_КодПластина2);
                  
              КонеЦЕсли;
              
              СтрокаСоответствия = л_ИнструментОб.ТорговыеНазвания.Добавить();
              СтрокаСоответствия.Номенклатура = л_Пластина2;
              л_ИнструментОб.Записать();
         КонецЕсли;
         
         
         л_Назначение = СтрокаТ.Назначение; 
         
         Если л_Назначение = "ИО" тогда
             Продолжить;
         КонецЕсли;
          
         Если л_Назначение = "НБ и СБ с ЧПУ" тогда
              л_Назначение = "НБ и СБ нов.техн.";
         КонецЕсли;
          
        СтрокаПроизв = л_ИнструментОб.ВидыПроизводств.Добавить(); 
        СтрокаПроизв.ВидПроизводства = Справочники.ВидыПроизводства.НайтиПоНаименованию(л_Назначение);
        л_ИнструментОб.Записать();
        
        Если л_Инструмент.ВидыПроизводств.Количество() > 1 тогда
            Сообщить("Для инструмента " + л_ИнструментОб + " указано более 1 -го назначения");
        КонецЕсли;
        
        
        Сообщить("Только что записали номенклатуру " + л_ИнструментОб.ССылка);
        Прервать;
         
    КонецЦикла;
   бомболюк
 
18 - 13.12.17 - 14:26
а внутри СоздатьНоменклатуру объект записывается или нет?
   Юзер123
 
19 - 13.12.17 - 14:26
Нет
   Юзер123
 
20 - 13.12.17 - 14:27
Но ошибка даже до этого .. просто при смене Наименования. В самом начале
   бомболюк
 
21 - 13.12.17 - 14:29
какая еще ошибка. ты же в (0) пишешь: "Ошибок нет. Обработка отрабатывает до конца. "
   3achem
 
22 - 13.12.17 - 14:30
(17) ужасный код, к слову
   бомболюк
 
23 - 13.12.17 - 14:31
в общем все, чем ты наполняешь объект в функции СоздатьНоменклатуру благополучно пройоппывается, объект не создается и думаю, что валится на
л_ИнструментОб.Наименование =    л_ИнструментОб.Наименование + "*";
так как объект не создан.
   Юзер123
 
24 - 13.12.17 - 14:31
(21)  Ну точнее не ошибка. А вот эта история с  тем что не записывается док
   Юзер123
 
25 - 13.12.17 - 14:32
(23) Блин. Я там прерываю обработку сразу после смены наименования. Он дальше до СоздатьНоменклатуру()  не доходит
   Юзер123
 
26 - 13.12.17 - 14:32
(22)  очень познавательно.  )
   Табуретко
 
27 - 13.12.17 - 14:32
так ты даже не справочник пытаешься записать, а док?
   Юзер123
 
28 - 13.12.17 - 14:33
(27)   у меня мозги уже свернулись. Справочник конечно. НЕ придерайтесь)
   Юзер123
 
29 - 13.12.17 - 14:34
Не придирайтесь
   Buster007
 
30 - 13.12.17 - 14:39
Код не проходит нормоконтроль платформы, поэтому не работает ничего.
   Юзер123
 
31 - 13.12.17 - 14:41
(30)  !??!?
   бомболюк
 
32 - 13.12.17 - 14:42
сделай чтобы функция СоздатьНоменклатуру возвращала ссылку, а не объект
   Юзер123
 
33 - 13.12.17 - 14:43
(32) Блин. Прервать стоит выше. Чем создатьноменклатуру
 
 
   Юзер123
 
34 - 13.12.17 - 14:43
(32) я тестирую на номенклатуре которая есть.
   hhhh
 
35 - 13.12.17 - 15:05
вот это поменяй

   л_ИнструментОб = НомИнструмент.ПолучитьОбъект();

напиши

   л_ИнструментОб = л_Инструмент.ПолучитьОбъект();
   Юзер123
 
36 - 13.12.17 - 15:13
(35) так и было. Я на форму вынес уже потом.
   Юзер123
 
37 - 13.12.17 - 15:26
Для каждого СтрокаТ из ТЗ цикл
    л_Код =  Сокрлп(СтрЗаменить(СтрокаТ.КодИнструмента,Символы.НПП,""));
    л_Номен = Справочники.Номенклатура.НайтиПоКоду(л_Код);
    
    л_НоменОбъект = л_Номен.ПолучитьОбъект();
    л_НоменОбъект.Наименование = л_НоменОбъект.Наименование + "*";    
    
    Прервать;
    КонецЦикла;    



Упростил вот так не работает тоже...
   Табуретко
 
38 - 13.12.17 - 15:28
Это что?
    Прервать;
    КонецЦикла;
   Юзер123
 
39 - 13.12.17 - 15:28
(38)

прервать цикл..
   Юзер123
 
40 - 13.12.17 - 15:29
(39) Нахожу первый код в ТЗ . По коду нахожу номенклатуру. меняю наименование. Записываю
   Юзер123
 
41 - 13.12.17 - 15:29
а нет) не записываю) сор
   Юзер123
 
42 - 13.12.17 - 15:30
Для каждого СтрокаТ из ТЗ цикл
    л_Код =  Сокрлп(СтрЗаменить(СтрокаТ.КодИнструмента,Символы.НПП,""));
    л_Номен = Справочники.Номенклатура.НайтиПоКоду(л_Код);
    
    л_НоменОбъект = л_Номен.ПолучитьОбъект();
    л_НоменОбъект.Наименование = л_НоменОбъект.Наименование + "*";    
    л_НоменОбъект.Записать();
    Прервать;
    КонецЦикла;    



Смысл тот же. что за Зерня?!
   Табуретко
 
43 - 13.12.17 - 15:30
л_НоменОбъект.Наименование = СокрЛП(л_НоменОбъект.Наименование) + "*";

а если так?
   Юзер123
 
44 - 13.12.17 - 15:31
   Юзер123
 
45 - 13.12.17 - 15:32
(43) Для каждого СтрокаТ из ТЗ цикл
    л_Код =  Сокрлп(СтрЗаменить(СтрокаТ.КодИнструмента,Символы.НПП,""));
    л_Номен = Справочники.Номенклатура.НайтиПоКоду(л_Код);
    
    л_НоменОбъект = л_Номен.ПолучитьОбъект();
    л_НоменОбъект.Наименование = СокрЛП(л_НоменОбъект.Наименование) + "*";    
    л_НоменОбъект.Записать();
    Прервать;
    КонецЦикла;
   Юзер123
 
46 - 13.12.17 - 15:32
Первый раз такое вижу просто.. Сейчас перезалью базу в другую...  Хз даже что думать тут
   hhhh
 
47 - 13.12.17 - 15:34
(46) ну где-то транзакция у вас. и она отменена.

а если так?
л_НоменОбъект.ОбменДанными.Загрузка = Истина;
л_НоменОбъект.Записать();
   Юзер123
 
48 - 13.12.17 - 15:35
(47) Проверю сейчас бэкапится база
   Табуретко
 
49 - 13.12.17 - 15:36
и можно увидеть проц ПриЗаписи(Отказ)
и ПередЗаписью(Отказ)
 
 Рекламное место пустует
   Юзер123
 
50 - 13.12.17 - 15:36
(49)  обычно ж сообщение вылезает. Почему отказ..
   Табуретко
 
51 - 13.12.17 - 15:45
это название предопределенных, возможно в модуле они у вас просто ПриЗаписи()
   Юзер123
 
52 - 13.12.17 - 15:49
(47) все так же
   Юзер123
 
53 - 13.12.17 - 15:50
(51) какие? предопределенные
   Юзер123
 
54 - 13.12.17 - 16:50
лл_Код = л_ТЗ[0].КодИнструмента;
    
    л_Код =  Сокрлп(СтрЗаменить(лл_Код,Символы.НПП,""));
    
    л_Номен = Справочники.Номенклатура.НайтиПоКоду(л_Код);
    
    л_НоменОбъект = л_Номен.ПолучитьОбъект();
    л_НоменОбъект.НаименованиеПолное = СокрЛП(л_НоменОбъект.Наименование) + "--";    
    л_НоменОбъект.Наименование = СокрЛП(л_НоменОбъект.Наименование) + "--";    
    л_НоменОбъект.Записать();


убрал прервать. убрал цикл вообще. 1 хрен
   Юзер123
 
55 - 14.12.17 - 09:00
УтроДоброе..

    лл_Код = ТзД[0].КодИнструмента;
    
    л_Код =  Сокрлп(СтрЗаменить(лл_Код,Символы.НПП,""));
    л_Номен = Справочники.Номенклатура.НайтиПоКоду(л_Код);
    
    л_НоменОбъект = л_Номен.ПолучитьОбъект();
    
    л_Наим  = СокрЛП(л_Номен.Наименование) + "--";
    л_НоменОбъект.НаименованиеПолное = л_Наим ;    
    л_НоменОбъект.Наименование = л_Наим;    
        
    л_НоменОбъект.Записать();


Вот это не работает.

    ОбъектЫ = ПолеВвода1.ПолучитьОбъект();
    ОбъектЫ.ТорговыеНазвания.Очистить();
    //СтрокаТ =  ОбъектЫ.ТорговыеНазвания.Добавить();

    //СтрокаТ.Номенклатура  = ОбъектЫ.Ссылка;    

    ОбъектЫ.Записать();


Это работает. В чем беда?)
   Юзер123
 
56 - 14.12.17 - 09:05
ОбъектЫ = ПолеВвода1.ПолучитьОбъект();
 
    СтрокаТ =  ОбъектЫ.ТорговыеНазвания.Добавить();

    СтрокаТ.Номенклатура  = ОбъектЫ.Ссылка;    

    ОбъектЫ.Записать();



Даже вот так работает
   Юзер123
 
57 - 14.12.17 - 09:29
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если мЭтоНеНовый = Неопределено Тогда
        мЭтоНеНовый = Не ЭтоНовый();
    КонецЕсли;


Ошибка при выполнении обработчика - 'ОбработкаПроверкиЗаполнения'
по причине:
{Справочник.Номенклатура.МодульОбъекта(14)}: Ошибка при вызове метода контекста (ЭтоНовый)

по причине:
Элемент не выбран!
   Юзер123
 
58 - 14.12.17 - 09:29
   Юзер123
 
59 - 14.12.17 - 09:33
Как он не выбран если форма открыта и я в ней жму записать!?!?!?
   Юзер123
 
60 - 14.12.17 - 09:54
Нашел закономерность..


У меня данные для номенклатуры берутся из файла ЭКсель. Если я комментирую кусок где заполняется таблица из Экселя то все работает.  Если заполнение ТЗ из Экселя заполняется то Номенклатура не записывается.



В чем может быть дело???


    //Excel = Новый COMОбъект("Excel.Application"); 

    //ПутьКФайлу = ВыборФайла;

    //ОткрытьФайл = Excel.WorkBooks.Open(ПутьКФайлу);

    //

    //

    // //Используем первый лист книги Excel

    //ОткрытьФайл = ОткрытьФайл.WorkSheets(1);

    //

    //

    // //Определить количество строк и колонок выбранного листа книги Excel

    //xlCellTypeLastCell = 11;

    //ExcelПоследняяСтрока = ОткрытьФайл.Cells.SpecialCells(xlCellTypeLastCell).Row;

    //ExcelПоследняяКолонка = ОткрытьФайл.Cells.SpecialCells(xlCellTypeLastCell).Column;

    //

    //

    //

    //

    //ТзД = Новый ТаблицаЗначений;

    //

    //ТзД.Колонки.Добавить("КодИнструмента");

    //ТзД.Колонки.Добавить("Инструмент");

    //ТзД.Колонки.Добавить("КОДКомплект");

    //ТзД.Колонки.Добавить("НаимКомплект");

    //ТзД.Колонки.Добавить("КОДКомплект1");

    //ТзД.Колонки.Добавить("НаимКомплект1");

    //

    //ТзД.Колонки.Добавить("КодМодуль");

    //ТзД.Колонки.Добавить("НаимМодуль");

    //ТзД.Колонки.Добавить("Назначение");

    //

    //

    //НачатьТранзакцию();    

    //

    //Для  Строка = 2   По ExcelПоследняяСтрока Цикл

    //    СтрокаТ =  ТзД.Добавить();

    //    

    //    СтрокаТ.КодИнструмента = Сокрлп(ОткрытьФайл.Cells(Строка,1).Value);   

    //    СтрокаТ.Инструмент = Сокрлп(ОткрытьФайл.Cells(Строка,4).Value);   

    //    СтрокаТ.КОДКомплект = Сокрлп(ОткрытьФайл.Cells(Строка,8).Value);

    //    СтрокаТ.НаимКомплект = Сокрлп(ОткрытьФайл.Cells(Строка,10).Value);   

    //    СтрокаТ.КОДКомплект1 = Сокрлп(ОткрытьФайл.Cells(Строка,11).Value);   

    //    СтрокаТ.НаимКомплект1 = Сокрлп(ОткрытьФайл.Cells(Строка,12).Value);   

    //    СтрокаТ.КодМодуль = Сокрлп(ОткрытьФайл.Cells(Строка,6).Value);   

    //    СтрокаТ.НаимМодуль = Сокрлп(ОткрытьФайл.Cells(Строка,7).Value);

    //    СтрокаТ.Назначение = Сокрлп(ОткрытьФайл.Cells(Строка,14).Value);

    //    

    //КонецЦикла;

    //

    //

    //Excel.WorkBooks.Close();

    //      

    //      

    //      

    //      

    //

    л_Ном = Справочники.Номенклатура.НайтиПоКоду("72458");
    
    Ном = л_Ном.ПолучитьОбъект();              
    СтрокаНом = Ном.ТорговыеНазвания.Добавить();
    СтрокаНом.Номенклатура = л_Ном; 
    Ном.Записать();



Вот так работает



    Excel = Новый COMОбъект("Excel.Application"); 
    ПутьКФайлу = ВыборФайла;
    ОткрытьФайл = Excel.WorkBooks.Open(ПутьКФайлу);
    
    
    //Используем первый лист книги Excel

    ОткрытьФайл = ОткрытьФайл.WorkSheets(1);
    
    
    //Определить количество строк и колонок выбранного листа книги Excel

    xlCellTypeLastCell = 11;
    ExcelПоследняяСтрока = ОткрытьФайл.Cells.SpecialCells(xlCellTypeLastCell).Row;
    ExcelПоследняяКолонка = ОткрытьФайл.Cells.SpecialCells(xlCellTypeLastCell).Column;
    
    
    
    
    ТзД = Новый ТаблицаЗначений;
    
    ТзД.Колонки.Добавить("КодИнструмента");
    ТзД.Колонки.Добавить("Инструмент");
    ТзД.Колонки.Добавить("КОДКомплект");
    ТзД.Колонки.Добавить("НаимКомплект");
    ТзД.Колонки.Добавить("КОДКомплект1");
    ТзД.Колонки.Добавить("НаимКомплект1");
    
    ТзД.Колонки.Добавить("КодМодуль");
    ТзД.Колонки.Добавить("НаимМодуль");
    ТзД.Колонки.Добавить("Назначение");
    
    
    НачатьТранзакцию();    
    
    Для  Строка = 2   По ExcelПоследняяСтрока Цикл
        СтрокаТ =  ТзД.Добавить();
        
        СтрокаТ.КодИнструмента = Сокрлп(ОткрытьФайл.Cells(Строка,1).Value);   
        СтрокаТ.Инструмент = Сокрлп(ОткрытьФайл.Cells(Строка,4).Value);   
        СтрокаТ.КОДКомплект = Сокрлп(ОткрытьФайл.Cells(Строка,8).Value);
        СтрокаТ.НаимКомплект = Сокрлп(ОткрытьФайл.Cells(Строка,10).Value);   
        СтрокаТ.КОДКомплект1 = Сокрлп(ОткрытьФайл.Cells(Строка,11).Value);   
        СтрокаТ.НаимКомплект1 = Сокрлп(ОткрытьФайл.Cells(Строка,12).Value);   
        СтрокаТ.КодМодуль = Сокрлп(ОткрытьФайл.Cells(Строка,6).Value);   
        СтрокаТ.НаимМодуль = Сокрлп(ОткрытьФайл.Cells(Строка,7).Value);
        СтрокаТ.Назначение = Сокрлп(ОткрытьФайл.Cells(Строка,14).Value);
        
    КонецЦикла;
    
    
    Excel.WorkBooks.Close();
          
          
          
          
    
    л_Ном = Справочники.Номенклатура.НайтиПоКоду("72458");
    
    Ном = л_Ном.ПолучитьОбъект();              
    СтрокаНом = Ном.ТорговыеНазвания.Добавить();
    СтрокаНом.Номенклатура = л_Ном; 
    Ном.Записать();


вот так не работает. даже если я так же получаю номенклатуру по коду не обращаясь к таблице заполненной из Экселя..  Шо за хрень!?!
   Юзер123
 
61 - 14.12.17 - 09:54
Все

Понял.. ЗАкрывайте..
   Юзер123
 
62 - 14.12.17 - 09:56
Код Скопипастил  из обработки другой.. Тот что заполняет таблицу по Экселю..  А там не заметил НАчатьТранзакцию()  Ну ппцц...
   1Садовник
 
63 - 14.12.17 - 09:59
Формум то действительно Волшебный!)
   1Сергей
 
64 - 14.12.17 - 10:22
Про транзакции сказали в самом начале
   Юзер123
 
65 - 14.12.17 - 10:36
(63) (64)   дак..  Пока  кусками комментить не стал код.. И не понял в чем дело. И не видел начала транзакции , .


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