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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заявление на открытие компании должно быть подписано одним из трех способов

Подпись заявителя на заявлении при госрегистрации юрлица при его создании должна быть засвидетельствована.

Приостановление Росреестром госрегистрации можно будет обжаловать не в суд

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

УК РФ

Окончательно решен вопрос о мере пресечения одному из руководителей «Локалкитчен»

Мосоргсуд оставил без изменения меру пресечения одному из руководителей «Локалкитчен» по делу о массовом отравлении готовой едой, приведшем к бутулизму.

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

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

Путин: цифровой рубль нужно использовать в разных сферах

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

Розыгрыш трех именных карт банка Казахстана

Уже сегодня в 20:00 пройдет розыгрыш банковских карт. Они позволяют отправлять деньги за границу, оплачивать подписки на зарубежные сервисы и еще многое другое.

Подготовьтесь к налоговой реформе 2024-2025 с подпиской «Клерк.Премиум»: прямые эфиры с экспертами, статьи-разборы законов и курсы по всем темам налогов и учета

Изучайте нюансы изменений 2024-2025 в НК на онлайн-встречах с экспертами, задавайте свои вопросы и учитесь применять новые правила еще до вступления их в силу.

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

Аренда: что нужно раскрыть в учетной политике

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

Аренда: что нужно раскрыть в учетной политике

⚡️ Итоги дня: водителей лишат прав за сокрытие номеров, запустят сервис знакомств с проверкой кредитов, а у сотрудников ЦБ появится оружие

Подготовили обзор главных событий дня — 17 июля 2024 года. Все самое интересное, что писали и обсуждали в сети, в одной подборке.

Блокировка сим-карт, ИИ, блогеры и Роскомнадзор. Юридический дайджест #1

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

За передачу банковской карты могут ввести уголовную ответственность

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

Как открыть и развивать бизнес в новой санкционной реальности 

В апреле 2024 года председатель Правительства Михаил Мишустин заявил, что нельзя запрещать российским компаниям вести бизнес за границей, при этом власти будут тщательно следить за выводом капитала. Такое заявление лишний раз подтверждает легальность ведения торговой и иной деятельности для получения прибыли на международном рынке. 

Как открыть и развивать бизнес в новой санкционной реальности 
УСН

👀 Что выгоднее бизнесу на УСН в 2025 году: НДС 5%, 20% или переход на ОСНО + мнение налогового эксперта

С 2025 года бизнес на УСН с доходами свыше 60 млн рублей будет платить НДС. Можно выбрать ставку как на ОСНО – 20% или вовсе перейти на ОСНО, а можно выбрать ставку 5% без права на вычет.

Интервью

ТоТ еще разговор. Андрей Матюха: Трюфель, юдзу, пондзу

Продолжаем беседу с предпринимателями в рамках проекта «ТоТ еще разговор». Сегодня в гостях Андрей Матюха – шеф-повар, автор и совладелец краснодарских ресторанов: The Печь, Угли-Угли и Племя, которые стабильно попадают в ресторанные рейтинги, а также гриль-бар Ребрышки и Бедрышки, который открылся совсем недавно.

2

15% сотрудников постоянно сталкиваются с задержкой зарплаты

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

Как ИП получить налоговый вычет 

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

Как ИП получить налоговый вычет 

Какие документы нужны при приеме на работу граждан Абхазии

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

Карьера бухгалтера

💫 Почему подписка «Клерк.Премиум» нужна каждому бухгалтеру

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

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

Как продавать сложные IT-продукты: шаги к успеху

Индивидуальный подход к разработке сложных комплексных IT-продуктов — это костюм, сшитый на заказ, он идеально сидит и не «топорщится».

Как продавать сложные IT-продукты: шаги к успеху
Общество

О налогах в Кыргызии

Недавно один из клиентов попросил рассказать о налогах в Кыргызии и я вспомнил, что хотел написать о них здесь тоже. Фокус на физ. лицах, получивших гражданство Кыргызии, но не живущих там постоянно.

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

Импорт

Будет решена проблема подтверждения соответствия модернизированного импортного оборудования

Общественный совет при Росаккредитации займется решением проблемы подтверждения соответствия импортного оборудования после его модернизации и ремонта.