|
4 | 4 |
|
5 | 5 | Перем Лог; |
6 | 6 |
|
7 | | -Перем Настройки; // Структура |
| 7 | +Перем Настройки; // Соответствие |
8 | 8 | Перем НаименованиеПараметров; // Строка |
9 | 9 | Перем СинонимыПараметров; // Массив строка |
10 | 10 | Перем ИндексПолей; // Соответствие ключа и типа элемента массива |
11 | 11 | Перем ИндексСинонимовПолей; // Соответствие синонимов полей и наименования полей |
12 | 12 | Перем ИндексПараметров; // Соответствие текущий настроек |
13 | 13 | Перем КонструкторИспользован; // Булево, признак использования объекта при чтении из соответсвтия |
14 | 14 | Перем ИнтерфейсКонструктора; // Класс объект ИнтерфейсОбъекта |
| 15 | +Перем МожетСодержатьПроизвольныеПоля; // Булево, признак возможность не указывать поля |
15 | 16 |
|
16 | 17 | #Область Работа_с_конструктором_параметров |
17 | 18 |
|
|
124 | 125 |
|
125 | 126 | КонецФункции |
126 | 127 |
|
| 128 | +// Устанавливает признак содержания произвольных полей конструктора параметров |
| 129 | +// |
| 130 | +// Возвращаемое значение: |
| 131 | +// Объект.КонструкторПараметров - ссылка на текущий элемент класса <КонструкторПараметров> |
| 132 | +// |
| 133 | +Функция ПроизвольныеПоля() Экспорт |
| 134 | + МожетСодержатьПроизвольныеПоля = Истина; |
| 135 | + Возврат ЭтотОбъект; |
| 136 | +КонецФункции |
| 137 | + |
127 | 138 | #КонецОбласти |
128 | 139 |
|
129 | 140 | #Область Работа_с_текущем_полем_настройки |
|
334 | 345 |
|
335 | 346 | ИсходящаяСтруктура = Новый Структура; |
336 | 347 |
|
| 348 | + Если МожетСодержатьПроизвольныеПоля Тогда |
| 349 | + Возврат ВСоответствие(); |
| 350 | + КонецЕсли; |
| 351 | + |
337 | 352 | Для каждого КлючЗначение Из Настройки Цикл |
338 | 353 |
|
339 | 354 | Значение = КлючЗначение.Значение; |
|
578 | 593 | ПолеПараметров = НайтиПолеВИндексеПолей(ИмяКлюча); |
579 | 594 |
|
580 | 595 | Если ПолеПараметров = Неопределено Тогда |
581 | | - Лог.Отладка("Не найдено поле <%1> в индексе", ИмяКлюча); |
| 596 | + |
| 597 | + Если МожетСодержатьПроизвольныеПоля Тогда |
| 598 | + Настройки.Вставить(ИмяКлюча, Значение); |
| 599 | + КонецЕсли; |
| 600 | + |
582 | 601 | Продолжить; |
| 602 | + |
583 | 603 | КонецЕсли; |
584 | 604 |
|
585 | 605 | ЗначениеПараметра = ПреобразоватьЗначение(Значение, ПолеПараметров); |
|
724 | 744 | Процедура ПриСозданииОбъекта(ВходящийИндексПараметров, Знач НовоеНаименованиеПараметров) |
725 | 745 |
|
726 | 746 | НаименованиеПараметров = НовоеНаименованиеПараметров; |
727 | | - Настройки = Новый Структура; |
| 747 | + Настройки = Новый Соответствие; |
728 | 748 | ИндексПолей = Новый Соответствие; |
729 | 749 | ИндексСинонимовПолей = Новый Соответствие; |
730 | 750 | ИндексПараметров = ВходящийИндексПараметров; |
|
738 | 758 | КонецЕсли; |
739 | 759 |
|
740 | 760 | КонструкторИспользован = Ложь; |
| 761 | + МожетСодержатьПроизвольныеПоля = Ложь; |
741 | 762 |
|
742 | 763 | ИнтерфейсКонструктора = Новый ИнтерфейсОбъекта; |
743 | 764 | ИнтерфейсКонструктора.ПроцедураИнтерфейса("ОписаниеПараметров", 1); |
|
0 commit comments