Получение некоторых данных в момент создания документа
Добрый день.
Цель: Необходимо получить GUID документа, договора, продажи в момент его СОЗДАНИЯ. Далее запомнить его как текущую актуальную глобальную переменную, при перемещении в другой документ она заменяется на GUID объекта в который был осуществлен переход ... Ну как бы система постоянно в курсе, какой объект открыт в данный момент и в любой момент (даже сразу после создания) можно получить это значение.
Все как бы не плохо, когда есть такая запись:
Но если ты только создал документ, то она возвращает null, а когда ты по документы кликаешь - вот тут она отдает кпримеру: {7E589C94-B7A8-42CD-B54D-EE620343C787} Ура. НО как быть, когда нужна она сразу после создания?
помогите пожалуйста
Нравится
Дело в том, что сразу после создания система генерирует новый идентификатор для записи. Но, поскольку этой записи по факту ещё нет в системе, Вы не можете добавить ссылку на неё в связанные таблицы, пока она не будет сохранена.
Выход - сразу после открытия карточки записи, заполнения значений по умолчанию и отработки базовых обработчиков выполнить dlData.Dataset.Post(). После этого Вы сможете использовать ID данной записи для добавления в другие таблицы.
Но прежде, чем это делать, нужно хорошенько обдумать все возможные моменты реализации, в том числе и такой: что делать, если после открытия карточки документа пользователь передумал и нажал кнопку "Отмена"? Запись-то уже в базе сохранена...
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.
Хорошо. Допустим мы созлаем новый договор. кликаем добавить ... Окно начальных данных. Называем документ и кликаем ОК. Теперь выбираю Файлы ... Добавить .... В общем в этот момент еще не доступен GUID... если кликнуть на другой договор, а потом обратно на новый - все будет работать ...
из этого возникает вопрос - где же то заветное МЕСТО куда нужно вставить dlData.Dataset.Post() ??????????? :)
В принципе, если Вы уже нажали "OK", ID договора в базе уже существует. Надо смотреть на вызов Вашей функции, в которую Вы передаёте ContractID. Можете выложить код? Либо, если есть возможность подсоединиться к Вашей машине через удалённый доступ, отправьте запрос на support@tscrm.com с параметрами доступа.
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.
Всегда пожалуйста :).
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.