Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста (Записать): Операция не может быть выполнена
0 Privetanya
 
26.06.20
09:38
Ошибка при вызове метода контекста (Записать): Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
В обработке перемещаю заказ с одной даты на другую,т.е. изменяется дата. Нужно записать документ,но выходит ошибка.
Через отладку пишет- ошибка времени выполнения: Ошибка при вызове метода контекста Записать
1 dka80
 
26.06.20
09:59
Кто-то или что-то изменило документ с момента, когда ты получила объект-документ, до момента записи твоего объекта.
2 Privetanya
 
26.06.20
10:12
(1) Как это можно отловить?
Для Каждого строка_ТаблЗаказы Из _МСтрТаблЗаказы Цикл
            
            _ДокО_ЗаказНаПроизводство = строка_ТаблЗаказы.ДокЗаказ.ПолучитьОбъект();
            стру_ПараметрыТехОперации = глПолучитьПараметрыТехнологическойОперации(_ДокО_ЗаказНаПроизводство.ТехнологическаяОперация, _ДокО_ЗаказНаПроизводство.ТехнологическаяКарта);
            
            _ДокО_ЗаказНаПроизводство.ДатаИсполнения = ?(глПустоеЗначение(ВхСтрокаПриемник.Окончание), ВхСтрокаПриемник.Период, ВхСтрокаПриемник.Окончание);
            
            _ДокО_ЗаказНаПроизводство.РазмещенВПроизводственномРасписании = НЕ глПустоеЗначение(_ДокО_ЗаказНаПроизводство.ДатаИсполнения);
            
            Если глПустоеЗначение(ВхСтрокаПриемник.Начало) Тогда
                _ДокО_ЗаказНаПроизводство.ДатаОбеспеченияПотребностей = ВхСтрокаПриемник.Начало;
            Иначе
                _ДокО_ЗаказНаПроизводство.ДатаОбеспеченияПотребностей = ВхСтрокаПриемник.Начало - стру_ПараметрыТехОперации.ОбязательнаяПаузаПередНачалом;
            КонецЕсли;        
            Попытка
                Если _ДокО_ЗаказНаПроизводство.Проведен Тогда
                                            
                    _ДокО_ЗаказНаПроизводство.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
                      Оповестить("ИзменениеДаты",Истина,ЭтаФорма);
                    
                Иначе
                    _ДокО_ЗаказНаПроизводство.Записать(РежимЗаписиДокумента.Запись);
                КонецЕсли;
                
            Исключение
                
                Сообщить(ОписаниеОшибки());
                Возврат;
                
            КонецПопытки;
3 dka80
 
26.06.20
10:25
По журналу регистрации, например.
Может в этой функции глПолучитьПараметрыТехнологическойОперации у тебя объект записывается.
4 Privetanya
 
26.06.20
10:47
(3) пробую,но в данной функции точно нет
5 Privetanya
 
26.06.20
10:59
(3) По журналу регистрации,проведения документа нет нигде,только изменения
6 Privetanya
 
26.06.20
11:16
(3) Попробовала закомментить строки поочереди и когда убираю вот эту строку,то проводится
//_ДокО_ЗаказНаПроизводство.ДатаИсполнения = ?(глПустоеЗначение(ВхСтрокаПриемник.Окончание), ВхСтрокаПриемник.Период, ВхСтрокаПриемник.Окончание);
Что в ней не так?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан