Перестали работать стандартные команды (Печать, Сохранить, Отправить по почте) на внешней печатной форме
После обновления бухгалтерии 3.0 с релиза 3.0.49 перестали работать стандартные команды на внешней печатной форме. Т.е, при нажатии на кнопку Печать, печати нет, но если нажимаешь Файл-Печать, то документ отправляется на печать. Если нажимаешь Сохранить как - пишет, что файл сохранен, но в каталоге его нет, при этом через меню файл, документ сохраняется. Если нажимаешь Отправить по почте, то письмо приходит с пустым вложением. Что это за чудеса? С чем связано, с изменением БСП или причина в чем-то другом?
Прикрепленные файлы:

Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Пробовала на платформах 8.3.10.2667, 8.3.10.2505. Релиз бухгалтерии сейчас 3.0.56.22. Кэш чистила, тестирование базы проводила, в типовых документах, например, счет на оплату все работает, не работает во внешних печатных формах в дописанных документах. Обновляла релизы последовательно. Голову сломала, как это исправить, с 52 релиза поменялась БСП, процедуры и функции под нее переписала. Печатные формы появляются, но вот кнопки стандартные почему-то перестали работать как надо.
(4) Попробуйте поставить демо версию бухгалтерии вашего релиза и на ней проверить свои печатные формы. А вообще, по-хорошему бы увидеть ваш код формирования печатных форм. У вас печать вызывается из формы или из модуля объекта обработки?
Как вариант, пройтись отладчиком.
Как вариант, пройтись отладчиком.
Печатные формы проверить на демо-версии не получится, т.к. эти печатные формы к дописанному блоку документов, не к типовому. Печать вызывается из модуля объекта.
Код:
Код:
// + обязательные методы
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.Проект");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Наименование", "Договор");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма договора к документу Проект");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Договор", "Макет", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Док = МассивОбъектов[0];
ТабДок = СформироватьПечатнуюФорму(Док);
ИмяМакета = "Макет";
СинонимМакета = "Договор";
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабДок);
Для Каждого Стр Из МассивОбъектов Цикл
ОбъектыПечати.Добавить(Стр, Стр);
КонецЦикла;
КонецПроцедуры // Печать()
// - обязательные методы
Показать
(9) Все это дописано. Кнопка печати есть на форме дописанного документа, при ее нажатии открываются печатные формы, визуально все нормально, но нажимаешь кнопку "Сохранить как" появляется окно выбора формата расширения, пишет файл сохранен в выбранном каталоге, но по факту файла нет.
и что в модуле формы документа?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.Печать
УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);
// Конец СтандартныеПодсистемы.Печать
КонецПроцедуры
Показать
Отладчиком выяснила, что в Общей форме "Печать документов" в функции ПечатныеФормыПоОбъектам у меня
Область = Неопределено. Не могу понять почему? "ИмяОбласти" получает, а саму область нет и где эту область посмотреть???
Область = Неопределено. Не могу понять почему? "ИмяОбласти" получает, а саму область нет и где эту область посмотреть???
&НаСервере
Функция ПечатныеФормыПоОбъектам(ПечатнаяФорма)
Если ОбъектыПечати.Количество() = 0 Тогда
Возврат Новый Структура("ОбъектыПечатиНеЗаданы", ПечатнаяФорма);
КонецЕсли;
Результат = Новый Соответствие;
Для Каждого ОбъектПечати Из ОбъектыПечати Цикл
ИмяОбласти = ОбъектПечати.Представление;
Область = ПечатнаяФорма.Области.Найти(ИмяОбласти);
Если Область = Неопределено Тогда
Продолжить;
КонецЕсли;
ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ);
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма,
УправлениеПечатью.КопируемыеСвойстваТабличногоДокумента());
Результат.Вставить(ОбъектПечати.Значение, ТабличныйДокумент);
КонецЦикла;
Возврат Результат;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот