mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 05:04:11 +00:00
*Исправлена ошибка команды "Структура формы"
Административная регистрация com-компонент
+Добавлена кнопка "Запустить от имени администратора"
*Исправлено выполнение административной регистрации под пользователем домена, являющимся локальным администратором
Общее
*Устранены проблемы с антивирусным ПО путем возврата к использованию старой версии утилиты hstart
Подбор и обработка объектов
+В схему компоновки добавлены поля-функции ТИПЗНАЧЕНИЯ() от полей составных типов
3.78
Консоль запросов
*Устранено ошибочное использование параметров в фигурных скобках при наличии параметра с типом "Выражение СКД"
+В подменю "Вставка" для поля текста запроса добавлена команда "Ссылка из буфера"
*Исправлено вычисление значений параметров для вложенных компоновок из макета компоновки
*Исправлено некорректное извлечение вычисляемых параметров из макета компоновки
Конструктор запроса
+Добавлена поддержка типа запроса TRUNCATE TABLE
+Для запроса типа WQL при двойном клике на доступном поле доступной таблицы поле теперь добавляется в выбранные поля
Анализ журнала регистрации
+Реализованы команды сортировки для списков значений отбора
*Исправлено долгое обновление табличного поля отбора с большими списками
Динамический список
*В командую панель возвращены все стандартные кнопки
*При открытии с установкой таблицы фокус ввода теперь устанавливается в табличное поле
Редактор объекта БД
*Инструмент "Поиск ссылок на объект" перенесен сюда в виде закладки
+Добавлена поддержка перечислений и точек маршрута
Интерфейсная панель
*Исправлены ошибки при обработке веток не метаданных
Общее
+Обновлено внутренне описание платформы от версии 8.3.9
*Исправлены ошибки при открытии ссылок в режиме совместимости 8.1
*Обеспечена компипяция в режиме совместимости 8.3.9
*Кнопка открытия настроек справочника Алгоритмы перенесена с общей панели инструментов в формы списка справочника
Различные значения колонки
*Исправлены ошибки при обработке булевых колонок
Консоль кода
+В подменю "Вставка" добавлена команда "Ссылка из буфера"
Поиск дублей и замена ссылок
*Исправлен учет равенства реквизитов при поиске по похожим словам
Структура хранения БД
*Исправлена ошибка при нажатии "Показать индекс" в контекстном меню таблицы "Наборы полей" на закладке "Индексы"
Поиск ссылок на объект
*Перенесен в инструмент "Редактор объекта БД" в виде закладки
3.77
Общее
*Элевация оставлена только в форме административной регистрации COM-компонент, в настройке техножурнала и при изменении параметров служб сервера 1С
*Элевация теперь используется только если у учетной записи Windows есть административные права
*Улучшены сообщения пользователю при проблемах регистрации COM компонент
*Открытие формы объекта по двойному клику на ячейках табличных полей теперь выполняется без получения объекта
*Улучшена установка ширины динамически добавляемых колонок табличных полей
Административная регистрация COM компонент
+Добавлены кнопки "Снять флажки" и "Установить флажки"
Редактор объекта БД
*Исправлено распознавание ссылки документа по представлению в поле выбора объекта
*Исправлено переключение режима редактирования независимого регистра при изменении отбора командами "снять все" и "установить все"
Динамический список
*При открытии редактора объекта БД для добавления в независимый регистр сведений теперь включаются все элементы отбора
Консоль запросов
*Устранена ошибочная доступность для изменения флажков в коллекции результата запроса
*Исправлена ошибка загрузки результата WQL запроса
3.76
Управление службами сервера 1С
*Улучшена диагностика ошибок
+Добавлена элевация при изменении параметров служб
Динамический список
*Устранено свежее скрытие колонки со стандартной картинкой
Интерфейсная панель
+Добавлены перечисления
Консоль запросов
*Исправлена ошибка загрузки пустого результата запроса MSSQL
Редактор констант
+Включение функциональных опций теперь изменяет только булевы константы и не выполняет их запись
*Реализован пропуск ошибок записи констант
Конструктор запросов
*Устранена ошибочная виртуальная таблица 1С ЗадачиПоИсполнителю у задачи без адресации
Редактор объекта БД
*Флажок "Очищать по отбору чтения" теперь становится доступным только если в считанном наборе записей были строки
+В режиме менеджера записи регистра сведений реализовано удаление
*Исправлена свежая ошибка параметризованного открытия строки независимого регистра сведений
Общее
*Исправлена ошибка нажатия "Запустить обычное приложение" в тонком клиенте из формы "Невозможно выполнить действие"
241 lines
13 KiB
Plaintext
241 lines
13 KiB
Plaintext
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
|
||
|
||
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
|
||
ВыборФайла.Каталог = КаталогФайловогоКэша;
|
||
Если Не ВыборФайла.Выбрать() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ЭтаФорма.КаталогФайловогоКэша = ВыборФайла.Каталог;
|
||
КаталогФайловогоКэшаПриИзменении();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||
|
||
Если Метаданные.Справочники.Найти("ДополнительныеОтчетыИОбработки") = Неопределено Тогда
|
||
Сообщить("Справочник внешних обработок БСП не обнаружен");
|
||
Отказ = Истина;
|
||
Возврат;
|
||
КонецЕсли;
|
||
ВерсияПлатформы = ирКэш.Получить().ВерсияПлатформы;
|
||
Элементы.НадписьНеРаботаютТочкиОстанова.Видимость = ВерсияПлатформы = 803006;
|
||
ПрочитатьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ПрочитатьНастройкиНаСервере()
|
||
|
||
Обработчик = ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс();
|
||
ЭтаФорма.ПерехватВнешнихОбработок = Обработчик <> Неопределено;
|
||
Если ПерехватВнешнихОбработок Тогда
|
||
ЭтаФорма.КаталогФайловогоКэша = Обработчик.КаталогФайловогоКэша;
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = ХранилищеСистемныхНастроек.Загрузить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл");
|
||
ОбновитьСписокНаСервере();
|
||
Иначе
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
КонецЕсли;
|
||
ОбновитьДоступность();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОтладкаДляТекущегоПользователяПриИзменении(Элемент)
|
||
|
||
Если СозданиеВнешнихОбработокЧерезФайл Тогда
|
||
Если ЭтаФорма.ПерехватВнешнихОбработок <> Истина Тогда
|
||
ЭтаФорма.ПерехватВнешнихОбработок = Истина;
|
||
Если Не СохранитьНастройкиНаСервере() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура СохранитьНастройкиПользователяНаСервере()
|
||
|
||
ХранилищеСистемныхНастроек.Сохранить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл", СозданиеВнешнихОбработокЧерезФайл);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаПриИзменении(Элемент = Неопределено)
|
||
|
||
СохранитьНастройкиНаСервере();
|
||
ОбновитьСписокНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Функция СохранитьНастройкиНаСервере()
|
||
|
||
Если ПерехватВнешнихОбработок Тогда
|
||
ФайлКаталога = Новый Файл(КаталогФайловогоКэша);
|
||
Если Не ФайлКаталога.Существует() Тогда
|
||
Сообщить("Выбранный каталог недоступен серверу. Выберите другой каталог");
|
||
ПрочитатьНастройкиНаСервере();
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
Возврат Ложь;
|
||
КонецЕсли;
|
||
ирСервер.ВключитьПерехватВнешнихОбработокБСПЛкс(КаталогФайловогоКэша);
|
||
Иначе
|
||
ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс(Истина);
|
||
КонецЕсли;
|
||
//ПрочитатьНастройкиНаСервере();
|
||
Возврат Истина;
|
||
|
||
КонецФункции
|
||
|
||
&НаСервере
|
||
Процедура ОбновитьСписокНаСервере()
|
||
|
||
Список.Очистить();
|
||
ОбновитьДоступность();
|
||
Если Не ЗначениеЗаполнено(КаталогФайловогоКэша) Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
Запрос = Новый Запрос;
|
||
Запрос.Текст = "ВЫБРАТЬ
|
||
| ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка,
|
||
| ДополнительныеОтчетыИОбработки.ИмяФайла
|
||
|ИЗ
|
||
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|
||
|
|
||
|УПОРЯДОЧИТЬ ПО
|
||
| Ссылка
|
||
|АВТОУПОРЯДОЧИВАНИЕ";
|
||
Результат = Запрос.Выполнить().Выгрузить();
|
||
СравнениеЗначений = Новый СравнениеЗначений;
|
||
Для Каждого СтрокаРезультата Из Результат Цикл
|
||
СтрокаТаблицы = Список.Добавить();
|
||
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, СтрокаРезультата);
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(СтрокаТаблицы.Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
СтрокаТаблицы.ИмяФайла = Файл.Имя;
|
||
Если Файл.Существует() Тогда
|
||
Попытка
|
||
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
|
||
Исключение
|
||
Сообщить("Ошибка доступа к файлу """ + ПолноеИмяФайла + """: " + ОписаниеОшибки());
|
||
Продолжить;
|
||
КонецПопытки;
|
||
СтрокаТаблицы.ДатаИзмененияФайла = Файл.ПолучитьВремяИзменения() + ирКэш.ПолучитьСмещениеВремениЛкс();
|
||
СтрокаТаблицы.ФайлОтличаетсяОтХранилища = СравнениеЗначений.Сравнить(ДвоичныеДанныеФайла, СтрокаТаблицы.Ссылка.ХранилищеОбработки.Получить()) <> 0;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервере
|
||
Процедура ОбновитьДоступность()
|
||
|
||
Элементы.ВнешниеОбработкиЗагрузитьИзФайла.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
|
||
Элементы.ВнешниеОбработкиОткрытьВОтладчике.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОбновитьСписок(Команда = Неопределено)
|
||
|
||
КлючСтроки = ирОбщий.ПолучитьКлючТекущейСтрокиЛкс(Элементы.Список);
|
||
ОбновитьСписокНаСервере();
|
||
ирОбщий.ВосстановитьТекущуюСтрокуТаблицыФормыЛкс(Элементы.Список, КлючСтроки, Список);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ОткрытьВОтладчике(Команда)
|
||
|
||
#Если ТонкийКлиент Или ВебКлиент Тогда
|
||
Сообщить("Функция доступна только в толстом клиенте");
|
||
Возврат;
|
||
#КонецЕсли
|
||
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
|
||
Если ТекущиеДанные = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
Если Не Файл.Существует() Тогда
|
||
ТекущиеДанные.Ссылка.ХранилищеОбработки.Получить().Записать(ПолноеИмяФайла);
|
||
КонецЕсли;
|
||
ирКэш.Получить().ОткрытьФайлВКонфигураторе(ПолноеИмяФайла, "Модуль");
|
||
ОбновитьСписок();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ВнешниеОбработкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
|
||
|
||
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ПерехватВнешнихОбработокПриИзменении(Элемент)
|
||
|
||
Если Не ПерехватВнешнихОбработок Тогда
|
||
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
|
||
СохранитьНастройкиПользователяНаСервере();
|
||
КонецЕсли;
|
||
СохранитьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ПрочитатьАктуальныеНастройки(Команда)
|
||
|
||
ПрочитатьНастройкиНаСервере();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура ЗагрузитьИзФайла(Команда)
|
||
|
||
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
|
||
Если ТекущиеДанные = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ЗагрузитьИзФайлаНаСервере(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
|
||
ОбновитьСписок();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаСервереБезКонтекста
|
||
Процедура ЗагрузитьИзФайлаНаСервере(Ссылка, КаталогФайловогоКэша)
|
||
|
||
#Если Сервер И Не Сервер Тогда
|
||
Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка();
|
||
#КонецЕсли
|
||
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(Ссылка, КаталогФайловогоКэша);
|
||
Файл = Новый Файл(ПолноеИмяФайла);
|
||
Если Не Файл.Существует() Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ОбъектМодуля = ВнешниеОбработки.Создать(Файл.ПолноеИмя, Ложь);
|
||
СведенияМодуля = ОбъектМодуля.СведенияОВнешнейОбработке();
|
||
Объект = Ссылка.ПолучитьОбъект();
|
||
Объект.Версия = СведенияМодуля.Версия;
|
||
Объект.ХранилищеОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Файл.ПолноеИмя));
|
||
Объект.Записать();
|
||
|
||
КонецПроцедуры
|
||
|
||
&НаКлиенте
|
||
Процедура КаталогФайловогоКэшаОткрытие(Элемент, СтандартнаяОбработка)
|
||
|
||
ЗапуститьПриложение(КаталогФайловогоКэша);
|
||
СтандартнаяОбработка = Ложь;
|
||
|
||
КонецПроцедуры
|
||
|
||
|