Штатно при сохранении в файл печатной формы первым предлагается "родной" формат .mxl, а хотелось бы чтобы первым был excel (.xls / .xlxs), возможно ли?
Перехватить команду "сохранить как" и вызвать диалог выбора сохранения с шблоном файлов нужного порядка..?
В глобальном модуле расположить предопределенную процедуру и посмотреть какой код у команды сохранить. Потом перехватывать эту команду и свой диалог предлагать.
Вот пример как я перехватываю команду Помощь
Процедура ПриПолученииКомандыГлавнымОкном(Команда, НулевойПараметр, ФСО) //предопределенная FormEx
Если Команда = 57670 Тогда // нажата F1
ФСО = 0;
Возврат;
КонецЕсли;
КонецПроцедуры //ПриПолученииКомандыГлавнымОкном
Ну так-то тогда ничто не мешает просто в Меню - Файл добавить отдельный пункт меню для своего диалога. Как раз он тогда непосредственно за "Сохранить как" будет. Делал так с "Быстрым сохранением в Yoksel"
Цитата: Ветер в поле от 26 ноября 2025, 13:01В глобальном модуле расположить предопределенную процедуру и посмотреть какой код у команды сохранить.
ну дык я и предложил так...
Ну дык чукча не читатель, а писатель :)
Спасибо коллеги, я подозревал, что нужно копать в сторону Formex'а, но увы, не настолько хорошо с ним знаком
Можно формексовскую глобальную
ПриЗаписиТаблицы()
перекидываем входящую в табличный документ Йокселя и сохраняем как xlsx
Цитата: Злоп от 27 ноября 2025, 22:47Можно формексовскую глобальную
ПриЗаписиТаблицы()
перекидываем входящую в табличный документ Йокселя и сохраняем как xlsx
Для примера. У меня вот так реализован обход глюка сохранения больших таблиц:
Процедура ПриЗаписиТаблицы(КонтТаб, ИмяФайла, ФорматФайла, СтандартнаяОбработка)
Если ФорматФайла = 1 Тогда // xls
// Если КонтТаб.ВысотаТаблицы() > 100 Тогда
СтандартнаяОбработка = 0;
ТабличныйДокумент = СоздатьОбъект("ТабличныйДокумент");
ТабличныйДокумент.ЗагрузитьИзТаблицы(КонтТаб);
ТабличныйДокумент.Записать(ИмяФайла,"xls");
// КонецЕсли;
КонецЕсли;
КонецПроцедуры
Цитата: Злоп от 27 ноября 2025, 22:47Можно формексовскую глобальную ПриЗаписиТаблицы()
перекидываем входящую в табличный документ Йокселя и сохраняем как xlsx
так не совсем годится, данная процедура вызывается уже после диалога выбора способа записи, мне же нужно подменить начальный диалог, чтобы формат по умолчанию был не .mxl, а .xlx ... в идеале оставить только два .xlx и .pdf
Цитата: Ветер в поле от 26 ноября 2025, 13:01В глобальном модуле расположить предопределенную процедуру и посмотреть какой код у команды сохранить. Потом перехватывать эту команду и свой диалог предлагать.
хм ... не очень ясно как получить внешний контекст, то бишь саму сохраняемую таблицу, разве что через выгрузку в глобальную таблицу, но как то это ну совсем не кошерно :'(
Как много нам открытий чудных готовит просвещенья век...
Сервис,АктивныйКонтекс(Конт, Заголовок)
Читает формы, таблицы и тексты,
Не читает константы, историю и календари