[ОТВЕТИТЬ]
Опции темы
17.11.2008 10:40  
ReDHawK
Цитата:
Сообщение от Mihon
Все делалось намного легче... Сначала придумали схему, потом настраивали префиксы в момент открытия каждого магазина как в ЦБ, так и в базе магазина. Ну, минут 5-10 на это уходило.
Ну 5-10 минут это если настраивать только 3 самых необходимых документа: ПН, РН, АП
а когда нужны почти все документы, то уйдет времени намного больше.
 
17.11.2008 11:22  
kadr
Цитата:
Сообщение от Mihon
...
И если префиксы будут одинаковые, то может возникнуть ситуация: Создали (по неизвестной причине) документ в ЦБ с автоматическим номером МАГ1ПН001451. Через десять минут в базе магазина операторы тоже создали документ, тоже с авто-номером МАГ1ПН001451. Подняли статус, почтовик успешно перезаписал тот документ, который сделали в ЦБ. Документ утерян.
Документ не утерян, а получает отлуп от ЦБ с ошибкой "два разных объекта имеют одинаковый идентификатор", т.е. тип и номер совпадают, а DBID разные
 
17.11.2008 16:22  
Mihon
Цитата:
Сообщение от kadr
Документ не утерян, а получает отлуп от ЦБ с ошибкой "два разных объекта имеют одинаковый идентификатор", т.е. тип и номер совпадают, а DBID разные
Точно, точно. Но все равно, ничего хорошего:)
 
18.11.2008 10:16  
deucel
Цитата:
Сообщение от 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;
/
 
04.10.2011 10:33  
artyom
А как удалить изменить префиксы уже созданных документов?
 
04.10.2011 10:49  
Mtirt
Зачем? Чтобы потерять ссылочную целостность базы данных?
 
04.10.2011 11:21  
artyom
Для работы с имеющейся обработкой для выгрузки в 1C.
 
04.10.2011 11:23  
Mtirt
А не проще переделать имеющуюся обработку выгрузки в 1С?
 
04.10.2011 11:25  
artyom
В данном случае к сожалению нет.
 
04.10.2011 11:25  
Mtirt
Почему?
 
 


Опции темы



Часовой пояс GMT +3, время: 15:18.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.