Переходим в общий модуль, от куда мы взяли функцию ПечатьСчетаНаОплату , находим процедуру ВывестиЗаголовокПредупреждение , и копируем ее в модуль внешней обработки.
Создание связных объектов, как аналог «Создания на основании» в конфигурациях на основе БСП
Не все знают, что конфигурации на основе БСП (УТ 11, БП 3.0, ЗУП 3.0 и т.д.) имеют механизм, который позволяет создавать связанные объекты, что в какой-то мере является аналогом создания на основании.
Понятно, что многие гуру знают об этой возможности, но статья все же не для них. Предупреждаю сразу. 🙂
// Вид — строка — возможные значения:
// «ДополнительнаяОбработка»
// «ДополнительныйОтчет»
// «ЗаполнениеОбъекта»
// «Отчет»
// «ПечатнаяФорма»
// «СозданиеСвязанныхОбъектов»
Поговорим о последнем виде. Как оказалось — это достаточно мощная возможность добавить новый функционал без необходимости непосредственного изменения конфигурации. Лучше всего рассмотрим на примере:
Задача: Есть УТ 11, с одним складом и несколькими складскими помещениями и ордерной схемой работы. При закупке имеем следующее:
Необходимо: Добавить возможность создания документа «Ордер на перемещение товаров» на основании «Приходного ордера».
// Добавим куда нужно вставить возможность создания на основании
МассивНазначений = Новый Массив ;
МассивНазначений . Добавить ( «Документ.ПриходныйОрдерНаТовары» );
// Добавим команду
ДобавитьКоманду (
ТаблицаКоманд ,
«Ордер на перемещение товаров» ,
«Ордер на перемещение товаров» ,
«ВызовКлиентскогоМетода» ,
Истина
);
ПараметрыРегистрации . Вставить ( «Команды» , ТаблицаКоманд );
Процедура ДобавитьКоманду ( ТаблицаКоманд , Представление , Идентификатор , Использование , ПоказыватьОповещение = Истина, Модификатор = «» )
НоваяКоманда = ТаблицаКоманд . Добавить ();
НоваяКоманда . Представление = Представление ;
НоваяКоманда . Идентификатор = Идентификатор ;
НоваяКоманда . Использование = Использование ;
НоваяКоманда . ПоказыватьОповещение = ПоказыватьОповещение ;
НоваяКоманда . Модификатор = Модификатор ;
Добавляем форму, в которой описываем перезаполнение:
&НаКлиенте
Процедура ВыполнитьКоманду ( ИдентификаторКоманды , ОбъектыНазначенияМассив , СозданныеОбъекты ) Экспорт
//Переберем все выбранные документы на основании, которых будет созданы другие новые документы
Для каждого Элемент из ОбъектыНазначенияМассив Цикл
//Получая форму объекта создаваемого документа
ФормаДок = ПолучитьФорму ( «Документ.ОрдерНаПеремещениеТоваров.ФормаОбъекта» );
//Далее мы получаем объект только, что созданной формы и помещаем её в переменную
//В объекте содержатся все реквизиты (элементы) формы
ДанныеФормы = ФормаДок . Объект ;
//Мы помещаем объект формы в переменную,
//так как должны передать её в процедуру на сервере,
//где нельзя изменять объект формы, зато можно править переменную содержащую его
СоздатьНовыйДокумент ( Элемент , ДанныеФормы );
Внешняя обработка в 1С 8.3
Метод для копирования значений между данными формы доступен на сервере и на клиенте, так как не требует прикладных объектов в качестве параметров.
Подключение внешней обработки в 1С
Перед тем, как подключать внешнюю обработку к типовой конфигурации, необходимо включить использование этого инструмента. В «Администрировании» в подпункте «Печатные формы, отчеты и обработки» устанавливаем флаг напротив нужного нам механизма. Нам становится доступна кнопка перехода к справочнику дополнительных обработок и отчетов.
- Указать размещение объекта. Нажатием на «Не определено» мы открываем окно разделов и укажем, в каких разделах будет доступна операция;
- Выбрать пользователей, у которых данная команда появится в меню «Дополнительные обработки» выбранных разделов без лишних настроек. Для этого в табличной части нужно выбрать пункт «Быстрый доступ» и добавить в правую половину ответственных пользователей;
- На вкладке «Дополнительная информация» вы можете указать папку, в которой будет находиться загруженная обработка;
- После нажатия клавиши «Записать» в выбранном разделе в меню «Дополнительные обработки» пользователи обнаружат нашу команду и смогут ею воспользоваться.
Работа с внешними обработками весьма удобна и позволяет избежать многих конфликтов. Единственный их существенный недостаток – они не обновляются автоматически вместе с конфигурацией. То есть, если разработчики поменяли название документа или справочника в основной конфигурации, нам придется вручную выполнять настройку обработки.
Промокоды на Займер на скидки
Данные объекта (для 1С 8.1, 1С 8.2, 1С 8.3)
Внешняя обработка в 1С 8.3
Чтобы создать новую внешнюю обработку, используем конфигуратор. Через меню «Файл» выбираем команду создания «Новый…» и определяемся, что мы будем создавать внешнюю обработку. В открывшемся окне задаем имя, и при нажатии «Enter» оно заполняется автоматически. Также это имя вам предложит система в качестве названия файла при сохранении.
Добавим форму обработки, нажав на кнопку с изображением лупы в соответствующем окне. Для примера создадим обработку, показывающую, в каких заказах клиента используется определенная номенклатура. Для этого нам необходимо разместить на форме:
Добавляем реквизит «Номенклатура» с типом данных «СправочникСсылка.Номенклатура» в соответствующем разделе и кнопку «Показать» в меню «Команды» -> «Команды формы».
Мы выбрали создание процедуры на сервере, так как хотим в качестве результата получить выборку из базы данных. На клиенте у нас нет такой возможности, поэтому потребуется подключение к серверу, который и обменивается с БД данными. Теперь нам необходимо написать код, который реализует задуманное нами. Будет использоваться запрос и вывод всех документов через функцию «Сообщить()».
Чтобы разместить внешнюю обработку в разделе 1С, необходимо ей в модуле объекта прописать процедуру «СведенияОВнешнейОбработке». В основном меню обработки нажмите «Действия» и выберите «Модуль объекта». Здесь необходимо прописать все нужные для 1С настройки, чтобы система поняла, что от нее требуется и что за файл перед ней. На скриншоте изображен код функции «СведенияОВнешнейОбработке».
При выполнении команды проверим идентификатор формы и поскольку операция меняет данные, то перед выполнением обработки табличной части зададим вопрос о целесообразности этой процедуры а то может быть пользователь случайно активировал команду.
1C Открыть Форму Обработки Того же Объекта
Обработка показывает все реквизиты выбранного объекта, позволяет их редактировать, а также сравнить два объекта одного типа. Поддерживает любые конфигурации, в типовые устанавливается автоматически.
Текущая версия: для обычных форм 1.09, для управляемых 1.12.
Обработка очень полезна, например, в таких случаях:
обновился релиз конфигурации и в документ добавилось новое поле (скрытое, но форме его нет). При этом для новых документов оно устанавливается при их создании, а про старые естественно забыли. Что для пользователя выражается в том, что два совершенно одинаковых документа дают разные проводки 🙁
просто содержимое поля не лезет в отведенное ему на форме место, а надо просмотреть полностью (особенно этим страдают табличные части — разработчики очень любят ограничивать ширину колонок и вдобавок не давать ее изменять)
надо перейти к связанной информации (например, открыть указанную в накладной ГТД) только вот это поле забыли сделать доступным (т.е. ни кнопки с точками или лупой ни F4) (а еще бывает что вместо поля ввода делают поле выбора, надпись или поле вообще на форме отсутствует 🙁 )
Отличительными особенностями являются
вывод всех реквизитов объекта со ссылками, что позволяет быстро открыть любую ссылку из имеющихся в объекте
возможность подключения к типовым конфигурациям в качестве печатной формы (т.е. в чисто пользовательском режиме, конфигуратор не нужен)
Внимание : Данный вариант установки работает только в типовых конфигурациях 1С.
Открыт обработку, действовать по инструкции на экране. (Т.е. нажать кнопку «Установка в правом верхнем углу и в следующем окне подтвердить установку.
Внимание: Данный вариант установки работает только в типовых конфигурациях 1С.
1. Перейти в раздел «Администрирование» и там — «Дополнительные отчеты и обработки».
2. Нажать кнопку «Добавить» и выбрать файл dannye-objecta-upr.epf
Из формы документа, элемента справочника. либо формы списка
Выбрать в меню «Данные объекта» — откроется форма обработки
Для просмотра реквизита (например в документе ест реквизит «Договор», он недоступен для изменения. а Вам надо открыть карточку этого договора). В форме обработки кликнуть по значению реквизита.
Для изменения реквизита — установить галочку рядом со значением. После этого значение можно изменить.
Для сохранения изменений — нажать кнопку небходимого варианта сохранения запись в режиме «обмен данными — загрузка», обычная запись. проведение (только для документов).
Если нужно часть измененных реквзиитов записать а часть ен записывать — снимите галочки напротив того, что ен надо записывать.
В обработке есть «Данные реквизита» — это все равно как Вы бы открыли значение по ссылке (например, карточку контрагента) и в нем повторно вызвали обработку.
2. Вызвав обработку из одного объекта, затем (не закрывая окна) из другого. Будет предложени осуществить сравнение.
Вопрос при закрытии формы
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы