Перестали работать стандартные команды (Печать, Сохранить, Отправить по почте) на внешней печатной форме

1. catlina 04.02.18 03:35 Сейчас в теме
После обновления бухгалтерии 3.0 с релиза 3.0.49 перестали работать стандартные команды на внешней печатной форме. Т.е, при нажатии на кнопку Печать, печати нет, но если нажимаешь Файл-Печать, то документ отправляется на печать. Если нажимаешь Сохранить как - пишет, что файл сохранен, но в каталоге его нет, при этом через меню файл, документ сохраняется. Если нажимаешь Отправить по почте, то письмо приходит с пустым вложением. Что это за чудеса? С чем связано, с изменением БСП или причина в чем-то другом?
Прикрепленные файлы:
+
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. pavl_vs 04.02.18 13:07 Сейчас в теме
(1), попробуйте почистить кэш и/или провести ТИИ.

Кстати, не указали до какого релиза обновились, и какая теперь платформа.
+
3. kild 89 04.02.18 13:15 Сейчас в теме
(1) Возможно нарушена последовательность обновления релизов. Каким способом обновляли?
+
4. catlina 04.02.18 13:36 Сейчас в теме
Пробовала на платформах 8.3.10.2667, 8.3.10.2505. Релиз бухгалтерии сейчас 3.0.56.22. Кэш чистила, тестирование базы проводила, в типовых документах, например, счет на оплату все работает, не работает во внешних печатных формах в дописанных документах. Обновляла релизы последовательно. Голову сломала, как это исправить, с 52 релиза поменялась БСП, процедуры и функции под нее переписала. Печатные формы появляются, но вот кнопки стандартные почему-то перестали работать как надо.
+
5. Rain88 373 04.02.18 20:27 Сейчас в теме
(4) Попробуйте поставить демо версию бухгалтерии вашего релиза и на ней проверить свои печатные формы. А вообще, по-хорошему бы увидеть ваш код формирования печатных форм. У вас печать вызывается из формы или из модуля объекта обработки?
Как вариант, пройтись отладчиком.
+
6. catlina 04.02.18 23:48 Сейчас в теме
Печатные формы проверить на демо-версии не получится, т.к. эти печатные формы к дописанному блоку документов, не к типовому. Печать вызывается из модуля объекта.
Код:

// + обязательные методы

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

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

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

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

    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Наименование", "Договор");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма договора к документу Проект");

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

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

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Док = МассивОбъектов[0];
	ТабДок = СформироватьПечатнуюФорму(Док);
	ИмяМакета		= "Макет";
	СинонимМакета	= "Договор";
	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабДок);
	
	Для Каждого Стр Из МассивОбъектов Цикл
		ОбъектыПечати.Добавить(Стр, Стр);
	КонецЦикла;

КонецПроцедуры // Печать()

// - обязательные методы
Показать
+
7. ben19791010 05.02.18 04:39 Сейчас в теме
(6)
к дописанному блоку документов
а эти документы добавлены в процедуру ?
Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
СписокОбъектов.Добавить(Документы.МойДок);
КонецПроцедуры
+
9. ben19791010 05.02.18 04:55 Сейчас в теме
10. catlina 05.02.18 09:30 Сейчас в теме
(9) Все это дописано. Кнопка печати есть на форме дописанного документа, при ее нажатии открываются печатные формы, визуально все нормально, но нажимаешь кнопку "Сохранить как" появляется окно выбора формата расширения, пишет файл сохранен в выбранном каталоге, но по факту файла нет.
+
8. ben19791010 05.02.18 04:45 Сейчас в теме
и что в модуле формы документа?
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	// СтандартныеПодсистемы.Печать
	УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);
	// Конец СтандартныеПодсистемы.Печать
	
КонецПроцедуры



Показать
+
11. Xershi 1484 05.02.18 09:35 Сейчас в теме
В БСП поменялись процедуры. Почитайте мануал как исправлять свои дописки.
+
12. catlina 05.02.18 09:42 Сейчас в теме
(11) Все что написано в мануале сделано, об этом и идет речь, прочитайте что написано наверху.
+
13. Xershi 1484 05.02.18 09:44 Сейчас в теме
(12) в мануале который написали на ИС?
+
15. catlina 05.02.18 09:46 Сейчас в теме
(13)Если можно, киньте ссылку на мануал, который Вы имеете ввиду
+
16. Xershi 1484 05.02.18 09:48 Сейчас в теме
(15) ссылки нету. Кто-то тему подымал. И детально расписывал что куда запихнуть нужно. У вас скорее всего код не преписан весь.
+
17. catlina 05.02.18 09:49 Сейчас в теме
14. azali 05.02.18 09:44 Сейчас в теме
(12)
Почистить кеш и т д.
+
18. catlina 20.02.18 15:59 Сейчас в теме
Отладчиком выяснила, что в Общей форме "Печать документов" в функции ПечатныеФормыПоОбъектам у меня
Область = Неопределено. Не могу понять почему? "ИмяОбласти" получает, а саму область нет и где эту область посмотреть???
&НаСервере
Функция ПечатныеФормыПоОбъектам(ПечатнаяФорма)
	Если ОбъектыПечати.Количество() = 0 Тогда
		Возврат Новый Структура("ОбъектыПечатиНеЗаданы", ПечатнаяФорма);
	КонецЕсли;
		
	Результат = Новый Соответствие;
	Для Каждого ОбъектПечати Из ОбъектыПечати Цикл
		ИмяОбласти = ОбъектПечати.Представление;
		Область = ПечатнаяФорма.Области.Найти(ИмяОбласти);
		Если Область = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ);
		ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма,
			УправлениеПечатью.КопируемыеСвойстваТабличногоДокумента());
		Результат.Вставить(ОбъектПечати.Значение, ТабличныйДокумент);
	КонецЦикла;
	Возврат Результат;
КонецФункции
Показать
+
20. catlina 21.02.18 15:48 Сейчас в теме
(19) Спасибо, это то, что нужно
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот