[ОТВЕТИТЬ]
10.01.2012 03:04
Dusha
 
Необходимо чтобы остатки из СМ2000 (у нас 1.028.2) выгружались на кассу (УКМ4 47 sp5). В магазинах по одной кассе. Как это можно реализовать?
В СП говорят, что СМ2000 не выгружает остатки, хотя возможность работы с ними есть в УКМ. Есть возможность реализации этого через Web компонету СМ2000 (установив IIS и настроив так, чтобы УКМ при запросе кассира обращалась к нему и брала остатки сразу из СМ2000.) Кто пользуется данными возможностями?
P.S. Поднимаю новую тему, т.к. поиск выдает старые данные, думаю, что за эти годы могло появиться что то нужное нам.
Заранее спасибо за дельные советы.
10.01.2012 16:43
akonev
 
сомневаюсь, чтобы много народу этим всерьез занималось.

по-моему, эта функция появилась в укм48sp2. так что первое, что вас ждет - это апдейт укм4. потом развлекуха с IIS, который еще и лицензировать надо.

дело вкуса, но лично я бы, наверное, сначала проверил, можно ли где-то в укм4 увидеть остаток, если вгрузить его через addnum1. в проверке цены, к примеру.

если можно - тогда после выгрузки (проверить наличие файлов-флагов) внешним скриптом пробежать по plu и заполнить addnum1, а потом уже только отдать все это укм-у. если обмен настроить текстовый, то всех дел на день.
11.01.2012 14:27
Dusha
 
То, что остаток можно грузить в укм, это понятно. Даже в "стандартном 2CSV импорте" есть "Брать остатки из свойства add1". Вопрос, чем именно выгружать эти остатки из СМ2000?
11.01.2012 14:33
Mtirt
 
Чем-то своим.
Например, запросом или отчетом, выполняемым по расписанию.
12.01.2012 12:58
akonev
 
Цитата:
Dusha То, что остаток можно грузить в укм, это понятно. Даже в "стандартном 2CSV импорте" есть "Брать остатки из свойства add1". Вопрос, чем именно выгружать эти остатки из СМ2000?
на самом деле выгрузить не проблема, особенно если пользуете "стандартный 2CSV".

всего-то и надо собрать простенький скриптик, который пробежит по карточкам и впишет остатки.
ну придется еще сделать задание в шедулере, которое будет раз в 10 (к примеру) минут проверять флажки, запускать скрипт и перекладывать файлы из каталога, куда положил супермаг без остатков, в каталог, откуда заберет укм4 уже с остатками.

вопрос в другом: когда остатки уже попали в укм4 - где их будет видно? никогда с остатками не работал.
26.01.2012 13:09
Dusha
 
Остатки на кассу выгрузить удалось и касса с ними работает. Остаток видно и при запросе цены товара и в подборе. Вопрос теперь только в автоматизации этого процесса, а именно в выгрузке в текстовый файлик информации вида "article", остаток и написании скрипта объединяющего файл выгрузки с этим файлом по полю article.
26.01.2012 16:25
akonev
 
формат обмена у вас какой все-таки?
26.01.2012 18:35
Dusha
 
Цитата:
Andrew_Konev формат обмена у вас какой все-таки?
Стандартный 2 CSV
28.02.2012 15:34
akonev
 
ничего особо не проверялось, предварительно тщательно обнюхивать!!!
рассматривать скорее как отправную точку, а не как готовое решение.

скормить в sqlplus:
sqlplus supermag/qqq@db2000 @c:\sql\remains.sql

протокол обмена проще отстроить, если все выгрузки будут полные.
имена файлов-флагов сверяйте с настройками конвертера укм4 и проверяйте, что там на самом деле падает!!! пишу по памяти, могу чего-нить попутать.

1) проверить наличие cashXX.CNG (для полной выгрузки; XX - номер кассы) и отсутствие cash.NON в каталоге, куда пишет см+
2) выложить туда cashXX.LDD
3) прогнать скрипт
4) в каталоге, откуда будет забирать укм4, проверить отсутствие cashXX.LDD
5) положить в каталог укм4 cash.NON, остальное вычистить
6) скопировать все файлы *.dat , кроме plucash.dat
7) скопировать plucash2.dat переименовать в plucash.dat
8) скопировать cashXX.CNG
9) убрать cash.NON из каталога укм4
10) убрать cashXX.LDD из каталога см+
остатки в текстовой выгрузке:

Код:
DECLARE
-- c:\sql\remains.sql
-- прописываем остатки в выгрузке из СМ+ на кассы

    sm_sl   NUMBER(5) := 34;                 -- ID места хранения

    k_outF  UTL_FILE.FILE_TYPE;
    k_inF   UTL_FILE.FILE_TYPE;
    k_Dir   VARCHAR2(20) := 'SM_DATA';       -- директория, созданная в базе. до версии 9.2.0 тут должен быть путь к файлу
    k_inN   VARCHAR2(20) := 'PLUCASH.dat';   -- имя файла входных данных
    k_outN  VARCHAR2(20) := 'PLUCASH2.dat';  -- имя выходного файла

    tab     char(1) := ','; --  разделитель полей
    cn      VARCHAR2(511);  --  загружаемая строка
    cac     NUMBER(3);      --  номер позиции разделителя полей
    cnb     VARCHAR2(255);  --  начало строки до addnum1
    cne     VARCHAR2(255);  --  конец строки после addnum1

    sm_article VARCHAR2(255); -- артикул СМ+
    sm_goods   NUMBER(8,3);   -- остаток по документам
    sm_online  NUMBER(8,3);   -- оперативные продажи
    sm_remains VARCHAR2(255); -- оперативный остаток в тексте для вставки в выгрузку
    check_art  NUMBER(5);     -- для проверки, что артикул еще жив (всякое бывает)

BEGIN
    k_inF := UTL_FILE.FOPEN(k_Dir,k_inN,'r');
    k_outF := UTL_FILE.FOPEN(k_Dir,k_outN,'w');

    loop
      -- пробегаем циклом по файлу карточек
      begin
        UTL_FILE.GET_LINE(k_inF,cn);
      exception
        WHEN NO_DATA_FOUND THEN EXIT;
      end;

      cac := instr(cn,tab);                             -- находим первый разделитель
      sm_article := replace(SUBSTR(cn,1,cac-1),'"',''); -- в первом поле в кавычках артикул. достаем его оттуда

      -- addnum1 - восьмое поле. то есть поле после седьмого разделителя
      cac := instr(cn,tab,1,7);                         -- находим 7-й разделитель
      cnb := SUBSTR(cn,1,cac);                          -- запоминаем начало строки до поля addnum1
      cne := SUBSTR(cn,cac+1);                          -- запоминаем конец строки

      sm_remains := '0';                                -- обнулим остатки на случай, если в базе про них ничего не найдем

      -- если артикул в базе нашелся - достаем его остатки и оперативные продажи
      SELECT count(*) INTO check_art FROM SMCard WHERE Article = sm_article;
      if check_art = 1 then
        begin

          -- остатки
          sm_goods :=0 ; 
          SELECT count(*) INTO check_art FROM smgoods WHERE Article = sm_article AND storeloc=sm_sl;
          if check_art = 1 then
            SELECT quantity INTO sm_goods FROM smgoods WHERE article=sm_article AND storeloc=sm_sl;
          end if;  

          -- оперативные продажи  
          sm_online := 0 ;
          SELECT count(*) INTO check_art FROM smopergoods WHERE article=sm_article AND locid=sm_sl;
          if check_art > 0 then
            SELECT nvl(sum(salequantity),0)-nvl(sum(returnquantity),0) INTO sm_online FROM smopergoods WHERE article=sm_article AND locid=sm_sl;
          end if;  
            
          -- считаем оперативный остаток, переводим в текст, заменяем десятичный разделитель (чтобы не зависеть от региональных настроек)
          sm_remains := replace(to_char(sm_goods - sm_online),',','.');
        end;
      end if;  

      -- собираем обратно строку для выгрузки
      cn := cnb||sm_remains||cne;

      -- пишем готовую строку в исходящий файл
      UTL_FILE.PUTF(k_outF,cn||'\n');
      UTL_FILE.FFLUSH(k_outF);

    end loop;

    UTL_FILE.FCLOSE(k_inF);
    UTL_FILE.FCLOSE(k_outF);

--------------------------------------------------            

EXCEPTION
  WHEN UTL_FILE.INVALID_PATH THEN 
        RAISE_APPLICATION_ERROR(-20100, 'Invalid Path');
  WHEN UTL_FILE.INVALID_MODE THEN 
        RAISE_APPLICATION_ERROR(-20101, 'Invalid Mode');
  WHEN UTL_FILE.INVALID_OPERATION THEN 
        RAISE_APPLICATION_ERROR(-20101, 'Invalid Operation');
  WHEN UTL_FILE.INVALID_FILEHANDLE THEN 
        RAISE_APPLICATION_ERROR(-20300,'Invalid File Handle');
  WHEN UTL_FILE.WRITE_ERROR THEN 
        RAISE_APPLICATION_ERROR(-20301,'Write Error');
  WHEN UTL_FILE.INTERNAL_ERROR THEN 
        RAISE_APPLICATION_ERROR(-20302,'Internal Error');
END;
/


возможно, пользователю supermag надо будет добавить прав через администратора супермага, не помню.
28.02.2012 17:33
Neutron
 
Цитата:
Dusha Остатки на кассу выгрузить удалось и касса с ними работает. Остаток видно и при запросе цены товара и в подборе. Вопрос теперь только в автоматизации этого процесса, а именно в выгрузке в текстовый файлик информации вида "article", остаток и написании скрипта объединяющего файл выгрузки с этим файлом по полю article.
A каким образом вы выгружали остатки, каким скриптом?
10.03.2012 09:06
Dusha
 
Цитата:
Neutron A каким образом вы выгружали остатки, каким скриптом?
Да не скриптом... просто выгрузкой... А остатки отчетом. Потом сопоставление делала в экселе. Это ни куда не годится, но пока рабоает, потому как выгрузка на магазины крайне редка.
Андрей, у меня нет слов:Laie_60A:.. я в шоке... не могла Вас раньше поблагодарить, выпала из работы на некоторое время. Сейчас займусь реализацией.
15.03.2012 14:17
Aligator
 
Цитата:
Andrew_Konev ничего особо не проверялось, предварительно тщательно обнюхивать!!!
рассматривать скорее как отправную точку, а не как готовое решение.

скормить в sqlplus:
sqlplus supermag/qqq@db2000 @c:\sql\remains.sql

протокол обмена проще отстроить, если все выгрузки будут полные.
имена файлов-флагов сверяйте с настройками конвертера укм4 и проверяйте, что там на самом деле падает!!! пишу по памяти, могу чего-нить попутать.

1) проверить наличие cashXX.CNG (для полной выгрузки; XX - номер кассы) и отсутствие cash.NON в каталоге, куда пишет см+
2) выложить туда cashXX.LDD
3) прогнать скрипт
4) в каталоге, откуда будет забирать укм4, проверить отсутствие cashXX.LDD
5) положить в каталог укм4 cash.NON, остальное вычистить
6) скопировать все файлы *.dat , кроме plucash.dat
7) скопировать plucash2.dat переименовать в plucash.dat
8) скопировать cashXX.CNG
9) убрать cash.NON из каталога укм4
10) убрать cashXX.LDD из каталога см+
Добрый день!
Просьба пояснить мне, немного затупил..
Как я понимаю, по вашему примеру понятно что должны быть 2 папки:
1-я куда выгружает сам СМ+ (к примеру D:\Cash\33csv\load\)
2-я куда мы выкладываем свои в итоге файлы (к примеру D:\Cash\33csv_ukm\load\) -и, если я правильно понял, из неё нам и нужно потому грузить конвертером в УКМ4?
В скрипте я изменил только sm_sl NUMBER(5) := 2;

k_Dir VARCHAR2(20) := 'SM_DATA'; -- это директория куда мы будем выгружать все (в моем примере D:\Cash\33csv_ukm\load\)?
k_inN VARCHAR2(20) := 'PLUCASH.dat'; -- имя файла входных данных -сдесь мы ставим файл, генерированный из СМ+? (в моем примере D:\Cash\33csv\load\PLUCASH.dat) ?
k_outN VARCHAR2(20) := 'PLUCASH2.dat'; -- имя выходного файла - здесь наш итоговый файл (в моем примере D:\Cash\33csv_ukm\load\PLUCASH.dat) ?

Больше ничего не нужно изменять для работоспособности скрипта у меня?
Заранее благодарен за терпение и пояснение.
16.03.2012 17:04
akonev
 
1) использованный у меня UTL_FILE работает исключительно с локальными каталогами на сервере
2) если версия оракла на сервере 9.2 или больше - этот каталог надо прописать в базе
create or replace directory SM_DATA as D:\Cash\33csv\load';
3) на него надо дать права пользователю supermag
grant read on directory SM_DATA to SUPERMAG;
grant write on directory SM_DATA to SUPERMAG;
16.03.2012 17:34
akonev
 
едем дальше. имена файлов трогать не надо. пусть выгружается именно в плукэш2. потом переименуешь.
если хочется сразу писать именно в другой каталог - значит надо прописывать в базе еще одну directory, добавлять в скрипт еще одну переменную и править строку открывающую файл на запись.
16.03.2012 20:09
Aligator
 
Цитата:
Andrew_Konev 1) использованный у меня UTL_FILE работает исключительно с локальными каталогами на сервере
2) если версия оракла на сервере 9.2 или больше - этот каталог надо прописать в базе
create or replace directory SM_DATA as D:\Cash\33csv\load';
3) на него надо дать права пользователю supermag
grant read on directory SM_DATA to SUPERMAG;
grant write on directory SM_DATA to SUPERMAG;
Получилось, файл pluсash теперь как я понимаю с
остатками :

Код:
"000002","Козье","шт",1,,,,-7-7-7,,,"NOSIZE",2,1,1,0,0,22.15,0,0,,1,,,
"000012","Банан","кг",0.001,,,,108108108,,,"NOSIZE",1,1,0,0,0,18,0,0,,1,,,
"000011","Водка ""Хортиця"" ср_бна 0,5л","шт",1,,,-4-4-4,,,,"NOSIZE",2,12,3,1,0,37,0,0,,1,,,
"000010","Банан 1 кг","кг",0.001,,,,000,,,"NOSIZE",1,1,0,0,0,13.5,0,0,,1,,,
"000013","Торт Киевский","шт",1,,,,-4-4-4,,,"NOSIZE",2,5,0,0,0,56,0,0,,1,,,
"000001","Молоко 1","шт",1,,,,-183-183-183,,,"NOSIZE",2,1,1,1,0,10.03,0,0,,1,,,
"000003","Наше дело Бородинский С семечкаи Дрожжево 0,5 кг.","шт",1,,,-25-25-25,,,,"NOSIZE",1,2,1,1,0,3.2,0,0,,1,,,
"000005","Яблоки","кг",0.001,,,,303030,,,"NOSIZE",1,1,2,1,0,12,0,0,,1,,,
"000006","Груши","кг",0.001,,,,515151,,,"NOSIZE",1,1,2,1,0,9,0,0,,1,,,
"000007","Сок яблочный","кг",0.001,,,,-13.065-13.065-13.065,,,"NOSIZE",3,0,0,0,0,12,0,0,,1,,,



но как теперь увидеть из в УКМ4?
Ставлю в текстовом конвертере что "Брать остатки из свойства addnum1: "
В администрирование-учет остатков настроил: С резервированием в открытом чеке, учетом в течении смены и загрузкой извне
Разрешить продажи в режиме Off-Line
Уход остатков в минус - предупреждение.
Конвертер отрабатывает, но на вэбе в карточке на вкладке остатки не отображаются, пустые поля.
Может что-то я не учёл ?
17.03.2012 19:26
akonev
 
Цитата:
Aligator Получилось, файл pluсash теперь как я понимаю с остатками
"000002","Козье","шт",1,,,,-7-7-7,,,"NOSIZE",2,1,1,0,0,22.15,0,0,,1,,,
...
Получилось, но пока что фигня получилась.
Жирным выделено восьмое поле. Остаток в нем сидит три раза подряд во всех строках.

есть подозрение, что несколько раз скрип прогонял на одном и том же файле.
обрати внимание, у меня там ищется только седьмой разделитель и по нему строка рвется на две части без проверки, что между седьмым и восьмым ничего нет. сколько раз прогонишь - столько раз остатки пририсуются.
19.03.2012 12:00
Aligator
 
Цитата:
Andrew_Konev Получилось, но пока что фигня получилась.
Жирным выделено восьмое поле. Остаток в нем сидит три раза подряд во всех строках.
есть подозрение, что несколько раз скрип прогонял на одном и том же файле.
обрати внимание, у меня там ищется только седьмой разделитель и по нему строка рвется на две части без проверки, что между седьмым и восьмым ничего нет. сколько раз прогонишь - столько раз остатки пририсуются.
Сегодня попробовал еще пару раз..что-то я не доделал походу...выгрузка уже
нормальная :
Код:
"000002","Козье","шт",1,,,,-7,,,"NOSIZE",2,1,1,0,0,22.15,0,0,,1,,,
"000003","Наше дело Бородинский С семечкаи Дрожжево 0,5 кг.","шт",1,,,-25,,,,"NOSIZE",1,2,1,1,0,3.2,0,0,,1,,,
"000013","Торт Киевский","шт",1,,,,-4,,,"NOSIZE",2,5,0,0,0,56,0,0,,1,,,
"000012","Банан","кг",0.001,,,,108,,,"NOSIZE",1,1,0,0,0,18,0,0,,1,,,
"000010","Банан 1 кг","кг",0.001,,,,0,,,"NOSIZE",1,1,0,0,0,13.5,0,0,,1,,,
"000011","Водка ""Хортиця"" ср_бна 0,5л","шт",1,,,-4,,,,"NOSIZE",2,12,3,1,0,37,0,0,,1,,,
"000001","Молоко 1","шт",1,,,,-183,,,"NOSIZE",2,1,1,1,0,10.03,0,0,,1,,,
"000005","Яблоки","кг",0.001,,,,30,,,"NOSIZE",1,1,2,1,0,12,0,0,,1,,,
"000006","Груши","кг",0.001,,,,51,,,"NOSIZE",1,1,2,1,0,9,0,0,,1,,,
"000007","Сок яблочный","кг",0.001,,,,-13.065,,,"NOSIZE",3,0,0,0,0,12,0,0,,1,,,
, но на Web-e почему-то остатки у товаров так и не появились.
Явно что-то делаю не так, не может это быть дело в версиях? У меня УКМ4 49sp5.
Или есть какие-то особенности настройки конвертера?
Прошу прощения что так нагружаю вопросами, хочется всё-таки этот вопрос добить. Спасибо.
19.03.2012 14:16
akonev
 
Где-то на этом месте надо уже смотреть, нет ли чего в журнале сервера при приеме этих данных.
Пока только могу предположить, что возможно ему не нравятся входящие отрицательные остатки.
Попробуй скормить ему пару строк с ненулевыми остатками в режиме обновления.
23.05.2012 14:54
Aligator
 
В общем, попробовал я (спустя 2 месяца) снова вернуться к этому вопросу-ничего не получилось, из СМ+ выгружаются файлы, потом прогоняю скрипт, он создаёт в папке load файл PLUCASH2.dat , переименовываю его в PLUCASH.dat, забираю конвертером Супермаг 2000 CSV импорт (версия УКМ 49 sp 6) с включенной галкой Брать остатки из свойства addnum1 . В магазине УКМ настроил что ведется контроль остатков-но в рез-те в свойствах товаров пусто. Туплю где-то походу. Может есть тот, у кого это всё работает, кто бы меня просветил? Штука полезная, а вот что-то её настроить не могу :(
23.05.2012 15:12
akonev
 
Цитата:
Попробуй скормить ему пару строк с ненулевыми остатками в режиме обновления.
это делал? файл удалился? это косвенный признак приема без ошибок, только надо вроде бы галочку в конвертере про это поставить.
23.05.2012 15:40
Aligator
 
Цитата:
Andrew_Konev это делал? файл удалился? это косвенный признак приема без ошибок, только надо вроде бы галочку в конвертере про это поставить.
Файл УКМ съел без проблем, потом удалил файлы выгрузки, все красиво, в логах ошибок не
вижу:
Код:
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	monitoring
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Импортирование завершено
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_classif_disc_id is not defined. Import into trm_in_disc_std2classif will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_item_quantity_disc_id is not defined. Import into trm_in_disc_std2item_quantity will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_item_quantity_disc_id is not defined. Import into trm_in_disc_std2item_quantity will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	dclislst(0)
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_personal_disc_id is not defined. Import into trm_in_disc_std2perscard will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_personal_disc_id is not defined. Import into trm_in_disc_std2perscard will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	payments(1)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	stocks(3)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	users(4)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	var(23)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	item pricelimits(6)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	classif pricelimits(0)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	items(21)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	classif(708)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	sellers from Depart(0)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	property_values(27)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	properties(4)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Импортирование данных (полная выгрузка, \\172.16.50.89\33csv\load\cash33.cng) для магазина 90002
23.05.2012 13:17:21 	0x00001104 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Pending stand up request received
23.05.2012 13:16:12 	0x00001104 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Pending sleep request received

вот
конвертор::



Добавлено через 11 минут 4 секунды
Цитата:
Aligator Файл УКМ съел без проблем, потом удалил файлы выгрузки, все красиво, в логах ошибок не
вижу:
Код:
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	monitoring
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Импортирование завершено
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_classif_disc_id is not defined. Import into trm_in_disc_std2classif will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_item_quantity_disc_id is not defined. Import into trm_in_disc_std2item_quantity will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_item_quantity_disc_id is not defined. Import into trm_in_disc_std2item_quantity will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	dclislst(0)
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_personal_disc_id is not defined. Import into trm_in_disc_std2perscard will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	DEBUG 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	std2_personal_disc_id is not defined. Import into trm_in_disc_std2perscard will be skipped.
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	payments(1)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	stocks(3)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	users(4)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	var(23)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	item pricelimits(6)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	classif pricelimits(0)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	items(21)
23.05.2012 13:17:24 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	classif(708)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	sellers from Depart(0)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	property_values(27)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	properties(4)
23.05.2012 13:17:22 	0x00000ae4 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Импортирование данных (полная выгрузка, \\172.16.50.89\33csv\load\cash33.cng) для магазина 90002
23.05.2012 13:17:21 	0x00001104 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Pending stand up request received
23.05.2012 13:16:12 	0x00001104 	INFO 	converter#{66bc6f1d-1cc8-4233-83c7-17f5ff023bd0}#Супермаг 2000 CSV импорт##01039550 	Pending sleep request received

вот
конвертор::

вот файл
plucash::

Код:
"000002","Козье","шт",1,,,,492,,,"NOSIZE",2,1,1,0,0,27.69,0,0,,1,,,
"000003","Наше дело Бородинский С семечкаи Дрожжево 0,5 кг.","шт",1,,,690,,,,"2",1,2,1,1,0,3,0,0,,1,,,
"000004","Водка 5 л.","л",0.001,,,,567.611,,,"NOSIZE",2,12,0,0,0,60,0,0,,1,,,
"000013","Торт Киевский","шт",1,,,,599,,,"NOSIZE",2,5,0,0,0,70,0,0,,1,,,
"000012","Банан","кг",0.001,,,,1352,,,"NOSIZE",1,1,0,0,0,19.69,0,0,,1,,,
"000010","Банан 1 кг","кг",0.001,,,,0,,,"NOSIZE",1,1,0,0,0,19.69,0,0,,1,,,
"000011","Водка ""Хортиця"" ср_бна 0,5л","шт",1,,,600,,,,"NOSIZE",2,12,3,1,0,46.25,0,0,,1,,,
"000017","Продажа мимо кассы","шт",1,,,,-48,,,"NOSIZE",3,0,0,0,0,1,0,0,,1,,,
"000069","Производитель 1 иск.кожа белый 42","пара",1,,,,0,,,"NOSIZE",1001,7,1,0,0,500,0,0,,1,,,
"000070","Производитель 1 иск.кожа белый 43","пара",1,,,,0,,,"NOSIZE",1001,7,1,0,0,500,0,0,,1,,,
"000071","Производитель 1 иск.кожа белый 44","пара",1,,,,0,,,"NOSIZE",1001,7,1,0,0,500,0,0,,1,,,
"000072","Производитель 1 иск.кожа белый 45","пара",1,,,,0,,,"NOSIZE",1001,7,1,0,0,500,0,0,,1,,,
"000073","Производитель 1 иск.кожа белый 46","пара",1,,,,0,,,"NOSIZE",1001,7,1,0,0,500,0,0,,1,,,
"000015","Kartoshka","кг",0.001,,,,-143,,,"NOSIZE",1,0,0,0,0,4,0,0,,1,,,
"000023","Пирожок с тестом","шт",1,,,,0,,,"NOSIZE",1,3,0,0,0,3.5,0,0,,1,,,
"000001","Молоко 1","шт",1,,,,233,,,"NOSIZE",2,1,1,1,0,12.54,0,0,,1,,,
"000005","Яблоки","кг",0.001,,,,667,,,"NOSIZE",1,1,2,1,0,7.5,0,0,,1,,,
"000006","Груши","кг",0.001,,,,11,,,"NOSIZE",1,1,2,1,0,15,0,0,,1,,,
"000014","Блок сигарет","шт",1,,,,-55,,,"NOSIZE",2,0,0,0,0,21,0,0,,1,,,
"000007","Сок яблочный","кг",0.001,,,,490.457,,,"NOSIZE",3,0,0,0,0,12,0,0,,1,,,
"000026","Пирожок с тестом2","шт",1,,,,0,,,"NOSIZE",1,3,0,0,0,0,0,0,,1,,,
24.05.2012 15:02
akonev
 
1) обрати внимание на артикул 000003.
в наименовании товара есть запятая, она понимается скриптом как разделитель и количество ложится не в то поле
2) есть отрицательные остатки

третий и последний раз говорю: сделай руками файл на две строки и скорми его. вот если он нормально пройдет - тогда можно будет пытаться со скриптами разбираться.

заметь, выше рапортовали, что увидели остатки на кассе. никто не говорил, что видел на сервере. имеет смысл и на кассе тоже проверить. вдруг в веб-интерфейсе глюк какой.
24.05.2012 15:43
Aligator
 
Цитата:
Andrew_Konev 1) обрати внимание на артикул 000003.
в наименовании товара есть запятая, она понимается скриптом как разделитель и количество ложится не в то поле
Вот это были золотые слова, именно из-за запятой у меня не грузилось всё.


огромное спасибо за подсказку!!!
24.05.2012 16:53
akonev
 
если будешь скриптик править и доведешь до ума - не поленись рабочий вариант выложить для последователей.
24.05.2012 17:52
Aligator
 
Цитата:
Andrew_Konev если будешь скриптик править и доведешь до ума - не поленись рабочий вариант выложить для последователей.
Конечно!
Я вот руками сделал полуавтоматический сценарий, отрабатывает на ура! Доведу до ума и попробую склепать инструкцию ;)
25.05.2012 17:25
Aligator
 
Особо копаться в скриптах времени нет, довёл до ума все, изменил исполняемые файлы, руками при настроенной по моей инструкции выгрузки в результате ничего делать не нужно, всё работает автоматически по планировщику.
Пароль на архив export
Если будут какие-то комментарии, может кто-то вообще поймет идею и переделает всё, буду только рад, т.к. сам люблю всегда чтобы в программах было всё просто и доступно.
Вложения
Тип файла: rar выгрузка остатков из Супермаг в УКМ_pass_export.rar (2.82 Мб, 142 просмотров)
04.09.2012 20:25
Павел Сосновских
 
Цитата:
Aligator Особо копаться в скриптах времени нет, довёл до ума все, изменил исполняемые файлы, руками при настроенной по моей инструкции выгрузки в результате ничего делать не нужно, всё работает автоматически по планировщику.
Пароль на архив export
Если будут какие-то комментарии, может кто-то вообще поймет идею и переделает всё, буду только рад, т.к. сам люблю всегда чтобы в программах было всё просто и доступно.
Возникла такая же задача. Забрел сюда. Разобрался(вроде...по крайней мере работает), но все переделал у УКМного конвертера ведь есть возможность что-нибудь запустить перед тем как "съесть"
Заданий никаких не нужно. Код запускается по инициативе конвертера.
Внутри есть инструкция. Пароль на архив - тот же "export"
https://storage.olegon.ru/supermag/u..._в_УКМ.7z
23.10.2014 18:50
Sergio
 
Понимаю что поднимаю старую тему, но вот тоже столкнулись с необходимостью наличия остатков на кассе.
Чтобы скрипт работал и с наименованиями, содержащими "," нужно просто внести небольшое изменение в 41 строку:
вместо
"cac := instr(cn,tab,1,7); -- находим 7-й разделитель"
написать:
"cac := instr(cn,tab,-1,17); -- находим 17-й разделитель с конца"
12.03.2015 09:41
FILBOR
 
Цитата:
Павел Сосновских Заданий никаких не нужно. Код запускается по инициативе конвертера.
Внутри есть инструкция. Пароль на архив - тот же "export"
https://storage.olegon.ru/supermag/u..._в_УКМ.7z
Возникла необходимость в этой выгрузке с остатками для кассы, но чтобы выгрузка там и оставалась и никем (ничем) не забиралась, чтоб подтянуть их потом для своих целей. Попробовал все настроить. Создает plucash2.dat, потом plucash.dat2 исчезает и появляется plucash.dat, но остатков в нем нет.
В логе пишет следующее:

===== begin =======================
d:\Cash\remains-internal.cmd
11.03.2015 19:53:01,53
===================================
Parameters are following:
script started from: d:\Cash\
path to directory with data: D:\cash\33csv_sm\load\
DBNAME: DEMO
supermag user login: supermag
supermag user password: qqq
===================================

Backuping original plucash.dat
ЏҐаҐ¬ҐйҐ® д©«®ў: 1.

Starting sqlplus script to fill plucash.dat with
goods remains in addnum1 field

SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 11 19:53:01 2015

Copyright (c) 1982, 2010, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

DECLARE
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 9


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
===================================
SUCCESS
11.03.2015 19:53:04,18
===== end =========================


В чем проблема?
12.03.2015 10:03
OlegON
 
Целый ворох может быть.
Начиная с 11.2.0.1, продолжая возможными сбитыми региональными настройками и неактуальностью выгрузки для данной версии СМ.


Опции темы


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

 

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