Платформа: 8.3.20.1710
Режим БД: клиент-серверный
Конфигурация. Название: Управление производственным предприятием для Украины, редакция 1.3 (1.3.67.2)
Конфигурация. Основной режим запуска: Обычное приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_10
Конфигурация. Версия БСП: 102
Инструменты разработчика. Версия: Портативный 6.41.2p
Инструменты разработчика. Инструмент: Прочее
Инструменты разработчика. Перехват клавиатурного ввода: Нет
Инструменты разработчика. Объекты на сервере: Нет
Инструменты разработчика. Серверный модуль: Нет
Клиент. Приложение: Обычное приложение 64б
Клиент. Проверка модальных вызовов: Нет
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru
Клиент. ОС: Майкрософт Windows 10 Корпоративная LTSC 64-разрядная Русский
Клиент. ОС от имени администратора: Да
Клиент. ОС Текущая кодовая страница: 866
Если выбираем файл - объединить, имя отчета меняется на имя того отчета, который мы добавляем.
Что не совсем верно. Допустим, у меня в первом файле 100 отчетов и мне нужно добавить один из второго.
В результате во втором файле окажется 101 отчет (первый + второй) и открытый изначально нами отчёт потеряется, ведь мы окажемся уже в совсем другом.
Набросал решение (после закомментированного блока - для наглядности)
Код
Процедура ОткрытьФайлОтчетов(ОчиститьПередЗагрузкой = Истина)
Если СохранитьЗапросыВФайл(Истина) Тогда
Длг = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Длг.ПолноеИмяФайла = ИмяФайла;
Длг.Каталог = ИмяПути;
Длг.Заголовок = НСтр("ru='Выберите файл со списком отчетов'");
Длг.Фильтр = ирОбщий.ФильтрДляВыбораФайлаЛкс("rcf", "Файл консоли построителя отчетов");
Длг.Расширение = "rcf";
//Если Длг.Выбрать() Тогда
// ИмяФайла = Длг.ПолноеИмяФайла;
// ИмяПути = Длг.Каталог;
// ЗагрузитьЗапросыИзФайла(Ложь, ОчиститьПередЗагрузкой);
// Если ОчиститьПередЗагрузкой Тогда
// ОчиститьРезультаты();
// ТекущаяСтрока = НеОпределено;
// КонецЕсли;
// СохранитьИмяФайла();
//КонецЕсли;
Если Длг.Выбрать() Тогда
мИмяФайла = ИмяФайла;
мИмяПути = ИмяПути;
ИмяФайла = Длг.ПолноеИмяФайла;
ИмяПути = Длг.Каталог;
ЗагрузитьЗапросыИзФайла(Ложь, ОчиститьПередЗагрузкой);
Если ОчиститьПередЗагрузкой Тогда
ОчиститьРезультаты();
ТекущаяСтрока = НеОпределено;
СохранитьИмяФайла();
Иначе
ИмяФайла = мИмяФайла;
ИмяПути = мИмяПути;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры