ПланСчетовСсылка.<Имя плана счетов>.ИмяПредопределенныхДанных

Свойства · PredefinedDataName

Тип: Строка. Имя предопределенного элемента, как оно задано в конфигурации. Если указано пустое имя, элемент не будет предопределенным. Если указано недопустимое имя, будет вызвано исключение.

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

ПланСчетовСсылка.<Имя плана счетов>.ИмяПредопределенныхДанных (ChartOfAccountsRef.<Chart of accounts name>.PredefinedDataName)

ПланСчетовСсылка.<Имя плана счетов> (ChartOfAccountsRef.<Chart of accounts name>)

ИмяПредопределенныхДанных (PredefinedDataName)

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

Использование:
Только чтение.
Описание:
Тип: Строка.
Имя предопределенного элемента, как оно задано в конфигурации.
Если указано пустое имя, элемент не будет предопределенным.
Если указано недопустимое имя, будет вызвано исключение.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение.

Примечание:
Поле обладает особенностями сортировки (сортировка выполняется не по алфавиту).
Использование в версии:

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

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

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

Проверить паспорт ссылки собственного определения счёта без проводок

Определение счёта временно записывается в свою транзакцию. Код, вид, порядок, пустая аналитика и признаки читаются по настоящей ссылке; это не денежные данные.

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

Полный серверный модуль своей НОВОЙ пустой учебной конфигурации по подготовке; платформа 8.5.1.1343. При записи всегда откат, рабочие данные не используются. Здесь не запускался.

Подготовка

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

  2. Планы видов характеристик → Добавить: УчебныеАналитики85. Тип значения только Строка 30. Элементы, дополнительные реквизиты, табличные части и предопределённые значения не создавайте.

  3. Планы счетов → Добавить: УчебныеСчета85. ДлинаКода 10, МаскаКода @@@.@@@.@@, ДлинаНаименования 100, ДлинаПорядка 20. АвтоПорядокПоКоду выключен, КонтрольУникальности включён. ВидыСубконто=УчебныеАналитики85, МаксКоличествоСубконто=2.

  4. У плана нет пользовательских реквизитов/табличных частей, признаков учёта и предопределённых счетов. История выключена, регистров бухгалтерии, проводок и реальных остатков нет. Это технический опыт типов, не методология учёта.

  5. Опыт с маской @@@.@@@.@@ использует строковые коды. Не переносите его сравнения на иной числовой/немаскированный план. АвтоПорядокПоКоду выключен: Порядок хранится отдельно от кода.

  6. Модули собственных объектов/менеджеров пустые, подписок, расширений и внешних действий нет. Не используйте рабочую базу или её копию с действующими обработчиками.

  7. Код здесь в 1С не запускался. HTML показывает урок: проверены исходники и установленная справка именно 8.5.1.1343, но запись/открытие формы в ваших базах не выполнялись.

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

  9. Непустая плановая ссылка не подтверждает существование записи; перед чтением данных отсутствующая запись исключается отдельно.

  10. В собственной базе создайте серверный общий модуль УчебныеСсылкиПланов, вставьте ВЕСЬ модуль одного урока. ВыполнитьПример() Экспорт вызывайте из собственной процедуры формы с &НаСервереБезКонтекста. Обновите конфигурацию БД.

  11. Опыт записи допускается только вне чужой транзакции. Внутри своей транзакции создаются исключительно новые собственные записи; при успехе и ошибке выполняется откат. Не заменяйте его фиксацией.

  12. Записанные собственные ссылки запоминаются сразу после записи. После отмены каждая проверяется на ПолучитьОбъект=Неопределено. Никакого удаления по имени, первой строке или всей коллекции нет.

Процедура ВыполнитьПример() Экспорт
    Описание = Метаданные.ПланыСчетов.Найти("УчебныеСчета85");
    Если Описание = Неопределено Тогда
        ВызватьИсключение "Сначала создайте собственный план УчебныеСчета85";
    КонецЕсли;
    Если Описание.ДлинаКода <> 10 Или Описание.ДлинаНаименования <> 100
        Или Описание.ДлинаПорядка <> 20 Или Описание.МаскаКода <> "@@@.@@@.@@"
        Или Описание.АвтоПорядокПоКоду Или Описание.МаксКоличествоСубконто <> 2 Тогда
        ВызватьИсключение "Настройки учебного плана не соответствуют подготовке";
    КонецЕсли;
    Если Описание.ВидыСубконто = Неопределено Тогда
        ВызватьИсключение "Назначьте собственный план аналитик";
    КонецЕсли;
    Если Описание.ВидыСубконто.Имя <> "УчебныеАналитики85" Тогда
        ВызватьИсключение "Нужны только собственные учебные аналитики";
    КонецЕсли;
    Менеджер = ПланыСчетов.УчебныеСчета85;
    Если ТранзакцияАктивна() Тогда
        ВызватьИсключение "Не запускайте урок внутри чужой транзакции";
    КонецЕсли;
    СозданныеСсылки = Новый Массив;
    НачатьТранзакцию();
    Попытка
        Найденная = Менеджер.НайтиПоКоду("41.1");
        Если Найденная <> Неопределено Тогда
            Если Не Найденная.Пустая() Тогда
                ВызватьИсключение "Свой код опыта уже занят: не изменяйте существующий счёт";
            КонецЕсли;
        КонецЕсли;
        Счет = Менеджер.СоздатьСчет();
        Счет.Код = "41.1";
        Счет.Наименование = "Собственное определение счёта";
        Счет.Вид = ВидСчета.Активный;
        Счет.Забалансовый = Ложь;
        Счет.Порядок = "OWN-ORDER-01";
        Счет.Записать();
        СозданныеСсылки.Добавить(Счет.Ссылка);
        Читаемая = Счет.Ссылка;
        Сообщить(Читаемая.Код = "41.1");
        Сообщить(ТипЗнч(Читаемая.Код) = Тип("Строка"));
        Сообщить(Читаемая.Наименование = "Собственное определение счёта");
        Сообщить(Читаемая.Ссылка = Читаемая);
        Сообщить(Читаемая.Родитель.Пустая());
        Сообщить(Читаемая.Вид = ВидСчета.Активный);
        Сообщить(Не Читаемая.Забалансовый);
        Сообщить(Читаемая.ВидыСубконто.Количество() = 0);
        Сообщить(Читаемая.Порядок = "OWN-ORDER-01");
        Сообщить(Не Читаемая.ПометкаУдаления);
        Сообщить(Не Читаемая.Предопределенный);
        Сообщить(Читаемая.ИмяПредопределенныхДанных = "");
        Сообщить(ТипЗнч(Читаемая.ВерсияДанных) = Тип("Строка"));
        Сообщить("Это определение счёта, не проводка, не сумма и не остаток. Субконто пусты");
        ОтменитьТранзакцию();
    Исключение
        Если ТранзакцияАктивна() Тогда
            ОтменитьТранзакцию();
        КонецЕсли;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Не ТранзакцияАктивна());
    Для Каждого СозданнаяСсылка Из СозданныеСсылки Цикл
        Сообщить(СозданнаяСсылка.ПолучитьОбъект() = Неопределено);
    КонецЦикла;
КонецПроцедуры

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

  1. Проверить отсутствие чужой транзакции и занятости собственного кода. Существующий счёт не использовать.

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

  3. Временно записать только своё определение, запомнить настоящую ссылку.

  4. Проверить все readonly-свойства; ВидыСубконто — специальная табличная часть настроек, здесь пустая.

  5. Отделить свой ручной Порядок от кода, а строку версии от бухгалтерского остатка.

  6. Отменить транзакцию и проверить отсутствие своего записанного определения.

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

  1. Тринадцать сравнений паспорта Истина.

  2. Нет регистров бухгалтерии, проводок и вычисления денежных остатков.

  3. После отката своего счёта нет, транзакция закрыта.

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

Все двенадцать свойств ссылки счёта разобраны на собственном определении с откатом.

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

  1. Прикладной Тип существует только после создания указанных собственных метаданных. В функциональный Новый массив передаёт аргументы конструктора.

  2. Свойства ссылки не присваиваются. Для изменения копии используется именно новый объект, который возвращает Скопировать.

  3. Уровень пустой ссылки вызывает исключение; иерархические методы используются только у записанных собственных объектов внутри транзакции.

  4. Откат БД не отменяет внешние действия обработчиков. Поэтому конфигурация пустая, модули/подписки без сети, печати, файлов и почты.

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

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

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

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

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