К сожалению, проснулся клиент, по которому уже пару лет никто ничего не делал.
А те, кто делал, уже давно уволены/уволились.
А помочь клиенту надо.
Суть проблемы:
В свое время кто-то прикрутил экспорт в 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».
Текущее его содержание:
Результат выгрузки данных за день, который уже в свое время выгружали – «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 Настройка операций импорта и экспорта данных, реализуемых через обмен файлами».
На форуме подобной проблемы не нашел.