Цитата: ReDHawK ➤ Твой вариант привлекательнее тем, что понятно: где создан, что за документ, для какого МХ. Но это же пипец как геморойно создавать для каждого магазина, если магазинов несколько, то ни один час убьешь ((
Мы к примеру ставим префиксы на MX - т.е. например в ЦС стоит одинаковый префикс для склада и всех МХ для которых могут быть созданы документы.
По префиксу мы видим где был создан документ.
По поводу - не один час
для ЦО (примеры)
Создание префиксов документов для магазина.
Код:
DECLARE
MID NUMBER(3) := '&Magazin_ID_number';
BEGIN
INSERT INTO SADOCDEFAULTS ( DOCTYPE, LOCATION, NAMEPREFIX, NUMBERSIZE, PRICEKIND )
VALUES ( 'OR', MID, 'ЗПЦ', 6, NULL);
INSERT INTO SADOCDEFAULTS ( DOCTYPE, LOCATION, NAMEPREFIX, NUMBERSIZE, PRICEKIND )
VALUES ( 'CO', MID, 'КЗЦ', 6, NULL);
INSERT INTO SADOCDEFAULTS ( DOCTYPE, LOCATION, NAMEPREFIX, NUMBERSIZE, PRICEKIND )
VALUES ( 'AC', MID, 'АЦ', 6, NULL);
INSERT INTO SADOCDEFAULTS ( DOCTYPE, LOCATION, NAMEPREFIX, NUMBERSIZE, PRICEKIND )
VALUES ( 'WI', MID, 'ПНЦ', 6, NULL);
COMMIT;
END;
/
Для всех магазинов по типу
Код:
DECLARE
BEGIN
DELETE FROM SADOCDEFAULTS WHERE DOCTYPE ='WI';
COMMIT;
FOR c_rec IN (SELECT ID FROM SMSTORELOCATIONS WHERE ID > 1 ORDER BY NAME)
LOOP
INSERT INTO SADOCDEFAULTS ( DOCTYPE, LOCATION, NAMEPREFIX, NUMBERSIZE, PRICEKIND )
VALUES ( 'WI', c_rec.id, 'ПНЦ', 6, NULL);
COMMIT;
END LOOP;
END;
/