ОбъектМетаданных: ПланВидовРасчета.ОсновноеПредставление

Свойства · DefaultPresentation

Тип: ОсновноеПредставлениеВидаРасчета. Описывает вид основного представления объектов базы данных (например, ВВидеКода, ВВидеНаименования).

Полное описание, параметры и ограничения

ОбъектМетаданных: ПланВидовРасчета.ОсновноеПредставление (MetadataObject: ChartOfCalculationTypes.DefaultPresentation)

ОбъектМетаданных: ПланВидовРасчета (MetadataObject: ChartOfCalculationTypes)

ОсновноеПредставление (DefaultPresentation)

Доступен, начиная с версии 8.1.

Использование:
Только чтение.
Описание:
Тип: ОсновноеПредставлениеВидаРасчета.
Описывает вид основного представления объектов базы данных (например, ВВидеКода, ВВидеНаименования).
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Разобрать шесть назначений форм вида, списка и выбора

В минимальном плане нет пользовательских форм. Неопределено у назначения не означает, что платформа не может построить стандартную форму.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу, имя корня УчебныеРасчеты85. Не изменяйте рабочие ЗУП/КА2/УНФ/УТ/БП. Пример технический: зарплата, налоги и выплаты не рассчитываются.

  2. Планы видов расчёта → Добавить: УчебныеНачисления85. ТипКода Строка, ДлинаКода 10, ДлинаНаименования 100. ИспользованиеПериодаДействия включено; ЗависимостьОтВидовРасчета=ПоПериодуДействия.

  3. В настройке базовых планов видов расчёта выберите только сам УчебныеНачисления85. Это позволяет учебным видам ссылаться на другие виды того же плана. Предопределённые виды, пользовательские реквизиты и табличные части не создавайте.

  4. Модули объекта/менеджера оставьте пустыми, регистры расчёта и бизнес-алгоритмы не добавляйте. Обновите конфигурацию БД и создайте серверный ВыполнитьПример() Экспорт собственной обработки.

  5. Фрагмент вставляется внутрь процедуры. Все виды и строки зависимостей создаются только в памяти; Записать, блокировки, удаления объектов и привилегированный режим не вызываются.

  6. Случайные ссылки зависимостей — ПЛАНОВЫЕ идентификаторы, соответствующих сохранённых видов нет. Они нужны для разбора типизированных списков, а не для запуска расчёта.

  7. Для уроков схемы не создавайте формы, команды, макеты, дополнительные индексы, ввод на основании и расширения. Историю данных оставьте выключенной; флаги немедленного обновления истории и обработки после записи версии выключите.

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

Описание = Метаданные.ПланыВидовРасчета.Найти("УчебныеНачисления85");
Если Описание = Неопределено Тогда
    ВызватьИсключение "Создайте собственный план УчебныеНачисления85";
КонецЕсли;
Если Описание.ТипКода <> Метаданные.СвойстваОбъектов.ТипКодаПланаВидовРасчета.Строка
    Или Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
    Или Не Описание.ИспользованиеПериодаДействия
    Или Описание.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
    ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
КонецЕсли;
Если Описание.БазовыеВидыРасчета.Количество() <> 1
    Или Не Описание.БазовыеВидыРасчета.Содержит(Описание) Тогда
    ВызватьИсключение "Выберите только собственный план как базовый";
КонецЕсли;
Сообщить(Описание.Формы.Количество() = 0);
Сообщить(Описание.ОсновнаяФормаОбъекта = Неопределено);
Сообщить(Описание.ДополнительнаяФормаОбъекта = Неопределено);
Сообщить(Описание.ОсновнаяФормаСписка = Неопределено);
Сообщить(Описание.ДополнительнаяФормаСписка = Неопределено);
Сообщить(Описание.ОсновнаяФормаДляВыбора = Неопределено);
Сообщить(Описание.ДополнительнаяФормаДляВыбора = Неопределено);
Сообщить("Стандартные команды: " + Строка(Описание.ИспользоватьСтандартныеКоманды));
Сообщить("Основное представление: " + Строка(Описание.ОсновноеПредставление));
Сообщить("Способ редактирования: " + Строка(Описание.СпособРедактирования));
Сообщить("Способ выбора: " + Строка(Описание.СпособВыбора));
Сообщить("Справка в содержании: " + Строка(Описание.ВключатьСправкуВСодержание));

Разбор по шагам

  1. Сначала проверяем, что пользовательские формы действительно не созданы.

  2. Раздельно проверяем основную/дополнительную форму объекта, списка и выбора.

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

  4. Не обращаемся к Имя у отсутствующего назначения. Возможность автоматической формы не доказывает пригодность конкретного вида для расчёта.

Как проверить результат

  1. Семь логических проверок дают Истина.

  2. Диагностические значения совпадают с Конфигуратором. Ни форма, ни модальное окно этим кодом не открываются.

Ожидаемый результат

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

На что обратить внимание

  1. Описание формы в метаданных и экземпляр формы имеют разные API.

  2. Форма выбора вида расчёта не выбирает сотрудника и не рассчитывает выплату.

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

Разделить базу вида расчёта и период регистрации начисления

План Начисления зависит от периода действия, а регистр Начисления имеет месячную периодичность. Это разные перечислимые свойства, даже если слово «период» встречается в обоих.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

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

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

Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.ПланыВидовРасчета.Найти("Начисления");
Если Описание = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует ПланыВидовРасчета.Начисления";
КонецЕсли;
Регистр = Метаданные.РегистрыРасчета.Найти("Начисления");
Если Регистр = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует РегистрыРасчета.Начисления";
КонецЕсли;
Сообщить(Описание.ЗависимостьОтВидовРасчета = Варианты.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия);
Сообщить(Регистр.Периодичность = Варианты.ПериодичностьРегистраРасчета.Месяц);
Сообщить(Описание.ТипКода = Варианты.ТипКодаПланаВидовРасчета.Строка);
Сообщить(Описание.ОсновноеПредставление = Варианты.ОсновноеПредставлениеВидаРасчета.ВВидеНаименования);
Если Описание.ЗависимостьОтВидовРасчета = Варианты.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
    Сообщить("Для разбора базы изучайте интервалы действия, не только месяц регистрации");
КонецЕсли;
КодВнешнейСистемы = "00123";
Если Описание.ТипКода = Варианты.ТипКодаПланаВидовРасчета.Строка Тогда
    Сообщить(КодВнешнейСистемы = "00123");
КонецЕсли;

Разбор по шагам

  1. Находим два разных объекта метаданных с одинаковым именем и проверяем оба результата поиска.

  2. Период регистрации принадлежит регистру; зависимость от базовых видов — плану расчётов.

  3. ТипКода проверяем до преобразования входящего кода: у строкового 00123 сохраняются нули.

  4. ОсновноеПредставление определяет подпись вида расчёта, а не идентификатор обмена или сумму.

Как проверить результат

  1. В предоставленном XML КА2 Progress пять сравнений Истина.

  2. Ни формула начисления, ни сумма зарплаты не вычисляются. В базе нет новых записей.

Ожидаемый результат

Определены четыре самостоятельных контракта расчётной схемы.

На что обратить внимание

  1. Месячная периодичность регистра не доказывает, что база считается по периоду регистрации.

  2. Выбор перечислимого значения в условии не меняет настройки Конфигуратора.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.