Добрый день.
Подскажите пожалуйста вот какой вопрос: есть список документов Заказ покупателя, у нумерации установлена периодичность в предела года.
как мне сделать так, чтобы за 12 год документы отсортировались по номеру, и потом за 13 год они тоже отсортировались по номеру?
То есть сортировка по номеру, но в пределах года?
Спасибо.
нет, не помогает, она сортирует только по дате!!!
то есть вот так:
сначала идет
Заказ покупателя 00000000002 от 04.01.2013 16:30:50
а за ним:
Заказ покупателя 00000000001 от 04.01.2013 16:31:34
Hany, У Вас, видимо, все документы вводятся строго в хронологическом порядке, поэтому все выглядит красиво и нарядно. А у adaviya, видимо, не в строго хронологическом. Поэтому такая штука не прокатывает.
adaviya, я думаю, в стандартной форме списка путем сортировки сделать такое не удастся.
Сделать это можно только запросом.
zoytsa, да, так работает.
только вопрос вот в чем...
Мне писать запрос, передавать в запрос список документов, обрабатывать этот список, и потом выводить этот список на форму... или как-то попроще можно?
форма обычная.
конфигурация УПП.
Вариант I
1.) Добавляешь в реквизиты формы переменную ТЗ_Доки типа ТаблицаЗначений. У Табличного Поля на форме в поле Данные меняешь значение с ДокументСписок на ТЗ_Доки.
2.) Пишешь свой запрос в процедуре при открытии формы. И добавляешь к нему классические:
3.) Добавляешь кнопку Обновить - с кодом таким же, что и При Открытии Формы.
Минусы:
Обычные кнопки для формы списка не работают. Нужно писать свои, либо отключать. Так, к примеру, нет отбора.
Вариант II
1.) Добавляешь реквизит "Год" документу Заказ покупателя. Расчитываешь его, к примеру в процедуре "Перед записью" документа:
Год = Год(Дата);
2.) Перезаписываешь обработкой все документы от начала времен.
Выборка = Документы.ЗаказПокупателя.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
Минусы:
Собственно, необходимость перезаписи доков. И во-вторых, хранение не нужной информации в базе (года).
Вариант III.
1.) Нарисовать управляемую форму списка, и в свойствах ее указать динамический запрос аналогичный варианту 1 (Справа сверху реквизит "Список". При активации справа снизу выбираем галочку "Произвольный запрос", жмем "Открыть").
2.) В табличной части добавить колонку (слева сверху при активизации заголовка табличного поля через "плюс": Тип элемента - поле). Там где "ПутьКДанным" указываем "Список.Год". Имя новой колонки меняем на "Год".
3.) В свойствах конфигурации (в самом корне) установить галочку "Использовать управляемые формы в обычном приложении".
Минус: Немного другой интерфейс на форме по сравнению с другими.
adaviya, выбор, на мой взгляд очевиден ;)
Если нет опыта в работе с управляемыми формами - заодно разберешься. В данном случае там ничего сложного нет, буквально 3-4 действия. Дерзай! ;)
zoytsa, спасибо огромное!!!
Так подробно все расписали!
Во втором варианте не совсем понятно, как будет использоваться этот реквизит: Год.
По нему будет производиться сортировка?
(23) adaviya, собственно, в любом удобном Вам порядке :-)
Не забудьте, что для сортировки доступны все реквизиты, у которых выставлено свойство "Индексировать" в значении "Использовать".