Перехват стандартного ввода на основании
Вопрос такой. Есть самостоятельная конфигурация. Есть документ "Реализация". На основании его создаются документы "Отбор". В результате выполнения стандартной обработки заполнения в документе "Реализация" может быть создано ни одного, один или несколько отборов. Необходимо открывать созданные, но еще не записанные, документы "Отбор". В обычных формах эта ситуация обыгрывалась. Переводим конфигурацию на управляемые формы. Вот тут и встал вопрос. Каким образом открыть формы новых документов, если их несколько? Где можно вклинится в стандартный процесс создания на основании, что открыть эти документы(допустим записав и сохранив их предварительно в регистр сведений )
По теме из базы знаний
- Подсистема "Инструменты разработчика" v7.13.2
- Расширения конфигураций 1С: учимся перехватывать методы
- Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен
- Экселька. Универсальный инструмент, построенный по типу классических электронных таблиц, с возможностью использования данных 1С.
- Управление сборкой. Расширение для конфигурации СППР
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
В стандартный механизм ввода на основании можно вклиниться в процедуре модуля объекта ОбработкаЗаполнения(Основание).
Но тебе это наверное не подойдет, так как тебе нужно открывать формы всех создаваемых документов. Можно сделать собственную команду и создавать или открывать в ней что угодно.
Но тебе это наверное не подойдет, так как тебе нужно открывать формы всех создаваемых документов. Можно сделать собственную команду и создавать или открывать в ней что угодно.
Можно по открывать формы еще не записных объектов. Я так понимаю вы программно определяете насколько ордеров поделить. А потом используйте типа такого кода
&
// Можно использовать безконтекстный вызов, оптимизируем передачу данных
&
НаКлиенте
Процедура Команда(Команда)
Форма = ПолучитьФорму("Документ.НашДокумент.ФормаОбъекта");
ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную
ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее
Форма.Открыть();
КонецПроцедуры
Показать// Можно использовать безконтекстный вызов, оптимизируем передачу данных
&НаСервереБезКонтекста
Функция ЗаполнитьДокументНаСервере(ДанныеФормы);
Док = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.НашДокумент")); // Получаем объект из данных формы ИЛИ
Док = Документы.НашДокумент.СоздатьДокумент();
// Заполняем реквизиты объекта или другие действия ********
ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ
КонецФункции
Показать
Все выше перечисленные предложения я знаю. Они рабочие. Но проблема в том, что интересует возможность встроится именно в стандартный процесс. Есть куски кода, когда документы создаются через стандартный процесс создания на основании. Переделывать эти куски на альтернативные методы - большие трудозатраты.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот