![]() |
#12 |
Administrator
|
Цитата:
Цитата:
Сообщение от mazzy
![]() Оп! Категорически не согласен!
вопрос опять о "произвольных запросах" и о сферических конях в вакууме типа "выбрать из таблицы". (из одной, карл!) для Аксапты, для прикладной программы уровня предприятия "произвольные запросы" - предельно редкое явление. встречающееся на уровне программирования ядра и функционала администрирования. для Аксапты характерно очень прикладное программирование. для прикладного программирования "работать напрямую с таблицей" - антипаттерн. в прикладной программе типа аксапты обычно работают с набором взаимосвязанных таблиц!!!! работать с набором взаимосвязанных таблиц напрямую? нонсенс! Цитата:
Сообщение от mazzy
![]() особенно, если в наборе есть таблицы, для которых включен Valid Time State
https://msdn.microsoft.com/en-us/library/gg861781.aspx Итак, задача 1 Из этой задачи следует, что нужно выбрать из одной (да-да, из одной!) таблицы. В этом случае класс RecordReferenceList_RU очень хорошо помогает. Про прикладное программирование - хорошее замечание. Но... вопрос не ставился как "работать ли напрямую с таблицей или использовать промежуточный класс?". Автор как раз хотел использовать класс, а я ему советовал так не делать. Тут я был неправ, но хочу сказать, что без модификаций класса RecordReferenceList_RU его использовать будет не очень удобно - тогда действительно придется связываться с номерными сериями. Резюме: класс нужен, но не совсем такой, какой есть в штатной поставке. По поводу набора таблиц. Начиная с АХ 2012 и выше - надо будет помнить, что "простейший" справочник типа клиентов / номенклатуры и т.д. состоит не из одной таблицы, а из набора таблиц, связанных друг с другом и в данном случае ссылкой на одну запись в одной таблице можно не обойтись. Однако, автор указывает, что версия как раз АХ 2009, в которой еще многие справочники состоят из одной таблицы и поэтому решение предлагается именно для этой версии. Для версии АХ 2012 оно (решение) было бы другим. Соответственно таблиц, для которых включен Valid Time State в АХ 2009 нет и об этом в АХ 2009 не надо заморачиваться. Теперь задача 2 Цитата:
Т.о. если Вам надо: - выбрать произвольным образом записи из ОДНОЙ таблицы для ИСКЛЮЧИТЕЛЬНО целей дальнейшей фильтрации и / или отображения по ним - то можно использовать RecordReferenceList_RU - выбрать произвольным образом записи из одной или нескольких таблиц и в последующем их как-то обрабатывать "всевозможными преобразованиями", то нужно писать find-ы и делать логику в семействе классов (т.е. создавать ряд классов, занимающихся обработкой и поиском; выносить общий код в классы-родители и т.д.)
__________________
Возможно сделать все. Вопрос времени |
|
Теги |
distinct, recordrefrencelist_ru, recordsortedlist, view |
|
|