Отличия в управляемом приложении при создании нового документа без сохранения объекта

05.05.16

Разработка - Механизмы платформы 1С

В обычном приложении «1С:Предприятие 8», если необходимо создать новый документ и без сохранения открыть его форму, мы просто создавали объект, наполняли его данными и открывали форму объекта. В управляемом приложении «1С:Предприятие 8» есть существенные отличия, которые я попытаюсь описать.

Скачать исходный код

Наименование Файл Версия Размер
ПримерСозданиеОперации.epf
.epf 19,74Kb
3
.epf 19,74Kb 3 Скачать

Как было в обычном приложении:

Создали объект, заполнили данными, не сохраняя открыли форму. Все просто.

В управляемом приложении немного сложенее.

Во-первых, обработчик команды метод клиентский, значит, мы не можем создать новый документ.

Во-вторых, архитектура управляемого приложения предполагает другой способ создания нового элемента. А именно:

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

2. На клиенте создаем форму, передав ей структуру для заполнения.

Выглядит это примерно так:

Тоже не сложно, если бы не несколько проблем.

Самое неприятное, что для каждого вида документов проблемы могут быть разные, все зависит от того как реализовано событие ОбработкаЗаполнения у конкретного документа. Опишу те, с которыми я столкнулся.

При создании документа ОперацияБух все отлично, но не заполняется дата документа. Это связяно с тем, что у стандартного реквизита "Дата" не указано "Заполнять из данных заполнения".

 

Решить проблему можно двумя способами. 

Можно изменить это свойство, но для этого конфигурацию надо снять с поддержки.

Второй способ заключается в том, что в клиентском методе мы заменим вызов процедуры ОткрытьФорму на следующую конструкцию: 

 Собственно, подобным образом решаются и другие проблемы возникающие при создании новых документов.

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

Решить проблему поможет подобная конструкция: 

В файлах находится обработка, демонстрирующая все вышесказанное на примере конфигураций Бухгалтерия предприятие 2.0 и 3.0.

Обработка является примером создания документов без сохранения нового объекта в управляемом и неуправляемом приложении. 

Управляемое приложение создание нового УФ ОткрытьФорму

См. также

Сервисы интеграции без Шины и интеграции

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    2546    dsdred    16    

57

Поинтегрируем: сервисы интеграции – новый стандарт или просто коннектор?

Обмен между базами 1C Администрирование СУБД Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.17 появился замечательный механизм «Сервисы интеграции». Многие считают, что это просто коннектор 1С:Шины. Так ли это?

11.03.2024    5849    dsdred    53    

82

Как готовить и есть массивы

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    5827    YA_418728146    25    

67

Планы обмена VS История данных

Обмен между базами 1C Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Вы все еще регистрируете изменения только на Планах обмена и Регистрах сведений?

11.12.2023    6943    dsdred    36    

113

1С-ная магия

Механизмы платформы 1С Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    19027    SeiOkami    46    

118

Дефрагментация и реиндексация после перехода на платформу 8.3.22

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Начиная с версии платформы 8.3.22 1С снимает стандартные блокировки БД на уровне страниц. Делаем рабочий скрипт, как раньше.

14.09.2023    12736    human_new    27    

76

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    9365    YA_418728146    6    

143

Внешние компоненты Native API на языке Rust - Просто!

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешние компоненты для 1С можно разработывать очень просто, пользуясь всеми преимуществами языка Rust - от безопасности и кроссплатформенности до удобного менеджера библиотек.

20.08.2023    6518    sebekerga    54    

95
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fragster 1139 05.05.16 18:03 Сейчас в теме
Рекомендую почитать раздел синтакс помощника "Расширение управляемой формы для документа" и методическую информацию по параметрам формы из этого раздела.
+
2. Bassgood 1428 05.05.16 22:48 Сейчас в теме
(0) Метод "ОткрытьФорму" и так возвращает открытую форму, поэтому использовать метод "ПолучитьФорму" не имеет смысла, при описанном здесь способе открытия формы происходит два контекстных вызова сервера (каждым из методов), вместо возможного одного.
+
3. nbeliaev 830 06.05.16 16:06 Сейчас в теме
Оставьте свое сообщение