mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 13:14:11 +00:00
+В списке добавлена группа колонок свойств настроек управляемого приложения
+Добавлена кнопка "Установить..." для установки настроек управляемого приложения выделенным пользователям
+В форме запуска под пользователем добавлен флажок "Режим интерфейса "Такси""
+Запуск под пользователем с флагом "Разрешить отладку" теперь сразу подключает текущий отладчик к запускаемому сеансу
Общее
+Команда "Запустить обычное приложение" теперь в обоих типах управляемого приложения открывает одинаковую форму, в которой добавлен включенный по умолчанию флажок "Текущий пользователь"
+Команда "Запустить связанный тонкий клиент" теперь передает имя текущего пользователя в строке соединения
+При включенной параметром запуска /EnableCheckModal проверке модальности теперь при первом в сеансе открытии любой формы подсистемы предлагается запуск нового сеанса без проверки модальности
Интерфейсная панель.
+В контекстном меню добавлена команда "Связанный динамический список", открывающая единое окно динамического списка, обновляющее список при активизации строки
Динамический список
+Добавлена кнопка "Связанный редактор объекта БД", открывающая прикрепленное окно редактора объекта БД, загружающее объект при активизации строки
+Реализовано автоматическое обновление отображаемых строк при записи объекта в редакторе объекта БД
*Реализован обход ошибки платформы установки табличному полю типа списка независимого непериодического регистра сведений без измерений
Редактор объекта БД
*Увеличена длина дробной части значений отбора набора записей
Контекстная подсказка
*Исправлена ошибка инициализации формы списка слов при отсутствии activex компоненты Forms20
Консоль запросов
*Кнопка "Найти в дереве запроса" теперь доступна только в режиме просмотра узла дерева запроса
*При сохранении узла дерева запроса, текущий узел теперь ищется не по именам, а по индексам узлов
*Исправлено зависание программы при копировании папки дерева запросов
*Исправлено некорректное определение имени узла дерева запроса в некоторых случаях при наличии функции ЗНАЧЕНИЕ(...)
*При выборе основного элемента результата пакетного запроса теперь игнорируются результаты уничтожения таблиц
Редактор табличного документа
+Добавлена кнопка "Сохранить"
3.70
Консоль компоновки данных
+В настройках компоновки в таблице условного оформления добавлен пример оформления текста в колонке "Пример"
Консоль кода
+Добавлено дерево алгоритмов
+Изменен формат файлов на t1c, старый формат f1c доступен только для открытия файлов
*После сохранения в файл теперь сбрасывается модифицированность формы
+Добавлена кнопка объединения с файлом
+Добавлено подменю последних открытых файлов
+Для булевых параметров реализовано отображение флажка
Консоль запросов
+При генерации текста модуля пакетного запроса теперь добавляется установка переменных вида "Индекс_<ИмяЗапроса>=<Индекс>" для всех именованных запросов
+Команде "Найти в дереве" назначено сочетание клавиш CTRL+T
+Для булевых параметров реализовано отображение флажка
*Исправлено некорректное отображение количества строк в дереве результата при наличии выборок итогов
Общее
*Исправлены ошибки работы подсистемы при наличии общего модуля с именем ОбменДанными
*Кнопка "Установить одинаковую ширину для всех колонок" заменена на "Расширить все колонки на 5 символов"
Синтакс-помощник
*Исправлено построение дерева, сломавшееся несколько версий назад
Управление службами серверов 1С
*Исправлена ошибка чтения служб при наличии службы сервера 1С без ключа "range" в строке запуска
Редактор объекта БД
+Для наборов записей добавлена фиксированная колонка картинки вида движения регистра накопления
+По умолчанию для списка движений теперь включен отбор "Только не пустые"
+Кнопка открытия редактора для таблицы движений теперь передает текущую строку
Подбор и обработка объектов
+Реализована поддержка журналов документов в однотабличном режиме
Динамический список
+В режиме выбора в заголовке теперь добавляется "(выбор)"
Интерфейсная панель
+Теперь уважает настройку использования "Динамический список / Основная форма списка"
3.69
Общее
+Вместо форм выбора теперь по умолчанию всегда открывается динамический список
-Кнопка "Редактировать список" для значения отбор компоновки везде удалена, теперь редактирование списка всегда выполняется в расширенном режиме
Динамический список
+Добавлен флажок "Вместо основной" сохраняемый в настройках пользователя в разрезе объектов метаданных, управляющий подменой форм выбора
Консоль компоновки
*Исправлена ошибка команды "переставить с родителем" для группировок колонок и строк таблиц
Контекстная подсказка
*Кнопка "Удалить переносы" теперь еще заменяет двойные кавычки обычными
Конструктор запросов
+Для списка доступных таблиц добавлена закладка-отбор "Параметр"
+При добавлении таблицы-параметра в выбранные таблицы сразу устанавливать тип запроса и имя временной таблицы
Консоль запросов
*Исправлена вычисление группировок итогов с закомментированным словом ОБЩИЕ
+Кнопки выполнения запроса разделены на "Выполнить отображаемый запрос (F7)" и "Выполнить полный запрос (F8)"
Редактор объекта БД
*Исправлена ошибка поиска значения в бизнес процессе
3.68
Редактор констант
+Добавлена частичная поддержка констант с типом значения "Хранилище значения"
Динамический список
+Добавлена кнопка открытия основной формы списка с передачей отбора, текущей строки и владельца формы
*Исправлена свежая ошибки открытия журнала документов
Менеджер табличного поля
*Исправлено ограничение типа значений элементов отбора
Редактор объекта БД
+В элементах управления колонок набора записей и движений реализован учет многострочного режима и других свойств из метаданных
*Исправлена свежая поломка привязок на вкладке "Связанные колонки"
Управление службами 1с
*Исправлено перезаполнение списка при изменении компьютера
Консоль запросов
+Реализовано сохранение и восстановление позиции в тексте запроса при переходе между запросами и переключении режима дерева запроса
+Для поля текста запроса добавлена команда "найти в дереве запроса" (текущую позицию в тексте запроса)
Поиск дублей и замена ссылок
*Исправлена свежая ошибка выполнения замены в иерархическом справочнике без флажка "Изменять поля по связям параметров выбора"
Расширенный ввод значений
+Добавлено распознавание навигационных ссылок
Общее
+Кнопка запуска связанного тонкого клиента теперь при повторном нажатии позволяет открыть в редакторе объекта БД один из открытых в связанном сеансе объектов
Контекстная подсказка
+Включена поддержка 8.3.8 в низкоуровневом получении описаний объектов
3.67
Управление службами серверов 1С
*Устранена ошибка открытия при наличии в строке соединения порта
*Исправлено открытие при ошибках подключения WMI
Консоль компоновки
*Исправлена ошибка расшифровки при наличии пользовательских настроек компоновки
+В панели настроек добавлена закладка "Пользовательские настройки" только для просмотра
+В подменю "Исследовать" добавлена команда "Пользовательские настройки"
+При сохранении варианта настроек добавлен пункт "<Новый>"
+Реализовано перетаскивание полей на строки-коллекции в структуре
Консоль запросов
*Исправлена некорректная работа команды "найти результат" дерева запроса
*Исправлена некорректная работа команды "Встроить из подзапроса" дерева запроса
Конструктор запросов
*Исправлено обновление представления условия связи при перетаскивании элементов отбора между связями
Подбор и обработка объектов
*Исправлены свежие ошибки при обработке подчиненных регистров сведений
Редактор объекта БД
*Исправлена недоступность для изменения основной формы измененного объекта
+Добавлена кнопка "Отрыть основную форму объекта по ссылке"
+При двойном клике по имени регистра в списке движений открывается его форма списка с отбором по регистратору
*Исправлен сломанный несколько версий назад расширенный ввод значений в поле Ссылка
Общее
+В панели инструментов добавлена кнопка "Запустить связанный тонкий клиент"
Интерфейсная панель
+Реализовано явное отображение пустых ссылок в дереве
Динамический список
+Добавлена команда "Редактор объекта БД ячейки"
Поиск дублей и замена ссылок
+При выполнении замены реализовано предотвращение зацикливания уровней путем поднятия до ближайшего корректного родителя
Настройка техножурнала
*Реализован обход проблемы платформы со смещением времени изменения файла на 1ч
3.66
+Добавлен инструмент "Управление службами серверов 1С"
Поиск дублей и замена ссылок
*Исправлена ошибка вывода сообщения об ошибке при отказе в записи независимых регистров сведений
*Исправлено неверное замещение неуникальных записей в подчиненных регистрах сведений
Подбор и обработка объектов
*Исправлены ошибки при работе с подчиненными регистрами сведений
Общее
*Исправлено восстановление пароля в форме подключения СУБД
*Исправлено свежее незапланированное изменение в поведении кнопки "Редактор объекта БД"
Консоль компоновки данных
*Кнопка "Исполняемый запрос" теперь открывает консоль запросов немодально
Различные значения колонки
+Добавлена кнопка "В список"
*Исправлено некорректное вычисление типов значений
Редактор объекта БД
+Реализована поддержка флагов "Многострочный режим" и "Расширенное редактирование" колонок табличных частей и наборов записей
241 lines
13 KiB
Plaintext
241 lines
13 KiB
Plaintext
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||
|
||
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
|
||
ВыборФайла.Каталог = КаталогФайловогоКэша;
|
||
Если Не ВыборФайла.Выбрать() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ЭтаФорма.КаталогФайловогоКэша = ВыборФайла.Каталог;
|
||
КаталогФайловогоКэшаПриИзменении();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||
|
||
Если Метаданные.Справочники.Найти("ДополнительныеОтчетыИОбработки") = Неопределено Тогда
|
||
Сообщить("Справочник внешних обработок БСП не обнаружен");
|
||
Отказ = Истина;
|
||
Возврат;
|
||
КонецЕсли;
|
||
ВерсияПлатформы = ирКэш.Получить().ВерсияПлатформы;
|
||
Элементы.НадписьНеРаботаютТочкиОстанова.Видимость = ВерсияПлатформы = 803006;
|
||
ПрочитатьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ПрочитатьНастройкиНаСервере()
|
||
|
||
Обработчик = ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс();
|
||
ЭтаФорма.ПерехватВнешнихОбработок = Обработчик <> Неопределено;
|
||
Если ПерехватВнешнихОбработок Тогда
|
||
ЭтаФорма.КаталогФайловогоКэша = Обработчик.КаталогФайловогоКэша;
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = ХранилищеСистемныхНастроек.Загрузить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл");
|
||
ОбновитьСписокНаСервере();
|
||
Иначе
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
КонецЕсли;
|
||
ОбновитьДоступность();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтладкаДляТекущегоПользователяПриИзменении(Элемент)
|
||
|
||
Если СозданиеВнешнихОбработокЧерезФайл Тогда
|
||
Если ЭтаФорма.ПерехватВнешнихОбработок <> Истина Тогда
|
||
ЭтаФорма.ПерехватВнешнихОбработок = Истина;
|
||
Если Не СохранитьНастройкиНаСервере() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура СохранитьНастройкиПользователяНаСервере()
|
||
|
||
ХранилищеСистемныхНастроек.Сохранить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл", СозданиеВнешнихОбработокЧерезФайл);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаПриИзменении(Элемент = Неопределено)
|
||
|
||
СохранитьНастройкиНаСервере();
|
||
ОбновитьСписокНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Функция СохранитьНастройкиНаСервере()
|
||
|
||
Если ПерехватВнешнихОбработок Тогда
|
||
ФайлКаталога = Новый Файл(КаталогФайловогоКэша);
|
||
Если Не ФайлКаталога.Существует() Тогда
|
||
Сообщить("Выбранный каталог недоступен серверу. Выберите другой каталог");
|
||
ПрочитатьНастройкиНаСервере();
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
Возврат Ложь;
|
||
КонецЕсли;
|
||
ирСервер.ВключитьПерехватВнешнихОбработокБСПЛкс(КаталогФайловогоКэша);
|
||
Иначе
|
||
ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс(Истина);
|
||
КонецЕсли;
|
||
//ПрочитатьНастройкиНаСервере();
|
||
Возврат Истина;
|
||
|
||
КонецФункции
|
||
|
||
&НаСервере
|
||
Процедура ОбновитьСписокНаСервере()
|
||
|
||
Список.Очистить();
|
||
ОбновитьДоступность();
|
||
Если Не ЗначениеЗаполнено(КаталогФайловогоКэша) Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст = "ВЫБРАТЬ
|
||
| ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка,
|
||
| ДополнительныеОтчетыИОбработки.ИмяФайла
|
||
|ИЗ
|
||
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|
||
|
|
||
|УПОРЯДОЧИТЬ ПО
|
||
| Ссылка
|
||
|АВТОУПОРЯДОЧИВАНИЕ";
|
||
Результат = Запрос.Выполнить().Выгрузить();
|
||
СравнениеЗначений = Новый СравнениеЗначений;
|
||
Для Каждого СтрокаРезультата Из Результат Цикл
|
||
СтрокаТаблицы = Список.Добавить();
|
||
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, СтрокаРезультата);
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(СтрокаТаблицы.Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
СтрокаТаблицы.ИмяФайла = Файл.Имя;
|
||
Если Файл.Существует() Тогда
|
||
Попытка
|
||
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
|
||
Исключение
|
||
Сообщить("Ошибка доступа к файлу """ + ПолноеИмяФайла + """: " + ОписаниеОшибки());
|
||
Продолжить;
|
||
КонецПопытки;
|
||
СтрокаТаблицы.ДатаИзмененияФайла = Файл.ПолучитьВремяИзменения() + ирКэш.ПолучитьСмещениеВремениЛкс();
|
||
СтрокаТаблицы.ФайлОтличаетсяОтХранилища = СравнениеЗначений.Сравнить(ДвоичныеДанныеФайла, СтрокаТаблицы.Ссылка.ХранилищеОбработки.Получить()) <> 0;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ОбновитьДоступность()
|
||
|
||
Элементы.ВнешниеОбработкиЗагрузитьИзФайла.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
|
||
Элементы.ВнешниеОбработкиОткрытьВОтладчике.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОбновитьСписок(Команда = Неопределено)
|
||
|
||
КлючСтроки = ирОбщий.ПолучитьКлючТекущейСтрокиЛкс(Элементы.Список);
|
||
ОбновитьСписокНаСервере();
|
||
ирОбщий.ВосстановитьТекущуюСтрокуТаблицыФормыЛкс(Элементы.Список, КлючСтроки, Список);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОткрытьВОтладчике(Команда)
|
||
|
||
#Если ТонкийКлиент Или ВебКлиент Тогда
|
||
Сообщить("Функция доступна только в толстом клиенте");
|
||
Возврат;
|
||
#КонецЕсли
|
||
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
|
||
Если ТекущиеДанные = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
Если Не Файл.Существует() Тогда
|
||
ТекущиеДанные.Ссылка.ХранилищеОбработки.Получить().Записать(ПолноеИмяФайла);
|
||
КонецЕсли;
|
||
ирКэш.Получить().ОткрытьФайлВКонфигураторе(ПолноеИмяФайла, "Модуль");
|
||
ОбновитьСписок();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВнешниеОбработкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||
|
||
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ПерехватВнешнихОбработокПриИзменении(Элемент)
|
||
|
||
Если Не ПерехватВнешнихОбработок Тогда
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
КонецЕсли;
|
||
СохранитьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ПрочитатьАктуальныеНастройки(Команда)
|
||
|
||
ПрочитатьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ЗагрузитьИзФайла(Команда)
|
||
|
||
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
|
||
Если ТекущиеДанные = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ЗагрузитьИзФайлаНаСервере(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
|
||
ОбновитьСписок();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервереБезКонтекста
|
||
Процедура ЗагрузитьИзФайлаНаСервере(Ссылка, КаталогФайловогоКэша)
|
||
|
||
#Если _ Тогда
|
||
Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка();
|
||
#КонецЕсли
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
Если Не Файл.Существует() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ОбъектМодуля = ВнешниеОбработки.Создать(Файл.ПолноеИмя, Ложь);
|
||
СведенияМодуля = ОбъектМодуля.СведенияОВнешнейОбработке();
|
||
Объект = Ссылка.ПолучитьОбъект();
|
||
Объект.Версия = СведенияМодуля.Версия;
|
||
Объект.ХранилищеОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Файл.ПолноеИмя));
|
||
Объект.Записать();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаОткрытие(Элемент, СтандартнаяОбработка)
|
||
|
||
ЗапуститьПриложение(КаталогФайловогоКэша);
|
||
СтандартнаяОбработка = Ложь;
|
||
|
||
КонецПроцедуры
|
||
|
||
|