Итоги по колонке ТЧ с условием

1. Glav 14.02.19 09:29 Сейчас в теме
Добрый день
На форме есть примитивная ТЧ ("Номенклатура" и "Количество")
Итоги по количество в подвале показываются

Требуется добавить на форму ещё один реквизит для отображения количества номенклатуры только конкретного вида

Предполагаю последовательность такая:
1. Для ТЧ определяем событие "ПриИзменении"
2. Выгружаем все значения по колонам "Номенклатура" и "Количество" в массив
3. Обходим массив и по условию вхождения номенклатуры в вид суммируем количество
4. Выводи результат в реквизит на форме

Верно ли так методологически или есть другие варианты ?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SedovSU@mail.ru 297 14.02.19 09:39 Сейчас в теме
(1) ну да, как самый простой вариант, обходите в какой то момент таблицу и заполняете итог . Можно запросом выполнить и заполнить. результат будет один
+
7. dhurricane 14.02.19 10:06 Сейчас в теме
(1) Вот еще один вариант:
1. Добавить колонку "Вид номенклатуры" как реквизит формы в ТЧ. Выводить на форму колонку не нужно.
2. Добавить числовой реквизит формы для отображения нужного итога, например "ИтогПоВиду". Указать его в подвале нужной колонки.
3. В обработчике изменения номенклатуры заполнять вид номенклатуры в текущей строке. Пересчитать "ИтогПоВиду".
4. В обработчике "ПриЧтенииНаСервере" формы заполнять колонку "Вид номенклатуры" во всей ТЧ. Рассчитать итог.
5. В обработчике "ПослеЗаписиНаСервере" формы перезаполнять колонку "Вид номенклатуры" по все ТЧ. Пересчитать итог.
6. В обработчике "ПриОкончанииРедактирования" таблицы пересчитать итог (с учетом флага "ОтменаРедактировани").
7. В обработчике "ПриУдалении" таблицы пересчитать итог.

Расчет итога примерно такой:
ИтогПоВиду = Объект.Товары.НайтиСтроки(Новый Структура("ВидНоменклатуры", НужныйВид)).Количество();

Описанный подход конечно предполагает много рутинного программирования. Но имеет право на жизнь.
+
3. DenisCh 14.02.19 09:47 Сейчас в теме
А можно и просто добавить ещё одну колонку в ТЧ и штатно выводить её итог...
+
4. Glav 14.02.19 09:55 Сейчас в теме
(3) Подскажите, как добавить в ТЧ колонку с условием ?
+
5. dhurricane 14.02.19 09:58 Сейчас в теме
(4) Никак. Ее придется заполнять самому при изменении Номенклатуры. При этом не получится использовать просто реквизит формы, т.к. в итоги его добавить нет возможности.
+
6. Glav 14.02.19 09:59 Сейчас в теме
Угу
Не хотелось бы лишнего реквизита у ТЧ объекта
+
10. AndKovalchuk 192 14.02.19 10:10 Сейчас в теме
(6)
Не хотелось бы лишнего реквизита у ТЧ объекта


А зачем объекта. Это будет лишний реквизит формы. По-моему проще, чем каждый раз выполнять вот это шаг


3. Обходим массив и по условию вхождения номенклатуры в вид суммируем количество
+
12. dhurricane 14.02.19 10:11 Сейчас в теме
(10) Реквизиты формы не имеют итога.
+
13. Glav 14.02.19 10:13 Сейчас в теме
(10)
А зачем объекта. Это будет лишний реквизит формы. По-моему проще, чем каждый раз выполнять вот это шаг

А разве тогда будет автосумма в подвале ?
+
14. ben19791010 14.02.19 10:30 Сейчас в теме
(13) не будет конечно
МЦ04ИтогКоличество
только ТЧобъекта
+
15. AndKovalchuk 192 14.02.19 10:47 Сейчас в теме
(13) По-моему Итог в подвале настраивается в свойствах реквизита.
+
8. Glav 14.02.19 10:06 Сейчас в теме
Коллеги, прошу извинения за тупизну, но почему я не могу обратиться в реквизиту справочника при обходе ?
Прикрепленные файлы:
+
9. dhurricane 14.02.19 10:07 Сейчас в теме
(8) Возможно Вы пытаетесь это сделать на клиенте, не на сервере.
Glav; +1
11. Glav 14.02.19 10:10 Сейчас в теме
(9)
Возможно Вы пытаетесь это сделать на клиенте, не на сервере

Точно. Большое спасибо
+
Внимание! Тема сдана в архив

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