Сортировка по номеру за каждый год

1. adaviya 04.01.13 15:21 Сейчас в теме
Добрый день.
Подскажите пожалуйста вот какой вопрос: есть список документов Заказ покупателя, у нумерации установлена периодичность в предела года.
как мне сделать так, чтобы за 12 год документы отсортировались по номеру, и потом за 13 год они тоже отсортировались по номеру?
То есть сортировка по номеру, но в пределах года?
Спасибо.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. andrewks 1370 04.01.13 17:29 Сейчас в теме
(1) adaviya, какая конфигурация?
+
14. zoytsa 04.01.13 22:28 Сейчас в теме
(1) adaviya, определенно нужно поле ГОД, и сортировка сначала по нему, а затем уже по номеру,
в запросе:
НАЧАЛОПЕРИОДА (Дата, ГОД)
+
2. Hany 04.01.13 15:48 Сейчас в теме
Какая форма списка - управляемая или обычная?
+
3. adaviya 04.01.13 15:56 Сейчас в теме
4. zyxell 04.01.13 15:57 Сейчас в теме
Тоже возникла такая задача...
+
5. Dmitrii_1C 7 04.01.13 15:57 Сейчас в теме
У людей праздники, какая нумерация.
+
6. zyxell 04.01.13 15:58 Сейчас в теме
Судя по всему, мы свое уже отгуляли )))
+
7. adaviya 04.01.13 15:58 Сейчас в теме
как раз вот сейчас и приспичило...)))
+
8. adaviya 04.01.13 16:12 Сейчас в теме
отгуляли уже - это точно!)))
+
9. Hany 04.01.13 16:59 Сейчас в теме
Если обычная форма - то такая штука помогает:
Прикрепленные файлы:
+
10. adaviya 04.01.13 17:02 Сейчас в теме
нет, не помогает, она сортирует только по дате!!!
то есть вот так:
сначала идет
Заказ покупателя 00000000002 от 04.01.2013 16:30:50
а за ним:
Заказ покупателя 00000000001 от 04.01.2013 16:31:34
+
12. Hany 04.01.13 17:43 Сейчас в теме
(10) adaviya, не понято.
Давайте свои вот такие скриншоты:
Прикрепленные файлы:
+
25. dimalf 09.01.13 06:54 Сейчас в теме
(10) adaviya, Добрый день!

Поменяйте местами Дату и Номер. Тогда будет сортировка по номерам, а внутри номеров по дате. Но тогда Вам надо будет следить за периодом.
+
13. 1cUserAndrew 63 04.01.13 22:08 Сейчас в теме
Hany, У Вас, видимо, все документы вводятся строго в хронологическом порядке, поэтому все выглядит красиво и нарядно. А у adaviya, видимо, не в строго хронологическом. Поэтому такая штука не прокатывает.

adaviya, я думаю, в стандартной форме списка путем сортировки сделать такое не удастся.
Сделать это можно только запросом.
zoytsa; +1
15. Hany 05.01.13 12:57 Сейчас в теме
(13) 1cUserAndrew, да, действительно, платформа не умеет сортировать по двум полям в обычных формах:(

Значит, можно сделать составной реквизит Дата+Номер, проставить его по всем документам и включить по нему сортировку.
+
16. adaviya 06.01.13 12:28 Сейчас в теме
Hany, это тема...
составной реквизит будет строковым?
+
17. adaviya 06.01.13 12:30 Сейчас в теме
Hany, вопрос такой...
а как включить сортировку по добавленному полю?
+
18. adaviya 06.01.13 12:36 Сейчас в теме
zoytsa, да, так работает.
только вопрос вот в чем...
Мне писать запрос, передавать в запрос список документов, обрабатывать этот список, и потом выводить этот список на форму... или как-то попроще можно?
форма обычная.
конфигурация УПП.

вот еще обсуждение этой темы на мисте:
http://www.forum.mista.ru/topic.php?id=646207
+
19. zoytsa 06.01.13 20:28 Сейчас в теме
(18) adaviya, ситуация имеет несколько решений:

Вариант I
1.) Добавляешь в реквизиты формы переменную ТЗ_Доки типа ТаблицаЗначений. У Табличного Поля на форме в поле Данные меняешь значение с ДокументСписок на ТЗ_Доки.
2.) Пишешь свой запрос в процедуре при открытии формы. И добавляешь к нему классические:

ЭлементыФормы.ДокументСписок.Значение = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ДокументСписок.СоздатьКолонки();

3.) Добавляешь кнопку Обновить - с кодом таким же, что и При Открытии Формы.

Минусы:
Обычные кнопки для формы списка не работают. Нужно писать свои, либо отключать. Так, к примеру, нет отбора.

Вариант II
1.) Добавляешь реквизит "Год" документу Заказ покупателя. Расчитываешь его, к примеру в процедуре "Перед записью" документа:

Год = Год(Дата);

2.) Перезаписываешь обработкой все документы от начала времен.

Выборка = Документы.ЗаказПокупателя.Выбрать();
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;

Минусы:
Собственно, необходимость перезаписи доков. И во-вторых, хранение не нужной информации в базе (года).


Вариант III.
1.) Нарисовать управляемую форму списка, и в свойствах ее указать динамический запрос аналогичный варианту 1 (Справа сверху реквизит "Список". При активации справа снизу выбираем галочку "Произвольный запрос", жмем "Открыть").
2.) В табличной части добавить колонку (слева сверху при активизации заголовка табличного поля через "плюс": Тип элемента - поле). Там где "ПутьКДанным" указываем "Список.Год". Имя новой колонки меняем на "Год".
3.) В свойствах конфигурации (в самом корне) установить галочку "Использовать управляемые формы в обычном приложении".

Минус: Немного другой интерфейс на форме по сравнению с другими.
adaviya; +1
20. zoytsa 06.01.13 20:33 Сейчас в теме
adaviya, выбор, на мой взгляд очевиден ;)
Если нет опыта в работе с управляемыми формами - заодно разберешься. В данном случае там ничего сложного нет, буквально 3-4 действия. Дерзай! ;)
+
21. adaviya 06.01.13 22:13 Сейчас в теме
zoytsa, спасибо огромное!!!
Так подробно все расписали!
Во втором варианте не совсем понятно, как будет использоваться этот реквизит: Год.
По нему будет производиться сортировка?
+
22. zoytsa 07.01.13 04:46 Сейчас в теме
(21) adaviya, да, он станет обычным реквизитом, по которому можно будет сортировать документы в форме списка.
adaviya; +1
23. adaviya 07.01.13 13:40 Сейчас в теме
zoytsa, то есть сортировать документы сначала по году, а потом по номеру?
+
24. zoytsa 08.01.13 12:53 Сейчас в теме
(23) adaviya, собственно, в любом удобном Вам порядке :-)
Не забудьте, что для сортировки доступны все реквизиты, у которых выставлено свойство "Индексировать" в значении "Использовать".
+
26. adaviya 09.01.13 10:25 Сейчас в теме
dimalf, нет, вы не поняли, так не работает.

Получилось с вариантом, предложенным zoytsa.
Добавляем дополнительную колонку Год, и сортируем сначала по году, а затем по номеру:





zoytsa; +1
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот