По теме из базы знаний
- ИНВ-1, ИНВ-3, ИНВ-17, ИНВ-18, ИНВ-19, ИНВ-22, Инвентаризация товаров на складе, инвентаризационная опись, сличительная ведомость для БП 3.0
- Заполнение документа Перемещение товаров из документа Инвентаризация товаров на складе (Списание товаров) (УТ 10.3)
- Заполнение табличной части документа Инвентаризация товаров на складе в конфигурации БП 3.0 по счету МЦ.04
- Инвентаризация товаров на складе с помощью обработки "Инвентаризация 3.0" для Бухгалтерии 3.0
- Заполнение документа Инвентаризация товаров остатками номенклатуры на выбранных счетах (БП 3.0)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Надо упорядочить номенклатуру? по наименованию или артикулу? Если да, то заходим в Сервис - изм. табличную часть. Выбираем действие: упорядочить строки. Ставим курсор под слово "поле". Правой кнопкой мыши "Добавить". Раскрываем номенклатуру, выбираем, по чему надо упорядочить: артикул, наименование, код или еще что-нить. Ну и "выполнить"..
Можно написать внешнюю обработку для сортировки табличной части: выбрать запросом номенклатуру из табличной части конкретного документа с упорядочиванием по иерархии и загрузить результат запроса обратно в табличную часть. На мой взгляд строк 10 кода (не считая перечисления реквизитов табличной части в запросе) и 5 минут работы.
А вообще-то товары нужно не раскладывать и считать вручную, а использовать сканеры ШК или терминалы сбора данных.
Тогда и порядок не важен и времени потребуется меньше. Ручной пересчёт почти стопроцентно будет сделан с ошибками: или ошибки в количестве или пересорт (люди есть люди...).
А вообще-то товары нужно не раскладывать и считать вручную, а использовать сканеры ШК или терминалы сбора данных.
Тогда и порядок не важен и времени потребуется меньше. Ручной пересчёт почти стопроцентно будет сделан с ошибками: или ошибки в количестве или пересорт (люди есть люди...).
Сортировка табличной части документа по иерархии
ТабЧасть = Док.Метаданные().ТабличныеЧасти.Найти("Товары");
Запрос = Новый Запрос;
Текст = "ВЫБРАТЬ";
Сч = 1;
Если ТабЧасть = Неопределено Тогда // Нет такой таб. части в документе
Возврат;
Иначе
Для каждого Реквизит из ТабЧасть.Реквизиты Цикл
Если Сч <> 1 Тогда
Текст = Текст+",";
КонецЕсли;
Текст = Текст+"
| ТабЧастьТовары." + Реквизит.Имя;
Сч = Сч+1;
КонецЦикла;
Текст = Текст+",
| ТабЧастьТовары.Ссылка";
КонецЕсли;
Текст = Текст + "
|ИЗ
| Документ." + Док.Метаданные().Имя + ".Товары КАК ТабЧастьТовары
|ГДЕ
| ТабЧастьТовары.Ссылка = &Ссылка
|ИТОГИ ПО
| ОБЩИЕ,
| Номенклатура ИЕРАРХИЯ
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.Текст = Текст;
Запрос.УстановитьПараметр("Ссылка", Док.Ссылка);
ТаблицаНовая = Запрос.Выполнить().Выгрузить();
Отбор = Новый Структура();
Отбор.Вставить("Ссылка",Null);
УдалитьСтроки = ТаблицаНовая.НайтиСтроки(Отбор);
Для Каждого ТекСтрока Из УдалитьСтроки Цикл
ТаблицаНовая.Удалить(ТекСтрока);
КонецЦикла;
ТаблицаТоваров = Док.Товары.Выгрузить();
Для Каждого Колонка Из ТаблицаТоваров.Колонки Цикл
КолонкаНовая = ТаблицаНовая.Колонки.Найти(Колонка.Имя);
Если КолонкаНовая <> Неопределено Тогда
ТаблицаТоваров.ЗагрузитьКолонку(ТаблицаНовая.ВыгрузитьКолонку(КолонкаНовая),Колонка);
КонецЕсли;
КонецЦикла;
Док.Товары.Загрузить(ТаблицаТоваров);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот