|
![]() |
#1 |
MCP
|
Цитата:
Сообщение от Starling
![]() мдя... и как с этим жить теперь?)
Если допустить, что у нас поле пустое (на сколько, я понимаю это возможно, если номерная серия имеет активный признак Вручную), то данный скрипт всегда будет сбоить: 1. Сделали по закупке накладную, но ошиблись в цене. Поле InternalInvoiceId пустое. 2. Делаем кредит-ноту, через немедленной получение. 3. В этой же закупке корректируем цену и делаем новую накладную с тем же номером. Поле InternalInvoiceId пустое. 4. В результате строки накладной по шагу 1 и шагу 4 будут отображаться в обеих накладных. Если я прав, то это поле лучше сделать обязательным. Или для таких ситуаций существует некий дополнительный контроль? И что будет, если помимо индекса я еще и обязательность заполнения поля активирую. З.Ы.: О проверке использования номера накладной я знаю, может еще что-то есть. |
|
![]() |
#2 |
Участник
|
|
|
![]() |
#3 |
MCP
|
Цитата:
Я имел ввиду создать индекс из нескольких полей, включив туда в т.ч. дату. |
|
![]() |
#4 |
Участник
|
Цитата:
Искал способ как это правильно сделать, вот и решил задать на форуме вопрос, который меня давно интересовал. Дата накладной в этом случае не спасает, так как в моем примере все критерии, в том числе и дата будут совпадать, т.е. опять же одна строка ссылается на две накладных. В общем случае, добиться от системы такого поведения как я написал в скрипте не так уж и просто, так как необходимо чтобы: 1. Была отключена нумерация внутренних номеров накладных. 2. Была отключена проверка на совпадения внешних номеров накладных. Ни 1-ое, ни 2-ое я на реальных проектах не видел и экспериментировать желания у меня нет) Свою задачу решил просто – так как связь между накладной и новой таблицей 1 к 1, то я решил создать новое поле для связи на уровень накладной |
|