Имя: Пароль:
1C
1С v8
Запись данных в справочник НОМЕНКЛАТУРА
0 Юзер123
 
naïve
13.12.17
13:59
Доброго времени. Написал обработку , которая добавляет информацию в спровочник номенклатура. А именно заполняет 2 таб части.


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

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

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

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

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

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

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

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



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

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

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

напиши

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



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

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



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

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

а если так?

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


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

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


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

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


Это работает. В чем беда?)
56 Юзер123
 
naïve
14.12.17
09:05
ОбъектЫ = ПолеВвода1.ПолучитьОбъект();

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

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

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



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


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

по причине:
Элемент не выбран!
58 Юзер123
 
naïve
14.12.17
09:29
59 Юзер123
 
naïve
14.12.17
09:33
Как он не выбран если форма открыта и я в ней жму записать!?!?!?
60 Юзер123
 
naïve
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");
    
    Ном = л_Ном.ПолучитьОбъект();              
    СтрокаНом = Ном.ТорговыеНазвания.Добавить();
    СтрокаНом.Номенклатура = л_Ном;
    Ном.Записать();


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

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