Тип: ОсновноеПредставлениеВидаРасчета. Описывает вид основного представления объектов базы данных (например, ВВидеКода, ВВидеНаименования).
Полное описание, параметры и ограничения
ОбъектМетаданных: ПланВидовРасчета.ОсновноеПредставление (MetadataObject: ChartOfCalculationTypes.DefaultPresentation)
ОбъектМетаданных: ПланВидовРасчета (MetadataObject: ChartOfCalculationTypes)
ОсновноеПредставление (DefaultPresentation)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: ОсновноеПредставлениеВидаРасчета.
Описывает вид основного представления объектов базы данных (например, ВВидеКода, ВВидеНаименования).
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Разобрать шесть назначений форм вида, списка и выбора
В минимальном плане нет пользовательских форм. Неопределено у назначения не означает, что платформа не может построить стандартную форму.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую базу, имя корня УчебныеРасчеты85. Не изменяйте рабочие ЗУП/КА2/УНФ/УТ/БП. Пример технический: зарплата, налоги и выплаты не рассчитываются.
Планы видов расчёта → Добавить: УчебныеНачисления85. ТипКода Строка, ДлинаКода 10, ДлинаНаименования 100. ИспользованиеПериодаДействия включено; ЗависимостьОтВидовРасчета=ПоПериодуДействия.
В настройке базовых планов видов расчёта выберите только сам УчебныеНачисления85. Это позволяет учебным видам ссылаться на другие виды того же плана. Предопределённые виды, пользовательские реквизиты и табличные части не создавайте.
Модули объекта/менеджера оставьте пустыми, регистры расчёта и бизнес-алгоритмы не добавляйте. Обновите конфигурацию БД и создайте серверный ВыполнитьПример() Экспорт собственной обработки.
Фрагмент вставляется внутрь процедуры. Все виды и строки зависимостей создаются только в памяти; Записать, блокировки, удаления объектов и привилегированный режим не вызываются.
Случайные ссылки зависимостей — ПЛАНОВЫЕ идентификаторы, соответствующих сохранённых видов нет. Они нужны для разбора типизированных списков, а не для запуска расчёта.
Для уроков схемы не создавайте формы, команды, макеты, дополнительные индексы, ввод на основании и расширения. Историю данных оставьте выключенной; флаги немедленного обновления истории и обработки после записи версии выключите.
Каждый фрагмент выполняется отдельно. Кроме специального сравнения схемы и объекта, уроки только читают метаданные. Выборки видов, расчётные регистры, смена режима и запись не вызываются.
Описание = Метаданные.ПланыВидовРасчета.Найти("УчебныеНачисления85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Создайте собственный план УчебныеНачисления85";
КонецЕсли;
Если Описание.ТипКода <> Метаданные.СвойстваОбъектов.ТипКодаПланаВидовРасчета.Строка
Или Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
Или Не Описание.ИспользованиеПериодаДействия
Или Описание.ЗависимостьОтВидовРасчета <> Метаданные.СвойстваОбъектов.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
КонецЕсли;
Если Описание.БазовыеВидыРасчета.Количество() <> 1
Или Не Описание.БазовыеВидыРасчета.Содержит(Описание) Тогда
ВызватьИсключение "Выберите только собственный план как базовый";
КонецЕсли;
Сообщить(Описание.Формы.Количество() = 0);
Сообщить(Описание.ОсновнаяФормаОбъекта = Неопределено);
Сообщить(Описание.ДополнительнаяФормаОбъекта = Неопределено);
Сообщить(Описание.ОсновнаяФормаСписка = Неопределено);
Сообщить(Описание.ДополнительнаяФормаСписка = Неопределено);
Сообщить(Описание.ОсновнаяФормаДляВыбора = Неопределено);
Сообщить(Описание.ДополнительнаяФормаДляВыбора = Неопределено);
Сообщить("Стандартные команды: " + Строка(Описание.ИспользоватьСтандартныеКоманды));
Сообщить("Основное представление: " + Строка(Описание.ОсновноеПредставление));
Сообщить("Способ редактирования: " + Строка(Описание.СпособРедактирования));
Сообщить("Способ выбора: " + Строка(Описание.СпособВыбора));
Сообщить("Справка в содержании: " + Строка(Описание.ВключатьСправкуВСодержание));Разбор по шагам
Сначала проверяем, что пользовательские формы действительно не созданы.
Раздельно проверяем основную/дополнительную форму объекта, списка и выбора.
Проверяем настройки использования интерфейса по фактическому выводу, не открывая окна и не выбирая вид.
Не обращаемся к Имя у отсутствующего назначения. Возможность автоматической формы не доказывает пригодность конкретного вида для расчёта.
Как проверить результат
Семь логических проверок дают Истина.
Диагностические значения совпадают с Конфигуратором. Ни форма, ни модальное окно этим кодом не открываются.
Ожидаемый результат
Разобраны назначения пользовательских форм и настройки их использования без путаницы с открытыми окнами.
На что обратить внимание
Описание формы в метаданных и экземпляр формы имеют разные API.
Форма выбора вида расчёта не выбирает сотрудника и не рассчитывает выплату.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Разделить базу вида расчёта и период регистрации начисления
План Начисления зависит от периода действия, а регистр Начисления имеет месячную периодичность. Это разные перечислимые свойства, даже если слово «период» встречается в обоих.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Варианты = Метаданные.СвойстваОбъектов;
Описание = Метаданные.ПланыВидовРасчета.Найти("Начисления");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует ПланыВидовРасчета.Начисления";
КонецЕсли;
Регистр = Метаданные.РегистрыРасчета.Найти("Начисления");
Если Регистр = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует РегистрыРасчета.Начисления";
КонецЕсли;
Сообщить(Описание.ЗависимостьОтВидовРасчета = Варианты.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия);
Сообщить(Регистр.Периодичность = Варианты.ПериодичностьРегистраРасчета.Месяц);
Сообщить(Описание.ТипКода = Варианты.ТипКодаПланаВидовРасчета.Строка);
Сообщить(Описание.ОсновноеПредставление = Варианты.ОсновноеПредставлениеВидаРасчета.ВВидеНаименования);
Если Описание.ЗависимостьОтВидовРасчета = Варианты.ИспользованиеБазыПланаВидовРасчета.ПоПериодуДействия Тогда
Сообщить("Для разбора базы изучайте интервалы действия, не только месяц регистрации");
КонецЕсли;
КодВнешнейСистемы = "00123";
Если Описание.ТипКода = Варианты.ТипКодаПланаВидовРасчета.Строка Тогда
Сообщить(КодВнешнейСистемы = "00123");
КонецЕсли;Разбор по шагам
Находим два разных объекта метаданных с одинаковым именем и проверяем оба результата поиска.
Период регистрации принадлежит регистру; зависимость от базовых видов — плану расчётов.
ТипКода проверяем до преобразования входящего кода: у строкового 00123 сохраняются нули.
ОсновноеПредставление определяет подпись вида расчёта, а не идентификатор обмена или сумму.
Как проверить результат
В предоставленном XML КА2 Progress пять сравнений Истина.
Ни формула начисления, ни сумма зарплаты не вычисляются. В базе нет новых записей.
Ожидаемый результат
Определены четыре самостоятельных контракта расчётной схемы.
На что обратить внимание
Месячная периодичность регистра не доказывает, что база считается по периоду регистрации.
Выбор перечислимого значения в условии не меняет настройки Конфигуратора.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.