Гость
Форумы / [игнор отключен] [закрыт для гостей] / Изменение реквизита при записи / 5 сообщений из 5, страница 1 из 1
30.11.2016, 13:26
    #39357610
Andry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение реквизита при записи
Может кто знает как разрулить?

Толстый клиент
Задача: создать новый элемент справочника, переопределить реквизит при создании нового элемента. (получал ID из другой базы. Передаю ссылку, по ссылке заполняю значения параметров хранимки, создаю на другом сервере запись в таблицах, возвращаю код. По ссылке получаю объект, его присваиваю возвращенный код элементу из позвожу запись. ПриЗаписи() - уже объект существует, просто можно оказаться зафиксировать тразакцию на его создание, вроде так.)

Появилась необходимость перейти на управляемые формы.
Делаю тоже самое, запись на сервере формируется, в базе 1С тоже создается, но возвращается ошибка:
"операция не может быть выполнена из-за несоответствия версии или отсутствия записи"

Причина с одной стороны понята, у меня открыта форма, а данные не советуют тому, что отображает форма - изменился объект. Но в тонком клиенте такого не было. Обновлять форму не получается, так как в тонком клиенте операция производится на сервере. Почему отрабатывает по разному не могу понять.

Переопределять реквизит перед записью не прокатывает, нужен существующий объект(обращаюсь к регистрам при заполнение параметров хранимки).
...
Рейтинг: 0 / 0
30.11.2016, 14:38
    #39357679
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение реквизита при записи
В самой стандартной версии:

1. Заходите в любой элемент справочника и что-то меняете, но не записываетесь.
2. Только программно пишете код и меняете элемент в пункте 1.
3. При нажатии кнопки записать - ругательство что изменилась версия элемента и записать нельзя.


Не понимаю что Вы делаете. Но раз Вам нужно перезаписать - то кто запрещает написать код запись этого элемента также программно? (Естественно что в этом случае Вы сможете увидеть что поменялось в пункте 2 - сравнить версии и решить что и как Вам нужно учиттывать)
...
Рейтинг: 0 / 0
30.11.2016, 14:52
    #39357707
Сисой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение реквизита при записи
Запись ссылки в Объект на сервере д.б. через вызов серверной процедуры модуля формы (оттуда).
После чего ЗначениеВРеквизитФормы().

Если же вызывать из формы абстрактный неконтекстный серверный код и менять в нем объект, то это для УФ нонсенс.
...
Рейтинг: 0 / 0
02.12.2016, 10:33
    #39359142
Хитроглазый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение реквизита при записи
Andry.,

ты ведь свой код пишешь не в модуле форму, а в модуле объекта или в подписке?
...
Рейтинг: 0 / 0
02.12.2016, 20:38
    #39359669
Andry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение реквизита при записи
Решил прописать в модуле формы (в случае групповой обработки мне не надо обращаться в другую базу, эти реквизиты не меняются, иначе просто идет большой поток вызовов синхронизации, а толку нет - данные те же, в случае групповой обработки меняем другие данные, которые не синхронизируем)

Если делать в модуле объекта то тоже натыкался на сообщение: "операция не может быть выполнена из-за несоответствия версии или отсутствия записи" .

Проблему решил так: вызывал храниму при записи, а присвоил новый код, из другой базы,после записи. В этом случае форма не ругается.
Все оказалось просто.

Всем спасибо за помощь, узнал что-то новое.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Изменение реквизита при записи / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]