+7 499 990-10-21

Обмен по FTP

Обмен по FTP

Сообщение IlyaS » 18 янв 2018, 10:55

Доброе время суток. Столкнулись с проблемой обмена данными по ftp с ДЭНСИ:Кассой, при использовании скрипта dnc_ftp_exchange файл report.txt либо попадает в папку /tmp/temp_goods, либо при изменении скрипта на другую папку пропадает вовсе, то есть на ftp не попадает и на локальной машине нигде не появляется. При этом файл goods.txt отлично прогружается с ftp на дэнси. Используя ручной запуск скрипта в конце пишется curlftpfs: процесс не найден и происходит ребут скрипта, до отмены.
Формат обмена Штрих, скрипт без зипования, версия ДЭНСИ 2.0.3_546.
Точно такой же скрипт на другой точке отрабатывает нормально, копирование скрипта не помогло, так же переустановили ДЭНСИ, тоже не помогло. Скрипт приблизительно 2014 года. Что можно сделать?
IlyaS
 
Постов: 18
Зарегистрирован: 05 окт 2016, 16:41
Откуда: ООО "БизнесТорг"

Re: Обмен по FTP

Сообщение Alexander » 19 янв 2018, 15:03

Скиньте текущий используемый скрипт (параметры подключения к ftp можете удалить)
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Обмен по FTP

Сообщение IlyaS » 19 янв 2018, 15:48

Вот он.
Вложения
dnc_ftp_exchange.rar
(1.33 КБ) Скачиваний: 267
IlyaS
 
Постов: 18
Зарегистрирован: 05 окт 2016, 16:41
Откуда: ООО "БизнесТорг"

Re: Обмен по FTP

Сообщение Alexander » 22 янв 2018, 13:47

Каким образом производится снятие отчета - вручную через меню [Сервис] на кассе или запросом со стороны 1С ?
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Обмен по FTP

Сообщение IlyaS » 22 янв 2018, 15:26

Пробовали и вручную, и автоматически после закрытия смены (в любой из этих моментов отрабатывает скрипт, который "теряет" файл).
IlyaS
 
Постов: 18
Зарегистрирован: 05 окт 2016, 16:41
Откуда: ООО "БизнесТорг"

Re: Обмен по FTP

Сообщение Alexander » 23 янв 2018, 19:35

В этом варианте сейчас работает очень небольшой кусок скрипта.
Если отбросить лишнее, то смысл этого куска такой:
Код: Выделить всё
...
Local_path='/var/Exchange/'
FILE_UNLOAD='report.txt'
REPORT='report'
...
curlftpfs -v -o allow_other -o nonempty -o connect_timeout=30 $FTP /tmp/temp_goods/
...
if [ -f $Local_path$FILE_UNLOAD ]; then
   cp -f $Local_path$REPORT.txt /tmp/temp_goods
   rm -f $Local_path$REPORT.txt
   rm -f $Local_path$FILE_UNLOAD


Если при монтировании ftp-каталога ошибки нет, то каталог /tmp/temp_goods/ - это и есть каталог на ftp-сервере.

Если учесть, что скрипт редактировался для отключения zip-ования, то можно чуть его оптимизировать (с учетом того, что в этом случае $REPORT.txt на самом деле равно $FILE_UNLOAD, но смысла скрипта это не поменяет):

Код: Выделить всё
curlftpfs -v -o allow_other -o nonempty -o connect_timeout=30 $FTP /tmp/temp_goods/
...
if [ -f $Local_path$FILE_UNLOAD ]; then
   cp -f $Local_path$FILE_UNLOAD /tmp/temp_goods
   rm -f $Local_path$FILE_UNLOAD


Если скрипт не работает, то надо запускать скрипт вручную в терминале и смотреть в первую очередь на ошибки при подключении к ftp командой curlftpfs
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ


Вернуться в Кассовая программа ДЭНСИ:КАССА

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1



Кто сейчас на конференции

Сейчас посетителей на конференции: 2, из них зарегистрированных: 1, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (170) здесь было 16 май 2020, 01:50

Сейчас этот форум просматривают: Bing [Bot] и гости: 1