15.10.2014, 18:05 | #1 |
----------------
|
POS поиск запасов
вдруг кому пригодится
AX2012R3 обычный POS не выводит существующие запасы, если для магазина не задан адрес, так как занимается поиском ближайшего по гео координатам. |
|
|
За это сообщение автора поблагодарили: gl00mie (3). |
16.10.2014, 08:54 | #2 |
MCT
|
Ты, случаем, не про адресные книги сейчас? (У магазина, у сотрудника которые.)
__________________
Axapta book for developer |
|
16.10.2014, 10:09 | #3 |
Участник
|
А разве это управляется не через "Группы указателей магазинов" (store locator groups)??
__________________
Ivanhoe as is.. |
|
16.10.2014, 11:22 | #4 |
----------------
|
В БД канала хранимая функция [crt].[GETNEARBYSTORESFUNCTION]
"Группы указателей магазинов" (store locator groups) используется, чтобы определить список "претендентов". Информация о координатах берется из вьюхи STOREVIEW и по ним считается расстояние, а если адрес не задан, то координаты NULL и соответственно ничего не выводится. Вот кусок из вьюхи, который получает координаты X++: SELECT ... lpa.LATITUDE, lpa.LOCATION, lpa.LONGITUDE, ... geography::STGeomFromText('POINT(' + CONVERT(VARCHAR(100), lpa.LONGITUDE) + ' ' + CONVERT(VARCHAR(100), lpa.LATITUDE) + ')', 4326) AS 'GEOLOCATION', ... FROM [ax].RETAILCHANNELTABLE rct INNER JOIN [ax].RETAILSTORETABLE rst ON rct.RECID = rst.RECID ... LEFT OUTER JOIN [ax].DIRPARTYTABLE dp ON dp.RECID = rct.OMOPERATINGUNITID ... LEFT OUTER JOIN [ax].DIRPARTYLOCATION AS dpl ON dpl.PARTY = dp.RECID AND dpl.ISPRIMARY = 1 ... LEFT OUTER JOIN [ax].LOGISTICSPOSTALADDRESS AS lpa ON lpa.LOCATION = dpl.LOCATION AND lpa.ISPRIVATE = 0 AND GETUTCDATE() BETWEEN VALIDFROM AND VALIDTO |
|
|
За это сообщение автора поблагодарили: Ivanhoe (3). |
|
|