7.7 Упорядочивание строк

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Peroman, 16 мар 2010.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Всем здрасте. Есть такая проблема.
    Нужно было чтобы в документе заявка набивая новую заявку от клиента
    можно было упорядочить строки. В справочнике номенклатура создал реквизит(число) Группа№
    В доке заявка сортирую документы согласно этому реквизиту.
    Но в связи с частым обновлением номенклатуры этот метод не очень удобный
    (т.к. новому элементу постоянно приходиться проставлять реквизит Группа№).
    Можно как-то сделать упорядочивание по группе номенклатуры?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Выгрузить т.часть в ТаблицуЗначений, добавьте котонку Родитель, Заполните ее, Сортируйте по ней, Загружайте обратно
  3. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Как выгрузить табличную часть документа в ТаблицуЗначений?
    И чем я должен заполнить колонку родитель, не совсем понимаю. :unsure:
  4. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
  5. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Я думал можно выгрузить сразу всю табличную часть документа.
  6. Time dont wait
    Offline

    Time dont wait Опытный в 1С

    Регистрация:
    20 окт 2009
    Сообщения:
    192
    Симпатии:
    0
    Баллы:
    26
    ВыгрузитьТабличнуюЧасть(<?>,);
    Синтаксис:
    ВыгрузитьТабличнуюЧасть(<ТаблЗнач>,<Колонки>)
    Назначение:
    Выгрузить многострочную часть документа в таблицу значений.
    Параметры:
    <ТаблЗнач> - значение типа ''Таблица значений'' (или ''СписокЗначений'', если выгружается только одна колонка), куда выгружается многострочная часть документа. Колонки совмещаются по идентификаторам.
    <Колонки> - необязательный параметр. Список колонок через запятую. Данный параметр указывает, какие колонки выгружать; если не указано, то все. Для номера строки документа создается отдельная колонка с идентификатором ''НомерСтрокиДокумента''. При задании, какие колонки выгружать, для выгрузки номера строки
  7. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Сделал так:
    Код:
    Процедура УпорядочитьСтроки()
    Если Вопрос("Упорядочить строки","Да+Нет")="Да" Тогда 
    ТЗН = СоздатьОбъект("ТаблицаЗначений");
    ВыгрузитьТабличнуюЧасть(ТЗН);
    ТЗН.НоваяКолонка ("Родитель");
    ТЗН.ВыбратьСтроки();
    Пока ТЗН.ПолучитьСтроку() = 1 Цикл
    ТЗН.Родитель = ТЗН.Номенклатура.Родитель.Наименование;
    КонецЦикла;
    ТЗН.Сортировать("Родитель -");
    ЗагрузитьТабличнуюЧасть(ТЗН);
    КонецЕсли;	 
    КонецПроцедуры
    
    
    Сортирует по группе, но мне нужно ещё теперь чтоб сортировка была более углубленная(по подгруппам)
    Как влезть во вложеность группы ?
  8. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    видимо так ТЗН.Сортировать("Родитель -,Номенклатура - ");
  9. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Не не получится,вложенность может быть в 2-3 уровня.
    Т.е. нужно следующий алгоритм сортировки Группа->Подгруппа1->Подгруппа2 и т.д.
    Пока вложенность не закончится.
  10. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Код:
    ТЗН.Родитель = ТЗН.Номенклатура.Родитель.ПолноеНаименование();
    
    Либо сразу у номенклатуры полное наименование брать, тогда и сама номенклатура отсортирована будет.
  11. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Добавляешь Колонку "уровень" и сортируешь по ней.

    Где уровень - уровень вложенности группы.

Поделиться этой страницей