Найти тему
1с разное

Сортировка товаров по возрастанию цены в динамическом списке

Всем привет!

Речь пойдет о динамических списках конфигураций "на обычных формах". То есть, речь даже не о платформе - вы можете использовать последнюю версию платформы 8.3, но работать в конфигурациях на обычных формах. Например, это ряд отраслевых конфигураций, типовые 1С-овские конфигурации УТ 10.3, УПП 1.1.

Динамический список в конфигурациях "на обычных формах" имеет ряд своих ограничений по сравнению с динам. списками "управляемых форм". Долгое время задача отсортировать список номенклатуры по цене или по остаткам для меня была нерешаемой - я просто отказывался это реализовывать. Утверждал, что это невозможно, или что придется переписывать полностью форму списка номенклатуры - а это дорого и нецелесообразно...

На днях реализовал простой способ сортировать по цене номенклатуру определенной категории (группы товаров). Посмотрите рисунок ниже.

Для демонстрации технологии используется конфигурация "Управление торговлей", редакция 10.3 (10.3.82.1), на платформе 1С:Предприятие 8.3 (8.3.22.1923).

Суть механизма - при выборе группы номенклатуры в дереве списка "слева" - справа формируется отсортированный список цен номенклатуры (в таблице значений). При выделении строки номенклатуры с ценой в таблице значений (нужно дважды щелкнуть на строке *см. примечания) - основной динамический список в центре формы позиционируется на выделенной номенклатуре.

*Примечание:

  1. Для формы выбора лучше использовать процедуру Выбор() - иначе происходит зацикливание при открытии формы выбора - вместо начального значения выбора (параметр НачальноеЗначениеВыбора) активизируется первая строка из таблицы цен.
  2. Для формы списка более удобным является использование процедуры ПриАктивизацииСтроки().

На этом все. Всем добра!

С пользой для клиентов, Рустем