Определить правила кода и поиска счетов без изменения плана

Учебные задачи

Хозрасчетный представляет счета кодом, серия кодов общая, поиск при вводе начинается с начала строки. Настройка обновления предопределённых данных читается, но обновление не запускается.

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

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

Подготовка

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

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

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

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

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

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

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

  1. Каждое свойство сравнивается со своим контейнером СвойстваОбъектов, а не с одинаково звучащей строкой.

  2. ОсновноеПредставление — способ показа счёта; СерииКодов и КонтрольУникальности — разные настройки проверки кода.

  3. Начало, НеИспользовать полнотекстовый поиск при вводе и Непосредственно описывают три разных части механизма выбора.

  4. ОбновлениеПредопределенныхДанных = Авто не вызывает обновление данным чтением. Никакая запись счёта не производится.

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

  1. Семь Истина по XML Хозрасчетный и два пояснения для будущего теста выбора.

  2. Повторное выполнение не меняет коды и предопределённые счета.

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

Для будущего пользовательского теста выбраны настройки реального плана.

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

  1. Не считать общую серию кодов доказательством фактического отсутствия дублей во всех данных.

  2. Глобальный полнотекстовый поиск и поиск при вводе по строке не один флаг.

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

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

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

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

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