Последнее обновление: 23 мая 2015 в 14:58
Подпишись на RSS
rss Подпишитесь на RSS, чтобы всегда быть в курсе событий.

Около 15.30 прозвучал взрыв такой силы, что чуть не повылетали стекла. Как оказалось взорвался так называемый «арсенал 31» на Верхней Террассе. Я в начале подумал, что взрывы звучат с территории 131 бригады ВДВ, которая базируется неподалеку. Решили с другом съездить посмотреть в чем дело. На дорогах пробки. Отъехав от Нового Города стало ясно, что взрывы […]


12 февраля 2009 · Encounter

EnCounter — это своего рода соревнования по городскому ориентированию, проходят ночью с субботы на воскресенье. Замысел игры такой. Есть несколько команд. В каждом команде максимум 4 экипажа. У каждой команды есть штаб. Штаб нужен для получения заданий от организатора, решения, разгадывания штабных заданий, решение трудоемких задач, координация экипажей. Каждая команда получает задание в замысловатой, зашифрованной […]


Метки

Метки записей
Новая форма счет-Фактуры СМС Свертка базы 1С заблокирован антивирусы Делаем LiveCD вирус SMS День жестянщика СМС оплата Пошаговая свертка свертка торговли XPE восстановить нумерацию гаджеты сбились номера документов редактирование DBF Вирусы ZverCD пакетный запуск 1С Экстремальные игры Командная строка Взлом Файлы 1С Zver DVD office 2007 свертка в картинках Обзоры скачать конвертер office 2003-2007 Загрузка с компакт - диска расчет ПЗД Интересные места Программы печать от поставщика Отношения Структура 1С Oracle Сайты Asus Eee Видео Кино взломать пароль Drivers Оборудование вирус Спорт автоматизация Вся Скачать 1С Взлом 1С Экономика Интернет перенумарация Юмор сертфикаты Автомобили открыть xlsx docx HP Pavilion dv6000 удаление документов Работа Игры реестр Подключить 1С к MySQL Обработки Альпинизм Windows XP узнать пароль Печатные формы Программы для 1С Проблемы Отчет бесплатно Драйвера Свертка 1С Армия Спутниковое ТВ Удаление партий 1с и MySQL программы для слепых антивирус Ошибки 1С Документы на почту Финансы office 2003 Драйвер ODBC скачать сверка базы 1С Вопросы автозапуск портативный аккумулятор Фото Взлом 1 jaws код защита Оптимизация Интерент Отзывы Интренет 1с реестр новости Анализ ПДЗ уменьшить размер базы Методика свертки 1С контент-провайдер перенос документов удаляем пароли переустановка windows Установка Windows LiveCD Dr.Web сайт дравер MySQL скачать просроченная дебиторская задолженность партии Система homachi локальная сеть через интернет мошенничество Бухгалтерия Свертка по партиям связь Добавить новую метку вирус эмулирует нажатие Win Лирика Жизнь свертка Мужчина и женщина Деньги
28 апреля 2011

Сортировка по реквизиту справочника в 1С 7.7

Автор статьи: , 28 апреля 2011 в рубрике . Метки: , , . Просмотров: 5 125

Пишу клиенту конфигу с нуля, и так вышло, что элементы справочника необходимо сортировать по нескольким реквизитам в обоих направлениях (по возрастанию и убыванию), однако 1С не позволила сортировать по убыванию напрямую, а очень надо.

juornal Сортировка по реквизиту справочника в 1С 7.7

Сортируем по нескольким реквизитам в любом направлении

Проблему решил с помощью ИспользоватьСписокЭлементов

Авторские права на предоставленный материал принадлежат автору сайта http://extremallife.ru

ИспользоватьСписокЭлементов(<?>);
Синтаксис:
ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> — необязательный параметр. Значение типа — »СписокЗначений» — должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочнику.

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


СпрЗаказы = СоздатьОбъект("Справочник.Заказы");
СпрЗаказы.ВыбратьЭлементы();
//Здесь можно поставить условия для формирования списка,
//можно грузить не все элементы справочника,
//а лишь те которые соответствуют какому-либо отбору
Пока СпрЗаказы.ПолучитьЭлемент() = 1 Цикл
Т.НоваяСтрока();
Т.Заказ = СпрЗаказы.ТекущийЭлемент();
Т.Менеджер = СпрЗаказы.Менеджер;
Т.Поставщик = СпрЗаказы.Поставщик;
Т.Дата = СпрЗаказы.ДатаЗаказа;
КонецЦикла;

Далее все просто — сортируем полученную таблицу как нам угодно, например так (простой вариант)


Если фДА = 1 Тогда
Т.Сортировать("+Дата");
ИначеЕсли фДЯ = 1 Тогда
Т.Сортировать("-Дата");
КонецЕсли;

И создаем на основе полученной таблицы список


Сп = СоздатьОбъект("СписокЗначений");
Т.ВыбратьСтроки();
Пока Т.ПолучитьСтроку() = 1 Цикл
Сп.ДобавитьЗначение(Т.Заказ);
КонецЦикла;

Далее используем полученный список


ИспользоватьСписокЭлементов(Сп);

Для отмены всех сортировок и отборов применяем (например вешаем на кнопку)


Процедура СнятьВсеОтборы()
УстановитьОтбор("",0);
НачДата = ПолучитьПустоеЗначение("Дата");
КонДата = ПолучитьПустоеЗначение("Дата");
ВыбМенеджер = ПолучитьПустоеЗначение("Справочник.Менеджеры");
КонецПроцедуры

Вот так я решил проблему отбора и сортировки в форме списка справочника




К записи "Сортировка по реквизиту справочника в 1С 7.7" 3 комментария

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

Ответить

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

Ответить

Огромное спасибо за решение!Вот как его можно упростить, если нужно просто выводить элементы в обратном порядке: Зак.ОбратныйПорядок(1); Зак.ВыбратьЭлементы(); Пока Зак.ПолучитьЭлемент()=1 Цикл Сп.ДобавитьЗначение(Зак.ТекущийЭлемент()); КонецЦикла; ИспользоватьСписокЭлементов(Сп);

Ответить


Оставить комментарий

*

Блог программиста 1С. Программирование 1С
Если Вас что-то заинтересовало или возникли вопросы, пишите.
petr@evseev.ru
Skype - evseev_petr
ICQ - 262808698

Сохраните меня в социальных сервисах

Комментарии

Присоединяйтесь к обсуждению
  • Леха: Мало того, что это говно-антивирус требует .Net Framework не ниже 4.0, так он еще пожирает ресурсы компьютера,...
  • tommy: AVG равно еще хуже Касперского . Иди в жопу с ним
  • просто_чайник: Не люблю этот антивирус. Заметил такую особенность. Если обновить базы в начале работы, довольно часто...
  • Елена: Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только...
  • Виктор: Поставили мне на работе эту замечательную программку. Работать невозможно, ужасные тормоза. Стали...

Избранное видео

Ссылки