Версия для печати темы (https://pro1c.org.ua/index.php?s=8e5260c04f11c60acd6bf665883f8ecc&showtopic=22985)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Помогите с передачей параметров во внешнюю обработку

Автор: kosalex 22.04.15, 14:16

Доброго времени суток! Есть внешняя обработка, и конфа БП КОРП (РФ), УФ. Обработку подключил, по кнопке "Печать" в документе "ТребованияНакладная" моя кнопка появляется.

Мне нужно по нажатию на добавленной кнопке открыть форму настроек, форма в самой обработке. У нее есть реквизиты "Объект" и т.п. Мне нужно чтобы в Объект попала ссылка на документ с которого была нажата кнопка. Как это сделать, что то ума не приложу.

Нужно при открытии формы "Настройки" передавать эту ссылку или как и где? ПОДСКАЖИТЕ !

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

Функция СведенияОВнешнейОбработке() Экспорт

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

    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Отчет о списании материалов ""ТребованияНакладной"" и ""ПоступлениеИзПереработки""");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Информация","by kos");
    
    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(ТаблицаКоманд,
        "Отчет о списании материалов",
        "0",
        "ОткрытиеФормы",
        Истина
    );

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

    Возврат ПараметрыРегистрации;
КонецФункции

Функция ПолучитьТаблицуКоманд()
  Команды = Новый ТаблицаЗначений;
  Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
  Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры


Автор: kosalex 22.04.15, 15:23

ПЛИЗ!ПОМОГИТЕ! Как моей обработке указать с какого документа она вызывается?

Автор: logist 22.04.15, 15:48

Вероятно по аналогии с

  МассивНазначений.Добавить("Документ.ПоступлениеИзПереработки");

Автор: kosalex 22.04.15, 16:02

Цитата(logist @ 22.04.15, 16:48) *
Вероятно по аналогии с
  МассивНазначений.Добавить("Документ.ПоступлениеИзПереработки");


Так это же для того чтобы обработка добавилась в спр. "ДополнительныеОтчетыИОбработки", когда уже на форме самого документа нажимаю "Печать", вижу свою печатную форму, нажимаю по ней, должна появиться моя форма настроек, в которой реквизит "СсылкаНаДокумент" дожен заполниться ссылкой на документ. Далее на форме настройки есть кнопка "Печать" по ее нажатию пользователь должен увидеть табличный документ.

Как это сделать?

Автор: logist 22.04.15, 16:24

В форме, ПриОткрытии открываете выбор ссылки. а затем стандартно обрабатываете результат выбора.

Автор: kosalex 22.04.15, 17:40

Цитата(logist @ 22.04.15, 17:24) *
В форме, ПриОткрытии открываете выбор ссылки. а затем стандартно обрабатываете результат выбора.

что значит открываете выбор ссылки? Вывести доки пользователю чтобы он выбрал ?

Мне надо, пользователь открывает документ, нажимает на кнопку "Печать", открывается список доступный печатных форм(типовой мех.), в этом списке есть моя подключенная внешняя обработка, когда я нажимаю на свою печатную форму, то открывает форма настройки отчета, где я смотрю что реквизит "СсылкаНаОбъект" не заполняется, как ее заполнить? Вообще по задумке, пользователь не будет видеть этот реквизит "СсылкаНаОбъект", а только настройки по выводу данных в табличный документ.

Автор: logist 22.04.15, 17:57

Внешние обработки не писал для УФ, а вот в печатной форме, в модуле обработки должна быть экспортная процедура Печать, и ее первый параметр это массив ссылок, который содержит ссылки документов которые были выделены пользователем в списке до нажатия на команду. Если ссылка одна, то это 0-й элемент массива.
Как это во внешней "обработке" хз smile.gif

Автор: kosalex 23.04.15, 7:00


Автор: kosalex 23.04.15, 8:57

Решил вопрос, позже отпишу код

Автор: le0nard_ 19.03.21, 16:54

Цитата(kosalex @ 23.04.15, 9:57) *
Решил вопрос, позже отпишу код


Спасибо что рассказали ответ

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua