+7 499 990-10-21

Попытка работать без файлов обмена

Re: Попытка работать без файлов обмена

Сообщение Alexander » 12 авг 2013, 15:45

kedr19 писал(а):объясните смысл полей n_doc integer и n_check integer

n_doc - номер документа
n_check - номер чека
Если используется ФР, то нумерация берется из него (причем в разных моделях ФР смысл n_doc может быть несколько разный, а n_check может либо обнуляться каждую смену, либо при переходе через 9999)

Если ФР не используется, то n_check обнуляется при переходе через 9999, а по n_doc, насколько я помню, ведется отдельная нумерация по каждому типу документа (продажа/возврат).

kedr19 писал(а):Вообщем что выяснил:
1. на Центральной БД находятся только товары и их остатки.
2. Все продажи, отложенные чеки и окно регистрации все находится на РМК.

Стандартного термина "Центральная БД" в ДЭНСИ: КАССе нет (любую из баз можно настроить через подключение по сети), поэтому могу объяснить в рамках LinCash и Transaction.
Текущий чек хранится в таблице current_check БД LinCash (в этой же БД хранятся все остатки, настройки ПО, скидки, пользователи и т.п.)

Все, что касается журнала продаж (в том числе отложенные чеки, восстановленные чеки, отмененные чеки, чеки возврата и т.п.), хранится в БД Transaction.

kedr19 писал(а): как влияют отложенные чеки и окно регистрации на остаток в центральной БД?

Никак.
Alexander
 
Постов: 4994
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 12 авг 2013, 17:42

Бродяга_Джон писал(а): по инвентаризации...

Я видимо не понял вопрос по инвентаризации)). я про инвентаризацию 1с и Дэнси думал :D . А с проверкой товара у нас 1 раз в год 8 дней идет 16 человек считают)))
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 12 авг 2013, 17:47

Alexander писал(а):по ответу...

Все понял. Завтра новую обработку от 8 августа к УТ 11 гляну, может чего себе в 10.3 перетяну ;)
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 14 авг 2013, 11:20

еще 2 вопроса.
1. dnc_eds - для чего?
2. по какому признаку определяете последние не выгруженные чеки?

P.S. Будет значительной помощью если получу тексты ваших запросов на обработку файл флагов.
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение Alexander » 14 авг 2013, 11:38

1. dnc_eds - база данных для сервера внешних систем лояльности dnc_edsd (external discount system daemon).
В своё время через него была реализована базовая интеграция с системой DiscountMobile.
В настоящее время ведутся работы по реализации поддержки полного функционала системы Dinect и СПАСИБО от Сбербанка.

2. По номеру последней выгруженной транзакции, хранящемуся в /etc/dancy/unload.conf (вторая строчка)

P.S. Там все вполне очевидно должно быть - SELECT ... FROM transaction WHERE tr_date_time >= ... AND tr_date_time <= ... ORDER BY n_transaction
или ... WHERE session >= ... AND session <= ...
По-умолчанию отбор идет по номеру РМК, указанному в настройках обмена.
Подробности доступны в исходниках daemon_unload.
Текстов запросов в виде списка у меня нет, к сожалению.
Alexander
 
Постов: 4994
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 14 авг 2013, 13:12

Да предположения были верны
Код: Выделить всё
const char* SQLTEXT  = "SELECT n_transaction, tr_type, tr_date_time, n_pc, n_kkm, seller, n_session, n_check, check_type, code, code_tax_group, code_tax_rate, payment_type, card_code, value_1, value_2, reduction_type, reduction_info, auto_scheme_id, gain, ROUND(value_1*value_2,2), barcode, n_doc, value_2 + round_sum, round_sum, manager FROM Transaction " ;

const char* COMMANDS_SQLTEXT[COMMAND_COUNT] = { "WHERE n_pc = ",
                                             "WHERE n_transaction BETWEEN /1                   AND /2                  AND n_pc = ",
                                             "WHERE n_check BETWEEN /1                   AND /2                  AND n_pc = ",
                                             "WHERE n_pc = ",
                                             "WHERE n_check BETWEEN /1                   AND /2                  AND n_pc = ",
                                             "WHERE n_session BETWEEN /1                   AND /2                  AND n_pc = ",
                                             "WHERE tr_date_time BETWEEN CAST('/1                   ' AS TIMESTAMP ) AND CAST('/2                   ' AS TIMESTAMP ) AND n_pc = ",
                                             "t, (SELECT MAX(n_transaction) as max FROM transaction WHERE tr_type = 62) s WHERE t.n_transaction >= s.max AND n_pc = ",
                                             ", ( SELECT MAX(n_transaction) as close_session FROM transaction WHERE tr_type = 61 ) s1, ( SELECT MAX(n_transaction) as open_session FROM transaction, (SELECT MAX(n_transaction) as x FROM transaction WHERE tr_type = 61) s  WHERE tr_type = 62 AND n_transaction < s.x  ) s2 WHERE n_transaction BETWEEN s2.open_session AND s1.close_session AND n_pc = "}; 

это текст запроса 1.2.6

С запросом загрузки еще разбираюсь, он не такой простой)
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 15 авг 2013, 11:55

Вопрос:

Бывают ли изменения имен колонок при обновлениях или это не бывает?
Добавление не в счет)
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение Alexander » 15 авг 2013, 11:59

kedr19 писал(а):Вопрос:

Бывают ли изменения имен колонок при обновлениях или это не бывает?
Добавление не в счет)

Не бывает. Когда-то давно один раз было изменение типа с boolean на int.
Alexander
 
Постов: 4994
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Попытка работать без файлов обмена

Сообщение kedr19 » 29 авг 2013, 08:02

Навоял обработку для просмотра и загрузки чеков запросами к базе.
Обработка на УФ. Для подключение берутся коды узлов, они у меня и есть IP.
Запросов 2 типа: 1 - текущие чеки в окне регистрации, просто ради любопытства написал. 2 - Все остальные записи из таблицы транзакции каждой кассы.
В окне на вкладке выбираем Тип транзакции: Транзакции, отложенные, восстановленные, отмененные и жмем Получить чеки. Запросом выбираются записи по типу в интервале указанном напротив узла. Это предварительный запрос в котором выводится сумма, дата чека и тут же в базе ищется был ли этот чек загружен или нет, 1 чек = 1 запись. При интерактивном выборе в правой части таблицы отражается само содержание чека через отдельный запрос с отбором по дате.
По кнопке "Загрузить чеки" загрузятся чеки с пометками.

Проблема сейчас стоит в том как выполнить данные операции на &НаСервере!!! при условии что сервер крутится на Linux. Там нельзя использовать COM, но можно использовать ODBC, но как это сделать еще не сообразил. На сервере, если решится проблема можно запустить регламентированное задание и оно будет сама загружать чеки.

Жду замечаний и предложений с идеями.
Вложения
ДЭНСИ_ПрямойДоступ.zip
(15 КБ) Скачиваний: 268
kedr19
 
Постов: 587
Зарегистрирован: 24 окт 2011, 15:49
Откуда: г. Новосибирск

Re: Попытка работать без файлов обмена

Сообщение Бродяга_Джон » 29 авг 2013, 10:04

Ну так &НаСервере это на сервере 1С самом, а не на линуксе под которым этот сервер стоит
то есть на серверной части ПО

а может
Код: Выделить всё
ware.quantity <= " + КоличествоОстатка + " ";

заменить на
Код: Выделить всё
ware.quantity <> 0 ;
?

и наверное там где фигурирует транзакция №55, наверное надо учесть как закрыт чек, налом или безналом
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Пред.След.

Вернуться в Техподдержка

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron

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

Сейчас посетителей на конференции: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (415) здесь было 07 окт 2025, 11:21

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1