• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Как лучше организовать хранение стандартных фраз у документов

  • Автор темы micis
  • Дата начала
M

micis

Имеется некоторое количество документов. У каждого есть реквизит "Заключение" (и подобные) - тип "строка". Надо позволить пользователю при вводе документа заполнять это поле из справочника (точнее, дописывать в это поле стандартные фразы).
Как удобнее хранить эти фразы, что бы максимально задействовать стандартные возможности 1с?

В начале я хотел сделать справочник стандартных фраз со следующими реквизитами:
1. "Тип" - это ссылка на перечисление, в котором указываются все нужные реквизиты документов - "Заключение", "ДопДанные" и т.д.
2. "Документ" - строка с именем типа документа.
3. "Текст" - строка - собственно сама фраза.

Но не нравится мне здесь сложность реализации. Точнее не сложность (так сделать я смогу), а лишний код в каждом документе (выбрать нужные фразы и вставить их в список выбора у полей ввода). Может есть более красивое решение?
 
Z

Zab

Написать глобальную функцию в которю вынести "лишний код"?
 
G

Guest

Как удобнее хранить эти фразы, что бы максимально задействовать стандартные возможности 1с?
Ну, раз уж всё так точно. <_< У фраз нет объектной сущности - лучше регистр сведений.
Вместо строкового хранения типа документа может быть лучше хранить пустые ссылки на документы. При вводе в регистр давать пользователю выбирать тип (по T), но очищать при выборе конкретного документа.
Красиво будет сделать план видов характеристик, тогда можно будет не только текстовые фразы вводить, но и ссылки, которые автоматически заменяются представлениями при вводе в документе. Как раз и регистр пригодится.
 
M

micis

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

Guest

Берём за основу пример из "псалтыря от программирования" - Радченко "Практическое пособие разработчика". И заменяем названия.
Справочник "ВариантыНоменклатуры" => "Документ" (тип документа);
ПВХ "СвойстваНоменклатуры" => "Типы" (поля ввода);
справочник "ДополнительныеСвойстваНоменклатуры" => "Фразы" (собственно строки);
р/с "ЗначенияСвойствНоменклатуры" => "ЗначенияДляПодстановки".

1) Зачем нужен регистр? В одном варианте он будет содержать те же 3 колонки и задавать соответствие тип_документа-поле_ввода-набор_воможных_значений.
В другом варианте, ссылка на "тип документов" будет в элементе ПВХ, а регистр нужен, чтобы хранить конкретное значение "по-умолчанию" для определённого поля в определённом документе. Для пользователя сделать интерфейс, чтобы мог легко изменять это значение и уже его использовать в документах без необходимости даже выбирать из списка. Например, в документе есть поле "Юрисдикция" -> в ПВХ создаём элемент для выбора из типов (Организация, ЗначенияДляПодстановки) -> в регистре в один день указываем организацию, а в другой день произвольную строку.
2) Читаем там же: план видов характеристик не имеет внутренних предопределенных механизмов привязки вида характеристики к тому объекту, который должен описывать этот вид характеристики. Поэтому "Документ" не обязательно делать справочником - можно и просто как "тип" (пустая ссылка).
3) Полагаю, для этой задачи более близкий пример из типовых конфигураций не ПВХ "СвойстваОбъектов", а ПВХ "ВопросыДляАнкетирования".
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!