Здравствуйте. Клиенты борятся за лояльность покупателей и придумали денежную скидку , как позицию товара.
Необходимо чтобы на печать не выводилось количество по этой позиции и не суммировалось в количестве мест,
А также посоветуйте, как запустить отчет без первоначальной карточки запроса?[FILE ID=541429]
1. Можно в событии OnBeforePrint секции MasterData1 "отфильтровать" строки по какому-то признаку (наименованию, отрицательной сумме...)
Например так:
if [DialogForm.STROKI."Наименование_ТМЦ"] = 'Новогодний подарок' then begin
MasterData1.Visible := False;
end else begin
MasterData1.Visible := True;
end;
2. Чтобы не отображалась карточка запроса с неё надо удалить все визуальные объекты. В данном случае это две кнопки ("Выполнить", "Отменить") и метка над ними (с текстом "Накладная"). Но в этом случае скрипт из события OnClick кнопки "Выполнить" надо будет перетащить в событие OnActivate самой формы карточки запроса.
Сергей, спасибо за помощь.
Карточку запроса подавили.
Но по Новогоднему подарку нужно не показывать (суммировать) количество.
Как это запрограммировать?
Сама строка должна сохраняться.
В секции MasterHeader1 в событии OnBeforePrint:
nSumKol := 0;
В секции MasterData1 в событии OnBeforePrint:
if [DialogForm.STROKI."Наименование_ТМЦ"] = 'Новогодний подарок' then begin
nKol := 0;
end else begin
nKol := [DialogForm.STROKI."Кво_в_единицах_докта"];
end;
nSumKol := nSumKol + nKol;
В объекте Memo67 вместо [DialogForm.STROKI."Кво_в_единицах_докта"] пишите [nKol]
В объекте Memo48 вместо [TRIM([(SUM([DialogForm.STROKI."Кво_в_единицах_докта"]), Neuter)])] пишите [nSumKol]
Можно ещё у Memo48 прописать свойство DisplayFormat такое же как у Memo67.