AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.05.2017, 13:02   #1  
PTG is offline
PTG
Участник
 
19 / 16 (1) ++
Регистрация: 05.08.2004
AX2012R3: задание P-0001: Проводки канала
Доброго времени суток!

Установлено:
HQ: AX2012R3, MSSQL2012
Store: POS 6.3.00, MSSQL2008

Обмены с магазинами в части проводок магазинов настроены 1 раз в час.
Далее в рамках этого часа создаются журналы операций и разносятся.

Периодически имеем следующую проблему: в таблице RetailTransactionTable приходит чек, но в связанной таблице оплат RetailTransactionPaymentTrans записей по этому чеку нет. Аналогично со связанной таблицей продаж товара RetailTransactionSalesTrans - чек приходит, а в таблице продаж товара записей к этому чеку нет.
Не пришедшие записи, приходят через 1 час, в соответ-ии с установленным интервалом обмена.
Но за этот час создаются журналы и разносятся и чек получает статус "Разнесено" и платежи и товар остаются не разнесенными.

Если кто-то сталкивался с подобным, прошу подсказать пути решения проблемы.

Спасибо!
Старый 03.05.2017, 14:39   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
какой интересный случай...
а приложение чистое или модифицированное.

понятно, что записи в RetailTransactionPaymentTrans создаются отдельной транзакцией.
причем процедура подготовки данных для p-джоба уже успела схватить RetailTransactionTable.
но в стандарте между этими проводками должен быть минимальный временной разрыв. и вроде в одной транзакции все RetailTransaction* создаются...

не помню уже для ax2012...

1. диагностика
в таблице RetailTransactionPaymentTrans
попробуйте посмотреть на поля TransDate+TransTime
и сравнить их с CREATEDDATETIME, MODIFIEDDATETIME

совпадают? отличаются по существу? отличаются на часовой пояс?

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

2. попытка решить проблему.
создавайте журнал не по "ближайшим" проводкам, а по проводкам, которые пришли больше часа назад. да, так снижается оперативность. альтернатива - повышать частоту обмена.
__________________
полезное на axForum, github, vk, coub.
Старый 03.05.2017, 20:12   #3  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Цитата:
Сообщение от mazzy Посмотреть сообщение

1. диагностика
в таблице RetailTransactionPaymentTrans
попробуйте посмотреть на поля TransDate+TransTime
и сравнить их с CREATEDDATETIME, MODIFIEDDATETIME

совпадают? отличаются по существу? отличаются на часовой пояс?
Так поля TransDate+TransTime показывают Дату\время продажи на POS(когда был напечатан чек), а CREATEDDATETIME это время создания записи в АХ. Они не должны совпадать.

Цитата:
Сообщение от mazzy Посмотреть сообщение
2. попытка решить проблему.
создавайте журнал не по "ближайшим" проводкам, а по проводкам, которые пришли больше часа назад. да, так снижается оперативность. альтернатива - повышать частоту обмена.
Сергей, не подскажешь где в периодической операции по Созданию строк журнала операций есть данная настройка(чтобы создавать строки по проводкам, которые пришли больше часа назад)?
Старый 03.05.2017, 20:17   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AvrDen Посмотреть сообщение
Так поля TransDate+TransTime показывают Дату\время продажи на POS(когда был напечатан чек), а CREATEDDATETIME это время создания записи в АХ. Они не должны совпадать.
да, верно. я не точно выразился. приношу свои извинения.

в базе данных магазина в таблице RetailTransactionPaymentTrans
попробуйте посмотреть на поля TransDate+TransTime
и сравнить их с CREATEDDATETIME, MODIFIEDDATETIME

хотя... может это я с акс7 путаю...

Цитата:
Сообщение от AvrDen Посмотреть сообщение
Сергей, не подскажешь где в периодической операции по Созданию строк журнала операций есть данная настройка(чтобы создавать строки по проводкам, которые пришли больше часа назад)?
И опять же, выражаться надо точнее. Опять приношу свои извинения.

создавайте запрограммируйте, чтобы код создавал журнал не по "ближайшим" проводкам, а по проводкам, которые пришли больше часа назад.

с отдельными полями дата-время подходящий фильтр настроить не получится.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: AvrDen (1), PTG (1).
Старый 03.05.2017, 20:30   #5  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
В БД магазина сравнивали TransDate+TransTime и они совпадают с CREATEDDATETIME. Но факт, остается фактом)) Например, если задание P-0001 выполняется в 12:00:00, а записи в RetailTransactionTable, RetailTransactionSalesTrans были созданы в 11:59:59, а RetailTransactionPaymentTrans в 12:00:01, то RetailTransactionTable, RetailTransactionSalesTrans придут с пакетом в 12:00, а RetailTransactionPaymentTrans в 13:00. Соответственно возникают ошибки при создании журнала.
Такое чувство, что при заборе данных из POS в пакете стоит фильтр, что забирать данные из таблиц, с датой создания меньше определенного времени.
Старый 03.05.2017, 21:31   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AvrDen Посмотреть сообщение
Такое чувство, что при заборе данных из POS в пакете стоит фильтр, что забирать данные из таблиц, с датой создания меньше определенного времени.
вряд ли по дате.
скорее забирает все закомиченное на момент начала забора данных.
__________________
полезное на axForum, github, vk, coub.
Старый 04.05.2017, 08:40   #7  
PTG is offline
PTG
Участник
 
19 / 16 (1) ++
Регистрация: 05.08.2004
Через профайлер видно, что забирает по счетчику из поля репликации, последнее забранное значение которого хранится в таблице логирования репликаций базы POS.

Через профайлер также увидели, что очередность выгрузки данных из таблиц определяется порядком следования подзаданий в задании P-0001 Проводки. И подзадание RetailTransactionTable выполнялось позже RetailTransactionPaymentTrans и RetailTransactionSalesTrans. Изменили название подзадания на 1RetailTransactionTable и оно теперь выполняется первым.
Надеемся на положительный результат.
За это сообщение автора поблагодарили: mazzy (5).
Старый 04.05.2017, 11:47   #8  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
KB 3164451Payment transaction not getting pulled with transaction

PROBLEM

When you run the P-Jobs, the data of payment transaction is not getting created in the same RPF file of sales transaction. Another RPF is generated for the payment transaction with the same transaction ID of sales.

DESCRIPTION OF CHANGE
The changes in the hotfix make sure the data of payment transaction will get created in the same RPF file of sales transaction when you run the P-Jobs.
Fix из CU12. Какой у вас CU установлен?
Кажется в CU10 был еще один фикс для SyncLibrary...давно было, могу врать.

P-0001 обычно выполняется очень шустро. Как вариант можно выполнять чаще (если все остальное не помогает).

Вопрос, а зачем каждый час разносить? Мы делаем раз в день.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: AvrDen (1).
Старый 06.05.2017, 20:53   #9  
AvrDen is offline
AvrDen
Участник
 
134 / 26 (1) +++
Регистрация: 04.08.2005
Адрес: Усть-Каменогорск
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Fix из CU12. Какой у вас CU установлен?
Кажется в CU10 был еще один фикс для SyncLibrary...давно было, могу врать.
Стоит CU10...

Цитата:
Сообщение от Alex_KD Посмотреть сообщение
P-0001 обычно выполняется очень шустро. Как вариант можно выполнять чаще (если все остальное не помогает).

Вопрос, а зачем каждый час разносить? Мы делаем раз в день.
Таковы потребности бизнеса - необходимо в течении дня иметь как можно более актуальные остатки в магазине. Когда списание происходило раз в день, такой проблемы конечно не было.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax2012R3 Retail: Что то странное происходит при развертывании базы канала. MikeR DAX: Функционал 6 24.04.2015 21:35
Проводки с типом SummedUp при закрытии склада в DAX 2009 ansoft DAX: Функционал 15 20.09.2010 08:28
Заказы на перемещения и проводки в ГК в DAX2009 Starling DAX: Функционал 16 10.06.2009 11:43
текст проводки по поставщикам IBuch DAX: Программирование 2 09.11.2006 02:01
Закрывающие/открывающие проводки KatyN DAX: Функционал 11 24.07.2006 16:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:03.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.