В публикации Решение: Дополнительная информация в справочниках 1С (7.7) я обнаружил интересную идею – использовать механизм ВПФ для вывода на экран дополнительных реквизитов. Но как быть, если ВПФ для справочника не предусмотрены или, еще круче, в конфигурации сам механизм ВПФ отсутствует?
Словом, написал я свою обработку. Можно ее зарегистрировать как ВПФ для тех справочников, для которых предусмотрено (естественно, тогда обработка должна лежать в папке PrnForms). Можно вызывать ее через Файл-Открыть. А можно вызвать программно, передав в списке параметров к качестве значения «Контекст» ссылку на элемент справочника – тогда после закрытия формы из списка ее параметров методом Знач = СЗ.Получить(<ИдентификаторДопРеквизита>) можно извлечь значения этих реквизитов. Пример на картинке Вызов.
Интерфейс обработки достаточно нагляден. Для дополнительных реквизитов поддерживаются типы «Строка», «Число», «Дата» — как правило, этого достаточно. Впрочем, несложно расширить набор допустимых типов, скажем, на Справочники, Документы и т.п. Отредактировать тип реквизита можно после двойного клика по таблице реквизитов в поле идентификатора; значение редактируется/копипастится двойным кликом в поле значения.
Для экономии места, пустые наборы доп. реквизитов не хранятся (Скрин, кнопка «Очистить доп. рекв.»). Синхронизация доступа пользователей к доп. реквизитам не предусмотрена, т.е. если редактированием одновременно занимаются два пользователя, результат сохранится только один.
Версия 2:
1) Исправлена ошибка при удалении реквизита (комм. 6)
2) Если при программном вызове в списке параметров установить «Действие» в «Вернуть», форма не будет открываться.
Версия 3 (15.09.2011):
1) Исправлена ошибка при возврате реквизитов с коротким идентификатором.
А прокомментировать?
(1) ЧТО комментировать?
Комментирую: «ИДЕЯ» использования «таблиц» или внешних файлов для хранения данных не нова …
… для учёта такие данные, которые никак и ни кем не контролируются, вредны …
плюс поставил потому, что «Арчибальд» — молод душой и мыслями и его идеи всегДА в копилку знАний …
… ВОТ …
п.с. зачем нужны «сторонние» реквизиты ??? в программе учЁта …
Что означает «ВПФ»?
Понял сам — внешняя печатная форма
(3) Подозрительно часто ты стал формулировать четко и верно.
при удалении реквизита ошибка:
м_ТЗХранения.ТабЭлемент.УдалитьКолонку(рд_ТабРекв.Идент);
{F:TEMPДЛЯЗАГРУЗКИДОПОЛНИТЕЛЬНЫЕ РЕКВИЗИТЫ СПРАВОЧНИКОВ 7.7ADDINGREC.ERT(199)}: Неверный идентификатор колонки!
(6) Спасибо, исправлено во 2-й версии
(3)
Таки приведу пример. Конкретный. Вот сейчас все озаботились новой транспортной накладной (Прилож. 4), клепают для нее печатные формы (тиражируют при этом ошибку 1С, но все равно рейтинги хороши)… А туда нужно вносить данные о сторонних организациях, которых нет в справочнике «Контрагенты». Если контрагентов немного (они повторяются), то почему бы не завести им доп. реквизиты, а в ВПФ транспортной накладной их спокойно не получать, обращаясь к моей обработке?
Напрягся, вспомнил 77:
Как раз для 77 доп.справочник ни на что не повлияет 🙂
Спокойно его заводишь, делаешь обновления через «Объединить конфигурации» и все, твой справочник никогда не пропадет.
(8) Для восьмерки аналогично… Если сравнить, объединить с конфигурацией из файла.
http://infostart.ru/public/19784/ описывал.
Ограничение было — чтобы вовсе в конфигуратор не лезть. А так — «неразрушающее конфигурирование» я в
… уписаться можно: «неразрушающее конфигурирование» … до чего довела 1С …
… на семерке пол-страны ваяли «свои» конфигурации — это была норма !
… а на восьмерке — «неразрушающее конфигурирование» — уффф… это уже НОРМА !
… вотИГРАвотЦИВИЛИЗАЦИИвот …
(11) Это на семерке у меня было. Ваять свои — это одно, вдребезги уродовать типовые — это другое. слишком привольно было.
На восьмерке конфигурирование окружили всяческими затычками и ограничениями преднамеренно — чтобы непрофессионал быстренько утонул и побежал со своими деньгами в франчу (в конечном итоге, к Нуралиеву).
(12) … аха …
всегДА и везДЕ есть «критический уровень» … в 8-ке количество кода, и самое главное взаимовлияющих флажков (понатыканных из желания прижать программистов), зашкаливает за «разумные пределы» …
содержать всЮ эту «гору кода» не подсилу даже франчам с численностью в несколько человек … а стоимость этих услуг выражается только матом …
… какая ууужжж тууут производительность … вот …
Новость об оригинальной разработке, которая послужила основанием для вдохновения Арчибальда на написание своего альтернативного решения:
Акция Бесплатно* означает, что всем желающим до конца этого, 2011 года мы предоставляем возможность активировать рабочую версию программы БЕСПЛАТНО. Неограниченное количество копий. Техническая поддержка таких программ будет осуществляться на договорной основе, исходя из потребностей и возможностей клиента (платно, в отличие от обычной рабочей версии). Программные продукты, приобретенные ранее дают пользователю право на бесплатную техническую поддержку.
Помните! Если Вы скачали программу — Вы уже имеете право обратиться с вопросами по ее работе. Для этого не нужно ее сначала покупать. Выясните все тонкости у разработчика!
Мы заботимся о наших клиентах!
(14) Хочу все же уточнить, что от этой публикации мной взят только «бантик» — визуализация с помощью механизма ВПФ.
Я не скачивал то решение. Однако, судя по описанию, оно будет хорошим подспорьем пользователям, особенно, с учетом многообразия поддерживаемых типов доп. реквизитов — справочники, документы и др. Всем рекомендую — впрочем, мой плюсик за ту публикацию как раз и означает «рекомендую».
(15) Идея — это не бантик. Бантик — это красивая картинка на Вашем решении.
(16) Идея — это идея. В своем комментарии там я так ее и назвал. Для моей обработки она суть дополнение, поскольку некритична. Публикация отвечает на вопрос, как быть с доп. реквизитами, если нет ВПФ вообще. Так что ВПФ здесь — бантик. Необязательный.
(17) В случае, когда использование ВПФ не предусмотрено средствами конфигурации, приходится напрягаться: либо программисту, либо пользователю.
Можно реализовать механизм хранения данных вне вызова внешней печатной формы, исключительно в диалоговом окне некой формы… В этом случае саму форму надо куда-то встраивать. И тогда задумаешься — нужно ли это…
(18) Ну я же выложил: как программный, так и диалоговый вызов обработки получения доп. реквизитов. Насчет нужно/не нужно — см. пост 8.
(19) По теме сказать нечего , но мне на скачку $m не хватает.
Можно я у тебя в теме потолкаюсь ?
(20) Не ври, у тебя безлимит. Но потолкаться можешь 😉
Удобно, спасибо
Очень полезно, спасибо!
Отлично. Автор молодец
Спасибо!!!
Ничего.