16.10.2011 14:35
Добрый день!

К сожалению, проснулся клиент, по которому уже пару лет никто ничего не делал.
А те, кто делал, уже давно уволены/уволились.
А помочь клиенту надо.

Суть проблемы:

В свое время кто-то прикрутил экспорт в 1С. Все шло хорошо, пока не накрылась 1С.
БД 1С восстановить не смогли и решили начать жизнь заново.
В итоге все дни, что выгружали после восстановления БД 1С, срабатывают без проблем.
Однако при попытке выгрузить, ранее отработанные дни, возникает проблема.

Берем, к примеру, прошлый год, точнее 03.11.2010.
За этот день можно просмотреть отчет OperRepGoodsCashWithoutPrice.
Причем таблица OperRepGoodsCashWithoutPrice – обычно пустая, т.е. временная??



Далее бухгалтер, дабы повторить экспорт делает ОТКАТ за этот день.
Далее ЗАКРЫВАЕТ этот день и ОТПРАВЛЯЕТ.



То же самое можно сделать и ручками в БД Сет.
Достаточно в БД SES в таблице OperDay по заданному дню изменить столбцы:
УТВЕРДИТЬ – StatusConfirm, 0 или 1
ОТЧЕТЫ – StatusReport, 0 или 1
ЗАКРЫТЬ – StatusClose, 0 или 1
ОТПРАВИТЬ –StatusReady, 0 или 1
После повторной отправки данных по «старым» дням, мы НЕ получаем нормально заполненный файл DBF.
Если же пройти все стадии, начиная, с подтверждения отчетов,
то мы вообще теряем данные в формируемом отчете OperRepGoodsCashWithoutPrice номер 21.


Итак, имеем.
SET: RETAIL. Версия системы: 05.01.11
Есть файл настроек импорта/экспорта, лежит он тут «C:\SET\COM\ImpExpDBF.ini».
Текущее его содержание:

[spoil=ImpExpDBF.ini][GENERAL]
UDL=C:\SET\UDL\SES_EXCHANGE.udl
[IMPORT]
CFGPATH=C:\SET\IMPEXP\IMPORT\Import.cfg
LOGFILE=1
LOGPATH=C:\SET\IMPEXP\IMPORT\Import.log
LOGWIN=0
DebugLevel = 0
[EXPORT]
CFGPATH=C:\SET\IMPEXP\Export\Export.cfg
LOGFILE=1
LOGPATH=C:\SET\IMPEXP\Export\Export.log
LOGWIN=0
DebugLevel = 0[/spoil]

Содержание файла «C:\SET\ImpExp\Export\export.cfg»:

[spoil=export.cfg][GENERAL]
INNEREXPORTPATH=C:\SET\ImpExp\Export\Data
VERIFYSTATE=0
EXPORTTYPE=DBF
VALIDMASK = dDmMyY
ENCODING=DOS

[PATH]

[SEPARATEPATH]

[REPORTS]
RepChequePos=BARCODE;1;0;DDMMYYBR

[BARCODE]
_CLEARONEXPORT=1
_SEPARATE=0
SHOPINDEX=INDEX;N;3;0
Ck_Number=CK;N;5;0
Ch_Pos=POS;N;3;0
CODE=CODT;C;90;0
Price=PRICE;N;12;2
NspPrice=NSPPRICE;N;12;2
BARCODE=BAR;C;20;0
SUMMA=SUMMAP;N;8;2
QUANT=QUANT;N;12;3
Disc_Summ=SUMMAS;N;8;2
DiscPercent=DISCP;N;3;2
GoodsName=GNAME;C;40;0[/spoil]

Результат выгрузки данных за день, который уже в свое время выгружали – «C:\SET\ImpExp\Export\Export.log»:

[spoil=Export.log]15.10.11 19:36:29 info: Файл настроек C:\SET\IMPEXP\Export\Export.cfg
15.10.11 19:36:29 info: Функция OnReady, перед вызовом экспорта отчетов по дню03.11.2010
15.10.11 19:36:29 info: Cписок отчетов для выгрузки получен: 1 отчетов
15.10.11 19:36:34 info: Получен интерфейс IRepList
15.10.11 19:36:34 info: Считывается секция BARCODE файла настроек
15.10.11 19:36:34 info: формат выходного файла для экспорта DBF
15.10.11 19:36:34 info: Cоздание объекта, отвечающего за выгрузку данных в файл
15.10.11 19:36:34 info: Cоздан объект TDBFParserдля выгрузки в файл
15.10.11 19:36:34 info: Выгрузка без разделения по каталогам; имя файла для выгрузки данных - C:\SET\IMPEXP\EXPORT\DATA\031110BR.DBF
15.10.11 19:36:34 info: Экспорт без разделения по каталогам - выходной файл C:\SET\IMPEXP\EXPORT\DATA\031110BR.DBF создан.
15.10.11 19:36:34 info: Получен интерфейс IGetData
15.10.11 19:36:34 info: Экспорт - получен интерфейс IOperDay
15.10.11 19:36:35 info: Экспорт - получен интерфейс IReport
15.10.11 19:36:35 info: Экспорт - установлен флаг успешной выгрузки отчета
15.10.11 19:36:35 info: Экспорт - освобождены интерфейсы IReport, IOperDay, IGetData
15.10.11 19:36:35 info: Экспорт - процедура выгрузки отчета REPCHEQUEPOS завершила работу[/spoil]

Собственно в итоге мы получаем файл 031110BR.DBF в папке "C:\SET\ImpExp\Export\Data" только с шапкой внутри. Размер файл 1КБ.

Что мы упускаем и как сформировать правильно этот экспорт за любой нужный день?

P.S.
Инструкцию «Установка и настройка комплекса SET Retail. Обмен данными. Руководство системного администратора» читал.
В том числе раздел «3.2.2 Настройка операций импорта и экспорта данных, реализуемых через обмен файлами».
На форуме подобной проблемы не нашел.
Часовой пояс GMT +3, время: 09:27.

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