Печать ценника -апускает0ся с карточки
Список для весов распечатываеться с верным plu
Список загрузки единый для всех весов и всех магазинов
Ценники пробовал разные и наш и стандартный ситуация везде одинаковая
Вот процедура если я не чего не путаю
скрытое
begin
/* Процедура для печати ценников.
ВНИМАНИЕ! ИЗМЕНЯТЬ ЭТУ ПРОЦЕДУРУ НЕЛЬЗЯ!!!
Если нужны другие выходные параметры, нужно писать свою процедуру
с названием, начинающимся на USR_ и навешивать свои печатные формы
ценников на нее. */
select jur_person, logo from GET_LABEL_PARAMS(0, :label_id, :filialindex)
into :jur_person, :logo;
select v_num from PARAMS where session = :id_session and class = 'Common' and name = 'IdUser'
into :cur_user_id;
select name_user, users_barcode from USERS where id_user = :cur_user_id
into :cur_user_name, :cur_user_barcode;
cur_user_barcodefnt = barcodefnt(cur_user_barcode);
for select articul, quantity, barcode, mesuriment, pricerub, price_kind,
barquantity, barpricerub, barpricecur, bardiscount, discount,
discquantity, scale_code
from PRN_LABEL_SL
where session = :id_session and is_print = 'T' and
(cennik_id = :label_id or :common_label = 1 and cennik_id is null)
order by articul, barcode
into :articul, :quantity, :barcode, :mesuriment, :pricerub, :pricekind,
:barquantity, :barpricerub, :barpricecur, :bardiscount,
:discdiscount,:discquantity, :scale_code
do begin
select name,country,gr,cardtype,mesuriment,prmodel,shortname,manufacturer
from CARDSCLA where articul = :articul
into :name,:v_country,:gr,:cardtype,:v_mesuriment,:model,:comment,:id_manufacturer;
-- Производитель
name_manufacturer = '';
select name_manufacturer from MANUFACTURER where id_manufacturer = :id_manufacturer
into :name_manufacturer;
-- Страна
country = '';
select name_country from COUNTRY where id_country = :v_country into country;
-- id_device_list - номер весов , scale_CODE номер PLU в весах
/* scale_info = '';
for select id_device_list,scale_code
from DEVICE_CARDS where articul = :articul and scale_code <> 0
into :v_id_device,:v_plu
do if (strlen(scale_info) + 5 + strlen(v_id_device) + strlen(v_plu) < 255)
then scale_info = scale_info || v_id_device || ' - ' || v_plu || '; ';
*/
scale_info = '';
for select id_device_list,scale_code
from device_cards where articul = :articul and scale_code <> 0
into :v_id_device,:v_plu do begin
if (strlen(scale_info)+5+strlen(v_id_device)+strlen(v_plu)<255)
then scale_info=v_plu;
end
-- Ед. измерения карточки
card_mesuriment = ''; card_precision_mes = 0;
select name_mesuriment, precision_mesurim from MESURIMENT
where id_mesuriment = :v_mesuriment into :card_mesuriment, :card_precision_mes;
-- Выбранная ед. измерения
name_mesuriment = ''; precision_mesuriment = 0; is_pack = 'F';
select name_mesuriment, precision_mesurim, is_pack from MESURIMENT
where id_mesuriment = :mesuriment into :name_mesuriment, :precision_mesuriment, :is_pack;
-- Оптовая карточка или нет
is_opt = 'F';
if (exists(select 1 from CARDTYPES_FILIAL where cardtype = :cardtype))
then select is_opt from CARDTYPES_FILIAL where cardtype = :cardtype and filial_index = :filialindex
into :is_opt;
else select is_opt from CARDTYPES where id_cardtype = :cardtype into :is_opt;
-- АП
select sostav from VW_CARDASRT_SOSTAV(:articul, 1, 1) into :sumname;
if (strlen(sumname) > 100)
then sumname_v = substr(sumname, 1, 96) || ' ...';
else sumname_v = sumname;
-- Штрихкод на ценник
code128 = :barcode || ' ' || doubletrunc(round(:pricerub * 100, 0), '0');
select barcode128fnt(:code128) from rdb$database into :barcode128;
suspend;
end
end