24.04.2006, 14:51 | #1 |
Участник
|
При печати счета-фактуры или накладной по кнопке "Выходная форма" в накладных на услуги все строки из таблицы CustInvoiceLine не говоря худого слова благополучно удаляются. Пока что установлено что делается это из метода класса CustPrintOutInvoice (последняя строка) void cleanUpProforma() { CustInvoiceTrans custInvoiceTrans; ; delete_from custInvoiceTrans index hint InvoiceIdx where custInvoiceTrans.salesId == custInvoiceJour.salesId && custInvoiceTrans.invoiceId == custInvoiceJour.invoiceId && custInvoiceTrans.invoiceDate == custInvoiceJour.invoiceDate; // EVGL, Officials upgrade --> OfficialsTrans_RU::deleteWithoutUpdate(custInvoiceJour.OffSessionId_RU); // EVGL, Officials upgrade <-- custInvoiceJour.delete(); } В таблице custInvoiceJour установлено каскадное удаление для таблицы СustInvoiceLine и это стандарт, а не наши модификации Вопрос: за что мне такое беспросветное горе и как с ним бороться? |
|
24.04.2006, 15:19 | #2 |
Участник
|
Что-то странное.
Вообще говоря, этот метод должен вызываться только для проформ. Проформа - это предварительная версия документа. В проформе нет номера документа и в международной версии печатается другой заголовок. Проформу в стандартной версии можно получить, если запустить печать документа с отключенной галкой Обработать. Т.е. печать есть, а проводок нет. Предварительный документ (созданный только для печати) автоматически уничтожается. И это правильно. Нужно понять, почему в вашей версии этот метод выполняется для нормальных документов. |
|
25.04.2006, 11:39 | #3 |
Участник
|
Причину нашел, устранил, но взаимосвязь причины и следствия к сожелению не осознал до сих пор.
В CustInvoiceLine оказывается были добавлены два поля, которые также были добавлены и на DataSource формы CustFreeInvoice ... и все: есть два поля - строки таблицы удаляются, нет этих двух полей - все работает как и прежде. |
|