|
Как избавиться от ошибки | ☑ | ||
---|---|---|---|---|
0
LivingStar
06.06.19
✎
15:22
|
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1836)}: Ошибка при вызове метода контекста (Записать)
Результат = Форма.Записать(ПараметрыЗаписи); по причине: Данные были изменены или удалены другим пользователем После выполнения кода. Если Не Рез.Пустой() Тогда ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект(); // Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл Отбор = Новый Структура(); Отбор.Вставить("Номенклатура", Выборка.Номенклатура); // НайденноеЗначение = ОбъектЗаказПоставщику["Товары"].НайтиСтроки(Отбор); Если НайденноеЗначение.Количество() > 0 Тогда Сч = 0; Пока НайденноеЗначение.Количество() > Сч Цикл //Сообщить(НайденноеЗначение[Сч].Номенклатура); НайденноеЗначение[Сч].ЦенаСравнения = Выборка.Цена; НайденноеЗначение[Сч].СуммаСравнения = НайденноеЗначение[Сч].Количество * НайденноеЗначение[Сч].ЦенаСравнения; Сч = Сч + 1; КонецЦикла; КонецЕсли; КонецЦикла; ОбъектЗаказПоставщику.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; |
|||
1
Tonik992
06.06.19
✎
15:33
|
(0) Вы хотите сказать, что вы сначала:
Результат = Форма.Записать(ПараметрыЗаписи); а потом где-то внутри для этого объекта выполняете: ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект(); ..... ОбъектЗаказПоставщику.Записать(РежимЗаписиДокумента.Запись); ? Ошибка очевидна |
|||
2
LivingStar
06.06.19
✎
15:34
|
Подскажите пожалуйста как с этим быть?
При выполнении кода потом документ не записывается. А при открыти повторно в нем есть все нужные данные! Как нужно правильно делать? |
|||
3
novichok79
06.06.19
✎
15:34
|
(0) перечитать объект из ссылки
|
|||
4
Вафель
06.06.19
✎
15:35
|
чтоб на форме отображать данные, не обязательно их в объект записывать
|
|||
5
novichok79
06.06.19
✎
15:35
|
так объекту надо сначала "реквизитформывзначение" сделать, тогда он из данныеформыструктура превращается в необходимый объект БД, далее уже с ним делать все операции
|
|||
6
LivingStar
06.06.19
✎
15:35
|
(3) вот эже
ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект(); |
|||
7
novichok79
06.06.19
✎
15:36
|
ну и после записи - значениевреквизитформы
|
|||
8
novichok79
06.06.19
✎
15:36
|
дичь какая-то имхо
|
|||
9
LivingStar
06.06.19
✎
15:39
|
Как будет правильно?
Если Не Рез.Пустой() Тогда ДокОбъект = РеквизитФормыВЗначение("Объект"); //ОбъектЗаказПоставщику = Объект.Ссылка.ПолучитьОбъект(); // Выборка = Рез.Выбрать(); Пока Выборка.Следующий() Цикл Отбор = Новый Структура(); Отбор.Вставить("Номенклатура", Выборка.Номенклатура); // НайденноеЗначение = ДокОбъект["Товары"].НайтиСтроки(Отбор); Если НайденноеЗначение.Количество() > 0 Тогда Сч = 0; Пока НайденноеЗначение.Количество() > Сч Цикл //Сообщить(НайденноеЗначение[Сч].Номенклатура); НайденноеЗначение[Сч].ЦенаСравнения = Выборка.Цена; НайденноеЗначение[Сч].СуммаСравнения = НайденноеЗначение[Сч].Количество * НайденноеЗначение[Сч].ЦенаСравнения; Сч = Сч + 1; КонецЦикла; КонецЕсли; КонецЦикла; // ЗначениеВРеквизитФормы(ДокОбъект, "Объект"); //ОбъектЗаказПоставщику.Записать(); КонецЕсли; |
|||
10
novichok79
06.06.19
✎
15:41
|
(9) Андрей Анатольевич, попробуйте запустите код, вы же работали программистом и дорабатывали ERP 2. погуглите сначала в конфигурации, прежде чем задавать такую элементарщину на форуме.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |