8.х Упорядочить по артикулу

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Вселенная, 6 ноя 2009.

  1. TopicStarter Overlay
    Вселенная
    Offline

    Вселенная Опытный в 1С

    Регистрация:
    4 ноя 2009
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Нужно в ТЧ Товары упорядочить записи по артикулу. В ТЧ документа такого поля нет. Его можно добавить на форму с помощью настройки списка. Просто метод Товары.Сортировать("Артикул УБЫВ") не работает. Я делаю вот что:

    Код:
    Процедура Инициализировать (Объект, ИмяТабличнойЧасти, ТабличноеПолеОбъекта) Экспорт
    
    Товары = Объект[ИмяТабличнойЧасти];
    ТЗ =Товары.Выгрузить(); 
    Товары.Очистить();
    ТЗ.Колонки.Добавить("Артикул");
    
    Для Каждого ТекСтр Из ТЗ Цикл 
    ТекСтр["Артикул"] =Справочники.Номенклатура.Артикул; 
    КонецЦикла; 
    
    ТЗ.Сортировать("Артикул УБЫВ");
    Товары.Загрузить(ТЗ);
    
    КонецПроцедуры
    
    Ошибка:
    Заполнение ТЧ не произведено!
    Поле объекта не обнаружено (Артикул)

    Люди добрые, помогите! Я неправильно заполняю колонку Артикул? :unsure: А как правильно?
  2. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    В табличной части "Товары" нет реквизита "Артикул". Это колонка табличного поля. После сортировки, перед загрузкой в табличную часть удалите из таблицы значений свою колонку. И включите видимость колонки "Артикул" табличного поля
  3. TopicStarter Overlay
    Вселенная
    Offline

    Вселенная Опытный в 1С

    Регистрация:
    4 ноя 2009
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Та же самая ошибка. Ругается на строку 9, т.е. на: ТекСтр["Артикул"] =Справочники.Номенклатура.Артикул;
  4. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Ошибка другая должна быть, на таблицу значений, а не на табличную часть:)
    Замените строку на
    Код:
    ТекСтр.Артикул =ТекСтр.Номенклатура.Артикул;
    
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Не нужно удалять, 1С-ка просто проигнорирует ее.
    Вот так:

    Код:
    Товары = Объект[ИмяТабличнойЧасти];
    ТЗ =Товары.Выгрузить(); 
    ТЗ.Колонки.Добавить("Артикул");
    
    Для Каждого ТекСтр Из ТЗ Цикл 
    ТекСтр.Артикул =ТекСтр.Номенклатура.Артикул; 
    КонецЦикла; 
    
    ТЗ.Сортировать("Артикул УБЫВ");
    Товары.Загрузить(ТЗ);
    
    КонецПроцедуры
    
    
    ASh, Извини, поздно заметил твой пост :)
  6. TopicStarter Overlay
    Вселенная
    Offline

    Вселенная Опытный в 1С

    Регистрация:
    4 ноя 2009
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Ураааа! Получилось! Спасибо огромное! :unsure:
  7. ASh
    Offline

    ASh Опытный в 1С

    Регистрация:
    10 сен 2008
    Сообщения:
    568
    Симпатии:
    0
    Баллы:
    26
    Извиняюсь, сглупил вначале. Из ТЗ колонку "Артикул" можно не удалять. При загрузке в ТЧ колонки синхронизируются по именам. Лишние колонки в ТЗ мешать не будут.

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