Имя: Пароль:
1C
1С v8
После обновление КА с 2.5.12.135 на 2.5.12.167 перестали работать внешние печатные формы с
0 Ivanich
 
30.11.23
11:23
Есть подозрения, что связано с БСП. Было 3.1.7.526
Стало 3.1.9.144.

Может кто сталкивался? Куда копать?
1 DJ Anthon
 
30.11.23
11:23
Интрига в заголовке...
2 Ivanich
 
30.11.23
11:24
Поправлю заголовок: "Внешние печатные формы с диалогом выбора"
3 Ivanich
 
30.11.23
11:27
Проявляется так:
-Появляется диалог выбора. Пользователь его заполняет
-Нажимается кнопка "Печать" и ничего не происходит
4 Ivanich
 
30.11.23
11:31
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("50.06.0.0");
    
    ПараметрыРегистрации.Версия = "20230427";
    ПараметрыРегистрации.Вид = "ПечатнаяФорма";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ОтгрузкаТоваровСХранения");
    
    ДобавитьКоманду(ПараметрыРегистрации.Команды, "Акт возврата ТМЦ сданных на хранение (МХ-3) с параметрами",
    "Акт возврата ТМЦ сданных на хранение (МХ-3) с параметрами","ОткрытиеФормы",Истина,"ПечатьMXL");
    ДобавитьКоманду(ПараметрыРегистрации.Команды, "Акт возврата ТМЦ сданных на хранение (МХ-3)",
    "Акт возврата ТМЦ сданных на хранение (МХ-3)","ВызовСерверногоМетода",Истина,"ПечатьMXL");
    
    Возврат ПараметрыРегистрации;
    
КонецФункции
В обработке 2 команды:
1. С диалогом "ОткрытиеФормы" - она сломалась
2. Без диалога "ВызовСерверногоМетода" - продолжает работать
5 Гена
 
гуру
30.11.23
11:33
6 yzimin
 
30.11.23
12:24
1. С диалогом "ОткрытиеФормы" - она сломалась

всё правильно, формирование печатной формы идёт у вас из серверного модуля, а не из формы, наконец пофиксили
7 lopus
 
30.11.23
14:12
Насколько знаю, поменялись параметры для какой то функции БСП. Нужно вроде передавать коллекциюПечатныхФорм. Да это для  диалога открытие формы.
8 Ivanich
 
30.11.23
15:15
(5) Внимательно перечитал ссылку. Там рекомендации заменить "ОткрытиеФормы" на "ВызовСерверногоМетода". Это уже реализовано см.(4) вторая команда.
9 Ivanich
 
30.11.23
15:16
(6), (7)


&НаКлиенте
Процедура ПечатьИзФормы(Команда)
    
    СтандартнаяОбработка = Истина;
    
    ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника, ПараметрыПечати");
    ПараметрыОткрытия.ИсточникДанных    = Параметры.ДополнительнаяОбработкаСсылка;
    ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
    ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = Параметры.ИдентификаторКоманды;
    
    ОбъектыНазначения = Новый СписокЗначений;
    
    ДополнительныеПараметры = Новый Структура();
    ДополнительныеПараметры.Вставить("Хранитель", ЭтаФорма.Хранитель);
    ДополнительныеПараметры.Вставить("ДоговорХранения", ЭтаФорма.ДоговорХранения);
    ДополнительныеПараметры.Вставить("СрокХранения", ЭтаФорма.СрокХранения);
    ДополнительныеПараметры.Вставить("ОсобыеОтметки", ЭтаФорма.ОсобыеОтметки);
    ОбъектыНазначения.Добавить(ДополнительныеПараметры);
    
    Для каждого ОбъектНазначения Из Параметры.ОбъектыНазначения Цикл
        ОбъектыНазначения.Добавить(ОбъектНазначения); //Объект.СсылкаНаОбъект
    КонецЦикла;
    ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ОбъектыНазначения;

    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);

КонецПроцедуры
Вот здесь затык: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
10 Гена
 
гуру
30.11.23
15:22
(9) Где-то попадалось недавно, что кнопка "Печать" перестала реагировать, пока напрочь не выкинули даже упоминание об ОткрытьФорму и напрямую не прописали Вызов..., но сначала описав его, естественно.
Программист всегда исправляет последнюю ошибку.