Имя: Пароль:
1C
 
как вставить во внешнюю печ. форму ссылку на объект? УФ
0 Мисти
 
28.09.20
12:37
В кнопке печать появилась моя форма, при ее вызове - открывается обработка печати, так и должно быть, там надо задать несколько параметров, которых нет в документе, прежде чем напечатать, но ссылку на этот ддокумент надо же уже вывести! а как?
1 SadrArt
 
28.09.20
12:39
в МассивОбъектов же ваши ссылки.
2 Мисти
 
28.09.20
12:45
а где у меня в форме массивОбъектов?
3 SadrArt
 
28.09.20
12:51
(2) а где вы написали, что у вас форма открывается?
4 sqr4
 
28.09.20
12:52
Массив объектов передается параметром в процедуру модуля форма "ПриСозданииНаСервере"
5 Мисти
 
28.09.20
13:05
наверное, надо передать? Это я же и должна сделать? У меня не передается!
6 SadrArt
 
28.09.20
13:06
(4) нет такого
7 Галахад
 
гуру
28.09.20
13:12
При создании на сервере попробуй:

    ОбъектыНазначения.ЗагрузитьЗначения(Параметры.ОбъектыНазначения);
    СсылкаНаОбъект = ОбъектыНазначения[0].Значение;
8 SadrArt
 
28.09.20
13:12
(0) в сведениях на подключение что сейчас? Какой вид обработки? И какое использование для команды назначено?
9 SadrArt
 
28.09.20
13:16
(2) Во втором параметре ОбъектыНазначения должны быть ссылки в (1) я ошибся с именем переменной
10 Мисти
 
28.09.20
13:28
при создании обработки у меня нет в параметрах объектовНазначения
ПараметрыРегистрации = Новый Структура;
    
    Назначение = Новый Массив;
    Назначение.Добавить("Документ.КомплектацияНоменклатуры");

    ПараметрыРегистрации.Вставить("Назначение", Назначение);
    ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Печатная форма: Отчет Ц'"));
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Обработка формирования печатной формы: ""Отчет Ц""'"));
11 SadrArt
 
28.09.20
13:33
(10) Здесь нет нужной информации ПараметрыРегистрации.Вставить("Вид", ...) вместо точек у вас что?
12 SadrArt
 
28.09.20
13:34
(10) ДобавитьКоманду(ПараметрыРегистрации.Команды, "", "", "...") - вместо точек у вас что?
13 Мисти
 
28.09.20
13:35
Вид - печатная форма, такая строка есть
14 Мисти
 
28.09.20
13:39
Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    
    НоваяКоманда = Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Отчет Ц'");
    НоваяКоманда.Идентификатор = "Отчет Ц";
    НоваяКоманда.Использование = "Открытиеформы";
    НоваяКоманда.ПоказыватьОповещение = Истина;
    НоваяКоманда.Модификатор = "ПечатьMXL";
15 Мисти
 
28.09.20
13:39
как-то без этого обходится, я волшебные слова копирую их формы в форму.
16 SadrArt
 
28.09.20
13:42
Вот теперь картина вроде полная...

Надо строку


НоваяКоманда.Использование = "Открытиеформы";


поменять на


НоваяКоманда.Использование = "ВызовКлиентскогоМетода";


далее в форме обрабоотки определить метод
17 SadrArt
 
28.09.20
13:42
(16)


Печать(Идентификатор, ОбъектыНазначения) Экспорт
18 SadrArt
 
28.09.20
13:44
В этом методе первой строкой открыть саму форму, во втором параметре - ОбъектыНазначения будут ваши ссылки
19 Мисти
 
28.09.20
13:49
при печати - может, она и найдется! Мне нужно, чтобы она на форму вывелась при открытии!
20 SadrArt
 
28.09.20
13:51
(19) А что не получается?

Попробуйте вот так


&НаКлиенте
Процедура Печать(Идентификатор, ОбъектыНазначения)  Экспорт
    
    
    РеквизитВКоторыйВывестиНаФорму = ОбъектыНазначения[0];
    Открыть();
    
КонецПроцедуры

21 Мисти
 
28.09.20
13:56
процедура "печать" отрабатывает, когда уже нажмешь на кнопочку! Форма ы этот момент уже должна быть заполнена, а мне нужно, чтобы ссылка встала на место при открытии.
22 SadrArt
 
28.09.20
13:59
(21) Нет! если вы сделаете (16) процедура печать после кнопки не отработает.
Вообще, странно, Вы не пробуете представленное решение, а спорите на основании своих неверных теоретических знаний....

Я умываю руки. Решение выше работоспособно.
23 Мисти
 
28.09.20
14:01
Я пропустила 1 сообщение, сейчас попробую.
24 SadrArt
 
28.09.20
15:24
(4) Прошу прощения, действительно, передается.
25 Мисти
 
28.09.20
16:32
(22) получилось всё, спрасибо! Еще бы не забыть, уже ведь боролась с таким!
26 vicof
 
28.09.20
16:56
(25) Заскриншоть и фоном рабочего стола сделай
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший