По теме из базы знаний
- Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки
- Автоматизация торговой деятельности как путь к лидерству на рынке. Часть 2
- Открытие формы подключаемой внешней обработки без записи документа
- Запуск фонового задания с прогрессом во внешней обработке независимо от места вызова на Библиотеке стандартных подсистем
- Где деньги, Зин? Или как загрузить информацию из банка, если у вас 200 000 операций в день?
Найденные решения
Вот сделал обработку , которая просто сообщает Имя физлица , из формы которого была запущена.
В модуле объекта , вы можете получить любые данные по этому объекту и сделать с ними что угодно...
В модуле объекта , вы можете получить любые данные по этому объекту и сделать с ними что угодно...
Прикрепленные файлы:
ТЕСТ23.epf
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Конфа 1С Документооборот, на управляемых формах. Там есть справочник ВнутренниеДокументы. Вот туда хочу прикрепить. При вызове обработки никакая форма отрываться не должна, должна выполняться функция. Вот как в этой функции обратиться именно к тому элементу справочника, с формы которого запущена обработка, я не понимаю.
"ЭтотОбъект.Ссылка" - это ссылка на вашу обработку если она прописана в модуле объекта, а вам нужно получить ссылку на элемент справочника.
Объект.Ссылка - есть только в формах.
Объект.Ссылка - есть только в формах.
Вот вам пример для регистрации обработки в вашем справочнике (поменяйте ФизЛица на ваш)
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Справочник.ФизическиеЛица");
ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Наименование", "Заполнить Адрес"+ПараметрыРегистрации.Версия);
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Дополнительная обработка элемента справочника ФизЛица");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Заполнить Адрес "+ПараметрыРегистрации.Версия,
"Заполнить Адрес "+ПараметрыРегистрации.Версия,
"ОткрытиеФормы", Истина);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Показать
Вот сделал обработку , которая просто сообщает Имя физлица , из формы которого была запущена.
В модуле объекта , вы можете получить любые данные по этому объекту и сделать с ними что угодно...
В модуле объекта , вы можете получить любые данные по этому объекту и сделать с ними что угодно...
Прикрепленные файлы:
ТЕСТ23.epf
(8) За идею получения из ОбъектыНазначенияМассив спасибо, именно это мне и было нужно. Только не работает, хотя вроде всё сделал как надо:
Выдаёт странную ругань:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(3124)}: Итератор для значения не определен
Для Каждого ПолноеИмяОбъектаМетаданных Из РегистрационныеДанные.Назначение Цикл
Что это за нафиг?
Функция СведенияОВнешнейОбработке() Экспорт
ИмяОбработки = "Создание задач по эксель-файлу с мероприятиями СВА";
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", Неопределено);
ПараметрыРегистрации.Вставить("Наименование", ИмяОбработки);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", ИмяОбработки);
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, ИмяОбработки, "СозданиеЗадачПоМероприятиямСВА", "ВызовСерверногоМетода");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
Если ИдентификаторКоманды = "СозданиеЗадачПоМероприятиямСВА" Тогда
СозданиеЗадачПоМероприятиямСВАНаСервере(ОбъектыНазначенияМассив[0].Ссылка);
КонецЕсли;
КонецПроцедуры
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
ПоказатьВыдаёт странную ругань:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(3124)}: Итератор для значения не определен
Для Каждого ПолноеИмяОбъектаМетаданных Из РегистрационныеДанные.Назначение Цикл
Что это за нафиг?
Вы свою попробуйте создать обработку с нуля, и просто в модуль объекта вставьте весь текст из моей, исправив только то что вам необходимо.
Так быстрее...
А по сути у вас не задано Назначение !
Так быстрее...
А по сути у вас не задано Назначение !
(10) Да, именно в этом была проблема. Задал назначение:
Теперь работает. Осталось понять, где она должна появиться. Потому что на форме этой команды нигде не появилось.
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Справочник.ВнутренниеДокументы");
Теперь работает. Осталось понять, где она должна появиться. Потому что на форме этой команды нигде не появилось.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот