[ОТВЕТИТЬ]
25.05.2016 15:00
konst
 
ExporterAlco - программа для выгрузки из СМ в кассы данных ЕГАИС.

Данная программа предназачена тем, кто не обновляет СуперМаг до последних версий и собирается работать с альтернативными РМК (например WinUKM).
принцип работы: программа запускается по расписанию и формирует и копирует в каталоги обмена с кассами файлы, содержащие необходимые для егаис данные. А именно:
артикул, код алкогольной продукции, литраж, %спирта, наименование (XML).
работает с двумя форматами CSV и XML

код алкогольной продукции и % спирта - должны быть добавлены в СуперМаг в доп. характеристики товаров
литраж - в альтернативные единицы измерения

при первом запуске фрограмма формирует пустой INI-файл, который необходимо настроить:
Код:
[SETTING]
DBName=DATABASE  - имя базы данных магазина
LogLevel=1 - 0 - лог отключен, 1 - в файл "LogFile" - пишется время запуска
LogFile=c:\admin\server.log  - лог файл
FileName=EGAIS  - имя файла экспорта без расширения, расширение добавляется автоматом.
FormatWinUKM=1 - в этом случае 3 последних значения сохраняются без кавычек (как числа) (действует только в формате CSV)
AlcoCod=alcokod1 - наименование доп характеристики содержащее алкокод
UseSpiritcode=0|1 - если =1 АлкоКод берется из справочника СуперМага, а не из доп. характеристики..
Spirt=EGAIS_SPIRT - наименование доп характеристики содержащее % спирта
NotDraft=0|1 - не выгружать "разливные" артикулы
OnlyFull=0|1 - если =1, то выгружаются только те строки у которых все поля заполнены.
NotBeer= 0|1 - если = 1 - то в файл не выгружается пиво (12 форма)
[ALCO]
Alco1=1.1.   - группа классификатора с алкоголем
alco2=
alco3=
alco4=
alco5=
[PIVO]
pivo1=1.2.   - группа классификатора с пивом
pivo2=
pivo3=
pivo4=
pivo5=
Пример CSV (параметр FormatWinUKM=0)
Код:
"0000113","200","0.5","40"
"0000266","421","0.7","13"
"0000272","403","0.75","11"
"0000273","403","0.75","11"
Пример CSV (параметр FormatWinUKM=1)
Код:
1,"0000113","200",0.5,40
1,"0000266","421",0.7,13
1,"0000272","403",0.75,11
1,"0000273","403",0.75,11
Пример XML
Код:
- <item>
  <article>0001649</article> 
  <NOPDF><nopdf article="0001649", code="500", bname="Пиво Арсенальное 2,37л традиционное 4,7%", alc="4.7", volume="2.37" /></NOPDF> 
  </item>
- <item>
  <article>0000372</article> 
  <NOPDF><nopdf article="0000372", code="500", bname="Пиво Балтика №9 0,5л крепкое 8% ж/б", alc="8", volume="0.5" /></NOPDF> 
  </item>
запуск программы:
ExporterAlco.exe csv - для формирования файла в формате CSV
ExporterAlco.exe xml - для формирования файла в формате XML

выложена демонстрационная версия, работающая до 27 июля.
стоимость программы 800 руб на 1 базу данных.
Вложения
Тип файла: 7z ExporterAlco-1.16.7.7.7z (304.6 Кб, 19 просмотров)
26.05.2016 09:14
Stels
 
Цитата:
konst код алкогольной продукции и % спирта - должны быть добавлены в СуперМаг в доп. характеристики товаров
А зачем код АП добавлять/дублировать в доп характеристики?
двойная работа же

Может предоставите выбор, откуда брать код АП?
Тогда и признак пиво/алко можно содрать с кода АП из классификатора
(ну это ,как я понял, для версий СМ новых)

И ещё: цена разовая? или абонентка на месяц/год/...
26.05.2016 10:01
konst
 
у меня нет в классификаторе кода АП - поэтому он добавлен в доп характеристики
да - можно будет доработать программу и вынести этот параметр в настройки
оплата разовая - лицензия бессрочная.
p.s. формат XML делался в соответствии с ранее выложенным на форуме примером... похоже что в нем ошибка... исправлю когда будет известен правильный формат.
26.05.2016 10:33
Stels
 
Доработай, пожалуйста. (как раз для WinУКМ) интересует cvs-формат
Мы бы тогда подумали над покупкой..
(самому явно больше времени понадобиться для написания скрипта)
26.05.2016 10:40
konst
 
нужна информация - откуда и какие данные брать
26.05.2016 10:50
Stels
 
вер 1.033
Скрина достаточно?
Миниатюры
Нажмите на изображение для увеличения
Название: АлкКод01.jpg
Просмотров: 80
Размер:	119.2 Кб
ID:	7438  
26.05.2016 11:14
bob
 
Цитата:
Stels вер 1.033
Скрина достаточно?
Ему таблица с конкретным полем нужна. и как установить связь с артикулом.
26.05.2016 11:18
student
 
Цитата:
konst Пример CSV
Код:
"0000113","200","0,5","40","1"
"0000266","421","0,7","13","1"
"0000272","403","0,75","11","1"
"0000273","403","0,75","11","1"
Цитата:
Stels (как раз для WinУКМ) интересует cvs-формат
а можно для csv немного поменять по типу
Код:
"0000113","200",0.5,40,1
"0000266","421",0.7,13,1
"0000272","403",0.75,11,1
"0000273","403",0.75,11,1
просто в твоем случае при импорте все значения - текст, а в моем часть-текст, а часть-число - для больших файлов импорт быстрее - не надо будет преобразование делать ...
да и при формировании такого файлика вручную не надо будет кавычки расставлять :)
я бы еще "код АП" сделал числом, не уверен вот только что там не будет буковок :(
правда если сложно - сделаем сами ...
26.05.2016 12:20
konst
 
Обновил программу
добавил возможность брать алкокод из СуперМаговской таблицы saspiritcode
для этого надо в INI добавить (или изменить) параметр UseSpiritcode=1
просьба протестировать.
26.05.2016 12:57
Stels
 
Цитата:
konst Обновил программу
добавил возможность брать алкокод из СуперМаговской таблицы saspiritcode
для этого надо в INI добавить (или изменить) параметр UseSpiritcode=1
(alcocod=alcokod1 - здесь пока должно быть какое-нибудь значение - исправлю позже)
просьба протестировать.
а признак пиво/алко тоже выкрутили?
26.05.2016 13:13
konst
 
Нет. Я беру его на основании групп указанных в файле настроек.
26.05.2016 13:32
Stels
 
Цитата:
konst Нет. Я беру его на основании групп указанных в файле настроек.
а планируется?
26.05.2016 13:40
konst
 
Цитата:
Stels а планируется?
не понимаю зачем?
26.05.2016 14:07
konst
 
Добавил параметр
FormatWinUKM=1 - в этом случае 3 последних значения сохраняются без кавычек (как числа) (действует только в формате CSV)

Цитата:
student а можно для csv немного поменять по типу
Код:
"0000113","200",0.5,40,1
"0000266","421",0.7,13,1
"0000272","403",0.75,11,1
"0000273","403",0.75,11,1
26.05.2016 16:38
Stels
 
Цитата:
konst не понимаю зачем?
у нас в одной группе есть и такой и такой товары.
"начальникА" не хочет делить

26.05.2016 16:54
Stels
 
попробовал
выходит ошибка (во вложении)
файлик нигде не появился
запускал из командной строки ExporterAlco.exe csv
Код:
[SETTING]
DBName=имя базы
LogLevel=1
LogFile=C:\SM2000\ExporterAlco\server.log
FileName=EGAIS
UseSpiritcode=1
alcocod=
FormatWinUKM=1
spirt=Sys.Alcohol
alco1=1.1.
alco2=1.2.
alco3=1.3.
alco4=1.4.
alco5=
pivo1=
pivo2=
pivo3=
pivo4=
pivo5=
И лучше бы сделать выгрузку только тех артикулов,
у которых заполнены Все нужные параметры.
А то у меня куча ещё не занесённых частично карточек есть
Миниатюры
Нажмите на изображение для увеличения
Название: err01.jpg
Просмотров: 50
Размер:	22.3 Кб
ID:	7442  
26.05.2016 17:05
student
 
Цитата:
Stels попробовал
выходит ошибка (во вложении)
по скрину - не может создать каталог - прав не хватает либо путь не так задан...
26.05.2016 17:12
konst
 
Цитата:
Stels попробовал
выходит ошибка (во вложении)
файлик нигде не появился
запускал из командной строки ExporterAlco.exe csv
настройки каталогов обмена в СМ можно увидеть?
26.05.2016 17:16
Stels
 
вот...
мы на кассу напрямую грузим
Миниатюры
Нажмите на изображение для увеличения
Название: kas01.jpg
Просмотров: 55
Размер:	22.1 Кб
ID:	7443  
26.05.2016 17:20
konst
 
Завтра посмотрю что с этим можно будет сделать...
у меня все каталоги лежат на самом сервере.
27.05.2016 11:04
student
 
утм 1.13
для пива добавился параметр

<xs:simpleType name="ALCCODE">
<xs:restriction base="xs:string">
<xs:maxLength value="64"/>
<xs:pattern value="\S+(.*\S+)*"/>
</xs:restriction>
</xs:simpleType>

<!--Пивной раздел-->
<xs:element name="nopdf">
<xs:complexType>
<xs:attribute name="code" type="CODE" use="required"/>
<xs:attribute name="price" type="PRICE" use="required"/>
<xs:attribute name="bname" type="NAME" use="required" />
<xs:attribute name="alc" type="VOLUME" use="required" />
<xs:attribute name="volume" type="VOLUME" use="required" />
<xs:attribute name="ean" type="EAN" use="required" />
<xs:attribute name="count" type="COUNT" use="required" />
<xs:attribute name="alccode" type="ALCCODE" />
</xs:complexType>
</xs:element>

м.б. стоит пока широкого распространения не получило поменять формат egais.dat по типу

"1 ---------, 2 --------, 3 --------------, 4 --------, 5-------"
"акциз:тип, артикул, код АП, объем, % спирта, алккод"

т.е. тип алкоголь\пиво перенести в начало строки, а все последующие "нововведения" от рара просто тупо добавлять в конец

причем что самое интересное - если ALCCODE не указывать в запросе к утм, то все проходит, если указать и не заполнить (пустая строка) то идет ошибка :( хотя сам элемент не объявлен обязательным, но если указать любой набор символов даже меньше заявленного размера то все проходит - т.е. реального контроля пока нет, но к сожалению это не означает что его не будет :(
27.05.2016 11:41
konst
 
Обновил версию
надо протестировать копирование файлов в сетевые каталоги.

по поводу нововведений - да давайте утвердим формат для WinUKM.
27.05.2016 11:48
student
 
Цитата:
konst да давайте утвердим формат для WinUKM.
это будет не только для укмвин :)

надо просто договорится о принципах формирования, чтобы каждый раз при изменении раром не устраивать обсуждения и каждый мог независимо от другого разработчика сразу изменять свои модули

я у себя буду перестраивать по описанному принципу
Цитата:
student формат egais.dat по типу

"1 ---------, 2 -------, 3 ------, 4 -----, 5---------, 6 ------"
"акциз:тип, артикул, код АП, объем, % спирта, алккод"

т.е. тип алкоголь\пиво перенести в начало строки, а все последующие "нововведения" от рара просто тупо добавлять в конец
так проще будет в дальнейшем и мне и тем кто файлик вручную формирует - проще добавить в конец строки, чем вставлять что то в середину :)
27.05.2016 12:03
Stels
 
Цитата:
konst Обновил версию
надо протестировать копирование файлов в сетевые каталоги.

по поводу нововведений - да давайте утвердим формат для WinUKM.
проверил, ошибка та же ..

Надо учесть, что не все сетевые каталоги могут быть доступны
(у меня пара касс выключены, а в настройках кассового модуля они активны)
27.05.2016 13:01
konst
 
Поставь в настройках loglevel =5
И посмотри чтоон в лог запишет
27.05.2016 13:07
Stels
 
Цитата:
konst Поставь в настройках loglevel =5
И посмотри чтоон в лог запишет
ничего ... только старт
Код:
2016.05.27 - 13:05:43,975 - ExporterAlco - Save_to_CSV - START
2016.05.27 - 13:06:27,131 - ExporterAlco - Save_to_CSV - START
27.05.2016 16:40
konst
 
выложил новый релиз - необходимо тестирование копирования файлов в сетевые каталоги.
27.05.2016 17:05
Stels
 
Цитата:
konst выложил новый релиз - необходимо тестирование копирования файлов в сетевые каталоги.
По загрузке сейчас вроде всё ок
файлик появился


Код:
2016.05.27 - 16:58:55,819 - ExporterAlco - Save_to_CSV - START
2016.05.27 - 16:58:56,866 - ExporterAlco - Save File to D:\kassa\pricechek - OK
2016.05.27 - 16:58:56,897 - ExporterAlco - Save File to \\192.168.4.12\kassa\load - OK
2016.05.27 - 16:58:56,913 - ExporterAlco - Save File to \\192.168.4.13\kassa\load - OK
2016.05.27 - 16:58:56,928 - ExporterAlco - Save File to \\192.168.4.14\kassa\load - OK
2016.05.27 - 16:58:56,944 - ExporterAlco - Save File to \\192.168.4.15\kassa\load - OK
2016.05.27 - 16:58:56,960 - ExporterAlco - Save File to \\192.168.4.18\kassa\load - OK
2016.05.27 - 16:58:56,960 - ExporterAlco - Save_to_CSV - END
Осталось доделать, чтобы данные выгружались только по артикулам , где полностью заполнены все реквизиты:

а то у меня сейчас так: Группа АП не указана, а строка выгрузилась

Код:
"10809","",0.5,0,1
"10811","",0.5,0,1
"11180","",0.7,0,1
"10812","",0.5,0,1
"10863","",1,0,1
"10864","",1,0,1
"11132","",0.7,0,1
"11133","",0.7,0,1
"11140","",1,0,1
"11540","",0.5,0,1
"13262","",0.5,0,1
"10843","",0.7,0,1
27.05.2016 17:25
Stels
 
всё таки нужно (во всяком случае нам)
признак пиво/алко брать из Алко классификатора ..

там же ж ничего сложного
Код:
...(SELECT alcklas.ISBEER FROM supermag.SASpiritCode alcklas WHERE  alcklas.id = tovar.IDSPIRITCODE) ...
как-то так
27.05.2016 17:56
konst
 
Цитата:
Stels всё таки нужно (во всяком случае нам)
признак пиво/алко брать из Алко классификатора ..
я не против - но у меня нет такой таблицы
что этот запрос возвращает для пива и что для алкоголя?

и в понедельник доработаю формат в соответствии с выше предложенным
а также добавлю параметр, при включении которого строки с недостающими данными не будут выгружаться


Опции темы


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

 

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