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

Как избавиться от ошибки

Как избавиться от ошибки
Я
   LivingStar
 
06.06.19 - 15:22
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1836)}: Ошибка при вызове метода контекста (Записать)
    Результат = Форма.Записать(ПараметрыЗаписи);
по причине:
Данные были изменены или удалены другим пользователем


После выполнения кода.


    Если Не Рез.Пустой() Тогда
        ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект();
        //
        Выборка = Рез.Выбрать();
        Пока Выборка.Следующий() Цикл
             Отбор = Новый Структура();
             Отбор.Вставить("Номенклатура", Выборка.Номенклатура);
             //
             НайденноеЗначение = ОбъектЗаказПоставщику["Товары"].НайтиСтроки(Отбор);
             Если НайденноеЗначение.Количество() > 0 Тогда
                 Сч = 0;
                 Пока НайденноеЗначение.Количество() > Сч Цикл
                     //Сообщить(НайденноеЗначение[Сч].Номенклатура);
                     НайденноеЗначение[Сч].ЦенаСравнения  = Выборка.Цена;
                     НайденноеЗначение[Сч].СуммаСравнения = НайденноеЗначение[Сч].Количество * НайденноеЗначение[Сч].ЦенаСравнения;
                     Сч = Сч + 1;
                 КонецЦикла;
             КонецЕсли;            
         КонецЦикла;
         ОбъектЗаказПоставщику.Записать(РежимЗаписиДокумента.Запись);
    КонецЕсли;
 
 
   Tonik992
 
1 - 06.06.19 - 15:33
(0) Вы хотите сказать, что вы сначала:
 Результат = Форма.Записать(ПараметрыЗаписи); 

а потом где-то внутри для этого объекта выполняете:
ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект(); 
.....
ОбъектЗаказПоставщику.Записать(РежимЗаписиДокумента.Запись); ?

Ошибка очевидна
   LivingStar
 
2 - 06.06.19 - 15:34
Подскажите пожалуйста как с этим быть?
При выполнении кода потом документ не записывается.
А при открыти повторно в нем есть все нужные данные!
Как нужно правильно делать?
   novichok79
 
3 - 06.06.19 - 15:34
(0) перечитать объект из ссылки
   Вафель
 
4 - 06.06.19 - 15:35
чтоб на форме отображать данные, не обязательно их в объект записывать
   novichok79
 
5 - 06.06.19 - 15:35
так объекту надо сначала "реквизитформывзначение" сделать, тогда он из данныеформыструктура превращается в необходимый объект БД, далее уже с ним делать все операции
   LivingStar
 
6 - 06.06.19 - 15:35
(3) вот эже
  ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект();
   novichok79
 
7 - 06.06.19 - 15:36
ну и после записи - значениевреквизитформы
   novichok79
 
8 - 06.06.19 - 15:36
дичь какая-то имхо
   LivingStar
 
9 - 06.06.19 - 15:39
Как будет правильно?
    Если Не Рез.Пустой() Тогда
        ДокОбъект = РеквизитФормыВЗначение("Объект");
        //ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект();

        //

        Выборка = Рез.Выбрать();
        Пока Выборка.Следующий() Цикл
             Отбор = Новый Структура();
             Отбор.Вставить("Номенклатура", Выборка.Номенклатура);
            //

             НайденноеЗначение = ДокОбъект["Товары"].НайтиСтроки(Отбор);
             Если НайденноеЗначение.Количество() > 0 Тогда
                 Сч = 0;
                 Пока НайденноеЗначение.Количество() > Сч Цикл 
                    //Сообщить(НайденноеЗначение[Сч].Номенклатура);

                     НайденноеЗначение[Сч].ЦенаСравнения  = Выборка.Цена;
                     НайденноеЗначение[Сч].СуммаСравнения = НайденноеЗначение[Сч].Количество * НайденноеЗначение[Сч].ЦенаСравнения;
                     Сч = Сч + 1;
                 КонецЦикла;
             КонецЕсли;             
         КонецЦикла;
        //

         ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
         //ОбъектЗаказПоставщику.Записать();

    КонецЕсли;
   novichok79
 
10 - 06.06.19 - 15:41
(9) Андрей Анатольевич, попробуйте запустите код, вы же работали программистом и дорабатывали ERP 2. погуглите сначала в конфигурации, прежде чем задавать такую элементарщину на форуме.

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