![]() |
#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). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|