псевдо not null

sergq
Дата: 20.07.2012 18:12:23
Здравствуйте.

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

Если на этапе проектирования указать для данного поля, что оно not null, то тогда сервер не даст закомитить транзакцию,
в которой копируется документ.
если не указать, что поле not null, то тогда есть вероятность, что пользователь забудет заполнить поле.


Как быть в данной ситуации?

Спасибо
Dimitry Sibiryakov
Дата: 20.07.2012 18:32:40

sergq
Как быть в данной ситуации?

Пусть документ копируется только ПОСЛЕ заполнения этого поля. То есть перенеси функцию
копирования на клиента в виде сохранения под новым номером или что там у тебя...

Posted via ActualForum NNTP Server 1.5

WildSery
Дата: 20.07.2012 19:14:32
Либо не подтверждать транзакцию при копировании до записи пользователем.
Либо копировать все значения документа-источника, в том числе это поле.
Dimitry Sibiryakov
Дата: 20.07.2012 19:18:57

WildSery
Либо не подтверждать транзакцию при копировании до записи пользователем.

А когда в FB not null constraint стали deferred?..

Posted via ActualForum NNTP Server 1.5

WildSery
Дата: 20.07.2012 23:26:13
Dimitry Sibiryakov,

А. Это я уже о чём-то своём задумался.

По сути копирование не должно отличаться от создания нового документа, за исключением того, что какие-то данные уже будут заполнены.
Т.е. нужна не "ХП для копирования", а "ХП для получения данных документа для заполнения нового".
Dimitry Sibiryakov
Дата: 20.07.2012 23:31:55

WildSery
Т.е. нужна не "ХП для копирования", а "ХП для получения данных документа для заполнения
нового".

Которая ничем не отличатся от "ХП для получения данных документа для редактирования
старого" (если я правильно понял автора).

Posted via ActualForum NNTP Server 1.5

WildSery
Дата: 20.07.2012 23:39:53
Dimitry Sibiryakov,

Так точно!
m7m
Дата: 21.07.2012 11:53:57
sergq
Здравствуйте.

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

Если на этапе проектирования указать для данного поля, что оно not null, то тогда сервер не даст закомитить транзакцию,
в которой копируется документ.
если не указать, что поле not null, то тогда есть вероятность, что пользователь забудет заполнить поле.


Как быть в данной ситуации?

Спасибо


Завести поле состояние документа и работать с ним
В частности, не переводить документ в состояние "Готово для дальнейшей обработки"
пока пользователь не заполнит нужные поля