04.11.2010, 13:59 | #1 |
Участник
|
Дня доброго коллегам и профессионалам этого форума.
Очень рассчитываю на Вашу помощь. Я в Навижн новичок (пока). Но надеюсь (в т.ч. и помощью форума) овладеть сиим мощным "орудием". Проблема у меня в следующем: Есть документ (н-р, счет-фактура). В нем в табл.части есть колонка "Print", в которой юзер ставит галочки в тех строках, которые должны быть выведены на печать. Но тут возникает опасность: распечатаны будут не все строки, которые будут реально проведены, т.е. в рез-те клиент получит счет на одну сумму, а по бухгалтерии будет проведена совсем другая. Чтобы предотвратить эту коллизию предлагается следующее: при нажатии на кнопку "Печать", осуществлять проверку строк документа, и если есть строки без крыжика "Print", но с "Кол-во к отгрузке" или "Кол-во к фактурированию" не равными 0, то выдавать соответствующее предупреждение. Вопрос: в какое место впихнуть эту проверку? и какими средствами ее осуществлять? Я сделала пока так: 1)В форме Fxxxxx (счета-фактуры) добавила переменные OK(boolean), QtySum(decimal), VerkZeilen(Record.Sales Line), Text001(Text). 2) В модуле для MenuButton "Печать" в триггер OnPush() вставлен след.код: VerkZeilen.SETRANGE("Document Type","Document Type"); VerkZeilen.SETFILTER("Document No.", "No."); VerkZeilen.SETRANGE(drucken,FALSE); OK := TRUE; IF VerkZeilen.FIND('-') THEN BEGIN CLEAR(QtySum); REPEAT QtySum := QtySum + ABS(VerkZeilen."Qty. to Invoice") + ABS(VerkZeilen."Qty. to Ship"); UNTIL VerkZeilen.NEXT = 0; IF QtySum <> 0 THEN OK := CONFIRM(Text001); END; IF OK THEN REPORT.RUN(lrc_Belegsteuerung."ID Auftragsbestätigung",TRUE,FALSE,lrc_SalesHeader); Не судите строго, это моя т.с. первая проба пера Подскажите, плиз, более корректное и изящное решение описанной проблемы? (что я сделала неправильно, что лишнее и т.д.?) Вроде работает, но я не уверена, что это "высокий стиль" |
|