|
632 | 632 |
|
633 | 633 | КонецФункции
|
634 | 634 |
|
| 635 | +Функция КлючиХраненияНастроек() |
| 636 | + |
| 637 | + Ключи = Новый Структура; |
| 638 | + // Ключом объекта должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
| 639 | + // может совпадать с именем обработки, встроенной в состав конфигурации |
| 640 | + // Для разделения настроек между параллельными запусками учитываем номер сеанса. |
| 641 | + // Настройки нужны только на время одного запуска для получения из разных контекстов. |
| 642 | + КлючОбъекта = Метаданные().ПолноеИмя() + Формат(НомерСеансаИнформационнойБазы(), "ЧГ=0"); |
| 643 | + Ключи.Вставить("Объект", КлючОбъекта); |
| 644 | + Ключи.Вставить("Настройка", ""); |
| 645 | + |
| 646 | + Возврат Ключи; |
| 647 | + |
| 648 | +КонецФункции |
| 649 | + |
635 | 650 | Процедура ЗагрузитьНастройки() Экспорт
|
636 | 651 | ЭтотОбъект.Настройки = ПолучитьПустыеНастройкиБраузераТестирования();
|
637 |
| - // Ключом настроек должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
638 |
| - // может совпадать с именем обработки, встроенной в состав конфигурации |
639 |
| - СчитанныеНастройки = ХранилищеОбщихНастроек.Загрузить(ЭтотОбъект.Метаданные().ПолноеИмя()); |
| 652 | + Ключи = КлючиХраненияНастроек(); |
| 653 | + СчитанныеНастройки = ХранилищеОбщихНастроек.Загрузить(Ключи.Объект, Ключи.Настройка); |
640 | 654 | Если ТипЗнч(СчитанныеНастройки) = Тип("Структура") Тогда
|
641 | 655 | Для каждого КлючЗначение Из СчитанныеНастройки Цикл
|
642 | 656 | Если ЭтотОбъект.Настройки.Свойство(КлючЗначение.Ключ) И ТипЗнч(КлючЗначение.Значение) = ТипЗнч(ЭтотОбъект.Настройки[КлючЗначение.Ключ]) Тогда
|
|
647 | 661 | КонецПроцедуры
|
648 | 662 |
|
649 | 663 | Процедура СохранитьНастройки() Экспорт
|
| 664 | + Ключи = КлючиХраненияНастроек(); |
650 | 665 | Попытка
|
651 |
| - // Ключом настроек должно быть не имя обработки, а полное имя метаданных, т.к. имя внешней обработки |
652 |
| - // может совпадать с именем обработки, встроенной в состав конфигурации |
653 |
| - ХранилищеОбщихНастроек.Сохранить(ЭтотОбъект.Метаданные().ПолноеИмя(), , ЭтотОбъект.Настройки); |
| 666 | + ХранилищеОбщихНастроек.Сохранить(Ключи.Объект, Ключи.Настройка, ЭтотОбъект.Настройки); |
654 | 667 | Исключение
|
655 | 668 | // TODO: При пакетном запуске и тестировании в тонком клиенте возникает ошибка типа XDTO
|
656 | 669 | // Могут возникнуть ошибки, пропускаем
|
|
0 commit comments