Несколько табличный частей – это просто

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений:

автор статьи: Владимир Камышников
Источник: http://hare.ru/

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений:
  1. Хранение нескольких табличных частей в одной. Данный метод имеет только один плюс, "1С-совместимо". Основной недостаток – часто разные табличные части сильно отличаются форматом и составом полей;
  2. Хранение дополнительной информации путем "сворачивания" данных в строку. Никаких плюсов метод не имеет. Минусы очевидны: возможное нарушение ссылочной целостности;
  3. Хранение табличных частей вне информационной базы. Как и в предыдущем способе гарантировать, что восстановленная ссылка будет корректной, нельзя;
  4. Наконец есть правильный способ – хранение табличных частей в служебных документах.
Этот последний способ позволяет:
  • делать практически неограниченное число табличных частей;
  • избавиться от задач отображения таблицы значений;
  • конфигурации остаться 1С-совместимой;
  • трудозатраты на создание табличной части в типовом случае составляют около 5 (!) минут;
  • ссылочная целостность отрабатывается системой;
Этот способ достаточно известен, однако в предлагаемом решении есть оригинальные моменты (по крайней мере, лично я не встречал подобных подходов).

Итак, рассмотрим технологию организации второй табличной части документа (пример в виде маленькой конфигурации приложен к статье, ссылка внизу страницы).

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

Далее, в табличной части этого документа создаем необходимые реквизиты. Даже те, которые не должны отображаться. В поле "Синоним" указываем то название, которое должно отображаться в колонке. На рисунке 1 имеется реквизит табличной части "ОбъемПриДаннойТемп", который в колонке таблицы будет отображаться как "V при tc".

В поле "Комментарий" можно указывать команды форматирования таблицы (необычная фича, да? ;-). В данном случае задается ширина колонки таблицы, 11 единиц. Сейчас у меня поддерживается несколько таких команд:

  • "Ширина=ХХХ;" – установить ширину в ХХХ;
  • "Скрыть;" – скрыть колонку;
  • "Иконка;" – отображать иконки в колонке;
Команды отделяются друг от друга точкой с запятой, без пробелов, их имена являются регистрозависимыми. Не составляет труда добавить свои собственные команды.

Рисунок 1. Реквизит служебного документа.

После этих операций можно смело утверждать, что с форматированием отображаемой таблицы мы справились.

Добавляем в родительский документ реквизит типа "Документ", и связываем его с только что созданным служебным документом. Через этот реквизит впоследствии мы сможем работать с дополнительной табличной частью.

Рисунок 2. Связь главного и служебного документов.

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

Рисунок 3. Будущая табличная часть.

Теперь нужно вставить необходимый код в глобальный модуль (см. конфигурацию-пример).

Для манипуляций с табличной частью в родительский документ необходимо добавить всго лишь три (!) строки:

Процедура ПриОткрытии()
   глХранилищеОткрыть(Контекст,ХранилищеПотери,ТаблицаПотерь);
КонецПроцедуры

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

При открытии происходит форматирование таблицы и заполнение её данными.

При закрытии происходит попытка удаления служебного документа (при необходимости). Второй параметр такой же, как и в первой функции:

Процедура ПриЗакрытии()
   глХранилищеУдалить(Контекст,ХранилищеПотери);
КонецПроцедуры

Ну и собственно сохранение табличной части. Параметры такие же как и в первой процедуре:

Процедура ПриЗаписи()
   глХранилищеСохранить(Контекст,ХранилищеПотери,ТаблицаПотерь);
КонецПроцедуры

Готово. Ну, за исключением ввода данных в таблицу. Для этого я позаимствовал из типовой конфигурации ИТРП универсальную процедуру ввода в таблицу значений (см. пример). Можно взять какую-нибудь другую универсальную процедуру ввода данных в ТЗ, или написать свою собственную – кому как больше нравится.

Вот и все… Восьмерка лишается одного из своих основных козырей? ;-)

Начать дискуссию

Нужно ли платить налоги при выходе из ООО

Налоговые последствия выхода участника из ООО: в каких случаях и какие налоги будет необходимо уплатить.

Курсы повышения
квалификации

20
Официальное удостоверение с занесением в госреестр Рособрнадзора

Приняли на работу нового сотрудника: как оформить ЕФС-1 в 2024 году, пример

По каждому принятому сотруднику нужно отчитаться в СФР — заполнить подраздел 1.1 формы ЕФС-1. Даём пошаговую инструкцию для отчётов 2024 года.

Приняли на работу нового сотрудника: как оформить ЕФС-1 в 2024 году, пример
Экономика России

Поставлена задача войти в число 25 ведущих стран мира по роботизации

Для достижения национальной цели «Устойчивая и динамичная экономика» президент поставил задачу по плотности роботизации.

Лучшие спикеры, новый каждый день

📕 💪 Акция «Не МАЙся — заниМАЙся»! Самые нужные курсы по 3 690 рублей!

Успейте купить топовые курсы «Клерка» за 3 690 рублей до 13 мая! Для акции мы выбрали нужные для бухгалтера онлайн-курсы: они помогут освоить востребованные навыки, актуализировать знания к лету, освоить новую нишу, чтобы вырасти в карьере и увеличить доход.

Иллюстрация: Вера Ревина/Клерк.ру
1

🔥 Акция «Не МАЙся — заниМАЙся!»: топовые онлайн-курсы по 3 690 рублей

До 13 мая вы можете купить лучшие онлайн-курсы «Клерка» по учету на маркетплейсах, финансовому моделированию, ВЭД, зарплате и бухгалтерии с нуля за 3 690 рублей!

КоАП РФ

Таможенная служба назвала самые распространенные предметы правонарушений

По линии административного производства таможенные органы ФТС России возбудили 40 625 дел. Из них почти половина приходится на юридических лиц — 17 923.

Опытом делятся эксперты-практики, без воды

ИП на упрощенке переехал в новый регион: как платить налог и сдавать отчетность. Риски фиктивной миграции

Встать на учет в качестве индивидуального предпринимателя можно только в ИФНС по месту жительства гражданина. Рассказываем, что делать ИП на УСН при смене адреса проживания: как встать на учет, куда отчитываться и платить «упрощенный» налог, какие ставки применять, какие риски могут возникнуть.

Иллюстрация: Вера Ревина/Клерк.ру
Общество

Опубликован отчет о бесплатной юридической помощи за прошлый год

Минюст подготовил доклад о реализации государственной политики в области обеспечения граждан РФ бесплатной юридической помощью в 2023 году.

Как организовать прием оплаты по СБП в сфере услуг: фитнес-клубах, салонах красоты и автосервисах

Рассказываем, в чем особенность приема оплаты по СБП в сфере услуг — в фитнес-центрах, салонах, автосервисах и на автомойках — и как удобно его организовать.

Как организовать прием оплаты по СБП в сфере услуг: фитнес-клубах, салонах красоты и автосервисах
3
Новости ФНС

ФНС изменила сроки публикации о задолженностях в открытом доступе

Важная информация.

Инвестиции

Что такое оферта по облигациям, когда это хорошо, а когда плохо

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

Что такое оферта по облигациям, когда это хорошо, а когда плохо

Mastercard заработала в Китае: историческое событие

Американская и международная платёжная система начала обработку внутренних платежей через совместное предприятие NetsUnion JV.

Миникурсы, текстовые и видеоинструкции для бухгалтеров

ЕНС (нюанс процедуры взыскания) — опасность кредитования бизнеса за счет несвоевременной уплаты налогов

Рассмотрим занятный, но не сильно "подсвеченный" момент, связанный с формированием решения о взыскании налогов и сборов в условиях действия ЕНС. Как следствие — приостановление операций по счетам.

Мишустин пошел на второй срок: какие задачи стоят перед правительством и кто останется в кресле

10 мая 2024 года депутаты Госдумы утвердили Михаила Мишустина в должности председателя Правительства России. Его кандидатуру внес президент.

Виды факторинга: что выбрать бизнесу в 2024 году

Любому бизнесу важно находить эффективные решения по управлению дебиторской и кредиторской задолженностью и поддержанию стабильного денежного потока. Один из наиболее действенных финансовых инструментов — факторинг. Рассмотрим основные виды факторинга и поможем определиться с выбором оптимального решения для вашего бизнеса.

Виды факторинга: что выбрать бизнесу в 2024 году
Инвестиции

Продал акции Газпрома. Какие акции покупать вместо них?

Рассказываю.

Продал акции Газпрома. Какие акции покупать вместо них?

Как мы помогли нашему клиенту выиграть процесс в Лондонском международном арбитражном суде

Как мы помогли нашему клиенту выиграть процесс в Лондонском международном арбитражном суде
Общество

Куда идут в аспирантуру: самые востребованные направления

Росстат назвал самые распространенные направления подготовки среди выпускников в аспирантуре по итогам 2023 года.

УК РФ

На юрлиц стали чаще возбуждать уголовные дела за таможенные нарушения

Таможенные органы отчитались, что возбудили 641 уголовное дело в 1 квартале 2024 года.

Интересные материалы

Стартовал эксперимент с электронными студенческими билетами и зачетками: что дает

Электронные студенческие билеты и зачетные книжки появятся на Госуслугах. Их можно использовать наравне с бумажными.