Открыть обычную форму ссылки собственной заявки по номеру и интервалу

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

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

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

Полный модуль собственной ОБЫЧНОЙ формы обработки, толстый клиент с обычным приложением 8.5.1.1343. Собственная заявка FORM-85; здесь не запускался.

Подготовка

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

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  6. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

  7. Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.

  8. У своего документа и товара модули пустые, подписок, расширений и внешних обработчиков нет. История данных выключена; проведение УчебнаяЗаявка запрещено, движения/регистры не создаются.

  9. Номер заявки здесь строковый длиной 9, с автонумерацией. Для иной числовой нумерации нельзя копировать проверки Строка. Дата задаётся собственным литералом, не читается из рабочего документа.

  10. Свойства ссылки readonly. Непустой UUID/ссылка не означает наличие записи, а ВерсияДанных — непрозрачная строка, не номер документа или версия конфигурации.

  11. Примеры здесь не запускались в 1С. Только код и установленная справка 8.5.1.1343; ваши документы не создавались, не проводились и не удалялись.

  12. В своей УчебнаяЗаявка создайте ОБЫЧНУЮ форму документа УчебнаяФормаСсылкиЗаявки с пустым модулем. Поля Номер/Дата/Комментарий недоступны для редактирования; кнопок Записать/Провести/ОК/Удалить нет.

  13. Вручную создайте одну собственную непроведённую заявку: Номер FORM-85, Дата 06.10.2026 12:00:00, Комментарий Собственная заявка формы. Этот просмотр не требует строк Товары. Сохраните её заранее в своей учебной базе, не в рабочей.

  14. Запускайте толстый клиент с обычным приложением. Создайте у своей обработки обычную форму с кнопкой ПоказатьУчебнуюЗаявку, вставьте весь модуль в её модуль формы. ЭтаФорма — настоящий владелец окна.

  15. ДатаИнтервала определяет область поиска для периодической нумерации, не точное время искомого документа. Поэтому точная дата проверяется отдельно после поиска.

  16. После просмотра закройте окно без сохранения; серверные транзакционные уроки сюда не вставляйте.

Процедура ПоказатьУчебнуюЗаявку(Кнопка)

    Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
        ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
    КонецЕсли;
    Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте собственную УчебнаяЗаявка";
    КонецЕсли;

    СсылкаЗаявки = Документы.УчебнаяЗаявка.НайтиПоНомеру("FORM-85", Дата(2026, 10, 6));
    Если СсылкаЗаявки = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте собственную заявку по указанному номеру";
    КонецЕсли;
    Если СсылкаЗаявки.Пустая() Тогда
        ВызватьИсключение "Собственная подготовленная заявка в нужном интервале не найдена";
    КонецЕсли;
    Если СсылкаЗаявки.Дата <> Дата(2026, 10, 6, 12, 0, 0)
        Или СсылкаЗаявки.Проведен Или СсылкаЗаявки.ПометкаУдаления Тогда
        ВызватьИсключение "Дата или состояние не совпали с собственной подготовленной заявкой";
    КонецЕсли;
    СвояЗаявка = СсылкаЗаявки.ПолучитьОбъект();
    Если СвояЗаявка = Неопределено Тогда
        ВызватьИсключение "Собственная заявка отсутствует";
    КонецЕсли;
    Если СвояЗаявка.Комментарий <> "Собственная заявка формы" Тогда
        ВызватьИсключение "Не совпала дополнительная собственная метка";
    КонецЕсли;
    КлючОкна = Новый УникальныйИдентификатор;
    ФормаЗаявки = СсылкаЗаявки.ПолучитьФорму("УчебнаяФормаСсылкиЗаявки", ЭтаФорма, КлючОкна);
    Если ФормаЗаявки = Неопределено Тогда
        Сообщить("Создание формы отклонено, открытие не выполнено");
        Возврат;
    КонецЕсли;
    ФормаЗаявки.Открыть();
    Сообщить("Открыта только собственная обычная форма, документ не записывался кодом");
КонецПроцедуры

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

  1. Проверить точную платформу, свою новую конфигурацию и подготовленные метаданные.

  2. Найти только заданный номер в его интервале; отдельно проверить Неопределено и пустую ссылку.

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

  4. Получить именованную обычную форму с владельцем ЭтаФорма и новым ключом окна.

  5. Обработать Неопределено до Открыть; код ничего не записывает и не держит транзакцию.

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

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

  2. Отсутствующая/неподходящая заявка и отказ создания не объявляются успехом.

  3. Записи, проведения, удаления и сетевых действий в коде нет.

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

Толстоклиентский контракт формы ссылки применён к проверенной собственной заявке с корректным поиском номера.

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

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

  2. Номер в этой подготовке Строка, не UUID и не гарантированно универсальный ключ обмена.

  3. ПолучитьФорму — обычная Форма толстого клиента, не универсальное управляемое ОткрытьФорму.

  4. HTML не запускает код; ручные действия оператора не входят в подтверждённый результат заполнения.

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

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

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

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

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