Универсальное сворачивание табличной части документа

14.12.20

Разработка - Универсальные функции

Добрый день, коллеги. Мне понадобилось свернуть табличную часть документа, искал подобную функцию чтобы вручную не прописывать поля для сворачивания и группировки. Возможно кому - то поможет данная статья.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Универсальное сворачивание табличной части документа:
.epf 7,27Kb
171 Скачать бесплатно

Добрый день, коллеги. Мне понадобилось свернуть табличную часть документа, искал подобную функцию чтобы вручную не прописывать поля для сворачивания и группировки. Ожидаю, что она сможет подойти для большого количества документов. 

 Для того, чтобы свернуть табличную часть, я пользовался методом - "свернуть()" для табличной части. Нюанс был в том, что колонки, не вошедшие ни в один из списков колонок, после выполнения метода удаляются из таблицы значений,  а перечислять их в ручную не хотелось, поэтому была написана вот такая функция, которая формирует параметры для сворачивания и группировки.

 
Функция для получения структуры сворачивания

Использовал я данную функцию вот таким образом.
 

 
Функция сворачивания



 Также сделал тестовую обработку, которую проверил на ЕРП, на нескольких документах, сделал возможность выбора документа и табличной части для сворачивания. Думаю, что для большинства документов типовых конфигураций на управляемых формах, обработка должна подойти.  

Форма обработки выглядит так

Обработка протестирована на релизе ЕРП 2.4.12.102

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3633    Abysswalker    9    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    6757    DeerCven    15    

59

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    49766    dimanich70    83    

170

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7406    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    62536    atdonya    31    

70

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9242    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2097 14.12.20 09:26 Сейчас в теме
Советую вместо
ТаблицаЗначений = ТабличнаяЧастьДокумента.Выгрузить()
использовать
Колонки = ТабличнаяЧастьДокумента.ВыгрузитьКолонки().Колонки
, и дальше использовать уже коллекцию вместо ТаблицаЗначений.Колонки. Кучу ресурсов сэкономить можно.
ivnik; triviumfan; Andrei_Ivanov; +3 Ответить
2. Andrei_Ivanov 199 14.12.20 14:56 Сейчас в теме
(1) Спасибо за совет. Поправил.
3. German_Tagil 43 12.01.21 07:04 Сейчас в теме
(2) На БП 3.0 не запустилось- нет таких фунцкций
ОбработкаТабличнойЧастиСервер.ОбработатьТЧ(ДокументОбъект[ТабличнаяЧастьДляСворачинвания],СтруктураДействий, Неопределено);
ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(ДокументОбъект);
4. Andrei_Ivanov 199 12.01.21 09:25 Сейчас в теме
(3) Добрый день. Для того, чтобы на БП работал механизм, вместо этих функция можно адаптировать - ОбработкаТабличныхЧастейКлиентСервер.ПриИзмененииКоличествоЦена.
5. sr5 18.08.23 08:54 Сейчас в теме
Так, еще наводка: в УТ11.4 в общем модуле есть подобные удобные вспомогательные функции: "ОбщегоНазначенияУТ.СвернутьТабличнуюЧасть()" и "ОбщегоНазначенияУТ.СвернутьТаблицуЗначений()"
6. unknown181538 163 10.10.23 20:56 Сейчас в теме
(5)
СвернутьТабличнуюЧасть
судя по ее коду, она цену просуммирует тоже.
8. Andrei_Ivanov 199 10.10.23 22:52 Сейчас в теме
(6) Добрый день.
В коде исключение на колонку "Цена", по ней будет совершена группировка.
9. unknown181538 163 10.10.23 22:57 Сейчас в теме
(8) Да, это я понимаю. Но это все равно получается, что типовую функция переписать нужно. В итоге я доработал ваше решение, и задачу решил.
Andrei_Ivanov; +1 Ответить
7. unknown181538 163 10.10.23 21:07 Сейчас в теме
Мне нужно свернуть Товары в Заказе в "Комплексной автоматизации". Там есть колонки КодЗаказа, КодСтроки, ИдентификаторСтроки.
Их нужно вносить и не в группировку, и не в свертку, а возможно переформировывать после группировки.
10. Andrei_Ivanov 199 10.10.23 23:03 Сейчас в теме
(7) Да, выходит, что решение не универсальное(
11. VSE 10.02.25 18:10 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация