Compare commits

..

No commits in common. "master" and "4.85" have entirely different histories.
master ... 4.85

3327 changed files with 1038745 additions and 1938572 deletions

View File

@ -1,20 +0,0 @@
---
name: Проблема
about: Неожиданное поведение программы
title: ''
labels: проблема
assignees: ''
---
**Программное окружение**
Получить эту информацию можно кнопкой "Техническая информация" в окне "О подсистеме" http://devtool1c.ucoz.ru/forum/2-2-1
**Воспроизведение проблемы**
1. Открыл инструмент ААА
2. Нажал кнопку БББ
3. Получил окно с ошибкой ВВВ
**Ожидаемое поведение**
Какая реакция программы ожидалась?

View File

@ -1,10 +0,0 @@
---
name: Пожелание
about: Желание нового поведения программы
title: ''
labels: пожелание
assignees: ''
---
Опиши в каком инструменте при каких условия что должно происходить.

0
.gitignore vendored
View File

View File

@ -30,14 +30,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Hierarchical>false</Hierarchical>
@ -45,7 +37,7 @@
<LimitLevelCount>false</LimitLevelCount>
<LevelCount>2</LevelCount>
<FoldersOnTop>true</FoldersOnTop>
<UseStandardCommands>false</UseStandardCommands>
<UseStandardCommands>true</UseStandardCommands>
<Owners/>
<SubordinationUse>ToItems</SubordinationUse>
<CodeLength>0</CodeLength>
@ -102,14 +94,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Текст алгоритма</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Текст алгоритма</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Текст алгоритма</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -154,14 +138,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -207,11 +183,7 @@
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Комментарий</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Комментарий</v8:content>
<v8:content>Comment</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -228,8 +200,8 @@
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>true</MultiLine>
<ExtendedEdit>true</ExtendedEdit>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillFromFillingValue>false</FillFromFillingValue>
@ -269,11 +241,7 @@
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Параметры</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Параметры</v8:content>
<v8:content>Параметры метаданных2i S</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -290,14 +258,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Вход</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Вход</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Вход</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -335,14 +295,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Выход</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Выход</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Выход</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -380,14 +332,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Допустимые типы</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Допустимые типы</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Допустимые типы</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -431,11 +375,7 @@
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Значение</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Значение</v8:content>
<v8:content>Value</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -490,14 +430,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Значение хранилище</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Значение хранилище</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Значение хранилище</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -537,11 +469,7 @@
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Имя</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Имя</v8:content>
<v8:content>Name</v8:content>
</v8:item>
</Synonym>
<Comment/>
@ -582,81 +510,6 @@
<Form>ФормаСписка</Form>
<Form>ФормаСпискаУпр</Form>
<Form>ФормаВыбораУпр</Form>
<Command uuid="d2f08665-e019-47dc-bd2a-7cd8919c48d8">
<Properties>
<Name>Команда1</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Алгоритмы (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирРазработка</Group>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
<Command uuid="b94f2fc6-8dd9-4a1b-88c6-9d061b7c5766">
<Properties>
<Name>ОткрытьНастройкиАлгоритмов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки алгоритмов</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Настройки алгоритмов</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Настройки алгоритмов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть настройки алгоритмов</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Открыть настройки алгоритмов</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Открыть настройки алгоритмов</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирНастройкиАлгоритмов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="1" y="9"/>
</Picture>
<Shortcut/>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,273 @@
Перем мТелоПозиционногоМетода;
Перем мТелоПоименногоМетода;
Перем ДатаИзмененияКонтекста Экспорт;
Перем мСтруктураВнешнейОбработки Экспорт;
Перем ИндивидуальнаяВнешняяОбработка Экспорт;
//Процедура ДобавитьПараметрыВСтруктуру(СтруктураПараметров) Экспорт
// Для Каждого СтрокаПараметра Из Параметры Цикл
// Если Не СтруктураПараметров.Свойство(СтрокаПараметра.Имя) Тогда
// СтруктураПараметров.Вставить(СтрокаПараметра.Имя, СтрокаПараметра.Значение);
// КонецЕсли;
// КонецЦикла;
// ИмяПараметра = "Результат";
// Если Не СтруктураПараметров.Свойство(ИмяПараметра) Тогда
// СтруктураПараметров.Вставить(ИмяПараметра);
// КонецЕсли;
//КонецПроцедуры // ПолучитьСтруктуруПараметров()
Функция ПолучитьСтартовуюСтрокуАлгоритмаВТексте() Экспорт
Возврат Параметры.Количество();
КонецФункции // ПолучитьСтартовуюСтрокуАлгоритмаВМодуле()
Функция ПолучитьСтартовуюСтрокуМетодаВМодуле() Экспорт
Результат = 1 + СтрЧислоСтрок(ПолучитьШапкуОпределенияМетода() + ПолучитьШапкуТелаМетода());
Возврат Результат;
КонецФункции // ПолучитьСтартовуюСтрокуАлгоритмаВМодуле()
Функция ПолучитьОбъявлениеСлужебныхПеременных()
МассивСлужебныхПеременных = Новый Массив;
МассивСлужебныхПеременных.Добавить("ЭтотОбъект");
МассивСлужебныхПеременных.Добавить("ИспользуемоеИмяФайла");
МассивСлужебныхПеременных.Добавить("Результат");
Разделитель = ", ";
Результат = "";
Для Каждого СлужебнаяПеременная Из МассивСлужебныхПеременных Цикл
Результат = Результат + Разделитель + СлужебнаяПеременная;
КонецЦикла;
Результат = Сред(Результат, СтрДлина(Разделитель) + 1);
Результат = "Перем " + Результат + ";";
Возврат Результат;
КонецФункции // ПолучитьОбъявлениеСлужебныхПеременных()
Функция ПолучитьТекстМодуляОбработки() Экспорт
Результат = "";
Результат = Результат + "// " + Наименование + Символы.ПС;
Результат = Результат + ПолучитьОпределениеМетода();
Возврат Результат;
КонецФункции // ПолучитьТекстМодуляОбработки()
Функция ПолучитьОпределениеМетода(УниверсальныеИменаПараметров = Ложь) Экспорт
Результат = ПолучитьШапкуОпределенияМетода();
Результат = Результат + ПолучитьТелоМетода() + Символы.ПС;
Результат = Результат + Символы.Таб + "Возврат Результат;" + Символы.ПС;
Результат = Результат + "КонецФункции" + Символы.ПС;
Возврат Результат;
КонецФункции // ПолучитьОпределениеМетода()
Функция ПолучитьШапкуОпределенияМетода()
Результат = "Функция мМетод(_АлгоритмОбъект, _Режим";
Для Счетчик = 0 По 9 Цикл
ИмяПараметра = "_П" + Счетчик;
Результат = Результат + ", " + ИмяПараметра;
КонецЦикла;
Результат = Результат + ") Экспорт" + Символы.ПС;
Результат = Результат + Символы.Таб + ПолучитьОбъявлениеСлужебныхПеременных();
Возврат Результат;
КонецФункции // ПолучитьШапкуОпределенияМетода()
Функция ПолучитьШапкуТелаМетода()
Результат = "";
МассивТаблицПараметров = Новый Массив;
Результат = Результат + "
| _Параметры = _АлгоритмОбъект.Параметры;";
//Для Индекс = 0 ПО Параметры.Количество() - 1 Цикл
// СтрокаПеременной = Параметры[Индекс];
// ИмяПеременной = СтрокаПеременной.Имя;
// Результат = Результат + "
// | " + ИмяПеременной + " = ?(_П0.Свойство(""" + ИмяПеременной + """), _П0." + ИмяПеременной + ", _Параметры[" + Индекс + "].Значение);";
//КонецЦикла;
Результат = Результат + "
| Если _Режим = 0 Тогда";
Для Индекс = 0 ПО Параметры.Количество() - 1 Цикл
СтрокаПеременной = Параметры[Индекс];
Если Индекс < 10 Тогда
ИмяПараметра = "_П" + Индекс;
Иначе
ИмяПараметра = "Null";
КонецЕсли;
ИмяПеременной = СтрокаПеременной.Имя;
Результат = Результат + "
| " + ИмяПеременной + " = ?(" + ИмяПараметра + " = Null, _Параметры[" + (Индекс) + "].Значение, "
+ ИмяПараметра + ");";
КонецЦикла;
Результат = Результат + "
| Иначе";
Для Индекс = 0 ПО Параметры.Количество() - 1 Цикл
СтрокаПеременной = Параметры[Индекс];
ИмяПеременной = СтрокаПеременной.Имя;
Результат = Результат + "
| " + ИмяПеременной + " = ?(_П0.Свойство(""" + ИмяПеременной + """), _П0." + ИмяПеременной +
", _Параметры[" + (Индекс) + "].Значение);";
КонецЦикла;
Результат = Результат + "
| КонецЕсли;";
Результат = Результат + Символы.ПС + ирКэш.Получить().МаркерНачалаАлгоритма;
Возврат Результат;
КонецФункции // ПолучитьШапкуТелаМетода()
Функция ПолучитьТелоМетода(Кэшировать = Ложь) Экспорт
Результат = ПолучитьШапкуТелаМетода();
ТекстАлгоритмаТД = Новый ТекстовыйДокумент;
ТекстАлгоритмаТД.УстановитьТекст(ТекстАлгоритма);
Для Сч1 = 1 По ТекстАлгоритмаТД.КоличествоСтрок() Цикл
Результат = Результат + Символы.Таб + ТекстАлгоритмаТД.ПолучитьСтроку(Сч1) + Символы.ПС;
КонецЦикла;
Результат = Результат + ирКэш.Получить().МаркерКонцаАлгоритма;
Результат = Результат + Символы.Таб + "; ~Конец:";
//Для Каждого СтрокаПараметра Из Параметры Цикл
// Индекс = Параметры.Индекс(СтрокаПараметра);
// ИмяПеременной = СтрокаПараметра.Имя;
// Результат = Результат + "
// | _П0." + ИмяПеременной + " = " + ИмяПеременной + ";";
//КонецЦикла;
Результат = Результат + "
| Если _Режим = 0 Тогда";
Для Каждого СтрокаПараметра Из Параметры Цикл
Индекс = Параметры.Индекс(СтрокаПараметра);
Результат = Результат + "
| _П" + Индекс + " = " + СтрокаПараметра.Имя + ";";
КонецЦикла;
Результат = Результат + "
| Иначе";
Для Каждого СтрокаПараметра Из Параметры Цикл
Индекс = Параметры.Индекс(СтрокаПараметра);
ИмяПеременной = СтрокаПараметра.Имя;
Результат = Результат + "
| _П0.Вставить(""" + ИмяПеременной + """, " + ИмяПеременной + ");";
КонецЦикла;
Результат = Результат + "
| КонецЕсли;";
Возврат Результат;
КонецФункции // ПолучитьТелоМетода()
Функция ПолучитьТекстМакетаПараметров() Экспорт
Возврат "";
КонецФункции // ПолучитьТекстМакетаПараметров()
Функция ВыполнитьЛокально(ТекстДляВыполнения, ЛиСинтаксическийКонтроль = Ложь) Экспорт
Возврат ирКэш.Получить().ВыполнитьЛокально(ТекстДляВыполнения);
КонецФункции // ВыполнитьЛокально()
Функция ПроверитьДанные() Экспорт
ДанныеКорректны = Истина;
// Проверка шапки
ЧистоеНаименование = СокрЛП(Наименование);
ирОбщий.ПрисвоитьЕслиНеРавноЛкс(Наименование, ЧистоеНаименование);
Если Не ирОбщий.ЛиИмяПеременнойЛкс(Наименование) Тогда
ДанныеКорректны = Ложь;
Сообщить("Имя алгоритма не отвечает правилам формирования имен переменных встроенного языка", СтатусСообщения.Важное);
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Алгоритмы.Ссылка
|ИЗ
| " + Метаданные().ПолноеИмя() + " КАК Алгоритмы
|ГДЕ
| Алгоритмы.Наименование = &Наименование
| И Алгоритмы.Ссылка <> &Ссылка";
Запрос.УстановитьПараметр("Наименование", Наименование);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
ДанныеКорректны = Ложь;
Сообщить("В справочнике """ + Метаданные().Имя + """ уже существует элемент с наименованием """ + Наименование + """",
СтатусСообщения.Важное);
КонецЕсли;
ДанныеКорректны = ДанныеКорректны И ирОбщий.ЛиПараметрыАлгоритмыКорректныЛкс(Параметры.Выгрузить(, "Имя"));
Возврат ДанныеКорректны;
КонецФункции // ПроверитьДанные()
//Функция ПроверитьТЧ(Параметры)
// ДанныеКорректны = Истина;
// МетаданныеТЧ = ирОбщий.ПолучитьМетаданныеЛкс(Параметры);
// КопияТЧ = Параметры.Выгрузить();
// КопияТЧ.Свернуть("Имя");
// Если КопияТЧ.Количество() <> Параметры.Количество() Тогда
// Параметры.Сортировать("Имя");
// Сообщить("Строки табличной части """ + МетаданныеТЧ.Представление() + """ должны иметь уникальные имена",
// СтатусСообщения.Важное);
// ДанныеКорректны = Ложь;
// КонецЕсли;
// Для Каждого СтрокаПараметра Из Параметры Цикл
// Если Не ирОбщий.ЛиИмяПеременнойЛкс(СтрокаПараметра.Имя) Тогда
// ДанныеКорректны = Ложь;
// Сообщить("Имя параметра """ + СтрокаПараметра.Имя + """ не отвечает правилам формирования имен встроенного языка",
// СтатусСообщения.Важное);
// КонецЕсли;
// КонецЦикла;
// Возврат ДанныеКорректны;
//КонецФункции // ПроверитьТЧ()
Процедура СобратьКонтекст() Экспорт
ДатаИзмененияКонтекста = ДатаИзменения;
КонецПроцедуры // ПрочитатьКонтекст()
Процедура ПередЗаписью(Отказ)
Если Не ОбменДанными.Загрузка Тогда
ДатаИзменения = ТекущаяДата();
СобратьКонтекст();
Отказ = Отказ Или Не ПроверитьДанные();
КонецЕсли;
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
Если Не ОбменДанными.Загрузка Тогда
мТекстАлгоритмаСПараметрами = "";
мПлатформа = ирКэш.Получить();
Если мПлатформа <> Неопределено Тогда
#Если Клиент Тогда
мПлатформа.ОбновитьАлгоритмВКеше(ЭтотОбъект);
#КонецЕсли
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПриКопировании(ОбъектКопирования)
Наименование = Наименование + "1";
КонецПроцедуры
ДатаИзмененияКонтекста = ДатаИзменения;
мТекстАлгоритмаСПараметрами = "";
ИндивидуальнаяВнешняяОбработка = Истина;

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Форма выбора упр</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Форма выбора упр</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Форма выбора упр</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="14c3fc6b-84b9-47f8-8d22-7f66a7ae5c3b">
<Properties>
<Name>ФормаСписка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма списка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,48 @@

Процедура ДействияФормыМенеджерТабличногоПоля(Кнопка)
ирОбщий.ОткрытьМенеджерТабличногоПоляЛкс(ЭлементыФормы.СправочникСписок, ЭтаФорма);
КонецПроцедуры
Процедура ДействияФормыОПодсистеме(Кнопка)
ирОбщий.ОткрытьСправкуПоПодсистемеЛкс(ТипЗнч(СправочникСписок));
КонецПроцедуры
Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущаяСтрока <> Неопределено Тогда
Текст = Элемент.ТекущаяСтрока.ТекстАлгоритма;
Иначе
Текст = "";
КонецЕсли;
ЭлементыФормы.ПолеТекстовогоДокумента.УстановитьТекст(Текст);
КонецПроцедуры
Процедура ДействияФормыКонсольКода(Кнопка)
Ссылка = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;
Если Ссылка = Неопределено Тогда
Возврат;
КонецЕсли;
Справочники[Метаданные.НайтиПоТипу(ТипЗнч(ЭлементыФормы.СправочникСписок.Значение)).Имя].ОткрытьКонсольКодаДляАлгоритма(Ссылка);
КонецПроцедуры
Процедура ТекстАлгоритмаПриИзменении(Элемент)
СправочникСписок.Отбор.ТекстАлгоритма.Использование = Истина;
СправочникСписок.Отбор.ТекстАлгоритма.ВидСравнения = ВидСравнения.Содержит;
КонецПроцедуры
Процедура ОткрытьНастройкиАлгоритмов(Кнопка)
ирОбщий.ОткрытьНастройкиАлгоритмовЛкс();
КонецПроцедуры
Порядок.Установить("ДатаИзменения Убыв");

File diff suppressed because it is too large Load Diff

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Форма списка упр</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Форма списка упр</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Форма списка упр</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>

View File

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<VerticalScroll>useIfNecessary</VerticalScroll>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаКонсольКода" id="12">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.КонсольКода</CommandName>
<ExtendedTooltip name="ФормаКонсольКодаРасширеннаяПодсказка" id="13"/>
</Button>
<Button name="ФормаОбщаяКомандаирОПодсистеме" id="8001">
<Type>CommandBarButton</Type>
<CommandName>CommonCommand.ирОПодсистеме</CommandName>
<ExtendedTooltip name="ФормаОбщаяКомандаирОПодсистемеРасширеннаяПодсказка" id="8002"/>
</Button>
<Button name="ПоискВСправкеГлобальнаяИис" id="7999">
<Type>CommandBarButton</Type>
<CommandName>0</CommandName>
<DataPath>ПараметрГлобальныхКомандИис</DataPath>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ПоискВСправкеГлобальнаяИисРасширеннаяПодсказка" id="8000"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ChildItems>
<Table name="Список" id="1">
<Representation>List</Representation>
<CommandBarLocation>None</CommandBarLocation>
<DefaultItem>true</DefaultItem>
<Height>5</Height>
<UseAlternationRowColor>true</UseAlternationRowColor>
<InitialTreeView>ExpandTopLevel</InitialTreeView>
<EnableStartDrag>true</EnableStartDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
<v8:variant xsi:type="v8:StandardPeriodVariant">Custom</v8:variant>
<v8:startDate>0001-01-01T00:00:00</v8:startDate>
<v8:endDate>0001-01-01T00:00:00</v8:endDate>
</Period>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<RestoreCurrentRow>false</RestoreCurrentRow>
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true</ShowRoot>
<AllowRootChoice>false</AllowRootChoice>
<UpdateOnDataChange>Auto</UpdateOnDataChange>
<ContextMenu name="СписокКонтекстноеМеню" id="2"/>
<AutoCommandBar name="СписокКоманднаяПанель" id="3">
<Autofill>false</Autofill>
</AutoCommandBar>
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="14"/>
<SearchStringAddition name="СписокСтрокаПоиска" id="15">
<AdditionSource>
<Item>Список</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСтрокаПоискаКонтекстноеМеню" id="16"/>
<ExtendedTooltip name="СписокСтрокаПоискаРасширеннаяПодсказка" id="17"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокСостояниеПросмотра" id="18">
<AdditionSource>
<Item>Список</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСостояниеПросмотраКонтекстноеМеню" id="19"/>
<ExtendedTooltip name="СписокСостояниеПросмотраРасширеннаяПодсказка" id="20"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокУправлениеПоиском" id="21">
<AdditionSource>
<Item>Список</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокУправлениеПоискомКонтекстноеМеню" id="22"/>
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="23"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="Наименование" id="4">
<DataPath>Список.Description</DataPath>
<DefaultItem>true</DefaultItem>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="24"/>
</LabelField>
<LabelField name="ДатаИзменения" id="6">
<DataPath>Список.ДатаИзменения</DataPath>
<ContextMenu name="ДатаИзмененияКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="ДатаИзмененияРасширеннаяПодсказка" id="25"/>
</LabelField>
<LabelField name="Комментарий" id="8">
<DataPath>Список.Комментарий</DataPath>
<ContextMenu name="КомментарийКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="26"/>
</LabelField>
</ChildItems>
</Table>
<TextDocumentField name="ТекстАлгоритма" id="10">
<DataPath>Items.Список.CurrentData.ТекстАлгоритма</DataPath>
<ReadOnly>true</ReadOnly>
<Height>5</Height>
<ContextMenu name="ТекстАлгоритмаКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="ТекстАлгоритмаРасширеннаяПодсказка" id="27"/>
</TextDocumentField>
</ChildItems>
<Attributes>
<Attribute name="Список" id="1">
<Type>
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<MainTable>Catalog.ирАлгоритмы</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
<dcsset:field>ДатаИзменения</dcsset:field>
<dcsset:orderType>Desc</dcsset:orderType>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</dcsset:userSettingID>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</dcsset:userSettingID>
</dcsset:conditionalAppearance>
</ListSettings>
</Settings>
</Attribute>
<Attribute name="ПараметрГлобальныхКомандИис" id="7999">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="КонсольКода" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Консоль кода</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Консоль кода</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКонсольКода</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Action>КонсольКода</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="НастройкиАлгоритмов" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки справочника</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки справочника</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирНастройкиАлгоритмов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>НастройкиВыполненияАлгоритмов</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,23 @@
&НаКлиенте
Процедура КонсольКода(Команда)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ТекущаяСтрока = Элементы.Список.ТекущаяСтрока;
Если ТекущаяСтрока = Неопределено Тогда
Возврат;
КонецЕсли;
Справочники[ирОбщий.ОтделитьРазделителемЛкс(Список.ОсновнаяТаблица)].ОткрытьКонсольКодаДляАлгоритма(ТекущаяСтрока.Ссылка);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура НастройкиВыполненияАлгоритмов(Команда)
ирОбщий.ОткрытьНастройкиАлгоритмовЛкс();
КонецПроцедуры

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="dfc6daf1-67ea-4070-8f07-213451065108">
<Properties>
<Name>ФормаЭлемента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма элемента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,473 @@
Перем ПолеТекстовогоДокументаСКонтекстнойПодсказкой;
Перем мЗначенияПараметров;
Процедура ПередЗаписью(Отказ)
Если Не ПроверитьДанные() Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
СинтаксическийКонтрольПередЗаписью = ирКэш.Получить().СинтаксическийКонтрольПередЗаписью;
Если СинтаксическийКонтрольПередЗаписью = Истина Тогда
ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров();
Если Не ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПроверитьПрограммныйКод() Тогда
Ответ = Вопрос("При проверке текста алгоритма обнаружены ошибки. Продолжить?", РежимДиалогаВопрос.ОКОтмена);
Если Ответ = КодВозвратаДиалога.Отмена Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если Не Отказ Тогда
ТекстАлгоритма = ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента.ПолучитьТекст();
КонецЕсли;
КонецПроцедуры
Процедура ПриИзмененииДанных()
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента.УстановитьТекст(ТекстАлгоритма);
КонецПроцедуры
Функция ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров()
ирОбщий.ИнициализироватьГлобальныйКонтекстПодсказкиЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой);
// Локальный контекст
СтруктураПараметров = Новый Структура;
Для Каждого СтрокаПараметра Из Параметры Цикл
СтруктураПараметров.Вставить(СтрокаПараметра.Имя, СтрокаПараметра.Значение);
Если СтрокаПараметра.Значение <> Неопределено Тогда
МассивТипов = Новый Массив;
МассивТипов.Добавить(ТипЗнч(СтрокаПараметра.Значение));
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ДобавитьСловоЛокальногоКонтекста(
СтрокаПараметра.Имя, "Свойство", Новый ОписаниеТипов(МассивТипов), , , СтрокаПараметра.Значение);
КонецЕсли;
//Если Не ПустаяСтрока(СтрокаПараметра.ДопустимыеТипы) Тогда
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ДобавитьПеременнуюЛокальногоКонтекста(
СтрокаПараметра.Имя, СтрокаПараметра.ДопустимыеТипы);
//КонецЕсли;
КонецЦикла;
// Результат
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ДобавитьСловоЛокальногоКонтекста(
"Результат", "Свойство", Новый ОписаниеТипов(Новый Массив));
Возврат СтруктураПараметров;
КонецФункции // ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров()
// @@@.КЛАСС.ПолеТекстовогоДокументаСКонтекстнойПодсказкой
Процедура КлсПолеТекстовогоДокументаСКонтекстнойПодсказкойНажатие(Кнопка)
СтруктураПараметров = ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров();
// Специальная обработка команд компоненты ДО
КомпонентаТекстаАлгоритма = ПолеТекстовогоДокументаСКонтекстнойПодсказкой;
Если Ложь
Или Кнопка = ирОбщий.ПолучитьКнопкуКоманднойПанелиЭкземпляраКомпонентыЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой, "Выполнить")
Или Кнопка = ирОбщий.ПолучитьКнопкуКоманднойПанелиЭкземпляраКомпонентыЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой, "Проверить")
Тогда
Если Не ПроверитьДанные() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
Если Кнопка = ирОбщий.ПолучитьКнопкуКоманднойПанелиЭкземпляраКомпонентыЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой, "Выполнить") Тогда
Если ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПроверитьПрограммныйКод() Тогда
Если Модифицированность Тогда
Ответ = Вопрос("Перед выполнением алгоритм необходимо сохранить. Выполнить сохранение?", РежимДиалогаВопрос.ОКОтмена);
Если Ответ = КодВозвратаДиалога.Отмена Тогда
Возврат;
КонецЕсли;
Если Не ЗаписатьВФорме() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ирКэш.Получить().ВыполнитьМетодАлгоритма(ЭтотОбъект, 1, СтруктураПараметров);
КонецЕсли;
Иначе
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.Нажатие(Кнопка);
КонецЕсли;
КонецПроцедуры
// @@@.КЛАСС.ПолеТекстовогоДокументаСКонтекстнойПодсказкой
Процедура КлсПолеТекстовогоДокументаСКонтекстнойПодсказкойАвтоОбновитьСправку()
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.АвтоОбновитьСправку();
КонецПроцедуры
Функция ПоказатьОшибкуВыполнения(ИнформацияОбОшибке, Знач ТекстСообщения = "", РежимВыполненияАлгоритма = 0, СтартоваяСтрока = 0) Экспорт
Если Не Открыта() Тогда
Открыть();
КонецЕсли;
Если Не ВводДоступен() Тогда
Активизировать();
КонецЕсли;
ВыполнятьАлгоритмыЧерезВнешниеОбработки = ирКэш.Получить().ВыполнятьАлгоритмыЧерезВнешниеОбработки;
Если ВыполнятьАлгоритмыЧерезВнешниеОбработки Тогда
ОбновитьСвязи();
КонецЕсли;
ТекущийЭлемент = ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента;
Если Ложь
Или РежимВыполненияАлгоритма = 0
Или РежимВыполненияАлгоритма = 1
Тогда
ИмяМодуля = "ВнешняяОбработка." + Наименование;
Если ирКэш.НомерИзданияПлатформыЛкс() = "82" Тогда
ИмяМодуля = ИмяМодуля + ".МодульОбъекта";
КонецЕсли;
Иначе
ИмяМодуля = "";
КонецЕсли;
Если ТекстСообщения = "" Тогда
ТекстСообщения = "Ошибка при выполнении алгоритма """ + Наименование + """ в режиме " + РежимВыполненияАлгоритма;
КонецЕсли;
Сообщить(ТекстСообщения, СтатусСообщения.Важное);
ТекстИстиннойОшибки = ирОбщий.ПоказатьОшибкуВЗапросеИлиПрограммномКодеЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента,
СтартоваяСтрока, , , МодальныйРежим, ИнформацияОбОшибке, ИмяМодуля);
Возврат ТекстИстиннойОшибки;
КонецФункции // ПоказатьОшибкуВыполнения()
Процедура ОбновитьСвязи()
ФайлНовее = Ложь;
ДобавокЗаголовка = "";
ФайлВнешнейОбработки = ирКэш.Получить().ПолучитьФайлВнешнейОбработкиАлгоритма(ЭтотОбъект);
Если ФайлВнешнейОбработки.Существует() Тогда
Если ФайлВнешнейОбработки.ПолучитьВремяИзменения() + ирКэш.ПолучитьСмещениеВремениЛкс() > ДатаИзменения Тогда
ДобавокЗаголовка = " [файл новее!]";
ФайлНовее = Истина;
КонецЕсли;
КонецЕсли;
Если ФайлНовее Тогда
НовыйЦветРамки = WebЦвета.Красный;
Иначе
НовыйЦветРамки = WebЦвета.Зеленый;
КонецЕсли;
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента.ЦветРамки = НовыйЦветРамки;
ЭлементыФормы.Наименование.ТолькоПросмотр = ФайлНовее;
Заголовок = Метаданные().Представление() + ДобавокЗаголовка;
КонецПроцедуры // ОбновитьСвязи()
Процедура ПриОткрытии()
ЭтаФорма.ЗакрыватьПриВыборе = Ложь;
ВыполнятьАлгоритмыЧерезВнешниеОбработки = ирКэш.Получить().ВыполнятьАлгоритмыЧерезВнешниеОбработки;
Если ВыполнятьАлгоритмыЧерезВнешниеОбработки Тогда
ПодключитьОбработчикОжидания("ОбновитьСвязи", 5);
ОбновитьСвязи();
КонецЕсли;
КнопкиПанели = ЭлементыФормы.КоманднаяПанельТекстАлгоритма.Кнопки;
КнопкиПанели.ОбновитьИзФайла.Доступность = ВыполнятьАлгоритмыЧерезВнешниеОбработки;
КнопкиПанели.ОткрытьВОтладчике.Доступность = ВыполнятьАлгоритмыЧерезВнешниеОбработки;
КонецПроцедуры
Процедура КоманднаяПанельТекстАлгоритмаОбновитьИзФайла(Кнопка)
ФайлВнешнейОбработки = ирКэш.Получить().ПолучитьФайлВнешнейОбработкиАлгоритма(ЭтотОбъект);
ТекстАлгоритмаИзФайла = ирКэш.Получить().ПолучитьТекстМодуляВнешнейОбработкиАлгоритма(ФайлВнешнейОбработки);
Если ТекстАлгоритмаИзФайла <> Неопределено Тогда
// %%%%% Здесь можно сделать еще и сравнение текстов
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента.УстановитьТекст(ТекстАлгоритмаИзФайла);
Сообщить("Обновление из файла прошло успешно");
ДатаИзменения = ФайлВнешнейОбработки.ПолучитьВремяИзменения() + ирКэш.ПолучитьСмещениеВремениЛкс();
Модифицированность = Истина;
ОбновитьСвязи();
Иначе
Сообщить("Обновить из файла не удалось");
КонецЕсли;
КонецПроцедуры
Процедура ПараметрыДопустимыеТипыНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Результат = ирКэш.Получить().РедактироватьДопустимыеТипы(Элемент.Значение);
Если Результат <> Неопределено Тогда
Элемент.Значение = Результат;
ОбновитьОграничениеТипаЗначения();
КонецЕсли;
КонецПроцедуры
Процедура ПараметрыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки.ДопустимыеТипы.УстановитьТекст(ирКэш.Получить().ПолучитьПредставлениеДопустимыхТипов(ДанныеСтроки.ДопустимыеТипы));
ирОбщий.ТабличноеПоле_ОтобразитьПиктограммыТиповЛкс(ОформлениеСтроки, "Значение");
КонецПроцедуры
Процедура ПриЗакрытии()
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.Уничтожить();
КонецПроцедуры
Процедура КоманднаяПанельТекстАлгоритмаОткрытьВОтладчике(Кнопка)
ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров();
Если ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПроверитьПрограммныйКод() Тогда
Если Модифицированность Тогда
Ответ = Вопрос("Перед открытием в отладчике алгоритм необходимо сохранить. Выполнить сохранение?", РежимДиалогаВопрос.ОКОтмена);
Если Ответ = КодВозвратаДиалога.Отмена Тогда
Возврат;
КонецЕсли;
Если Не ЗаписатьВФорме() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
НомерСтрокиВАлгоритме = ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолучитьНомерТекущейСтроки();
НомерСтрокиВМодуле = НомерСтрокиВАлгоритме + ПолучитьСтартовуюСтрокуМетодаВМодуле();
ИдентификаторПроцессаОтладчика = ирОбщий.ПроверитьЗапуститьОтладчик();
ирКэш.Получить().ОткрытьАлгоритмВОтладчике(ЭтотОбъект, НомерСтрокиВМодуле, ИдентификаторПроцессаОтладчика);
КонецЕсли;
КонецПроцедуры
Процедура НаименованиеПриИзменении(Элемент)
Если Не ирОбщий.ЛиИмяПеременнойЛкс(Элемент.Значение) Тогда
Элемент.Значение = ирКэш.Получить().ПолучитьИдентификаторИзПредставления(Элемент.Значение);
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаВыбора(РезультатВыбора, Источник)
Если ТипЗнч(РезультатВыбора) = Тип("Структура") Тогда
Если РезультатВыбора.Свойство("ИнформацияОбОшибке") Тогда
ПоказатьОшибкуВыполнения(РезультатВыбора.ИнформацияОбОшибке, , РезультатВыбора.РежимВыполненияАлгоритма, РезультатВыбора.СтартоваяСтрока);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ДействияФормыОПодсистеме(Кнопка)
ирОбщий.ОткрытьСправкуПоПодсистемеЛкс(ЭтотОбъект);
КонецПроцедуры
Процедура ПараметрыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Если Не ЗначениеЗаполнено(Элемент.ТекущиеДанные.Имя) Тогда
Элемент.ТекущиеДанные.Имя = "П" + (Элемент.Значение.Индекс(Элемент.ТекущиеДанные) + 1);
КонецЕсли;
Если НоваяСтрока И Не Копирование Тогда
Элемент.ТекущиеДанные.Вход = Истина;
КонецЕсли;
ОбновитьОграничениеТипаЗначения();
КонецПроцедуры
Процедура ОбновитьОграничениеТипаЗначения()
Если ЗначениеЗаполнено(ЭлементыФормы.Параметры.ТекущиеДанные.ДопустимыеТипы) Тогда
ОграничениеТипа = ирКэш.Получить().ПолучитьОписаниеТиповИзДопустимыхТипов(ЭлементыФормы.Параметры.ТекущиеДанные.ДопустимыеТипы);
ЭлементыФормы.Параметры.Колонки.Значение.ЭлементУправления.ОграничениеТипа = ОграничениеТипа;
ЭлементыФормы.Параметры.ТекущиеДанные.Значение = ОграничениеТипа.ПривестиЗначение(ЭлементыФормы.Параметры.ТекущиеДанные.Значение);
КонецЕсли;
КонецПроцедуры
Процедура ПараметрыНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)
Если ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение Тогда
ПараметрыПеретаскивания.Значение = Элемент.ТекущаяСтрока.Имя;
КонецЕсли;
КонецПроцедуры
Процедура КоманднаяПанельТекстАлгоритмаСсылкаНаОбъектБД(Кнопка)
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ВставитьСсылкуНаОбъектБД(ЭлементыФормы.Параметры);
КонецПроцедуры
Процедура КоманднаяПанельПараметрыЗаполнить(Кнопка)
Пока Истина Цикл
ОбновитьКонтекстПодсказкиИПолучитьСтруктуруПараметров();
ИнформацияОбОшибке = ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолучитьИнформациюОбОшибке();
НеопределеннаяПеременная = ирКэш.Получить().ПолучитьИмяНеопределеннойПеременнойИзИнформацииОбОшибке(ИнформацияОбОшибке);
Если Не ЗначениеЗаполнено(НеопределеннаяПеременная) Тогда
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПроверитьПрограммныйКод(Ложь);
Прервать;
КонецЕсли;
СтрокаПараметра = Параметры.Найти(НеопределеннаяПеременная);
Если СтрокаПараметра = Неопределено Тогда
СтрокаПараметра = Параметры.Добавить();
СтрокаПараметра.Имя = НеопределеннаяПеременная;
//СтрокаПараметра.НИмя = НРег(СтрокаПараметра.Имя);
КонецЕсли;
//СтрокаПараметра.Вход = Истина;
ЭтаФорма.Модифицированность = Истина;
КонецЦикла;
КонецПроцедуры
Процедура КоманднаяПанельТекстАлгоритмаКонсольКода(Кнопка)
СтруктураПараметров = Новый Структура;
Для Каждого СтрокаПараметра Из Параметры Цикл
СтруктураПараметров.Вставить(СтрокаПараметра.Имя, СтрокаПараметра.Значение);
КонецЦикла;
ФормаКонсолиКода = ирОбщий.ОперироватьСтруктуройЛкс(ТекстАлгоритма, , СтруктураПараметров);
ФормаКонсолиКода.ТекущийАлгоритм = Ссылка;
КонецПроцедуры
Процедура КоманднаяПанельТекстАлгоритмаСгенерироватьМетод(Кнопка)
ТекстАлгоритма = ПолеТекстовогоДокументаСКонтекстнойПодсказкой.ПолеТекстовогоДокумента.ПолучитьТекст();
Объект = ЭтотОбъект;
//Объект.СобратьКонтекст(); // Можно делать и снаружи, но здесь для надежности.
Результат = "Функция " + Объект.Наименование + "(";
СтрокаПараметров = "";
ПодсказкаПараметров = "";
СмещениеИндекса = 0;
Для Индекс = 0 ПО Объект.Параметры.Количество() - 1 Цикл
ВнешнийПараметр = Объект.Параметры[Индекс];
ИмяПараметра = ВнешнийПараметр.Имя;
Если СтрокаПараметров <> "" Тогда
СтрокаПараметров = СтрокаПараметров + ", ";
КонецЕсли;
//Если ВнешнийПараметр.Невозвращаемый Тогда
СтрокаПараметров = СтрокаПараметров + "Знач ";
//КонецЕсли;
СтрокаПараметров = СтрокаПараметров + ИмяПараметра;
ЗначениеПараметра = ВнешнийПараметр.Значение;
Если Типзнч(ЗначениеПараметра) = Тип("Строка") Тогда
СтрокаПараметров = СтрокаПараметров + " = """ + ЗначениеПараметра + """";
ИначеЕсли Типзнч(ЗначениеПараметра) = Тип("Булево") Тогда
СтрокаПараметров = СтрокаПараметров + " = " + ?(ЗначениеПараметра, "Истина", "Ложь");
ИначеЕсли Типзнч(ЗначениеПараметра) = Тип("Число") Тогда
СтрокаПараметров = СтрокаПараметров + " = " + Формат(ЗначениеПараметра, "ЧН=; ЧГ=");
КонецЕсли;
ТипХмл = XMLТипЗнч(ЗначениеПараметра);
Если Истина
И ТипХмл <> Неопределено
И Найти(ТипХмл.ИмяТипа, "Ref.") > 0
Тогда
ОбъектМД = ЗначениеПараметра.Метаданные();
СтрокаКлассаМД = ирКэш.Получить().ПолучитьСтрокуТипаМетаОбъектов(ирОбщий.ПолучитьПервыйФрагментЛкс(ОбъектМД.ПолноеИмя()));
ПодсказкаПараметров = ПодсказкаПараметров + Символы.ПС + Символы.Таб + ИмяПараметра + " = " + СтрокаКлассаМД.Множественное
+ "." + ОбъектМД.Имя + ".ПустаяСсылка();";
КонецЕсли;
КонецЦикла;
Результат = Результат + СтрокаПараметров + ") Экспорт" + Символы.ПС;
Если ПодсказкаПараметров <> "" Тогда
ПодсказкаПараметров = "
| #Если Сервер И Не Сервер Тогда" + ПодсказкаПараметров + "
| #КонецЕсли";
КонецЕсли;
Результат = Результат + Символы.Таб ;
//МассивСлужебныхПеременных = мВнешниеПараметры.Выгрузить("Наименование"); // Так не будет работать при использовании Выполнить (без функции)
МассивСлужебныхПеременных = Новый Массив;
Если МассивСлужебныхПеременных.Найти("ЭтотОбъект") = Неопределено Тогда
МассивСлужебныхПеременных.Добавить("ЭтотОбъект");
КонецЕсли;
Если МассивСлужебныхПеременных.Найти("Результат") = Неопределено Тогда
МассивСлужебныхПеременных.Добавить("Результат");
КонецЕсли;
Разделитель = ", ";
СтрокаСлужебных = "";
Для Каждого СлужебнаяПеременная Из МассивСлужебныхПеременных Цикл
СтрокаСлужебных = СтрокаСлужебных + Разделитель + СлужебнаяПеременная;
КонецЦикла;
СтрокаСлужебных = Сред(СтрокаСлужебных, СтрДлина(Разделитель) + 1);
Результат = Результат + "Перем " + СтрокаСлужебных + ";";
Результат = Результат + ПодсказкаПараметров;
мПлатформа = ирКэш.Получить();
ТекстПолученияКэшей = "";
Результат = Результат + Символы.ПС + мПлатформа.МаркерНачалаАлгоритма;
ТекстАлгоритмаТД = Новый ТекстовыйДокумент;
ТекстАлгоритмаТД.УстановитьТекст(Объект.ТекстАлгоритма);
Для Сч1 = 1 По ТекстАлгоритмаТД.КоличествоСтрок() Цикл
Результат = Результат + Символы.Таб + ТекстАлгоритмаТД.ПолучитьСтроку(Сч1) + Символы.ПС;
КонецЦикла;
//#Если Клиент Или ВнешнееСоединение Тогда
//мПлатформа = ирКэш.Получить();
//#КонецЕсли
Результат = Результат + мПлатформа.МаркерКонцаАлгоритма;
Если Найти(НРег(Объект.ТекстАлгоритма), НРег("~Конец")) > 0 Тогда
Результат = Результат + Символы.Таб + "; ~Конец:" + Символы.ПС;
КонецЕсли;
Результат = Результат + Символы.Таб + "Возврат Результат;" + Символы.ПС;
Результат = Результат + "КонецФункции" + Символы.ПС;
ирОбщий.ОткрытьТекстЛкс(Результат, , "ВстроенныйЯзык", Истина);
КонецПроцедуры
Процедура ПараметрыЗначениеНачалоВыбора(Элемент, СтандартнаяОбработка)
ирОбщий.ПолеВводаКолонкиРасширенногоЗначения_НачалоВыбораЛкс(ЭлементыФормы.Параметры, СтандартнаяОбработка, , Истина);
КонецПроцедуры
Процедура ПараметрыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)
Если ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив") Тогда
СтандартнаяОбработка = Ложь;
ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.КопированиеИПеремещение;
КонецЕсли;
КонецПроцедуры
Процедура ПараметрыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)
Если ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив") Тогда
ЭлементыФормы.Параметры.ВыделенныеСтроки.Очистить();
Для Каждого ЭлементМассива Из ПараметрыПеретаскивания.Значение Цикл
Если Метаданные.НайтиПоТипу(ТипЗнч(ЭлементМассива)) = Метаданные.НайтиПоТипу(ТипЗнч(Параметры)) Тогда
НоваяСтрока = Параметры.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлементМассива);
ЭлементыФормы.Параметры.ВыделенныеСтроки.Добавить(НоваяСтрока);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ДействияФормыОтображатьПараметры(Кнопка)
ПоказатьСвернутьНастройки(Не ЭлементыФормы.ДействияФормы.Кнопки.ОтображатьПараметры.Пометка);
КонецПроцедуры
Процедура ПоказатьСвернутьНастройки(Видимость = Истина)
ЭлементыФормы.ДействияФормы.Кнопки.ОтображатьПараметры.Пометка = Видимость;
ирОбщий.ИзменитьСвернутостьЛкс(Видимость, ЭлементыФормы.Панель1, ЭлементыФормы.Разделитель1, ЭтаФорма.Панель, "верх");
КонецПроцедуры
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
ПоказатьСвернутьНастройки();
КонецПроцедуры
Процедура ПослеЗаписи()
ОповеститьОВыборе(Ссылка);
КонецПроцедуры
// +++.КЛАСС.ПолеТекстовогоДокументаСКонтекстнойПодсказкой
ПолеТекстовогоДокументаСКонтекстнойПодсказкой = ирОбщий.ПолучитьОбъектПоПолномуИмениМетаданныхЛкс("Обработка.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой");
#Если Сервер И Не Сервер Тогда
ПолеТекстовогоДокументаСКонтекстнойПодсказкой = Обработки.ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.Создать();
#КонецЕсли
ПолеТекстовогоДокументаСКонтекстнойПодсказкой.Инициализировать(, ЭтаФорма, ЭлементыФормы.ТекстАлгоритма,
ЭлементыФормы.КоманднаяПанельТекстАлгоритма, , "ВыполнитьЛокально", ЭтотОбъект);
// ---.КЛАСС.ПолеТекстовогоДокументаСКонтекстнойПодсказкой

View File

@ -30,14 +30,6 @@
<v8:lang>ru</v8:lang>
<v8:content>.Редактировать объект (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>.Редактировать объект (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>.Редактировать объект (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment>Справочник-команда. Во вводе на основании нужно указать все типы объектов, для которых применяется команда.</Comment>
<Hierarchical>false</Hierarchical>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="6c6a1433-f6e8-4148-bb93-9e91fdc597a2">
<Properties>
<Name>ФормаЭлемента</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма элемента</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,11 @@
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Отказ = Истина;
// Может, ссылки еще не существует? надо сначала записать объект
Если Не ЗначениеЗаполнено(ПараметрОснование) Тогда
Сообщить("Сначала запишите объект!");
Возврат;
КонецЕсли;
ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(ПараметрОснование);
КонецПроцедуры

View File

@ -0,0 +1,119 @@
{27,
{18,
{
{1,0},6,4294967295},
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,
{1,
{
{13,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0},25,0,0,0,0,0,0,
{4,1,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""}
},0,1,
{1,1,
{4,
{1,1,
{"ru","Страница1"}
},
{4,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""}
},-1,1,1,"Страница1",1,
{3,4,
{0}
},
{3,4,
{0}
}
}
},1,1,0,4,
{2,8,1,1,1,0,0,0,0},
{2,10,0,1,2,0,0,0,0},
{2,392,1,1,3,0,0,8,0},
{2,292,0,1,4,0,0,8,0},0,4294967295,5,64,0,
{3,4,
{0}
},0,0,57,0},
{0}
},
{0}
},400,300,1,0,1,4,4,62,400,300,96},
{
{1},3,
{1,
{
{1},0,0,1,"ПланОбменаОбъект",
{"Pattern",
{"#",35c0e59d-d6af-46c0-9116-7e4d88e7182a}
}
}
},
{0}
},
{c5251418-7f99-4a2f-ba62-7f3c9e7bf914,1,
{2,0,
{0},0}
},
{1,
{70000,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПередОткрытием",
{1,"ПередОткрытием",
{1,1,
{"ru","Перед открытием"}
},
{1,1,
{"ru","Перед открытием"}
},
{1,1,
{"ru","Перед открытием"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
}
},1,4,1,0,0,0,
{0},
{0},
{4,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""}
},1,2,0,0,1,1}

View File

@ -30,14 +30,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Hierarchical>false</Hierarchical>
@ -45,7 +37,7 @@
<LimitLevelCount>false</LimitLevelCount>
<LevelCount>2</LevelCount>
<FoldersOnTop>true</FoldersOnTop>
<UseStandardCommands>false</UseStandardCommands>
<UseStandardCommands>true</UseStandardCommands>
<Owners/>
<SubordinationUse>ToItems</SubordinationUse>
<CodeLength>5</CodeLength>
@ -311,7 +303,7 @@
<AuxiliaryObjectForm/>
<AuxiliaryFolderForm/>
<AuxiliaryListForm>Catalog.ирОбъектыДляОтладки.Form.ФормаСпискаУП</AuxiliaryListForm>
<AuxiliaryChoiceForm>Catalog.ирОбъектыДляОтладки.Form.ФормаСпискаУП</AuxiliaryChoiceForm>
<AuxiliaryChoiceForm/>
<AuxiliaryFolderChoiceForm/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<BasedOn/>
@ -338,14 +330,6 @@
<v8:lang>ru</v8:lang>
<v8:content>XML</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>XML</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>XML</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -390,14 +374,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Дата изменения</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -441,14 +417,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Число символов</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Число символов</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Число символов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
@ -496,14 +464,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Отладить</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Отладить</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Отладить</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>FormCommandBarImportant</Group>
@ -522,35 +482,6 @@
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
<Command uuid="308b5d90-8b09-4fcd-b7ba-8b31bed1b4d9">
<Properties>
<Name>Команда1</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Объекты для отладки (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирРазработка</Group>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</Command>
</ChildObjects>
</Catalog>
</MetaDataObject>

View File

@ -0,0 +1,13 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ОтладитьОтложенныйОбъектЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,22 @@
// Параметры - ТаблицаЗначений с колонкой Имя
Функция ПараметрыКорректны(Параметры) Экспорт
Результат = Истина;
Если Параметры.Количество() = 0 Тогда
Возврат Результат;
КонецЕсли;
Для Каждого СтрокаПараметра Из Параметры Цикл
Если Не ирОбщий.ЛиИмяПеременнойЛкс(СтрокаПараметра.Имя) Тогда
Результат = Ложь;
Сообщить("Имя параметра """ + СтрокаПараметра.Имя + """ не отвечает правилам формирования имен встроенного языка",
СтатусСообщения.Внимание);
КонецЕсли;
КонецЦикла;
НеуникальныеИмена = ирОбщий.ПолучитьНеуникальныеЗначенияКолонкиТаблицыЛкс(Параметры, "Имя");
Для Каждого НеуникальноеИмя Из НеуникальныеИмена Цикл
Сообщить("Параметр """ + НеуникальноеИмя + """ встречается более одного раза", СтатусСообщения.Внимание);
Результат = Ложь;
КонецЦикла;
Возврат Результат;
КонецФункции // ПараметрыКорректны()

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<Form uuid="2be6eae3-1743-49aa-afb0-66a78bcb06b5">
<Properties>
<Name>ФормаСписка</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Форма списка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
</Properties>
</Form>
</MetaDataObject>

View File

@ -0,0 +1,35 @@

Процедура ДействияФормыМенеджерТабличногоПоля(Кнопка)
ирОбщий.ОткрытьМенеджерТабличногоПоляЛкс(ЭлементыФормы.СправочникСписок, ЭтаФорма);
КонецПроцедуры
Процедура ДействияФормыОПодсистеме(Кнопка)
ирОбщий.ОткрытьСправкуПоПодсистемеЛкс(ТипЗнч(СправочникСписок));
КонецПроцедуры
Процедура СправочникСписокПриАктивизацииСтроки(Элемент)
Если Элемент.ТекущаяСтрока <> Неопределено Тогда
Текст = Элемент.ТекущаяСтрока.XML;
Иначе
Текст = "";
КонецЕсли;
ЭлементыФормы.ПолеТекстовогоДокумента.УстановитьТекст(Текст);
КонецПроцедуры
Процедура ДействияФормыОтладить(Кнопка)
Ссылка = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;
Если Ссылка = Неопределено Тогда
Возврат;
КонецЕсли;
ирОбщий.ОтладитьОтложенныйОбъектЛкс(Ссылка);
КонецПроцедуры
Порядок.Установить("ДатаИзменения Убыв");

View File

@ -0,0 +1,778 @@
{27,
{18,
{
{1,1,
{"ru","Справочник Объекты для отладки (ИР)"}
},4,4294967295},
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,
{1,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},26,1,
{0,3,1},2,
{0,3,1},
{0,4,1},1,
{0,2,2},4,
{0,1,3},
{0,2,3},
{0,3,3},
{0,4,3},0,0,
{8,1,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},0,1,
{1,1,
{4,
{1,1,
{"ru","Страница1"}
},
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,2,0,0},-1,1,1,"Страница1",1,
{3,4,
{0}
},
{3,4,
{0}
}
}
},1,1,0,4,
{2,8,1,1,1,0,0,0,0},
{2,33,0,1,2,0,0,0,0},
{2,528,1,1,3,0,0,8,0},
{2,293,0,1,4,0,0,8,0},0,4294967295,5,64,0,
{3,4,
{0}
},0,0,57,0,0},
{0}
},
{4,
{ea83fe3a-ac3c-4cce-8045-3dddf35b28b1,1,
{5,
{"Pattern",
{"#",1d72fea9-54fa-461e-ac39-325b6734c106}
},
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,1,
{-18},0,0,0},
{1,0},0,0,100,0,0},
{19,117644845,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-14}
},
{3,3,
{-15}
},
{3,3,
{-13}
},2,2,0,0,0,0,0,1,1,
{7,2,0,
{-20},1,100},
{7,2,0,
{-20},1,100},2,0,1,
{5,
{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b,
{4,
{8,
{17,
{1,0},
{1,0},
{1,0},24,0,-1,-1,-1,12590592,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},
{7,3,0,1,100},
{7,3,0,1,100},1,0,0,4,0,"Картинка",
{},4,1,
{1,0},
{"Pattern",
{"S",10,1}
},0,1,00000000-0000-0000-0000-000000000000,0,0,0},
{-1},
{-1},
{-1}
},1}
},
{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b,
{4,
{8,
{17,
{1,1,
{"ru","Код"}
},
{1,0},
{1,0},35,3,-1,-1,-1,12590592,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},
{7,3,0,1,100},
{7,3,0,1,100},1,0,0,4,0,"Код",
{},5,0,
{1,0},
{"Pattern",
{"N",5,0,1}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7DsIwDAXGSr1EZkeyk6ZpLoFYOECBrgyoW5WT
MXAkrkBil4DKp4niPj877znrzYq/+/U2BairSe36cRwuZ8Vgq8ABAsW6ijkhm1qg
jCw0OeCTXWIPNjcDIcb0wxU2B23Mr55PLB1+mTD0yrAbTV1WSYuzBCgwqUvSInwu
4pOHTMpsUu1VLFGpUoRCz1XInKa8M6+k6Q9bbvhi8s1Q67035KA8EU8Xet829mQ0
hSHoxg1Gd12w2nR4OAYKrg9e9JcToMzALzrfyKIkZsRCfAA=},0},0,0,0},
{-2},
{-1},
{-1}
},0}
},
{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b,
{4,
{8,
{17,
{1,1,
{"ru","Наименование"}
},
{1,0},
{1,0},187,1,-1,-1,-1,12598784,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},
{7,3,0,1,100},
{7,3,0,1,100},1,0,0,4,0,"Наименование",
{},27,0,
{1,0},
{"Pattern",
{"S",150,1}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7DsIwDEWwVeISmR3JTtKmuQUS4gAFujIgNpST
MXAkrkBslwLlk0Ry3rNf/JzFfCbrdrmeEyyrs1l1p1N/PBgBawNUI1BeVpkJPdQA
MfIQOOAjO8URPBQxEGIuF6nwHKxzvzSfWBVxSjh6MuLGUstdyhaWABWW7kp6VKxF
8Ip4SN5BbZqNyWM05k1U6KEKJWeJD+eNiv5kxxe+2Hyx1MQYHdUwfpLMl7rYBL93
llKfbKh7Z9s2eeta3O4SpbpLUftPJ0CdQf50eFGakppRC/kO},0},0,0,0},
{-3},
{-1},
{-1}
},0}
},
{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b,
{4,
{8,
{17,
{1,1,
{"ru","Дата изменения"}
},
{1,0},
{1,0},111.0000000000001,2,-1,-1,-1,12590592,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},
{7,3,0,1,100},
{7,3,0,1,100},1,0,0,4,0,"ДатаИзменения",
{},16,0,
{1,0},
{"Pattern",
{"D"}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7EsIgENXWmVyCGmZ2gQToPYCNB4ia1sJJl+Fk
Fh7JA9gIu/koflhmlvf295bHekXnfr0NQVabQezavu8uZ0FgK2K1ifnJFxuJGRlp
s4MpWmInjYSUigAxPSjDZKe0/lXzibnClYTGhSE1Cn2ekoxYlMAwTWfSgFwMC5/N
skixF3H2QrwlJXrMAoopzDfHBRf9ieqpwxeRL8Ia55zGWs5fRNuF1jXWnLTC0AVl
604r74NR2sPhGDDUbXA8v9wAeAf60bEjDUUWwxLiEw==},0},0,0,0},
{0,ef3c7e63-7dc3-4e7a-a871-daaa0e3dd570},
{-1},
{-1}
},0}
},
{48a6ebc3-fcc8-4f8f-b399-459fb32aa46b,
{4,
{8,
{17,
{1,1,
{"ru","Число символов"}
},
{1,0},
{1,0},77,4,-1,-1,-1,12590592,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},16,16,d2314b5d-8da4-4e0f-822b-45e7500eae09,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},
{7,3,0,1,100},
{7,3,0,1,100},1,0,0,4,0,"ЧислоСимволов",
{},11,0,
{1,0},
{"Pattern",
{"N",10,0,0}
},0,1,381ed624-9217-4e63-85db-c4c3cb87daae,
{
{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7DsIwDEWwVeolMjtSnLRNcgnEwgEKdGVA3aqc
jIEjcQViuwqoBeJIzvPz5zm77YbP8/6YItTVpA79OA63q2KwV4AGsqW6ShSRix0g
IQcNucIusQeXizH3MCk/OMOR09b+qlljqfDLgMV3hNVoDDSF1BJEMALzdAk6A2vD
OYddIyrVUaXilSpZRug5yzCnkS7xSor+sKXDF5UfijrvvcUWyh/xerH3XeMuVmMc
om7aweoQotM2mNM5Ymz76GX+cgMjO/CXzh15KIoYkZBe},0},0,0,0},
{0,9f461635-e06c-4b93-8ded-ffcebdb55a8b},
{-1},
{-1}
},0}
}
},0,0,0,0,0,0,0,100,1,2}
},
{99f52caa-7b96-4bd4-a649-aedbd230a555,
{12,0,0,1,1,2,1,0,
{0},
{1,0},
{3,1},0}
},
{1,
{35,e1692cc2-605b-4535-84dd-28440238746c,
{3,"СправочникСписокПриАктивизацииСтроки",
{1,"СправочникСписокПриАктивизацииСтроки",
{1,1,
{"ru","Справочник список при активизации строки"}
},
{1,1,
{"ru","Справочник список при активизации строки"}
},
{1,1,
{"ru","Справочник список при активизации строки"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
}
}
},
{8,8,33,528,167,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,3,0,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,0,3,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},0,0,0,0,0,0,0,0,2,0,0},
{14,"СправочникСписок",4294967295,0,0,0},
{0}
},
{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2,
{2,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-21}
},
{3,0,
{0},4,1,0,00000000-0000-0000-0000-000000000000},
{1,0},0,0,100,0,0},9,2,1,0,1,1,
{5,fd3fe296-ace1-4714-8a0e-a902b716c8d3,359,1,6,
{6,274b0f72-07e0-44b4-9152-12f0fad66521,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},
{6,3aa1162d-4d71-4e8e-a293-7d7630a13ddb,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ДействияФормыОтладить",
{1,"ДействияФормыОтладить",
{1,1,
{"ru","Действия формы отладить"}
},
{1,1,
{"ru","Действия формы отладить"}
},
{1,1,
{"ru","Действия формы отладить"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
},7,
{1,1,
{"ru","Отладить"}
},
{1,1,
{"ru","Отладить"}
},
{4,1,
{0,5f19d61d-030e-4b03-820d-c1997cb9137a},"",-1,-1,0,0,""}
},
{6,ef8539a9-2b31-40f0-a804-aac4d7457ed5,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},
{6,0d98b734-1fd9-4d0b-92d4-97a6d881b0f7,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ДействияФормыОПодсистеме",
{1,"ДействияФормыОПодсистеме",
{1,2,
{"ru","О подсистеме"},
{"en","О подсистеме"}
},
{1,2,
{"ru","О подсистеме"},
{"en","О подсистеме"}
},
{1,2,
{"ru","О подсистеме"},
{"en","О подсистеме"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
},1,
{4,1,
{0,f4bd79b3-3b25-494b-99c4-74b39341e007},"",-1,-1,0,0,""}
},
{6,2e1e727c-c338-4ff7-a192-400d0a490a68,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6,
{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},
{6,f1ac4b7c-4400-4300-9329-ae47ea0dbe47,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ДействияФормыМенеджерТабличногоПоля",
{1,"ДействияФормыМенеджерТабличногоПоля",
{1,2,
{"ru","Менеджер табличного поля"},
{"en","Менеджер табличного поля"}
},
{1,2,
{"ru","Менеджер табличного поля"},
{"en","Менеджер табличного поля"}
},
{1,2,
{"ru","Менеджер табличного поля"},
{"en","Менеджер табличного поля"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
},7,
{1,1,
{"ru","Менеджер табличного поля"}
},
{1,1,
{"ru","Менеджер табличного поля"}
},
{4,3,
{0},"",-1,-1,0,
{
{#base64:R0lGODlhEAAQADMAACH5BAEAAAEALAAAAAAQABAAo////wEAAK6u5MHB60pKwoaG
1wAAzOrq+AC0AzY2oHJy0AAAAF1dyQAAAAAAAAAAAARzkMhJU7iYDMBHUYkSINil
AR4RjghZaoUqtnQZaGuwBIZuFwOC6NLrBTgCAJBwACQBhmZAQBUsC1WBAXt0KoPN
ZxRwxH4TBe9gS0YqNWHOuJxUFdLJdbr7PDS9UFJKeQOFTgaIiHwcjF6JB3QohRt5
BgxkEQA7}
},0,""}
},1,
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,6,274b0f72-07e0-44b4-9152-12f0fad66521,
{8,"Разделитель4",0,1,
{1,1,
{"ru","Действие9"}
},0,fd3fe296-ace1-4714-8a0e-a902b716c8d3,17,1e2,2,0,1,0,0,0,0},3aa1162d-4d71-4e8e-a293-7d7630a13ddb,
{8,"Отладить",0,2,
{1,1,
{"ru","Отладить"}
},1,fd3fe296-ace1-4714-8a0e-a902b716c8d3,80,1e2,0,3,1,0,0,0,0},ef8539a9-2b31-40f0-a804-aac4d7457ed5,
{8,"Разделитель5",0,1,
{1,1,
{"ru","Действие9"}
},0,fd3fe296-ace1-4714-8a0e-a902b716c8d3,81,1e2,2,0,1,0,0,0,0},f1ac4b7c-4400-4300-9329-ae47ea0dbe47,
{8,"МенеджерТабличногоПоля",0,1,
{1,1,
{"ru","Менеджер табличного поля"}
},1,fd3fe296-ace1-4714-8a0e-a902b716c8d3,16,1e2,0,0,1,0,0,0,0},2e1e727c-c338-4ff7-a192-400d0a490a68,
{8,"Разделитель7",0,4,
{1,1,
{"ru","Действие6"}
},0,fd3fe296-ace1-4714-8a0e-a902b716c8d3,33,1e2,2,0,1,0,0,0,0},0d98b734-1fd9-4d0b-92d4-97a6d881b0f7,
{8,"ОПодсистеме",0,4,
{1,1,
{"ru","О подсистеме"}
},1,fd3fe296-ace1-4714-8a0e-a902b716c8d3,34,1e2,0,0,1,0,0,0,0},
{0,0,
{0}
}
}
},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,9d0a2e40-b978-11d4-84b6-008048da06df,0,0,0}
},
{8,0,0,536,25,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,2,0,25},
{2,-1,6,0}
},
{0,
{2,0,2,0},
{2,-1,6,0}
},
{0,
{2,0,3,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,2,1},0,0,0,0,0,0,1,1,1,0},
{14,"ДействияФормы",0,0,0,0},
{0}
},
{36e52348-5d60-4770-8e89-a16ed50a2006,3,
{0,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},1,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{-18},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},2,2,0}
},
{8,8,167,528,173,1,
{0,
{2,3,1,-6},
{2,-1,6,0}
},
{0,
{2,0,0,173},
{2,0,1,-128}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,0,3,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,1,1},2,
{0,3,0},
{0,4,0},0,0,0,0,0,2,3,0,0},
{14,"Разделитель1",4294967295,0,0,0},
{0}
},
{14c4a229-bfc3-42fe-9ce1-2da049fd0109,4,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,3,
{-22}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},6,1,d9c193cd-5f8a-4415-ac37-bcb084dae76e,
{0},1,0},
{8,8,174,528,293,1,
{0,
{2,3,1,1},
{2,-1,6,0}
},
{0,
{2,0,1,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,0,3,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},0,0,0,0,0,0,0,3,4,0,0},
{14,"ПолеТекстовогоДокумента",4294967295,0,0,0},
{0}
}
}
},536,301,1,0,1,4,4,43,536,301,96},
{
{0},2,
{1,
{
{0},0,0,1,"СправочникСписок",
{"Pattern",
{"#",1d72fea9-54fa-461e-ac39-325b6734c106}
}
}
},
{1,
{1,
{1,
{0}
}
}
}
},
{53fb5449-841a-459c-9a83-576f05941e1f,0},
{0},1,4,1,0,0,0,
{0},
{0,d4fb5140-8838-483f-9452-47ac6138c9d1},
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},1,2,0,0,1,1}

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Форма списка УП</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Форма списка УП</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Форма списка УП</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>

View File

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<VerticalScroll>useIfNecessary</VerticalScroll>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ПоискВСправкеГлобальнаяИис" id="7999">
<Type>CommandBarButton</Type>
<CommandName>0</CommandName>
<DataPath>ПараметрГлобальныхКомандИис</DataPath>
<LocationInCommandBar>InAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ПоискВСправкеГлобальнаяИисРасширеннаяПодсказка" id="8000"/>
</Button>
<Button name="ФормаОбщаяКомандаирОПодсистеме" id="8001">
<Type>CommandBarButton</Type>
<CommandName>CommonCommand.ирОПодсистеме</CommandName>
<ExtendedTooltip name="ФормаОбщаяКомандаирОПодсистемеРасширеннаяПодсказка" id="8002"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ChildItems>
<Table name="Список" id="1">
<Representation>List</Representation>
<CommandBarLocation>None</CommandBarLocation>
<DefaultItem>true</DefaultItem>
<UseAlternationRowColor>true</UseAlternationRowColor>
<InitialTreeView>ExpandTopLevel</InitialTreeView>
<EnableStartDrag>true</EnableStartDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<RowPictureDataPath>Список.DefaultPicture</RowPictureDataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<AutoRefresh>false</AutoRefresh>
<AutoRefreshPeriod>60</AutoRefreshPeriod>
<Period>
<v8:variant xsi:type="v8:StandardPeriodVariant">Custom</v8:variant>
<v8:startDate>0001-01-01T00:00:00</v8:startDate>
<v8:endDate>0001-01-01T00:00:00</v8:endDate>
</Period>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<RestoreCurrentRow>false</RestoreCurrentRow>
<TopLevelParent xsi:nil="true"/>
<ShowRoot>true</ShowRoot>
<AllowRootChoice>false</AllowRootChoice>
<UpdateOnDataChange>Auto</UpdateOnDataChange>
<ContextMenu name="СписокКонтекстноеМеню" id="2"/>
<AutoCommandBar name="СписокКоманднаяПанель" id="3">
<Autofill>false</Autofill>
</AutoCommandBar>
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="18"/>
<SearchStringAddition name="СписокСтрокаПоиска" id="19">
<AdditionSource>
<Item>Список</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСтрокаПоискаКонтекстноеМеню" id="20"/>
<ExtendedTooltip name="СписокСтрокаПоискаРасширеннаяПодсказка" id="21"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокСостояниеПросмотра" id="22">
<AdditionSource>
<Item>Список</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСостояниеПросмотраКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="СписокСостояниеПросмотраРасширеннаяПодсказка" id="24"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокУправлениеПоиском" id="25">
<AdditionSource>
<Item>Список</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокУправлениеПоискомКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="27"/>
</SearchControlAddition>
<ChildItems>
<LabelField name="Код" id="14">
<DataPath>Список.Code</DataPath>
<ContextMenu name="КодКонтекстноеМеню" id="15"/>
<ExtendedTooltip name="КодРасширеннаяПодсказка" id="28"/>
</LabelField>
<LabelField name="Наименование" id="4">
<DataPath>Список.Description</DataPath>
<DefaultItem>true</DefaultItem>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="29"/>
</LabelField>
<LabelField name="ДатаИзменения" id="6">
<DataPath>Список.ДатаИзменения</DataPath>
<ContextMenu name="ДатаИзмененияКонтекстноеМеню" id="7"/>
<ExtendedTooltip name="ДатаИзмененияРасширеннаяПодсказка" id="30"/>
</LabelField>
<LabelField name="ЧислоСимволов" id="16">
<DataPath>Список.ЧислоСимволов</DataPath>
<ContextMenu name="ЧислоСимволовКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="ЧислоСимволовРасширеннаяПодсказка" id="31"/>
</LabelField>
<LabelField name="Комментарий" id="8">
<ContextMenu name="КомментарийКонтекстноеМеню" id="9"/>
<ExtendedTooltip name="КомментарийРасширеннаяПодсказка" id="32"/>
</LabelField>
</ChildItems>
</Table>
<TextDocumentField name="XML" id="10">
<DataPath>Items.Список.CurrentData.XML</DataPath>
<ReadOnly>true</ReadOnly>
<ContextMenu name="XMLКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="XMLРасширеннаяПодсказка" id="33"/>
</TextDocumentField>
</ChildItems>
<Attributes>
<Attribute name="Список" id="1">
<Type>
<v8:Type>cfg:DynamicList</v8:Type>
</Type>
<MainAttribute>true</MainAttribute>
<Settings xsi:type="DynamicList">
<ManualQuery>false</ManualQuery>
<DynamicDataRead>true</DynamicDataRead>
<MainTable>Catalog.ирОбъектыДляОтладки</MainTable>
<ListSettings>
<dcsset:filter>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>dfcece9d-5077-440b-b6b3-45a5cb4538eb</dcsset:userSettingID>
</dcsset:filter>
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemField">
<dcsset:field>ДатаИзменения</dcsset:field>
<dcsset:orderType>Desc</dcsset:orderType>
</dcsset:item>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>88619765-ccb3-46c6-ac52-38e9c992ebd4</dcsset:userSettingID>
</dcsset:order>
<dcsset:conditionalAppearance>
<dcsset:viewMode>Normal</dcsset:viewMode>
<dcsset:userSettingID>b75fecce-942b-4aed-abc9-e6a02e460fb3</dcsset:userSettingID>
</dcsset:conditionalAppearance>
</ListSettings>
</Settings>
</Attribute>
<Attribute name="ПараметрГлобальныхКомандИис" id="7999">
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
</Attributes>
</Form>

View File

@ -6,15 +6,7 @@
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Администрирование А-Н</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Администрирование А-Н</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Администрирование А-Н</v8:content>
<v8:content>Администрирование</v8:content>
</v8:item>
</Synonym>
<Comment/>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandGroup uuid="081cc825-776f-4903-aad7-957fd3d5b58f">
<Properties>
<Name>ирКоманднаяПанельФормы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Общее (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Category>FormCommandBar</Category>
</Properties>
</CommandGroup>
</MetaDataObject>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommandGroup uuid="da12e011-27c3-48d5-93ee-daafe5e97b3b">
<Properties>
<Name>ирНастройки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Category>ActionsPanel</Category>
</Properties>
</CommandGroup>
</MetaDataObject>

View File

@ -8,20 +8,12 @@
<v8:lang>ru</v8:lang>
<v8:content>Разработка</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Разработка</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Разработка</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Category>NavigationPanel</Category>
<Category>ActionsPanel</Category>
</Properties>
</CommandGroup>
</MetaDataObject>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="9ae5c8bb-1353-4cdc-a470-099e72eba3a1">
<Properties>
<Name>ирИсследоватьИсточник</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Исследовать источник (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать источник команды в исследователь объектов</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирИсследовать</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType>
<v8:Type>cfg:CatalogRef.ирКомандаРедактироватьОбъект</v8:Type>
<v8:Type>cfg:CatalogRef.ирОбъектыДляОтладки</v8:Type>
<v8:Type>cfg:CatalogRef.ирАлгоритмы</v8:Type>
</CommandParameterType>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,13 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ИсследоватьЛкс(ПараметрыВыполненияКоманды.Источник);
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="60b48362-4a19-4a23-95da-9a9ce4ad14c5">
<Properties>
<Name>ирОПодсистеме</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>О подсистеме</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip/>
<Picture>
<xr:Ref>CommonPicture.ирВопрос</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,12 @@
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ОткрытьСправкуПоПодсистемеЛкс(ПараметрыВыполненияКоманды.Источник);
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="531e0dd3-aa06-4578-b614-770f30d5dd3f">
<Properties>
<Name>ирОбработатьОбъекты</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обработать объекты (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment>Для любых ссылочных объектов</Comment>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать ссылки в подбор и обработку объектов</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирОбработкаОбъектов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="12" y="12"/>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType>
<v8:Type>cfg:CatalogRef.ирКомандаРедактироватьОбъект</v8:Type>
<v8:Type>cfg:CatalogRef.ирОбъектыДляОтладки</v8:Type>
<v8:Type>cfg:CatalogRef.ирАлгоритмы</v8:Type>
</CommandParameterType>
<ParameterUseMode>Multiple</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,13 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ОткрытьМассивОбъектовВПодбореИОбработкеОбъектовЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="f32bd88d-f843-4aed-baa1-d8b1a42b55c0">
<Properties>
<Name>ирОбработатьОбъектыИзАктивнойФормы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обработать объекты из активной формы (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать объекты в подбор и обработку объектов из активной формы</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирОбработкаОбъектов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="12" y="12"/>
</Picture>
<Shortcut>Ctrl+Alt+R</Shortcut>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Multiple</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,64 @@
// Используется недокументированная особенность (скорее всего ошибка) платформы -
// глобальная непараметризованная команда формы по горячей клавише сработавает во всех формах, открытых без блокирования других форм
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ПараметрКоманды = ПолучитьТекущиеСсылкиОбъектов();
ирОбщий.ОткрытьМассивОбъектовВПодбореИОбработкеОбъектовЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Функция ПолучитьТекущиеСсылкиОбъектов()
ТекущееОкно = АктивноеОкно();
Результат = Новый Массив;
Если ТипЗнч(ТекущееОкно) = Тип("ОкноКлиентскогоПриложения") Тогда
ТекущаяФорма = ТекущееОкно.ПолучитьСодержимое();
Если ТипЗнч(ТекущаяФорма) = Тип("УправляемаяФорма") Тогда
Если ТипЗнч(ТекущаяФорма.ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда
Ссылка = ТекущаяФорма.ТекущийЭлемент.ТекущаяСтрока;
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат ТекущаяФорма.ТекущийЭлемент.ВыделенныеСтроки;
КонецЕсли;
Структура = Новый Структура("Ссылка, Data");
Для Каждого ВыделеннаяСтрока Из ТекущаяФорма.ТекущийЭлемент.ВыделенныеСтроки Цикл
ДанныеСтроки = ТекущаяФорма.ТекущийЭлемент.ДанныеСтроки(ВыделеннаяСтрока);
ЗаполнитьЗначенияСвойств(Структура, ДанныеСтроки);
Ссылка = Структура["Ссылка"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
Ссылка = Структура["Data"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Результат.Количество() = 0 Тогда
Ссылка = ирОбщий.СсылкаОсновногоОбъектаФормыЛкс(ТекущаяФорма);
Если КлючСтрокиПодходит(Ссылка) Тогда
Результат.Добавить(Ссылка);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
&НаКлиенте
Функция КлючСтрокиПодходит(Знач Ссылка)
Возврат Ложь
Или ирОбщий.ЛиСсылкаНаОбъектБДЛкс(Ссылка)
Или ирОбщий.ЛиКлючЗаписиРегистраЛкс(Ссылка);
КонецФункции

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="28d4f17f-b806-48b1-8418-fd0477e58a10">
<Properties>
<Name>ирОперироватьИсточник</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Оперировать источник (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать источник команды в консоль кода</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКонсольКода</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,13 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ОперироватьСтруктуройЛкс(, , Новый Структура("Источник", ПараметрыВыполненияКоманды.Источник));
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="87e29938-c7a3-4525-b8e7-e3de81a970dc">
<Properties>
<Name>ирОткрытьНастройкиАлгоритмов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Настройки алгоритмов</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть настройки алгоритмов</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирНастройкиАлгоритмов</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="1" y="9"/>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,7 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.ОткрытьНастройкиАлгоритмовЛкс();
КонецПроцедуры

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="4e9d9d28-f2ee-494a-9fe0-116ed9a2b168">
<Properties>
<Name>ирОткрытьОбъектДляОтладки</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть объект для отладки</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть отладчик</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирОтладка</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,7 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.ОтладитьОтложенныйОбъектБезПараметровЛкс();
КонецПроцедуры

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="3330c3e5-734f-4ba1-b58c-7e86e4965d8d">
<Properties>
<Name>ирОткрытьОтладчик</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отладчик</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть отладчик</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКонфигуратор1С8</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,7 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.ОткрытьОтладчикЛкс();
КонецПроцедуры

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="aeab7140-6400-4306-927d-a25ab55baa7b">
<Properties>
<Name>ирОткрытьРегистрациюCOMКомпонент</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Регистрация COM-компонент (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть регистрацию COM-компонент (ИР)</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирCOMАдмин</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,7 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.ОткрытьРегистрацияCOMКомпонентЛкс();
КонецПроцедуры

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="a0030abf-d497-43fa-87e5-ebcf96776a60">
<Properties>
<Name>ирОткрытьСписокИнструментов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список инструментов и настройки (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список инструментов и общие настройки</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКоманднаяПанель</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,6 @@
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.ОткрытьСписокИнструментовЛкс();
КонецПроцедуры

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="9dd86a21-181f-48c0-bc89-6b673ab7c79a">
<Properties>
<Name>ирПерезапуститьСеанс</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перезапустить сеанс (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip/>
<Picture/>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,10 @@
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#Иначе
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="d7797e42-b3ca-435e-91b0-f6be62ffccdc">
<Properties>
<Name>ирРедактироватьИзмененияНаУзле</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактировать изменения на узле (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment>Для любых планов обмена</Comment>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать узел в редактор изменений на узле</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирИзмененияНаУзле</xr:Ref>
<xr:LoadTransparent>false</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,15 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
Форма = ирОбщий.ПолучитьФормуЛкс("Обработка.ирРедакторИзмененийНаУзлах.Форма");
Форма.ПараметрУзелОбмена = ПараметрКоманды;
Форма.Открыть();
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="c6fd6f8b-4a63-4a7e-b363-0d55550bf2fa">
<Properties>
<Name>ирРедактироватьОбъект</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактировать объект (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment>Для любых ссылочных объектов</Comment>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать объект в редактор объекта БД</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирРедактироватьОбъектБД</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="13" y="8"/>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType>
<v8:Type>cfg:CatalogRef.ирКомандаРедактироватьОбъект</v8:Type>
<v8:Type>cfg:CatalogRef.ирОбъектыДляОтладки</v8:Type>
<v8:Type>cfg:CatalogRef.ирАлгоритмы</v8:Type>
</CommandParameterType>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,13 @@

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="41349f94-29fb-4d2e-a530-35daf95b09a8">
<Properties>
<Name>ирРедактироватьОбъектИзАктивнойФормы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Редактировать объект из активной формы (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>CommandGroup.ирКоманднаяПанельФормы</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Передать объект из активной формы в редактор объекта БД</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирРедактироватьОбъектБД</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
<xr:TransparentPixel x="13" y="8"/>
</Picture>
<Shortcut>Ctrl+Alt+E</Shortcut>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,64 @@
// Используется недокументированная особенность (скорее всего ошибка) платформы -
// глобальная непараметризованная команда формы по горячей клавише сработавает во всех формах, открытых без блокирования других форм
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
#Если ВебКлиент Тогда
Сообщить("Команда недоступна в вебклиенте");
#ИначеЕсли ТонкийКлиент Тогда
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#Иначе
ПараметрКоманды = ПолучитьТекущуюСсылкуОбъекта();
Если Не ЗначениеЗаполнено(ПараметрКоманды) Тогда
Возврат;
КонецЕсли;
ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(ПараметрКоманды);
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Функция ПолучитьТекущуюСсылкуОбъекта()
ТекущееОкно = АктивноеОкно();
Если ТипЗнч(ТекущееОкно) = Тип("ОкноКлиентскогоПриложения") Тогда
ТекущаяФорма = ТекущееОкно.ПолучитьСодержимое();
Если ТипЗнч(ТекущаяФорма) = Тип("УправляемаяФорма") Тогда
Если ТипЗнч(ТекущаяФорма.ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда
Ссылка = ТекущаяФорма.ТекущийЭлемент.ТекущаяСтрока;
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат Ссылка;
КонецЕсли;
Структура = Новый Структура("Ссылка, Data");
ДанныеСтроки = ТекущаяФорма.ТекущийЭлемент.ТекущиеДанные;
Если ДанныеСтроки <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(Структура, ДанныеСтроки);
Ссылка = Структура["Ссылка"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат Ссылка;
КонецЕсли;
Ссылка = Структура["Data"];
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат Ссылка;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Ссылка = ирОбщий.СсылкаОсновногоОбъектаФормыЛкс(ТекущаяФорма);
Если КлючСтрокиПодходит(Ссылка) Тогда
Возврат Ссылка;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат Неопределено;
КонецФункции
&НаКлиенте
Функция КлючСтрокиПодходит(Знач Ссылка)
Возврат Ложь
Или ирОбщий.ЛиСсылкаНаОбъектБДЛкс(Ссылка)
Или ирОбщий.ЛиКлючЗаписиРегистраЛкс(Ссылка);
КонецФункции

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonCommand uuid="e6f450ca-1a6b-4a24-8a0a-72c2a46c732f">
<Properties>
<Name>ирСохранитьНастройкиПользователя</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сохранить настройки пользователя (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Group>ActionsPanelTools</Group>
<Representation>Auto</Representation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сохранить настройки пользователя. Настройки окон формируются при их закрытии. Поэтому для незакрытых окон команда не будет сохранять новые варианты настроек.</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирСохранитьНастройки</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Shortcut/>
<IncludeHelpInContents>false</IncludeHelpInContents>
<CommandParameterType/>
<ParameterUseMode>Single</ParameterUseMode>
<ModifiesData>false</ModifiesData>
<OnMainServerUnavalableBehavior>Auto</OnMainServerUnavalableBehavior>
</Properties>
</CommonCommand>
</MetaDataObject>

View File

@ -0,0 +1,6 @@
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ирОбщий.СохранитьНастройкиПользователяЛкс();
КонецПроцедуры

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Адаптация расширения (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Адаптация расширения (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Адаптация расширения (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>

View File

@ -0,0 +1,578 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаВыполнить" id="1">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.Выполнить</CommandName>
<ExtendedTooltip name="ФормаВыполнитьРасширеннаяПодсказка" id="2"/>
</Button>
<Button name="ФормаЗакрыть" id="31">
<Type>CommandBarButton</Type>
<Representation>PictureAndText</Representation>
<DefaultButton>true</DefaultButton>
<CommandName>Form.StandardCommand.Close</CommandName>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пропустить</v8:content>
</v8:item>
</Title>
<ExtendedTooltip name="ФормаЗакрытьРасширеннаяПодсказка" id="32"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnOpen">ПриОткрытии</Event>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
<Event name="OnClose">ПриЗакрытии</Event>
</Events>
<ChildItems>
<CheckBoxField name="Использование" id="77">
<DataPath>ОткрыватьАдаптациюПриОбновлении</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открывать это окно при следующем обновлении расширения</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Чтобы адапатация сохранялась при обновлении, ее нужно выполнять заново. Флажок устанавливается автоматически при выполнении адаптации.</v8:content>
</v8:item>
</ToolTip>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ИспользованиеКонтекстноеМеню" id="78"/>
<ExtendedTooltip name="ИспользованиеРасширеннаяПодсказка" id="79"/>
</CheckBoxField>
<LabelDecoration name=екорация3" id="74">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:FieldSelectionBackColor</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>При выполнении адаптации используется конфигуратор текущей базы. После завершения операции для вступления изменений в силу сеанс будет перезапущен.
</v8:content>
</v8:item>
</Title>
<ContextMenu name=екорация3КонтекстноеМеню" id="75"/>
<ExtendedTooltip name=екорация3РасширеннаяПодсказка" id="76"/>
</LabelDecoration>
<UsualGroup name=руппа3" id="80">
<Group>AlwaysHorizontal</Group>
<Representation>None</Representation>
<ShowTitle>false</ShowTitle>
<ExtendedTooltip name=руппа3РасширеннаяПодсказка" id="81"/>
<ChildItems>
<InputField name="ИмяПользователя" id="82">
<DataPath>ИмяПользователя</DataPath>
<DropListButton>true</DropListButton>
<ContextMenu name="ИмяПользователяКонтекстноеМеню" id="83"/>
<ExtendedTooltip name="ИмяПользователяРасширеннаяПодсказка" id="84"/>
</InputField>
<InputField name="ПарольПользователя" id="85">
<DataPath>ПарольПользователя</DataPath>
<PasswordMode>true</PasswordMode>
<ContextMenu name="ПарольПользователяКонтекстноеМеню" id="86"/>
<ExtendedTooltip name="ПарольПользователяРасширеннаяПодсказка" id="87"/>
</InputField>
</ChildItems>
</UsualGroup>
<CheckBoxField name="ДобавитьРольВсеПрава" id="68">
<DataPath>СгенерироватьРольВсеПрава</DataPath>
<Visible>false</Visible>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сгенерировать роль ирВсеПрава</v8:content>
</v8:item>
</Title>
<TitleLocation>Right</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обеспечит доступ на чтение ко всем таблицам в базе. Эта роль будет добавляться пользователю при автоматическом добавлении роли ирРазработчик</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>ShowAuto</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ДобавитьРольВсеПраваКонтекстноеМеню" id="69"/>
<ExtendedTooltip name="ДобавитьРольВсеПраваРасширеннаяПодсказка" id="70">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:FieldSelectionBackColor</TextColor>
</ExtendedTooltip>
</CheckBoxField>
<CheckBoxField name="ПодключитьОтладкуОтчетов" id="88">
<DataPath>ПодключитьОтладкуОтчетов</DataPath>
<TitleLocation>Right</TitleLocation>
<ToolTipRepresentation>ShowAuto</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПодключитьОтладкуОтчетовКонтекстноеМеню" id="89"/>
<ExtendedTooltip name="ПодключитьОтладкуОтчетовРасширеннаяПодсказка" id="90">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:FieldSelectionBackColor</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Добавляет кнопку передачи схемы и настроек компоновки отчета из основной формы отчета конфигурации в консоль компоновки</v8:content>
</v8:item>
</Title>
</ExtendedTooltip>
</CheckBoxField>
<CheckBoxField name="ПодключитьОтладкуВнешнихОбработокБСП" id="71">
<DataPath>ПодключитьОтладкуВнешнихОбработокБСП</DataPath>
<TitleLocation>Right</TitleLocation>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Необходимо для работы инструмента "Отладка внешних обработок БСП" в БСП 2.4+</v8:content>
</v8:item>
</ToolTip>
<ToolTipRepresentation>ShowAuto</ToolTipRepresentation>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПодключитьОтладкуВнешнихОбработокБСПКонтекстноеМеню" id="72"/>
<ExtendedTooltip name="ПодключитьОтладкуВнешнихОбработокБСПРасширеннаяПодсказка" id="73">
<AutoMaxWidth>false</AutoMaxWidth>
<TextColor>style:FieldSelectionBackColor</TextColor>
</ExtendedTooltip>
</CheckBoxField>
<UsualGroup name=руппа2" id="66">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключаемые команды</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ExtendedTooltip name=руппа2РасширеннаяПодсказка" id="67"/>
<ChildItems>
<LabelDecoration name=екорация1" id="3">
<AutoMaxWidth>false</AutoMaxWidth>
<HorizontalStretch>true</HorizontalStretch>
<TextColor>style:FieldSelectionBackColor</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключение этих команд позволит передавать ссылки на объекты БД прямо из их форм элементов и списков. Снятый флажок "Подключить" приведет к отключению команды.</v8:content>
</v8:item>
</Title>
<ContextMenu name=екорация1КонтекстноеМеню" id="4"/>
<ExtendedTooltip name=екорация1РасширеннаяПодсказка" id="5"/>
</LabelDecoration>
<Table name="СписокКоманд" id="6">
<Representation>List</Representation>
<ChangeRowSet>false</ChangeRowSet>
<Height>3</Height>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>СписокКоманд</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="СписокКомандКонтекстноеМеню" id="7"/>
<AutoCommandBar name="СписокКомандКоманднаяПанель" id="8"/>
<ExtendedTooltip name="СписокКомандРасширеннаяПодсказка" id="9"/>
<SearchStringAddition name="СписокКомандСтрокаПоиска" id="10">
<AdditionSource>
<Item>СписокКоманд</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокКомандСтрокаПоискаКонтекстноеМеню" id="11"/>
<ExtendedTooltip name="СписокКомандСтрокаПоискаРасширеннаяПодсказка" id="12"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокКомандСостояниеПросмотра" id="13">
<AdditionSource>
<Item>СписокКоманд</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокКомандСостояниеПросмотраКонтекстноеМеню" id="14"/>
<ExtendedTooltip name="СписокКомандСостояниеПросмотраРасширеннаяПодсказка" id="15"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокКомандУправлениеПоиском" id="16">
<AdditionSource>
<Item>СписокКоманд</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокКомандУправлениеПоискомКонтекстноеМеню" id="17"/>
<ExtendedTooltip name="СписокКомандУправлениеПоискомРасширеннаяПодсказка" id="18"/>
</SearchControlAddition>
<ChildItems>
<CheckBoxField name="СписокКомандПодключить" id="22">
<DataPath>СписокКоманд.Подключить</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключить</v8:content>
</v8:item>
</Title>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="СписокКомандПодключитьКонтекстноеМеню" id="23"/>
<ExtendedTooltip name="СписокКомандПодключитьРасширеннаяПодсказка" id="24"/>
</CheckBoxField>
<InputField name="СписокКомандИмяКоманды" id="25">
<DataPath>СписокКоманд.СинонимКоманды</DataPath>
<ReadOnly>true</ReadOnly>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команда</v8:content>
</v8:item>
</Title>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокКомандИмяКомандыКонтекстноеМеню" id="26"/>
<ExtendedTooltip name="СписокКомандИмяКомандыРасширеннаяПодсказка" id="27"/>
</InputField>
<InputField name="СписокКомандПодсказка" id="28">
<DataPath>СписокКоманд.Подсказка</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="СписокКомандПодсказкаКонтекстноеМеню" id="29"/>
<ExtendedTooltip name="СписокКомандПодсказкаРасширеннаяПодсказка" id="30"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</UsualGroup>
<UsualGroup name=руппа1" id="64">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Глобальные команды</v8:content>
</v8:item>
</Title>
<Group>Vertical</Group>
<ExtendedTooltip name=руппа1РасширеннаяПодсказка" id="65"/>
<ChildItems>
<LabelDecoration name=екорация2" id="52">
<AutoMaxWidth>false</AutoMaxWidth>
<HorizontalStretch>true</HorizontalStretch>
<TextColor>style:FieldSelectionBackColor</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Они не требуют адаптации расширения и работают в любой активной форме, открытой не в режиме "Блокировать владельца". Поддерживается извлечение ссылок из основного реквизита формы по пути "Объект.Ссылка" и из выделенных строк текущей таблицы.</v8:content>
</v8:item>
</Title>
<ContextMenu name=екорация2КонтекстноеМеню" id="53"/>
<ExtendedTooltip name=екорация2РасширеннаяПодсказка" id="54"/>
</LabelDecoration>
<Table name="ГлобальныеГорячиеКлавиши" id="33">
<Representation>List</Representation>
<CommandBarLocation>None</CommandBarLocation>
<ChangeRowSet>false</ChangeRowSet>
<Height>3</Height>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>ГлобальныеСочетанияКлавиш</DataPath>
<RowFilter xsi:nil="true"/>
<ContextMenu name="ГлобальныеГорячиеКлавишиКонтекстноеМеню" id="34"/>
<AutoCommandBar name="ГлобальныеГорячиеКлавишиКоманднаяПанель" id="35"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиРасширеннаяПодсказка" id="36"/>
<SearchStringAddition name="ГлобальныеГорячиеКлавишиСтрокаПоиска" id="37">
<AdditionSource>
<Item>ГлобальныеГорячиеКлавиши</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="ГлобальныеГорячиеКлавишиСтрокаПоискаКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиСтрокаПоискаРасширеннаяПодсказка" id="39"/>
</SearchStringAddition>
<ViewStatusAddition name="ГлобальныеГорячиеКлавишиСостояниеПросмотра" id="40">
<AdditionSource>
<Item>ГлобальныеГорячиеКлавиши</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="ГлобальныеГорячиеКлавишиСостояниеПросмотраКонтекстноеМеню" id="41"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиСостояниеПросмотраРасширеннаяПодсказка" id="42"/>
</ViewStatusAddition>
<SearchControlAddition name="ГлобальныеГорячиеКлавишиУправлениеПоиском" id="43">
<AdditionSource>
<Item>ГлобальныеГорячиеКлавиши</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="ГлобальныеГорячиеКлавишиУправлениеПоискомКонтекстноеМеню" id="44"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиУправлениеПоискомРасширеннаяПодсказка" id="45"/>
</SearchControlAddition>
<ChildItems>
<InputField name="ГлобальныеГорячиеКлавишиСинонимКоманды" id="55">
<DataPath>ГлобальныеСочетанияКлавиш.СинонимКоманды</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Команда</v8:content>
</v8:item>
</Title>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ГлобальныеГорячиеКлавишиСинонимКомандыКонтекстноеМеню" id="56"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиСинонимКомандыРасширеннаяПодсказка" id="57"/>
</InputField>
<InputField name="ГлобальныеГорячиеКлавишиПодсказка" id="58">
<DataPath>ГлобальныеСочетанияКлавиш.Подсказка</DataPath>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ГлобальныеГорячиеКлавишиПодсказкаКонтекстноеМеню" id="59"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиПодсказкаРасширеннаяПодсказка" id="60"/>
</InputField>
<InputField name="ГлобальныеГорячиеКлавишиСочетаниеКлавиш" id="61">
<DataPath>ГлобальныеСочетанияКлавиш.СочетаниеКлавиш</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сочетание клавиш</v8:content>
</v8:item>
</Title>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ГлобальныеГорячиеКлавишиСочетаниеКлавишКонтекстноеМеню" id="62"/>
<ExtendedTooltip name="ГлобальныеГорячиеКлавишиСочетаниеКлавишРасширеннаяПодсказка" id="63"/>
</InputField>
</ChildItems>
</Table>
</ChildItems>
</UsualGroup>
</ChildItems>
<Attributes>
<Attribute name="СписокКоманд" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список команд</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="ИмяКоманды" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя команды</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Подключить" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключить</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Column>
<Column name="СинонимКоманды" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Синооним команды</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Подсказка" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подсказка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
</Columns>
</Attribute>
<Attribute name="ГлобальныеСочетанияКлавиш" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Глобальные сочетания клавиш</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="СочетаниеКлавиш" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сочетание клавиш</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="ИмяКоманды" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя команды</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="СинонимКоманды" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Синооним команды</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="Подсказка" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подсказка</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
</Columns>
</Attribute>
<Attribute name="СгенерироватьРольВсеПрава" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Сгенерировать роль все права</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ПодключитьОтладкуВнешнихОбработокБСП" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключить отладку внешних обработок БСП</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ОткрыватьАдаптациюПриОбновлении" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открывать адаптацию при обновлении</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="ИмяПользователя" id="6">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя пользователя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>100</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ПарольПользователя" id="7">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Пароль пользователя</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>50</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="ПодключитьОтладкуОтчетов" id="8">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Подключить отладку отчетов</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
</Attributes>
<Commands>
<Command name="Выполнить" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнить</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выполнить адаптацию расширения конфигурации</v8:content>
</v8:item>
</ToolTip>
<Action>ВыполнитьОперацию</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
<Parameters>
<Parameter name="Автооткрытие">
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Parameter>
</Parameters>
</Form>

View File

@ -0,0 +1,129 @@

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Если Не ирКэш.ЛиЭтоРасширениеКонфигурацииЛкс() Тогда
// Сообщить("Операция доступна только в варианте Расширение");
// Отказ = Истина;
// Возврат;
//КонецЕсли;
Элементы.ФормаВыполнить.Доступность = ирКэш.ЛиЭтоРасширениеКонфигурацииЛкс();
ЭтаФорма.ОткрыватьАдаптациюПриОбновлении = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.ОткрыватьАдаптациюПриОбновлении",, ирКэш.ИмяПродукта());
ИмяПользователяНовое = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.ИмяПользователя",, ирКэш.ИмяПродукта());
Если ИмяПользователяНовое <> Неопределено Тогда
ЭтаФорма.ИмяПользователя = ИмяПользователяНовое;
Иначе
ЭтаФорма.ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецЕсли;
ПометкиКоманд = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.ПометкиКоманд",, ирКэш.ИмяПродукта());
ПодключитьОтладкуВнешнихОбработокБСПНовое = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.ПодключитьОтладкуВнешнихОбработокБСП",, ирКэш.ИмяПродукта());
Если ПодключитьОтладкуВнешнихОбработокБСПНовое <> Неопределено Тогда
ЭтаФорма.ПодключитьОтладкуВнешнихОбработокБСП = ПодключитьОтладкуВнешнихОбработокБСПНовое;
Иначе
ЭтаФорма.ПодключитьОтладкуВнешнихОбработокБСП = Истина;
КонецЕсли;
ПодключитьОтладкуОтчетовНовое = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.ПодключитьОтладкуОтчетов",, ирКэш.ИмяПродукта());
Если ПодключитьОтладкуОтчетовНовое <> Неопределено Тогда
ЭтаФорма.ПодключитьОтладкуОтчетов = ПодключитьОтладкуОтчетовНовое;
Иначе
ЭтаФорма.ПодключитьОтладкуОтчетов = Истина;
КонецЕсли;
ЭтаФорма.СгенерироватьРольВсеПрава = ХранилищеОбщихНастроек.Загрузить(, "ирАдаптацияРасширения.СгенерироватьРольВсеПрава",, ирКэш.ИмяПродукта());
Если ПометкиКоманд = Неопределено Тогда
СохранитьНастройкиАдаптации(Истина);
КонецЕсли;
СписокСочетанийКлавиш = Новый Массив;
СписокСочетанийКлавиш.Добавить(Метаданные.ОбщиеКоманды.ирОбработатьОбъектыИзАктивнойФормы.Имя);
СписокСочетанийКлавиш.Добавить(Метаданные.ОбщиеКоманды.ирРедактироватьОбъектИзАктивнойФормы.Имя);
Для Каждого МетаКоманда Из Метаданные.ОбщиеКоманды Цикл
Если Истина
И Метаданные.Подсистемы.ИнструментыРазработчикаTormozit.Состав.Содержит(МетаКоманда)
И МетаКоманда.Группа.Получить() = Метаданные.ГруппыКоманд.ирКоманднаяПанельФормы
Тогда
Если СписокСочетанийКлавиш.Найти(МетаКоманда.Имя) <> Неопределено Тогда
СтрокаГорячейКлавиши = ГлобальныеСочетанияКлавиш.Добавить();
СтрокаГорячейКлавиши.ИмяКоманды = МетаКоманда.Имя;
СтрокаГорячейКлавиши.СинонимКоманды = МетаКоманда.Представление();
СтрокаГорячейКлавиши.Подсказка = МетаКоманда.Подсказка;
СтрокаГорячейКлавиши.СочетаниеКлавиш = ирОбщий.ПреставлениеСочетанияКлавишЛкс(МетаКоманда.СочетаниеКлавиш);
Иначе
СтрокаКоманды = СписокКоманд.Добавить();
СтрокаКоманды.ИмяКоманды = МетаКоманда.Имя;
СтрокаКоманды.СинонимКоманды = МетаКоманда.Представление();
СтрокаКоманды.Подсказка = МетаКоманда.Подсказка;
Если Истина
И ПометкиКоманд <> Неопределено
И ПометкиКоманд.Свойство(СтрокаКоманды.ИмяКоманды)
Тогда
СтрокаКоманды.Подключить = ПометкиКоманд[СтрокаКоманды.ИмяКоманды];
Иначе
СтрокаКоманды.Подключить = Ложь
Или СтрокаКоманды.ИмяКоманды = Метаданные.ОбщиеКоманды.ирРедактироватьОбъект.Имя
Или СтрокаКоманды.ИмяКоманды = Метаданные.ОбщиеКоманды.ирОбработатьОбъекты.Имя
Или СтрокаКоманды.ИмяКоманды = Метаданные.ОбщиеКоманды.ирРедактироватьИзмененияНаУзле.Имя;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
СписокКоманд.Сортировать("СинонимКоманды");
ирОбщий.ЗаполнитьСписокАдминистраторовБазыЛкс(Элементы.ИмяПользователя.СписокВыбора);
Если Параметры.Автооткрытие Тогда
Сообщить("Открыть это окно можно командой ""Адаптация расширения"" в разделе ""Инструменты разработчика""/""Сервис""");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьОперацию(Команда)
ЭтаФорма.ОткрыватьАдаптациюПриОбновлении = Истина;
СохранитьНастройкиАдаптации();
Если ирОбщий.АдаптироватьРасширениеЛкс(ИмяПользователя, ПарольПользователя) Тогда
Закрыть(Истина);
ЗавершитьРаботуСистемы(, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройкиАдаптации(ПустуюСтруктуру = Ложь)
ПометкиКоманд = Новый Структура;
Если Не ПустуюСтруктуру Тогда
Для Каждого СтрокаКоманды Из СписокКоманд Цикл
ПометкиКоманд.Вставить(СтрокаКоманды.ИмяКоманды, СтрокаКоманды.Подключить);
КонецЦикла;
КонецЕсли;
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.ОткрыватьАдаптациюПриОбновлении", ОткрыватьАдаптациюПриОбновлении,, ирКэш.ИмяПродукта());
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.ИмяПользователя", ИмяПользователя,, ирКэш.ИмяПродукта());
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.ПометкиКоманд", ПометкиКоманд,, ирКэш.ИмяПродукта());
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.ПодключитьОтладкуВнешнихОбработокБСП", ПодключитьОтладкуВнешнихОбработокБСП,, ирКэш.ИмяПродукта());
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.ПодключитьОтладкуОтчетов", ПодключитьОтладкуОтчетов,, ирКэш.ИмяПродукта());
ХранилищеОбщихНастроек.Сохранить(, "ирАдаптацияРасширения.СгенерироватьРольВсеПрава", СгенерироватьРольВсеПрава,, ирКэш.ИмяПродукта());
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
#Если ТонкийКлиент Или ВебКлиент Тогда
Отказ = Истина;
ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая");
#КонецЕсли
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Попытка
СохранитьНастройкиАдаптации();
Исключение
Если Не ЗавершениеРаботы Тогда
ВызватьИсключение;
КонецЕсли;
КонецПопытки;
КонецПроцедуры

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonForm uuid="bf9fc191-543d-449c-8589-e13026f2c40c">
<Properties>
<Name>ирВыпускВариантаПортативный</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выпуск варианта Портативный (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>
</CommonForm>
</MetaDataObject>

View File

@ -0,0 +1,574 @@
Перем ирПлатформа;
// Параметры:
// КаталогРаспаковки - Строка(0,П)
//
Функция ПолучитьФайлСтруктурыХранилищаОбъектаМетаданных(Знач КаталогРаспаковки = "") Экспорт
RegExp = ирПлатформа.RegExp;
RegExp.Global = Ложь;
RegExp.Pattern = "{2,(" + ирПлатформа.шGUID + "),";
ФайлКорневогоУказателя = Новый Файл(КаталогРаспаковки + "root.data.und");
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ФайлКорневогоУказателя.ПолноеИмя);
РезультатыПоиска = RegExp.Execute(ТекстовыйДокумент.ПолучитьТекст());
КорневойИД = РезультатыПоиска.Item(0).Submatches(0);
ФайлСтруктуры = Новый Файл(КаталогРаспаковки + КорневойИД + ".data.und");
Результат = ФайлСтруктуры;
Возврат Результат;
КонецФункции
// Параметры:
// ПолноеИмяФайлаВнешнейОбработки - Строка(0,П)
// ИмяФормы - Строка(0,П) - Если не указана, используется Основая форма, а если основная форма не указана, используется единственная форма. Для быстрого выполнения нужно указывать.
// МассивДобавляемыхРеквизитов - Массив - !Проверка уникальности не выполняется. Ее нужно делать снаружи
// СтарыйТекстМодуля - Строка(0,П)
//
Функция ПроверитьОбновитьМодульИРеквизитыФормыВФайле(Знач ПолноеИмяФайлаВнешнейОбработки = "", Знач ИмяФормы = "", Знач МассивДобавляемыхРеквизитов, НовыйТекстМодуля,
СтарыйТекстМодуля = "") Экспорт
ФайлВнешнейОбработки = Новый Файл(ПолноеИмяФайлаВнешнейОбработки);
Если Не ЗначениеЗаполнено(ИмяФормы) Тогда
ВнешнийОбъект = ВнешниеОбработки.Создать(ФайлВнешнейОбработки.ПолноеИмя);
ОбъектМетаданных = ВнешнийОбъект.Метаданные();
Если ОбъектМетаданных.ОсновнаяФорма <> Неопределено Тогда
ИмяФормы = ОбъектМетаданных.ОсновнаяФорма.Имя;
ИначеЕсли ОбъектМетаданных.Формы.Количество() = 1 Тогда
ИмяФормы = ОбъектМетаданных.Формы[0].Имя;
Иначе
ВызватьИсключение "Невозможно определить форму внешней обработки для обновления";
КонецЕсли;
КонецЕсли;
ИмяКаталогаСборки = "Rebuild";
ИмяКаталогаРаспаковки = ФайлВнешнейОбработки.Путь + ИмяКаталогаСборки;
КаталогРаспаковки = ИмяКаталогаРаспаковки + "\";
УдалитьФайлы(ИмяКаталогаРаспаковки, "*.*");
СоздатьКаталог(ИмяКаталогаРаспаковки);
ирПлатформа.РаспаковатьФайлВнешнейОбработки(ФайлВнешнейОбработки.ПолноеИмя, КаталогРаспаковки);
БылаМодификация = Ложь;
RegExp = ирПлатформа.RegExp;
// Получаем модуль формы и изменяем его, если не соответствует стандарту
//ФайлСпискаФорм = Новый файл(КаталогРаспаковки + "copyinfo.data.und");
//ТекстовыйДокумент = Новый ТекстовыйДокумент;
//ТекстовыйДокумент.Прочитать(ФайлСпискаФорм.ПолноеИмя);
//RegExp.Global = Ложь;
//RegExp.Pattern = "(" + ирПлатформа.шGUID + "),1,\n\{d5b0e5ed-256d-401c-9c36-f630cafd8a62,""" + ИмяФормы + """";
//РезультатыПоиска = RegExp.Execute(ТекстовыйДокумент.ПолучитьТекст());
//СтарыеТекстыМодулейФорм = Новый Структура;
//ИДФормы = РезультатыПоиска.Item(0).Submatches(0);
ФайлСтруктуры = ПолучитьФайлСтруктурыХранилищаОбъектаМетаданных(КаталогРаспаковки);
ТекстСтруктуры = Новый ТекстовыйДокумент;
ТекстСтруктуры.Прочитать(ФайлСтруктуры.ПолноеИмя);
RegExp.Global = Ложь;
RegExp.Pattern = "\{d5b0e5ed-256d-401c-9c36-f630cafd8a62,\d+((?:," + ирПлатформа.шGUID + ")*)\}";
РезультатыПоиска = RegExp.Execute(ТекстСтруктуры.ПолучитьТекст());
ТекстСпискаИД = РезультатыПоиска.Item(0).Submatches(0);
RegExp.Global = Истина;
RegExp.Pattern = ирПлатформа.шGUID;
РезультатыПоиска = RegExp.Execute(ТекстСпискаИД);
Для Каждого Вхождение Из РезультатыПоиска Цикл
ТекстФайлаФормы = Новый ТекстовыйДокумент;
ТекстФайлаФормы.Прочитать(КаталогРаспаковки + Вхождение.Value + ".data.und");
//RegExp.Global = Ложь;
//RegExp.Pattern = Вхождение.Value + "\},""(" + ирПлатформа.шИмя + ")"";
//РезультатыПоиска2 = RegExp.Execute(ТекстФайлаФормы.ПолучитьТекст());
Маркер = Вхождение.Value + "},""" + ИмяФормы + """";
Если Найти(НРег(ТекстФайлаФормы.ПолучитьТекст()), Нрег(Маркер)) > 0 Тогда
ИДФормы = Вхождение.Value;
Прервать;
КонецЕсли;
КонецЦикла;
Если ИДФормы = Неопределено Тогда
ВызватьИсключение "Не удалось определить внутренний идентификатор формы """ + ИмяФормы + """";
КонецЕсли;
ФайлМодуляФормы = Новый Файл(КаталогРаспаковки + ИДФормы + ".0.data.und.unp\" + "module.data");
СтарыйТекстМодуляФормы = Неопределено;
Результат = Ложь;
ТекстДляПроверки = Новый ТекстовыйДокумент;
ТекстДляПроверки.Прочитать(ФайлМодуляФормы.ПолноеИмя);
ТекстОбразец = Новый ТекстовыйДокумент;
ТекстОбразец.УстановитьТекст(НовыйТекстМодуля);
СтарыйТекстМодуля = ТекстДляПроверки.ПолучитьТекст();
Если ТекстОбразец.ПолучитьТекст() <> СтарыйТекстМодуля Тогда
ТекстОбразец.Записать(ФайлМодуляФормы.ПолноеИмя);
Результат = Истина;
КонецЕсли;
Если Истина
И МассивДобавляемыхРеквизитов <> Неопределено
И МассивДобавляемыхРеквизитов.Количество() > 0
Тогда
ФайлДиалогаФормы = Новый Файл(ФайлМодуляФормы.Путь + "form.data");
ТекстДиалога = Новый ТекстовыйДокумент;
ТекстДиалога.Прочитать(ФайлДиалогаФормы.ПолноеИмя);
КоличествоНовыхРеквизитов = МассивДобавляемыхРеквизитов.Количество();
ОстатокТекста0 = ТекстДиалога.ПолучитьТекст();
RegExp.Global = Ложь;
RegExp.Pattern = "},\d+,\d+,\d+,0,\d+,4,4,\d+},";
Вхождения = RegExp.Execute(ОстатокТекста0);
Если Вхождения.Count = 0 Тогда
Сообщить("При анализе диалога не найден маркер1");
Возврат Неопределено;
ИначеЕсли Вхождения.Count > 1 Тогда
Сообщить("При анализе диалога найдено более одного маркера1");
Возврат Неопределено;
КонецЕсли;
Позиция = Вхождения.Item(0).FirstIndex;
Позиция = Позиция + СтрДлина(Вхождения.Item(0).Value);
Фрагмент1 = Лев(ОстатокТекста0, Позиция);
ОстатокТекста1 = Сред(ОстатокТекста0, Позиция + 1);
//Маркер = "},";
//Позиция = Найти(ОстатокТекста1, Маркер);
//Фрагмент2 = Лев(ОстатокТекста1, Позиция + СтрДлина(Маркер));
Фрагмент2 = "";
ОстатокТекста2 = Сред(ОстатокТекста1, СтрДлина(Фрагмент2) + 1);
Маркер = ",
|{";
Позиция = Найти(ОстатокТекста2, Маркер);
Если Позиция = 0 Тогда
Сообщить("Не найден маркер2");
Возврат Неопределено;
КонецЕсли;
Позиция = Позиция + СтрДлина(Маркер) - 1;
Фрагмент3 = Лев(ОстатокТекста2, Позиция);
ОстатокТекста3 = Сред(ОстатокТекста2, СтрДлина(Фрагмент3) + 1);
Позиция = Найти(ОстатокТекста3, "}");
Позиция2 = Найти(ОстатокТекста3, ",");
Если Позиция2 > 0 Тогда
Позиция = Мин(Позиция, Позиция2);
КонецЕсли;
Фрагмент4 = Лев(ОстатокТекста3, Позиция - 1);
ОстатокТекста4 = Сред(ОстатокТекста3, СтрДлина(Фрагмент4) + 1);
Число = Число(Фрагмент4);
Число = Число + КоличествоНовыхРеквизитов;
Фрагмент4 = Формат(Число, "ЧГ=");
Разделитель = ",";
СтрокаРеквизитов = "";
Счетчик = 1;
// Если у формы нет ни одного реквизита, то может получиться ошибка формата потока
Строка1 = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ОстатокТекста4, "},", ",""");
Если Ложь
Или Не ЗначениеЗаполнено(Строка1)
Или СтрДлина(Строка1) > 5
Тогда
// у формы нет ни одного реквизита
Если ирКэш.НомерИзданияПлатформыЛкс() = "81" Тогда
Строка1 = "0,1";
ИначеЕсли ирКэш.НомерИзданияПлатформыЛкс() >= "82" Тогда
// Здесь может быть нужно и "0,1" использовать, если в конфигураторе форму ни разу не сохраняли еще, а только конвертировали через ConvertFiles
// Если такое случается, то при попытке открыть такую внешнюю обработку платформа будет падать
Строка1 = "1,0,1";
КонецЕсли;
КонецЕсли;
Для Каждого ИмяРеквизита Из МассивДобавляемыхРеквизитов Цикл
СтрокаРеквизитов = СтрокаРеквизитов + Разделитель + "
|{
|{" + Формат(1000 + Счетчик, "ЧГ=") + "}," + Строка1 + ",""" + ИмяРеквизита + """,
|{""Pattern""}
|}";
Счетчик = Счетчик + 1;
КонецЦикла;
НовыйТекст = Фрагмент1 + Фрагмент2 + Фрагмент3 + Фрагмент4 + СтрокаРеквизитов + ОстатокТекста4;
ТекстДиалога.УстановитьТекст(НовыйТекст);
ТекстДиалога.Записать(ФайлДиалогаФормы.ПолноеИмя);
Результат = Истина;
КонецЕсли;
Если Результат Тогда
// Здесь часто возникает ошибка
//{Обработка.ирПлатформа.МодульОбъекта(5 163)}:
//Ошибка при вызове метода контекста (Записать)
// ПолучитьМакет("v8unpack").Записать(Каталог + "\" + ИмяФайлаПакера);
//Ошибка совместного доступа к файлу 'D:\Users\Сергей\AppData\Local\1C\1Cv82\File__D__1C_v82_DB_2iSРазработка__\b\Rebuild\v8unpack.exe'
// ВызватьИсключение Ошибка;//#Служебное
ирПлатформа.УпаковатьФайлВнешнейОбработки(КаталогРаспаковки, ФайлВнешнейОбработки.ПолноеИмя);
КонецЕсли;
Возврат Результат;
КонецФункции
Функция ТабличныйДокументИзОбщихКартинокПодсистемы() Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент;
ШрифтЖирный = Новый Шрифт(,,Истина);
ТабличныйДокумент.Область("R1C1:R1C1").Текст = "Имя";
ТабличныйДокумент.Область("R1C2:R1C2").Текст = "Картинка";
ТабличныйДокумент.Область("R1C1:R1C2").Шрифт = ШрифтЖирный;
Для Каждого ОбщаяКартинка Из Метаданные.ОбщиеКартинки Цикл
Если Не Метаданные.Подсистемы.ИнструментыРазработчикаTormozit.Состав.Содержит(ОбщаяКартинка) Тогда
Продолжить;
КонецЕсли;
Рисунок = ТабличныйДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Картинка = БиблиотекаКартинок[ОбщаяКартинка.Имя];
Рисунок.Имя = ОбщаяКартинка.Имя;
Рисунок.РазмерКартинки = РазмерКартинки.РеальныйРазмер;
ВысотаТаблицы = ТабличныйДокумент.ВысотаТаблицы + 1;
ТабличныйДокумент.Область("R" + XMLСтрока(ВысотаТаблицы) + "C1:R" + XMLСтрока(ВысотаТаблицы) + "C1").Текст = ОбщаяКартинка.Имя;
Рисунок.Расположить(ТабличныйДокумент.Область("R" + XMLСтрока(ВысотаТаблицы) + "C2:R" + XMLСтрока(ВысотаТаблицы) + "C2"));
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция СгенерироватьМодульИнициализацииФормПодсистемыДляПортативногоРежима() Экспорт
ТекстМодуля = Новый ЗаписьXML;
ТекстМодуля.УстановитьСтроку("");
//ТекстМодуля.ЗаписатьБезОбработки("
//|Перем ирОбщий Экспорт;
//|Перем ирСервер Экспорт;
//|Перем ирКэш Экспорт;
//|Перем ирПривилегированный Экспорт;
//|Перем ирПортативный Экспорт;
//|
//|Перем ирПлатформа Экспорт;
//|");
ТипыМетаданных = ирПлатформа.ПолучитьТаблицуТиповМетаОбъектов(Истина, Ложь, Ложь);
ИндикаторТиповМетаданных = ирОбщий.ПолучитьИндикаторПроцессаЛкс(ТипыМетаданных.Количество(), "Типы метаданных");
Для Каждого СтрокаТипаМетаданных Из ТипыМетаданных Цикл
ирОбщий.ОбработатьИндикаторЛкс(ИндикаторТиповМетаданных);
Если СтрокаТипаМетаданных.Единственное = "Перерасчет" Тогда
КоллекцияМетаОбъектов = Новый Массив;
Для Каждого МетаРегистрРасчета Из Метаданные.РегистрыРасчета Цикл
Для Каждого Перерасчет Из МетаРегистрРасчета.Перерасчеты Цикл
КоллекцияМетаОбъектов.Добавить(Перерасчет);
КонецЦикла;
КонецЦикла;
Иначе
КоллекцияМетаОбъектов = Метаданные[СтрокаТипаМетаданных.Множественное];
КонецЕсли;
Индикатор2 = ирОбщий.ПолучитьИндикаторПроцессаЛкс(КоллекцияМетаОбъектов.Количество(), СтрокаТипаМетаданных.Множественное);
Для Каждого МетаОбъект Из КоллекцияМетаОбъектов Цикл
Если Не Метаданные.Подсистемы.ИнструментыРазработчикаTormozit.Состав.Содержит(МетаОбъект) Тогда
Продолжить;
КонецЕсли;
ирОбщий.ОбработатьИндикаторЛкс(Индикатор2);
Попытка
МетаФормы = МетаОбъект.Формы;
Исключение
Продолжить;
КонецПопытки;
МенеджерОбъектаМетаданных = ирОбщий.ПолучитьМенеджерЛкс(МетаОбъект);
Индикатор3 = ирОбщий.ПолучитьИндикаторПроцессаЛкс(МетаФормы.Количество(), "Формы");
Для Каждого МетаФорма Из МетаФормы Цикл
ирОбщий.ОбработатьИндикаторЛкс(Индикатор3);
ПолноеИмяФормы = МетаФорма.ПолноеИмя();
//Сообщить(ПолноеИмяФормы);
//ПолноеИмяФормы = МетаОбъект.ПолноеИмя() + ".Форма." + МетаФорма.Имя;
Попытка
//Форма = ПолучитьФорму(ПолноеИмяФормы); // Так исключение не сработает и будет отображен диалог об ошибке. Особенность платформы
Форма = МенеджерОбъектаМетаданных.ПолучитьФорму(МетаФорма.Имя,,Новый УникальныйИдентификатор());
Исключение
Сообщить("Ошибка при получении формы " + ПолноеИмяФормы + ": " + ОписаниеОшибки(), СтатусСообщения.ОченьВажное);
Продолжить;
КонецПопытки;
Если ТипЗнч(Форма) = Тип("УправляемаяФорма") Тогда
Продолжить;
КонецЕсли;
ТелоМетода = Новый ЗаписьXML;
ТелоМетода.УстановитьСтроку("");
ПроверитьСвойстваОбъектаДляПортативногоРежимаЛкс("ЭтаФорма", Форма, ТелоМетода);
ТелоМетода = ТелоМетода.Закрыть();
ТекстМодуля.ЗаписатьБезОбработки("
|Процедура ИнициализироватьФорму_" + ирПлатформа.ПолучитьИдентификаторИзПредставления(ПолноеИмяФормы) + "(ЭтаФорма) Экспорт
|
|" + ТелоМетода + "
|КонецПроцедуры
|");
КонецЦикла;
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
КонецЦикла;
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
КонецЦикла;
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
Результат =
"//#Область ОбработчикиИнициализацииФорм
|" + ТекстМодуля.Закрыть() + "
|//#КонецОбласти";
Возврат Результат;
КонецФункции
Процедура ПроверитьСвойстваОбъектаДляПортативногоРежимаЛкс(ПутьКОбъекту, Объект, ТелоМетода)
СтруктураТипа = ирПлатформа.ПолучитьСтруктуруТипаИзЗначения(Объект);
ВнутренняяТаблицаСлов = ирПлатформа.ПолучитьТаблицуСловСтруктурыТипа(СтруктураТипа);
Для Каждого ВнутренняяСтрокаСлова Из ВнутренняяТаблицаСлов Цикл
Если ВнутренняяСтрокаСлова.ТипСлова = "Свойство" Тогда
ИмяСвойства = ВнутренняяСтрокаСлова.Слово;
Если Ложь
Или ИмяСвойства = "ИсточникДействий"
Или ИмяСвойства = "КонтекстноеМеню"
Тогда
// Защита от длинных путей и зацикливания
Продолжить;
КонецЕсли;
Попытка
Структура = Новый Структура(ИмяСвойства);
Исключение
// "КартинкаКнопкиВыбора#&^@^%&*^#1"
Продолжить;
КонецПопытки;
Попытка
ЗаполнитьЗначенияСвойств(Структура, Объект);
Исключение
// Не всегда доступное свойство
Продолжить;
КонецПопытки;
ЗначениеСвойства = Структура[ИмяСвойства];
Если ТипЗнч(ЗначениеСвойства) = Тип("Картинка") Тогда
Если ЗначениеСвойства.Вид = ВидКартинки.ИзБиблиотеки Тогда
ИмяОбщейКартинки = СериализаторXDTO.записатьXDTO(ЗначениеСвойства).ref.ЛокальноеИмя;
Если Метаданные.ОбщиеКартинки.Найти(ИмяОбщейКартинки) <> Неопределено Тогда
ТелоМетода.ЗаписатьБезОбработки(Символы.Таб + ПутьКОбъекту + "." + ИмяСвойства + " = ирКэш.КартинкаПоИмениЛкс("""
+ ИмяОбщейКартинки + """);" + Символы.ПС);
КонецЕсли;
КонецЕсли;
ИначеЕсли ТипЗнч(ЗначениеСвойства) = Тип("Цвет") Тогда
ИмяЦветаСтиля = СериализаторXDTO.записатьXDTO(ЗначениеСвойства).ЛексическоеЗначение;
ПозицияСкобки = Найти(ИмяЦветаСтиля, "}");
Если ПозицияСкобки > 0 Тогда
ИмяЦветаСтиля = Сред(ИмяЦветаСтиля, ПозицияСкобки + 1);
Если Метаданные.ЭлементыСтиля.Найти(ИмяЦветаСтиля) <> Неопределено Тогда
ТелоМетода.ЗаписатьБезОбработки(Символы.Таб + ПутьКОбъекту + "." + ИмяСвойства + " = ирОбщий.ПолучитьЦветСтиляЛкс("""
+ ИмяЦветаСтиля + """);" + Символы.ПС);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ирПлатформа.мМассивТиповЭлементовУправления.Найти(ТипЗнч(ЗначениеСвойства)) <> Неопределено Тогда
ПроверитьСвойстваОбъектаДляПортативногоРежимаЛкс(ПутьКОбъекту + "." + ИмяСвойства, ЗначениеСвойства, ТелоМетода);
КонецЕсли;
Если ирОбщий.ЭтоКоллекцияЛкс(ЗначениеСвойства) Тогда
ЕстьИндексПоИмени = Ложь;
Для Каждого ЭлементКоллекции Из ЗначениеСвойства Цикл
Если Не ЕстьИндексПоИмени Тогда
Попытка
Пустышка = Вычислить("ЗначениеСвойства." + ЭлементКоллекции.Имя);
Исключение
// Если к элементу по имени нельзя обратиться, то он нас не интересует.
Прервать;
КонецПопытки;
КонецЕсли;
ЕстьИндексПоИмени = Истина;
Если Ложь
Или ирПлатформа.мМассивТиповЭлементовУправления.Найти(ТипЗнч(ЭлементКоллекции)) <> Неопределено
Или ТипЗнч(ЭлементКоллекции) = Тип("КнопкаКоманднойПанели")
Тогда
ПроверитьСвойстваОбъектаДляПортативногоРежимаЛкс(ПутьКОбъекту + "." + ИмяСвойства + "." + ЭлементКоллекции.Имя, ЭлементКоллекции, ТелоМетода);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ОсновныеДействияФормыВыполнить(Кнопка)
КаталогВыгрузкиКонфигурации = ПолучитьИмяВременногоФайла();
Если ЗначениеЗаполнено(СтрокаСоединенияБазыПодсистемы) Тогда
СтрокаСоединенияБазыПодсистемыЛ = СтрокаСоединенияБазыПодсистемы;
Иначе
СтрокаСоединенияБазыПодсистемыЛ = СтрокаСоединенияИнформационнойБазы();
КонецЕсли;
СоздатьКаталог(КаталогВыгрузкиКонфигурации);
ТекстЛога = "";
// Выгружаем конфигурацию в файлы
Если Не ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpConfigToFiles """ + КаталогВыгрузкиКонфигурации + """ -Format Hierarchical", СтрокаСоединенияБазыПодсистемыЛ, ТекстЛога,,
"Выгрузка конфигурации в файлы")
Тогда
УдалитьФайлы(КаталогВыгрузкиКонфигурации);
Сообщить(ТекстЛога);
Возврат;
КонецЕсли;
КаталогВерсии = Каталог + "\" + Метаданные.Версия;
КаталогМодули = Новый Файл(КаталогВерсии + "\Модули");
Если Не КаталогМодули.Существует() Тогда
СоздатьКаталог(КаталогМодули.ПолноеИмя);
КонецЕсли;
УдалитьФайлы(КаталогВыгрузкиКонфигурации + "\CommonModules\ирПортативный.xml");
УдалитьФайлы(КаталогВыгрузкиКонфигурации + "\CommonModules\ирИнтерфейс.xml");
УдалитьФайлы(КаталогВыгрузкиКонфигурации + "\CommonModules\ирИнтерфейсОбъявление.xml");
СтрокаВерсии = Метаданные.Версия + "p";
// ирПортативный.ОбщиеКартинки
ТабличныйДокументКартинки = ТабличныйДокументИзОбщихКартинокПодсистемы();
ИмяфайлаТабличногоДокумента = КаталогВыгрузкиКонфигурации + "\DataProcessors\ирПортативный\Templates\ОбщиеКартинки\Ext\Template.xml";
ирОбщий.СохранитьЗначениеВФайлЛкс(ТабличныйДокументКартинки, ИмяфайлаТабличногоДокумента);
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяфайлаТабличногоДокумента);
ТекстМодуля = ТекстовыйДокумент.ПолучитьТекст();
// Антибаг платформы 8.3.9 Без этого текст теряется при загрузке внешней обработки из файлов
ТекстМодуля = СтрЗаменить(ТекстМодуля, "<v8:lang>#</v8:lang>", "<v8:lang></v8:lang>");
ТекстовыйДокумент.УстановитьТекст(ТекстМодуля);
ТекстовыйДокумент.Записать(ИмяфайлаТабличногоДокумента);
// ирПортативный.Модуль
ИмяфайлаМодуля = КаталогВыгрузкиКонфигурации + "\DataProcessors\ирПортативный\Ext\ObjectModule.bsl";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяфайлаМодуля);
ТекстМодуля = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстМодуля, "#Область ОбработчикиИнициализацииФорм", "#КонецОбласти", Ложь, Истина);
НаЧтоЗаменить = СгенерироватьМодульИнициализацииФормПодсистемыДляПортативногоРежима();
ТекстМодуля = СтрЗаменить(ТекстМодуля, ЧтоЗаменить, НаЧтоЗаменить);
ИмяфайлаГлобальногоМодуля = КаталогВыгрузкиКонфигурации + "\CommonModules\ирГлобальный\Ext\Module.bsl";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяфайлаГлобальногоМодуля);
ТекстГлобальногоМодуля = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстМодуля, "#Область ГлобальныеПортативныеМетоды", "#КонецОбласти", Ложь, Истина);
НаЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстГлобальногоМодуля, "#Область ГлобальныеПортативныеМетоды", "#КонецОбласти", Ложь, Истина);
ТекстМодуля = СтрЗаменить(ТекстМодуля, ЧтоЗаменить, НаЧтоЗаменить);
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстМодуля, "мВерсия = ", ";", Ложь, Истина);
НаЧтоЗаменить = "мВерсия = """ + СтрокаВерсии + """;";
ТекстМодуля = СтрЗаменить(ТекстМодуля, ЧтоЗаменить, НаЧтоЗаменить);
ТекстовыйДокумент.УстановитьТекст(ТекстМодуля);
ТекстовыйДокумент.Записать(ИмяфайлаМодуля);
УдалитьФайлы(ИмяфайлаГлобальногоМодуля);
// ирПортативныйСервер
ИмяфайлаМодуля = КаталогВыгрузкиКонфигурации + "\DataProcessors\ирПортативныйСервер\Ext\ObjectModule.bsl";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяфайлаМодуля);
ТекстМодуля = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстМодуля, "(""Версия"",", ");", Ложь, Истина);
НаЧтоЗаменить = "(""Версия"", """ + СтрокаВерсии + """);";
ТекстМодуля = СтрЗаменить(ТекстМодуля, ЧтоЗаменить, НаЧтоЗаменить);
ТекстовыйДокумент.УстановитьТекст(ТекстМодуля);
ТекстовыйДокумент.Записать(ИмяфайлаМодуля);
ПреобразоватьОбъектыМетаданныхПоТипу(КаталогВерсии, "CommonModule", "CommonModules", "epf", КаталогВыгрузкиКонфигурации, СтрокаСоединенияБазыПодсистемыЛ, "DataProcessor");
ПреобразоватьОбъектыМетаданныхПоТипу(КаталогВерсии, "Report", "Reports", "erf", КаталогВыгрузкиКонфигурации, СтрокаСоединенияБазыПодсистемыЛ);
ПреобразоватьОбъектыМетаданныхПоТипу(КаталогВерсии, "DataProcessor", "DataProcessors", "epf", КаталогВыгрузкиКонфигурации, СтрокаСоединенияБазыПодсистемыЛ);
УдалитьФайлы(КаталогВыгрузкиКонфигурации);
КонецПроцедуры
Процедура ПреобразоватьОбъектыМетаданныхПоТипу(КаталогВерсии, Знач ИмяТипаЕдинственное, Знач ИмяТипаМножественное, Знач РасширениеФайла, Знач КаталогВыгрузкиКонфигурации,
Знач СтрокаСоединенияБазыПодсистемыЛ, Знач ПреобразоватьВТип = "")
ФайлыДляОбработки = НайтиФайлы(КаталогВыгрузкиКонфигурации + "\" + ИмяТипаМножественное, "*.xml");
Если Не ЗначениеЗаполнено(ПреобразоватьВТип) Тогда
ПреобразоватьВТип = ИмяТипаЕдинственное;
КонецЕсли;
Успех = Истина;
ТекстЛога = "";
Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(ФайлыДляОбработки.Количество(), ИмяТипаМножественное);
Для Каждого Файл Из ФайлыДляОбработки Цикл
#Если _ Тогда
Файл = Новый Файл;
#КонецЕсли
ирОбщий.ОбработатьИндикаторЛкс(Индикатор);
КаталогВыгрузкиВнешнейОбработки = ПолучитьИмяВременногоФайла();
СоздатьКаталог(КаталогВыгрузкиВнешнейОбработки);
ИмяОсновногоФайлаВнешнейОбработки = КаталогВыгрузкиВнешнейОбработки + "\" + Файл.Имя;
ПодкаталогФайловВнешнейОбработки = КаталогВыгрузкиВнешнейОбработки + "\" + Файл.ИмяБезРасширения;
СоздатьКаталог(ПодкаталогФайловВнешнейОбработки);
ирОбщий.СкопироватьФайлыЛкс(Файл.Путь + "\" + Файл.ИмяБезРасширения, ПодкаталогФайловВнешнейОбработки);
ФайлОбщегоМОдуля = Новый Файл(ПодкаталогФайловВнешнейОбработки + "\Ext\Module.bsl");
Если ФайлОбщегоМОдуля.Существует() Тогда
ПереместитьФайл(ФайлОбщегоМОдуля.ПолноеИмя, ПодкаталогФайловВнешнейОбработки + "\Ext\ObjectModule.bsl");
КонецЕсли;
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя);
НовыйТекст = СтрЗаменить(ТекстовыйДокумент.ПолучитьТекст(), ИмяТипаЕдинственное, "External" + ПреобразоватьВТип);
ЧтениеХмл = Новый ЧтениеXML;
ПараметрыЧтения = Новый ПараметрыЧтенияXML(,,,,,,,, Ложь);
ЧтениеХмл.УстановитьСтроку(НовыйТекст, ПараметрыЧтения);
ПостроительDOM = Новый ПостроительDOM;
ДокументДом = ПостроительDOM.Прочитать(ЧтениеХмл);
ЧтениеХмл.Закрыть();
КорневойУзел = ДокументДом.ПолучитьЭлементыПоИмени("External" + ПреобразоватьВТип);
КорневойУзел = КорневойУзел[0];
// Удаляем управляемые формы
УзлыДопФормы = КорневойУзел.ПолучитьЭлементыПоИмени("AuxiliaryForm");
Для Каждого УзелДопФормы Из УзлыДопФормы Цикл
Если Найти(УзелДопФормы.ТекстовоеСодержимое + "#", "Упр#") > 0 Тогда
УзелДопФормы.РодительскийУзел.УдалитьДочерний(УзелДопФормы);
КонецЕсли;
КонецЦикла;
УзлыФорм = КорневойУзел.ПолучитьЭлементыПоИмени("Form");
Для Каждого УзелФормы Из УзлыФорм Цикл
Если Найти(УзелФормы.ТекстовоеСодержимое + "#", "Упр#") > 0 Тогда
УзелФормы.РодительскийУзел.УдалитьДочерний(УзелФормы);
КонецЕсли;
КонецЦикла;
УзелИдентификации = КорневойУзел.ПолучитьЭлементыПоИмени("InternalInfo");
Если УзелИдентификации.Количество() = 0 Тогда
УзелИдентификации = ДокументДом.СоздатьЭлемент("InternalInfo");
КорневойУзел.ВставитьПеред(УзелИдентификации, КорневойУзел.ПервыйДочерний);
КонецЕсли;
УзелИдентификации = КорневойУзел.ПолучитьЭлементыПоИмени("ChildObjects");
Если УзелИдентификации.Количество() = 0 Тогда
УзелИдентификации = ДокументДом.СоздатьЭлемент("ChildObjects");
КорневойУзел.ДобавитьДочерний(УзелИдентификации);
КонецЕсли;
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяОсновногоФайлаВнешнейОбработки);
ЗаписьДом = Новый ЗаписьDOM;
ЗаписьДом.Записать(ДокументДом, ЗаписьXML);
ЗаписьXML.Закрыть();
Если ирОбщий.СтрокиРавныЛкс(Файл.ИмяБезРасширения, "ирПортативный") Тогда
КонечныйФайл = КаталогВерсии + "\";
Иначе
КонечныйФайл = КаталогВерсии + "\Модули\";
КонецЕсли;
КонечныйФайл = КонечныйФайл + Файл.ИмяБезРасширения + "." + РасширениеФайла;
Если Не ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/LoadExternalDataProcessorOrReportFromFiles """ + ИмяОсновногоФайлаВнешнейОбработки + """ """ + КонечныйФайл + """",
СтрокаСоединенияБазыПодсистемыЛ, ТекстЛога)
Тогда
УдалитьФайлы(КаталогВыгрузкиВнешнейОбработки);
УдалитьФайлы(КаталогВыгрузкиКонфигурации);
Сообщить(ТекстЛога);
Успех = Ложь;
Прервать;
КонецЕсли;
УдалитьФайлы(КаталогВыгрузкиВнешнейОбработки);
КонецЦикла;
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
КонецПроцедуры
Процедура КаталогНачалоВыбора(Элемент, СтандартнаяОбработка)
ирОбщий.ВыбратьКаталогВФормеЛкс(Каталог);
КонецПроцедуры
Процедура ПриЗакрытии()
ирОбщий.СохранитьЗначениеЛкс("ирВыпускВариантаПортативный.Каталог", Каталог);
ирОбщий.СохранитьЗначениеЛкс("ирВыпускВариантаПортативный.СтрокаСоединенияБазыПодсистемы", СтрокаСоединенияБазыПодсистемы);
КонецПроцедуры
Процедура ПриОткрытии()
Подверсия = "1";
Каталог = ирОбщий.ВосстановитьЗначениеЛкс("ирВыпускВариантаПортативный.Каталог");
СтрокаСоединенияБазыПодсистемы = ирОбщий.ВосстановитьЗначениеЛкс("ирВыпускВариантаПортативный.СтрокаСоединенияБазыПодсистемы");
КонецПроцедуры
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если ирКэш.НомерВерсииПлатформыЛкс() < 803008 Тогда
Сообщить("Поддерживается только платформа 8.3.8 и выше");
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
ирПлатформа = ирКэш.Получить();

View File

@ -0,0 +1,690 @@
{27,
{18,
{
{1,1,
{"ru","Выпуск варианта Портативный (ИР)"}
},10,2},
{09ccdc77-ea1a-4a6d-ab1c-3435eada2433,
{1,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},26,0,2,
{0,2,0},
{0,2,1},1,
{0,2,2},3,
{0,2,3},
{0,3,3},
{0,5,3},0,0,
{8,1,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},0,1,
{1,1,
{4,
{1,1,
{"ru","Страница1"}
},
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,2,0,0},-1,1,1,"Страница1",1,
{3,4,
{0}
},
{3,4,
{0}
}
}
},1,1,0,4,
{2,8,1,1,1,0,0,0,0},
{2,8,0,1,2,0,0,0,0},
{2,467,1,1,3,0,0,8,0},
{2,83,0,1,4,0,0,26,0},0,4294967295,5,64,0,
{3,4,
{0}
},0,0,57,0,0},
{0}
},
{6,
{e69bf21d-97b2-4f37-86db-675aea9ec2cb,2,
{2,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-21}
},
{3,0,
{0},7,1,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},9,1,0,2,0,1,
{5,1cdb5be4-467e-46e9-bbd2-7273737aa3a8,1,1,1,
{6,14dc3e73-cdee-4609-bf65-04e23c422ce2,1,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ОсновныеДействияФормыВыполнить",
{1,"ОсновныеДействияФормыВыполнить",
{1,1,
{"ru","Выполнить"}
},
{1,1,
{"ru","Выполнить"}
},
{1,1,
{"ru","Выполнить"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
},0},1,
{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,14dc3e73-cdee-4609-bf65-04e23c422ce2,
{8,"Выполнить",0,1,
{1,1,
{"#","Выполнить"}
},0,1cdb5be4-467e-46e9-bbd2-7273737aa3a8,1,1e2,0,0,1,0,0,0,0},
{-1,0,
{0}
}
}
},b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,07031dab-a235-4fca-bd29-1f736f9aaf48,1,0,0}
},
{8,0,84,475,109,1,
{0,
{2,0,1,-25},
{2,-1,6,0}
},
{0,
{2,0,1,0},
{2,-1,6,0}
},
{0,
{2,0,2,0},
{2,-1,6,0}
},
{0,
{2,0,3,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},0,0,0,0,0,0,0,0,6,1,1},
{14,"ОсновныеДействияФормы",0,0,0,0},
{0}
},
{381ed624-9217-4e63-85db-c4c3cb87daae,3,
{9,
{"Pattern",
{"S"}
},
{
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,1,
{-18},0,0,0},
{1,1,
{"ru","Куда выгружать готовые файлы портативного варианта"}
},0,0,100,1,0},30,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,4,0,
{"U"},
{"U"},"",0,1,0,0,0,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},0,0,0,
{0,0,0},
{1,0},1,0,0,0,0,0,0,16777215,1}
},
{1,
{9a7643d2-19e9-45e2-8893-280bc9195a97,
{4,
{"U"},
{"U"},0,"",0,0}
}
},
{1,
{2,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КаталогНачалоВыбора",
{1,"КаталогНачалоВыбора",
{1,1,
{"ru","Каталог начало выбора"}
},
{1,1,
{"ru","Каталог начало выбора"}
},
{1,1,
{"ru","Каталог начало выбора"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
}
},0,1,0,
{1,0},0},
{8,109,56,467,75,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,3,0,19},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,0,3,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,3,1},0,0,0,0,0,0,1,5,0,0},
{14,"Каталог",4294967295,0,0,0},
{0}
},
{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,4,
{3,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,1,
{"ru","Куда помещать выпускаемые файлы"}
},0,0,100,0,0},11,
{1,1,
{"ru","Каталог выпуска:"}
},4,1,0,0,0,
{0,0,0},0,
{1,0},1,
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},4,0,0,0,0,0,0,0},
{0}
},
{8,8,56,103,75,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,4,0,19},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,4,2,95},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,4,1},0,1,
{0,4,3},0,0,0,0,2,4,0,0},
{14,"Надпись1",4294967295,0,0,0},
{0}
},
{381ed624-9217-4e63-85db-c4c3cb87daae,5,
{9,
{"Pattern",
{"S"}
},
{
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,1,
{-18},0,0,0},
{1,1,
{"ru","Строка соединения базы подсистемы ""Инструменты разработчика"". Если пустая, используется текущая база."}
},0,0,100,1,0},30,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,4,0,
{"U"},
{"U"},"",0,1,0,0,0,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},0,0,0,
{0,0,0},
{1,0},0,0,0,0,0,0,0,16777215,1}
},
{1,
{9a7643d2-19e9-45e2-8893-280bc9195a97,
{4,
{"U"},
{"U"},0,"",0,0}
}
},
{1,
{2,e1692cc2-605b-4535-84dd-28440238746c,
{3,"КаталогНачалоВыбора",
{1,"КаталогНачалоВыбора",
{1,1,
{"ru","Каталог начало выбора"}
},
{1,1,
{"ru","Каталог начало выбора"}
},
{1,1,
{"ru","Каталог начало выбора"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
}
},0,1,0,
{1,0},0},
{8,109,32,467,51,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,5,0,19},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,0,3,-8},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,5,1},0,0,0,0,0,0,3,3,0,0},
{14,"СтрокаСоединенияБазыПодсистемы",4294967295,0,0,0},
{0}
},
{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,6,
{3,
{
{16,1,
{3,4,
{0}
},
{3,4,
{0}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},11,
{1,1,
{"ru","База подсистемы:"}
},4,1,0,0,0,
{0,0,0},0,
{1,0},1,
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},4,0,0,0,0,0,0,0},
{0}
},
{8,8,32,103,51,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,6,0,19},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,6,2,95},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,6,1},0,1,
{0,6,3},0,0,0,0,4,2,0,0},
{14,"Надпись2",4294967295,0,0,0},
{0}
},
{0fc7e20d-f241-460c-bdf4-5ad88e5474a5,10,
{3,
{
{16,1,
{3,4,
{0}
},
{3,3,
{-14}
},
{7,3,0,1,100},0,
{3,4,
{0}
},
{3,4,
{0}
},
{3,4,
{0}
},
{3,3,
{-7}
},
{3,3,
{-21}
},
{3,0,
{0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e},
{1,0},0,0,100,0,0},11,
{1,1,
{"ru","Рекомендуется выполнять в базе с конфигурацией, содержащей чистую подсистему ИР"}
},4,1,0,0,0,
{0,0,0},0,
{1,0},1,
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},4,0,0,0,0,0,0,0},
{0}
},
{8,8,8,467,27,1,
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,10,0,19},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,10,2,459},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},
{0,
{2,-1,6,0},
{2,-1,6,0}
},1,
{0,10,1},0,1,
{0,10,3},0,0,0,0,5,1,0,0},
{14,"Надпись4",4294967295,0,0,0},
{0}
}
}
},475,109,1,0,1,4,4,181,475,109,96},
{
{-1},5,
{3,
{
{1},1,0,1,"Каталог",
{"Pattern",
{"S"}
}
},
{
{2},1,0,1,"СтрокаСоединенияБазыПодсистемы",
{"Pattern",
{"S"}
}
},
{
{3},0,0,1,"Подверсия",
{"Pattern",
{"S",2,1}
}
}
},
{2,
{3,
{1,
{1}
}
},
{5,
{1,
{2}
}
}
}
},
{00000000-0000-0000-0000-000000000000,0},
{3,
{70000,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПередОткрытием",
{1,"ПередОткрытием",
{1,1,
{"ru","Перед открытием"}
},
{1,1,
{"ru","Перед открытием"}
},
{1,1,
{"ru","Перед открытием"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
},
{70001,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПриОткрытии",
{1,"ПриОткрытии",
{1,1,
{"ru","При открытии"}
},
{1,1,
{"ru","При открытии"}
},
{1,1,
{"ru","При открытии"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
},
{70003,e1692cc2-605b-4535-84dd-28440238746c,
{3,"ПриЗакрытии",
{1,"ПриЗакрытии",
{1,1,
{"ru","При закрытии"}
},
{1,1,
{"ru","При закрытии"}
},
{1,1,
{"ru","При закрытии"}
},
{4,0,
{0},"",-1,-1,1,0,""},
{0,0,0}
}
}
}
},1,4,1,0,0,0,
{0},
{0},
{8,0,
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},
{4,0,
{0},"",-1,-1,1,0,""},100,0,0,0},1,2,0,0,1,1}

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonForm uuid="1423c9b4-a549-4267-b8c9-c449c8c88cda">
<Properties>
<Name>ирВыпускВариантаРасширение</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Выпуск варианта Расширение (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>
</CommonForm>
</MetaDataObject>

View File

@ -0,0 +1,270 @@
Перем ирПлатформа;
Процедура ОсновныеДействияФормыВыполнить(Кнопка)
// Если указать ИсполняемыйФайлПлатформы, то будет ошибка при загрузке расширения из файлов
// Неизвестная версия формата 2.6 загружаемого файла
ЭтаФорма.ИсполняемыйФайлПлатформы = "";
КаталогВыгрузкиКонфигурации = ПолучитьИмяВременногоФайла();
СоздатьКаталог(КаталогВыгрузкиКонфигурации);
ТекстЛога = "";
// Выгружаем конфигурацию в файлы
Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpConfigToFiles """ + КаталогВыгрузкиКонфигурации + """ -Format Hierarchical", СтрокаСоединенияИнформационнойБазы(), ТекстЛога,,
"Выгрузка конфигурации в файлы",,,, ИмяПользователя, ПарольПользователя);
Если Не Успех Тогда
УдалитьФайлы(КаталогВыгрузкиКонфигурации);
Сообщить(ТекстЛога);
Возврат;
КонецЕсли;
//КаталогВыгрузкиКонфигурации = "Z:\Ир"; // Для отладки
Результат = СоздатьРасширение("e", КаталогВыгрузкиКонфигурации);
УдалитьФайлы(КаталогВыгрузкиКонфигурации);
Сообщить(Результат);
//Предупреждение("Не забудь вручную убрать флажок ""Проверять значения языка"" у расширения!");
КонецПроцедуры
Функция СоздатьРасширение(Знач СуффиксВерсии, Знач КаталогВыгрузкиКонфигурации)
ВерсияРасширения = Метаданные.Версия + СуффиксВерсии;
ИмяРасширения = "Расширение1";
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("cfe");
ПолучитьОбщийМакет("ирШаблонРасширения").Записать(ИмяВременногоФайла);
ТекстЛога = "";
Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/LoadCfg """ + ИмяВременногоФайла + """ -Extension """ + ИмяРасширения + """", , ТекстЛога,,, Истина, ИсполняемыйФайлПлатформы);
Если Не Успех Тогда
УдалитьФайлы(ИмяВременногоФайла);
Сообщить(ТекстЛога);
Возврат Неопределено;
КонецЕсли;
УдалитьФайлы(ИмяВременногоФайла);
ТекстЛога = "";
КаталогВыгрузкиРасширения = ПолучитьИмяВременногоФайла();
СоздатьКаталог(КаталогВыгрузкиРасширения);
// Выгрузка расширения в файлы
Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpConfigToFiles """ + КаталогВыгрузкиРасширения + """ -Extension """ + ИмяРасширения + """ -Format Hierarchical", , ТекстЛога,,
"Выгрузка расширения в файлы",, ИсполняемыйФайлПлатформы);
Если Не Успех Тогда
УдалитьФайлы(КаталогВыгрузкиРасширения);
Сообщить(ТекстЛога);
Возврат Неопределено;
КонецЕсли;
// Скопируем все папки кроме Catalogs и Ext и файла ConfigDumpInfo.xml
Файлы = НайтиФайлы(КаталогВыгрузкиКонфигурации, "*");
Для Каждого Файл Из Файлы Цикл
Если Ложь
Или Файл.Имя = "Catalogs"
Или Файл.Имя = "Ext"
Или Не Файл.ЭтоКаталог()
Тогда
Продолжить;
КонецЕсли;
ФайлПриемник = Новый Файл(КаталогВыгрузкиРасширения + "\" + Файл.Имя);
Если Не ФайлПриемник.Существует() Тогда
СоздатьКаталог(ФайлПриемник.ПолноеИмя);
КонецЕсли;
ирОбщий.СкопироватьФайлыЛкс(КаталогВыгрузкиКонфигурации + "\" + Файл.Имя, КаталогВыгрузкиРасширения + "\" + Файл.Имя);
КонецЦикла;
// Во всех CommonCommands удалить <CommandParameterType>...</CommandParameterType>
Файлы = НайтиФайлы(КаталогВыгрузкиРасширения + "\CommonCommands", "*.xml");
Для Каждого Файл Из Файлы Цикл
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайла, "<CommandParameterType>", "</CommandParameterType>", Ложь, Истина);
ТекстФайла = СтрЗаменить(ТекстФайла, ЧтоЗаменить, "");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(Файл.ПолноеИмя);
КонецЦикла;
// Из SubSystems вырезаем фрагменты <xr:Item xsi:type="xr:MDObjectRef">Catalog.ирОбъектыДляОтладки</xr:Item>
Файлы = НайтиФайлы(КаталогВыгрузкиРасширения + "\SubSystems", "*.xml");
Для Каждого Файл Из Файлы Цикл
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(Файл.ПолноеИмя);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ТекстФайла = СтрЗаменить(ТекстФайла, "<xr:Item xsi:type=""xr:MDObjectRef"">Catalog.ирАлгоритмы</xr:Item>", "");
ТекстФайла = СтрЗаменить(ТекстФайла, "<xr:Item xsi:type=""xr:MDObjectRef"">Catalog.ирКомандаРедактироватьОбъект</xr:Item>", "");
ТекстФайла = СтрЗаменить(ТекстФайла, "<xr:Item xsi:type=""xr:MDObjectRef"">Catalog.ирОбъектыДляОтладки</xr:Item>", "");
ТекстФайла = СтрЗаменить(ТекстФайла, "<xr:Item xsi:type=""xr:MDObjectRef"">CommonCommand.ирОткрытьНастройкиАлгоритмов</xr:Item>", "");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(Файл.ПолноеИмя);
КонецЦикла;
// У общего модуля ирГлобальный убираем флажок Сервер, т.к. в расширении такие общие модули недопустимы
ИмяФайла = КаталогВыгрузкиРасширения + "\CommonModules\ирГлобальный.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ТекстФайла = СтрЗаменить(ТекстФайла, "<Server>true</Server>", "<Server>false</Server>");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(ИмяФайла);
//// Скопируем глобальные методы в общий модуль ирОтладка
//ИмяФайла = КаталогВыгрузкиРасширения + "\CommonModules\ирГлобальный\Ext\Module.bsl";
//ТекстовыйДокумент = Новый ТекстовыйДокумент;
//ТекстовыйДокумент.Прочитать(ИмяФайла);
//ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
//ТекстМетодов = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайла, "#Область ГлобальныеПортативныеМетоды", "#КонецОбласти", Ложь, Истина);
//ИмяФайла = КаталогВыгрузкиРасширения + "\CommonModules\ирОтладка\Ext\Module.bsl";
//ТекстовыйДокумент = Новый ТекстовыйДокумент;
//ТекстовыйДокумент.Прочитать(ИмяФайла);
//ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
//ТекстФайла = ТекстФайла + ТекстМетодов;
//ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
//ТекстовыйДокумент.Записать(ИмяФайла);
// У общего модуля ирПривилегированный убираем флажок Привилегированный
ИмяФайла = КаталогВыгрузкиРасширения + "\CommonModules\ирПривилегированный.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ТекстФайла = СтрЗаменить(ТекстФайла, "<Privileged>true</Privileged>", "<Privileged>false</Privileged>");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(ИмяФайла);
// У подсистемы ИнструментыРазработчикаTormozit обновим версию
ИмяФайла = КаталогВыгрузкиРасширения + "\SubSystems\ИнструментыРазработчикаTormozit.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайла, "<Comment>", "</Comment>", Ложь, Истина);
ТекстФайла = СтрЗаменить(ТекстФайла, ЧтоЗаменить, "<Comment>" + ВерсияРасширения + "</Comment>");
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайла, "<v8:content>Инструменты разработчика ", "</v8:content>", Ложь, Истина);
ТекстФайла = СтрЗаменить(ТекстФайла, ЧтоЗаменить, "<v8:content>Инструменты разработчика " + ВерсияРасширения + "</v8:content>");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(ИмяФайла);
ИмяФайла = КаталогВыгрузкиРасширения + "\CommonModules\ирИнтерфейсДляВстраивания\Ext\Module.bsl";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ТекстФайла = СтрЗаменить(ТекстФайла, "// Версия модуля X.XX", "// Версия модуля " + Метаданные.Версия);
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(ИмяФайла);
ИмяФайла = КаталогВыгрузкиРасширения + "\Languages\Русский.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ИмяФайла);
ТекстФайла = ТекстовыйДокумент.ПолучитьТекст();
ТекстФайла = СтрЗаменить(ТекстФайла, "<Name>Русский</Name>", "<Name>Русский</Name><ObjectBelonging>Adopted</ObjectBelonging>");
ТекстовыйДокумент.УстановитьТекст(ТекстФайла);
ТекстовыйДокумент.Записать(ИмяФайла);
// Заменим элемент <ChildObjects> в файле Configuration.xml
ФайлКонфигурацииИсточника = КаталогВыгрузкиКонфигурации + "\Configuration.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ФайлКонфигурацииИсточника);
ТекстФайлаИсточника = ТекстовыйДокумент.ПолучитьТекст();
ФайлКонфигурацииПриемника = КаталогВыгрузкиРасширения + "\Configuration.xml";
ТекстовыйДокумент = Новый ТекстовыйДокумент;
ТекстовыйДокумент.Прочитать(ФайлКонфигурацииПриемника);
ТекстФайлаПриемника = ТекстовыйДокумент.ПолучитьТекст();
ЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайлаПриемника, "<ChildObjects>", "</ChildObjects>", Ложь, Истина);
НаЧтоЗаменить = ирОбщий.ПолучитьСтрокуМеждуМаркерамиЛкс(ТекстФайлаИсточника, "<ChildObjects>", "</ChildObjects>", Ложь, Истина);
ТекстФайлаПриемника = СтрЗаменить(ТекстФайлаПриемника, ЧтоЗаменить, НаЧтоЗаменить);
ТекстФайлаПриемника = СтрЗаменить(ТекстФайлаПриемника, "<Version>4.00</Version>", "<Version>" + ВерсияРасширения + "</Version>");
ТекстФайлаПриемника = СтрЗаменить(ТекстФайлаПриемника, "<Interface>ирРазработчик</Interface>", "");
ТекстФайлаПриемника = СтрЗаменить(ТекстФайлаПриемника, "<Style>ирОсновной</Style>", "");
ТекстовыйДокумент.УстановитьТекст(ТекстФайлаПриемника);
ТекстовыйДокумент.Записать(ФайлКонфигурацииПриемника);
//Предупреждение(1);
// Загрузка расширения из файлов
Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/LoadConfigFromFiles """ + КаталогВыгрузкиРасширения + """ -Extension """ + ИмяРасширения + """ -Format Hierarchical", , ТекстЛога,,
"Загрузка расширения из файлов",, ИсполняемыйФайлПлатформы);
УдалитьФайлы(КаталогВыгрузкиРасширения); // Закомментировано для отладки
Если Не Успех Тогда
Сообщить(ТекстЛога);
Возврат Неопределено;
КонецЕсли;
//// Выгружаем расширение в файлы
//Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpConfigToFiles """ + КаталогВыгрузкиРасширения + """ -Extension """ + ИмяРасширения + """ -Format Hierarchical", , ТекстЛога);
//Если Не Успех Тогда
// УдалитьФайлы(КаталогВыгрузкиРасширения);
// Сообщить(ТекстЛога);
// Возврат;
//КонецЕсли;
//ФайлКонфигурацииИсточника = КаталогВыгрузкиРасширения + "\Configuration.xml";
//ТекстовыйДокумент = Новый ТекстовыйДокумент;
//ТекстовыйДокумент.Прочитать(ФайлКонфигурацииИсточника);
//ТекстФайлаИсточника = ТекстовыйДокумент.ПолучитьТекст();
//Предупреждение(1);
//ТекстФайлаИсточника = СтрЗаменить(ТекстФайлаИсточника, "<DefaultLanguage>Language.ирРусский</DefaultLanguage>", ""); // На первом проходе в 8.3.10 невозможно сделать
//ТекстовыйДокумент.УстановитьТекст(ТекстФайлаИсточника);
//ТекстовыйДокумент.Записать(ФайлКонфигурацииИсточника);
//
//// Загружаем расширение из файлов
//Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/LoadConfigFromFiles """ + КаталогВыгрузкиРасширения + """ -Extension """ + ИмяРасширения + """ -Format Hierarchical", , ТекстЛога);
//Если Не Успех Тогда
// УдалитьФайлы(КаталогВыгрузкиРасширения);
// Сообщить(ТекстЛога);
// Возврат;
//КонецЕсли;
// Выгружаем расширение
КонечныйФайл = Каталог + "\ИР " + ВерсияРасширения + ".cfe";
Успех = ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("/DumpCfg """ + КонечныйФайл + """ -Extension """ + ИмяРасширения + """", , ТекстЛога,,,, ИсполняемыйФайлПлатформы);
Если Не Успех Тогда
Сообщить(ТекстЛога);
Возврат Неопределено;
КонецЕсли;
Если ирКэш.НомерВерсииПлатформыЛкс() < 803013 Тогда
// https://partners.v8.1c.ru/forum/t/1713417/m/1713417
Сообщить("Выполните изменение свойства ""Режим совместимости"" расширения, оставив его выключенным");
ирОбщий.ВыполнитьКомандуКонфигуратораЛкс("",,,,,,, Ложь);
КонецЕсли;
Возврат КонечныйФайл;
КонецФункции
Процедура КаталогНачалоВыбора(Элемент, СтандартнаяОбработка)
ирОбщий.ВыбратьКаталогВФормеЛкс(Каталог);
КонецПроцедуры
Процедура ПриЗакрытии()
ирОбщий.СохранитьЗначениеЛкс("ирВыпускВариантаРасширение.Каталог", Каталог);
ирОбщий.СохранитьЗначениеЛкс("ирВыпускВариантаРасширение.ИсполняемыйФайлПлатформы", ИсполняемыйФайлПлатформы);
КонецПроцедуры
Процедура ПриОткрытии()
ЭтаФорма.Каталог = ирОбщий.ВосстановитьЗначениеЛкс("ирВыпускВариантаРасширение.Каталог");
ЭтаФорма.ИсполняемыйФайлПлатформы = ирОбщий.ВосстановитьЗначениеЛкс("ирВыпускВариантаРасширение.ИсполняемыйФайлПлатформы");
ирОбщий.ЗаполнитьСписокАдминистраторовБазыЛкс(ЭлементыФормы.ИмяПользователя.СписокВыбора);
ЭтаФорма.ИмяПользователя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
КонецПроцедуры
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Если ирКэш.НомерВерсииПлатформыЛкс() < 803010 Тогда
Сообщить("Поддерживается только платформа 8.3.10 и выше");
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Процедура ИсполняемыйФайлПлатформыНачалоВыбора(Элемент, СтандартнаяОбработка)
РезультатВыбора = ирОбщий.ВыбратьФайлЛкс(, "exe",, Элемент.Значение);
Если ЗначениеЗаполнено(РезультатВыбора) Тогда
Элемент.Значение = РезультатВыбора;
КонецЕсли;
КонецПроцедуры
ирПлатформа = ирКэш.Получить();

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<CommonForm uuid="07563480-0a24-436e-8a28-b3fee934613d">
<Properties>
<Name>ирОбновлениеОписанияПлатформы</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обновление описания платформы (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Ordinary</FormType>
<IncludeHelpInContents>false</IncludeHelpInContents>
<UsePurposes>
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseStandardCommands>false</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>
</CommonForm>
</MetaDataObject>

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Отладка внешних обработок БСП (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Отладка внешних обработок БСП (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Отладка внешних обработок БСП (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<FormType>Managed</FormType>
@ -24,7 +16,7 @@
<v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value>
<v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value>
</UsePurposes>
<UseStandardCommands>false</UseStandardCommands>
<UseStandardCommands>true</UseStandardCommands>
<ExtendedPresentation/>
<Explanation/>
</Properties>

View File

@ -0,0 +1,432 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<VerticalScroll>useIfNecessary</VerticalScroll>
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1">
<ChildItems>
<Button name="ФормаПрочитатьАктуальныеНастройки" id="43">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ПрочитатьАктуальныеНастройки</CommandName>
<ExtendedTooltip name="ФормаПрочитатьАктуальныеНастройкиРасширеннаяПодсказка" id="55"/>
</Button>
<Button name="ФормаОбщаяКомандаирОткрытьОтладчик" id="49">
<Type>CommandBarButton</Type>
<Representation>PictureAndText</Representation>
<CommandName>CommonCommand.ирОткрытьОтладчик</CommandName>
<ExtendedTooltip name="ФормаОбщаяКомандаирОткрытьОтладчикРасширеннаяПодсказка" id="56"/>
</Button>
<Button name="ФормаОбщаяКомандаирОПодсистеме" id="54">
<Type>CommandBarButton</Type>
<CommandName>CommonCommand.ирОПодсистеме</CommandName>
<ExtendedTooltip name="ФормаОбщаяКомандаирОПодсистемеРасширеннаяПодсказка" id="57"/>
</Button>
</ChildItems>
</AutoCommandBar>
<Events>
<Event name="OnCreateAtServer">ПриСозданииНаСервере</Event>
</Events>
<ChildItems>
<CheckBoxField name="ПерехватВнешнихОбработок" id="40">
<DataPath>ПерехватВнешнихОбработок</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перехват создания внешних обработок для всех пользователей. Выключайте в случае проблем.</v8:content>
</v8:item>
</ToolTip>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ПерехватВнешнихОбработокКонтекстноеМеню" id="41"/>
<ExtendedTooltip name="ПерехватВнешнихОбработокРасширеннаяПодсказка" id="58"/>
<Events>
<Event name="OnChange">ПерехватВнешнихОбработокПриИзменении</Event>
</Events>
</CheckBoxField>
<InputField name="КаталогФайловогоКэша" id="4">
<DataPath>КаталогФайловогоКэша</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Рекомендуется выбирать сетевой каталог, чтобы он был доступен любому серверному и нужным клиентским процессам.</v8:content>
</v8:item>
</ToolTip>
<ChoiceButton>true</ChoiceButton>
<OpenButton>true</OpenButton>
<ContextMenu name="КаталогФайловогоКэшаКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="КаталогФайловогоКэшаРасширеннаяПодсказка" id="59"/>
<Events>
<Event name="OnChange">КаталогФайловогоКэшаПриИзменении</Event>
<Event name="StartChoice">КаталогФайловогоКэшаНачалоВыбора</Event>
<Event name="Opening">КаталогФайловогоКэшаОткрытие</Event>
</Events>
</InputField>
<CheckBoxField name="ОтладкаДляТекущегоПользователя" id="1">
<DataPath>СозданиеВнешнихОбработокЧерезФайл</DataPath>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Под текущим пользователем внешние обработки будут создаваться через постоянные файлы и будет доступна их отладка.</v8:content>
</v8:item>
</ToolTip>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ОтладкаДляТекущегоПользователяКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="ОтладкаДляТекущегоПользователяРасширеннаяПодсказка" id="60"/>
<Events>
<Event name="OnChange">ОтладкаДляТекущегоПользователяПриИзменении</Event>
</Events>
</CheckBoxField>
<LabelDecoration name="НадписьНеРаботаютТочкиОстанова" id="51">
<TextColor>style:SpecialTextColor</TextColor>
<Title formatted="false">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>В 8.3.6 точки останова во внеших обработках не работают из-за ошибки платформы</v8:content>
</v8:item>
</Title>
<ContextMenu name="НадписьНеРаботаютТочкиОстановаКонтекстноеМеню" id="52"/>
<ExtendedTooltip name="НадписьНеРаботаютТочкиОстановаРасширеннаяПодсказка" id="61"/>
</LabelDecoration>
<Table name="Список" id="7">
<Representation>List</Representation>
<ChangeRowSet>false</ChangeRowSet>
<AutoInsertNewRow>true</AutoInsertNewRow>
<EnableStartDrag>true</EnableStartDrag>
<EnableDrag>true</EnableDrag>
<FileDragMode>AsFile</FileDragMode>
<DataPath>Список</DataPath>
<SearchStringLocation>None</SearchStringLocation>
<ViewStatusLocation>None</ViewStatusLocation>
<SearchControlLocation>None</SearchControlLocation>
<RowFilter xsi:nil="true"/>
<ContextMenu name="СписокКонтекстноеМеню" id="8"/>
<AutoCommandBar name="СписокКоманднаяПанель" id="9">
<Autofill>false</Autofill>
<ChildItems>
<Button name="ВнешниеОбработкиСортироватьСписокПоВозрастанию" id="29">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.Список.StandardCommand.SortListAsc</CommandName>
<LocationInCommandBar>InCommandBarAndInAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ВнешниеОбработкиСортироватьСписокПоВозрастаниюРасширеннаяПодсказка" id="62"/>
</Button>
<Button name="ВнешниеОбработкиСортироватьСписокПоУбыванию" id="31">
<Type>CommandBarButton</Type>
<CommandName>Form.Item.Список.StandardCommand.SortListDesc</CommandName>
<LocationInCommandBar>InCommandBarAndInAdditionalSubmenu</LocationInCommandBar>
<ExtendedTooltip name="ВнешниеОбработкиСортироватьСписокПоУбываниюРасширеннаяПодсказка" id="63"/>
</Button>
<Button name="ВнешниеОбработкиОбновить" id="35">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ОбновитьСписок</CommandName>
<ExtendedTooltip name="ВнешниеОбработкиОбновитьРасширеннаяПодсказка" id="64"/>
</Button>
<Button name="ВнешниеОбработкиОткрытьВОтладчике" id="33">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ОткрытьВОтладчике</CommandName>
<ExtendedTooltip name="ВнешниеОбработкиОткрытьВОтладчикеРасширеннаяПодсказка" id="65"/>
</Button>
<Button name="ВнешниеОбработкиЗагрузитьИзФайла" id="45">
<Type>CommandBarButton</Type>
<CommandName>Form.Command.ЗагрузитьИзФайла</CommandName>
<ExtendedTooltip name="ВнешниеОбработкиЗагрузитьИзФайлаРасширеннаяПодсказка" id="66"/>
</Button>
</ChildItems>
</AutoCommandBar>
<ExtendedTooltip name="СписокРасширеннаяПодсказка" id="67"/>
<SearchStringAddition name="СписокСтрокаПоиска" id="68">
<AdditionSource>
<Item>Список</Item>
<Type>SearchStringRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСтрокаПоискаКонтекстноеМеню" id="69"/>
<ExtendedTooltip name="СписокСтрокаПоискаРасширеннаяПодсказка" id="70"/>
</SearchStringAddition>
<ViewStatusAddition name="СписокСостояниеПросмотра" id="71">
<AdditionSource>
<Item>Список</Item>
<Type>ViewStatusRepresentation</Type>
</AdditionSource>
<ContextMenu name="СписокСостояниеПросмотраКонтекстноеМеню" id="72"/>
<ExtendedTooltip name="СписокСостояниеПросмотраРасширеннаяПодсказка" id="73"/>
</ViewStatusAddition>
<SearchControlAddition name="СписокУправлениеПоиском" id="74">
<AdditionSource>
<Item>Список</Item>
<Type>SearchControl</Type>
</AdditionSource>
<ContextMenu name="СписокУправлениеПоискомКонтекстноеМеню" id="75"/>
<ExtendedTooltip name="СписокУправлениеПоискомРасширеннаяПодсказка" id="76"/>
</SearchControlAddition>
<Events>
<Event name="Selection">ВнешниеОбработкиВыбор</Event>
</Events>
<ChildItems>
<InputField name="ВнешниеОбработкиСсылка" id="20">
<DataPath>Список.Ссылка</DataPath>
<ReadOnly>true</ReadOnly>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВнешниеОбработкиСсылкаКонтекстноеМеню" id="21"/>
<ExtendedTooltip name="ВнешниеОбработкиСсылкаРасширеннаяПодсказка" id="77"/>
</InputField>
<InputField name="ВнешниеОбработкиИмяФайла" id="23">
<DataPath>Список.ИмяФайла</DataPath>
<ReadOnly>true</ReadOnly>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВнешниеОбработкиИмяФайлаКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="ВнешниеОбработкиИмяФайлаРасширеннаяПодсказка" id="78"/>
</InputField>
<InputField name="ВнешниеОбработкиДатаИзмененияФайла" id="26">
<DataPath>Список.ДатаИзмененияФайла</DataPath>
<ReadOnly>true</ReadOnly>
<EditMode>EnterOnInput</EditMode>
<ContextMenu name="ВнешниеОбработкиДатаИзмененияФайлаКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="ВнешниеОбработкиДатаИзмененияФайлаРасширеннаяПодсказка" id="79"/>
</InputField>
<CheckBoxField name="ВнешниеОбработкиФайлСоответствуетДанным" id="37">
<DataPath>Список.ФайлОтличаетсяОтХранилища</DataPath>
<ReadOnly>true</ReadOnly>
<EditMode>EnterOnInput</EditMode>
<CheckBoxType>Auto</CheckBoxType>
<ContextMenu name="ВнешниеОбработкиФайлСоответствуетДаннымКонтекстноеМеню" id="38"/>
<ExtendedTooltip name="ВнешниеОбработкиФайлСоответствуетДаннымРасширеннаяПодсказка" id="80"/>
</CheckBoxField>
</ChildItems>
</Table>
</ChildItems>
<Attributes>
<Attribute name="СозданиеВнешнихОбработокЧерезФайл" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создание внешних обработок через файл</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<Attribute name="КаталогФайловогоКэша" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каталог файлового кэша</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Attribute>
<Attribute name="Список" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Список</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>v8:ValueTable</v8:Type>
</Type>
<Columns>
<Column name="Ссылка" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка</v8:content>
</v8:item>
</Title>
<Type>
<v8:TypeSet>cfg:AnyRef</v8:TypeSet>
</Type>
</Column>
<Column name="ИмяФайла" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Имя файла</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
</Column>
<Column name="ДатаИзмененияФайла" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Дата изменения файла</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</Type>
</Column>
<Column name="ФайлОтличаетсяОтХранилища" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Файл отличается от хранилища</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Column>
</Columns>
</Attribute>
<Attribute name="ПерехватВнешнихОбработок" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Перехват внешних обработок</v8:content>
</v8:item>
</Title>
<Type>
<v8:Type>xs:boolean</v8:Type>
</Type>
</Attribute>
<ConditionalAppearance>
<dcsset:item>
<dcsset:selection>
<dcsset:item>
<dcsset:field>ВнешниеОбработкиСсылка</dcsset:field>
</dcsset:item>
<dcsset:item>
<dcsset:field>ВнешниеОбработкиИмяФайла</dcsset:field>
</dcsset:item>
<dcsset:item>
<dcsset:field>ВнешниеОбработкиДатаИзмененияФайла</dcsset:field>
</dcsset:item>
<dcsset:item>
<dcsset:field>ВнешниеОбработкиФайлСоответствуетДанным</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:filter>
<dcsset:item xsi:type="dcsset:FilterItemComparison">
<dcsset:left xsi:type="dcscor:Field">Список.ФайлОтличаетсяОтХранилища</dcsset:left>
<dcsset:comparisonType>Equal</dcsset:comparisonType>
<dcsset:right xsi:type="xs:boolean">true</dcsset:right>
</dcsset:item>
</dcsset:filter>
<dcsset:appearance>
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
<dcscor:parameter>ЦветТекста</dcscor:parameter>
<dcscor:value xsi:type="v8ui:Color">web:Sienna</dcscor:value>
</dcscor:item>
</dcsset:appearance>
</dcsset:item>
</ConditionalAppearance>
</Attributes>
<Commands>
<Command name="ОбновитьСписок" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обновить список</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Обновить список</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.Refresh</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ОбновитьСписок</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ОткрытьВОтладчике" id="2">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть в отладчике</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть файл внешней обработки в уже открытом отладчике. Окна отладчика ищутся по подстроке "Конфигуратор" в заголовке.</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКонфигуратор1С8</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ОткрытьВОтладчике</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ПрочитатьАктуальныеНастройки" id="3">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Прочитать актуальные настройки</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Полезно в случае их изменения настроек в другом сеансе</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>StdPicture.Refresh</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ПрочитатьАктуальныеНастройки</Action>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ЗагрузитьИзФайла" id="4">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузить из файла</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Загрузить файл в хранилище внешней обработки в базе. После этого он станет использоваться всеми пользователями.</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирЗагрузитьИзФайла</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ЗагрузитьИзФайла</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
<Command name="ОткрытьКонфигуратор" id="5">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть конфигуратор</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Открыть конфигуратор</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирКонфигуратор1С8</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ОткрытьКонфигуратор</Action>
<Representation>TextPicture</Representation>
<CurrentRowUse>DontUse</CurrentRowUse>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,257 @@

&НаКлиенте
Процедура КаталогФайловогоКэшаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
ВыборФайла.Каталог = КаталогФайловогоКэша;
Если Не ВыборФайла.Выбрать() Тогда
Возврат;
КонецЕсли;
ЭтаФорма.КаталогФайловогоКэша = ВыборФайла.Каталог;
КаталогФайловогоКэшаПриИзменении();
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ирКэш.НомерВерсииБСПЛкс() >= 204 Тогда
Если Не ирКэш.ЛиЭтоРасширениеКонфигурацииЛкс() Тогда
Сообщить("Работа инструмента с БСП 2.4 и выше поддерживается только в варианте Расширение");
Отказ = Истина;
Возврат;
КонецЕсли;
Элементы.ПерехватВнешнихОбработок.Видимость = Ложь;
ополнительныеОтчетыИОбработки = Вычислить("ДополнительныеОтчетыИОбработки");
#Если Сервер И Не Сервер Тогда
ополнительныеОтчетыИОбработки = ДополнительныеОтчетыИОбработки;
#КонецЕсли
Попытка
ополнительныеОтчетыИОбработки.ирПроверкаПодключенияРасширенияМодуля();
Исключение
Сообщить("Необходимо адаптировать расширение командой ""Адаптация расширения"" в разделе ""Инструменты разработчика""/""Сервис""");
Отказ = Истина;
Возврат;
КонецПопытки;
ИначеЕсли ирКэш.НомерВерсииБСПЛкс() < 200 Тогда
Сообщить("Поддерживаются версии БСП 2.0 и выше. Обнаружена БСП " + ирКэш.ВерсияБСПЛкс());
Отказ = Истина;
Возврат;
КонецЕсли;
Элементы.НадписьНеРаботаютТочкиОстанова.Видимость = ирКэш.НомерВерсииПлатформыЛкс() = 803006;
ПрочитатьНастройкиНаСервере();
КонецПроцедуры
&НаСервере
Процедура ПрочитатьНастройкиНаСервере()
Обработчик = ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс();
ЭтаФорма.ПерехватВнешнихОбработок = Обработчик <> Неопределено;
Если ПерехватВнешнихОбработок Тогда
ЭтаФорма.КаталогФайловогоКэша = Обработчик.КаталогФайловогоКэша;
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = ХранилищеСистемныхНастроек.Загрузить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл");
ОбновитьСписокНаСервере();
Иначе
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
СохранитьНастройкиПользователяНаСервере();
КонецЕсли;
ОбновитьДоступность();
КонецПроцедуры
&НаКлиенте
Процедура ОтладкаДляТекущегоПользователяПриИзменении(Элемент)
Если СозданиеВнешнихОбработокЧерезФайл Тогда
Если ЭтаФорма.ПерехватВнешнихОбработок <> Истина Тогда
ЭтаФорма.ПерехватВнешнихОбработок = Истина;
Если Не СохранитьНастройкиНаСервере() Тогда
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
СохранитьНастройкиПользователяНаСервере();
КонецПроцедуры
&НаСервере
Процедура СохранитьНастройкиПользователяНаСервере()
ХранилищеСистемныхНастроек.Сохранить("ирОтладкаВнешнихОбработок", "СозданиеВнешнихОбработокЧерезФайл", СозданиеВнешнихОбработокЧерезФайл);
КонецПроцедуры
&НаКлиенте
Процедура КаталогФайловогоКэшаПриИзменении(Элемент = Неопределено)
СохранитьНастройкиНаСервере();
ОбновитьСписокНаСервере();
КонецПроцедуры
&НаСервере
Функция СохранитьНастройкиНаСервере()
Если ПерехватВнешнихОбработок Тогда
ФайлКаталога = Новый Файл(КаталогФайловогоКэша);
Если Не ФайлКаталога.Существует() Тогда
Сообщить("Выбранный каталог недоступен серверу. Выберите другой каталог");
ПрочитатьНастройкиНаСервере();
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
СохранитьНастройкиПользователяНаСервере();
Возврат Ложь;
КонецЕсли;
ирСервер.ВключитьПерехватВнешнихОбработокБСПЛкс(КаталогФайловогоКэша);
Иначе
ирСервер.НайтиПерехватВнешнихОбработокБСПЛкс(Истина);
КонецЕсли;
//ПрочитатьНастройкиНаСервере();
Возврат Истина;
КонецФункции
&НаСервере
Процедура ОбновитьСписокНаСервере()
Список.Очистить();
ОбновитьДоступность();
Если Не ЗначениеЗаполнено(КаталогФайловогоКэша) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДополнительныеОтчетыИОбработки.Ссылка КАК Ссылка,
| ДополнительныеОтчетыИОбработки.ИмяФайла
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДополнительныеОтчетыИОбработки
|
|УПОРЯДОЧИТЬ ПО
| Ссылка
|АВТОУПОРЯДОЧИВАНИЕ";
Результат = Запрос.Выполнить().Выгрузить();
СравнениеЗначений = Новый СравнениеЗначений;
Для Каждого СтрокаРезультата Из Результат Цикл
СтрокаТаблицы = Список.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, СтрокаРезультата);
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(СтрокаТаблицы.Ссылка, КаталогФайловогоКэша);
Файл = Новый Файл(ПолноеИмяФайла);
СтрокаТаблицы.ИмяФайла = Файл.Имя;
Если Файл.Существует() Тогда
Попытка
ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ПолноеИмяФайла);
Исключение
Сообщить("Ошибка доступа к файлу """ + ПолноеИмяФайла + """: " + ОписаниеОшибки());
Продолжить;
КонецПопытки;
СтрокаТаблицы.ДатаИзмененияФайла = Файл.ПолучитьВремяИзменения() + ирКэш.ПолучитьСмещениеВремениЛкс();
СтрокаТаблицы.ФайлОтличаетсяОтХранилища = СравнениеЗначений.Сравнить(ДвоичныеДанныеФайла, СтрокаТаблицы.Ссылка.ХранилищеОбработки.Получить()) <> 0;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ОбновитьДоступность()
Элементы.ВнешниеОбработкиЗагрузитьИзФайла.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
Элементы.ВнешниеОбработкиОткрытьВОтладчике.Доступность = ЗначениеЗаполнено(КаталогФайловогоКэша);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьСписок(Команда = Неопределено)
КлючСтроки = ирОбщий.ПолучитьКлючТекущейСтрокиЛкс(Элементы.Список);
ОбновитьСписокНаСервере();
ирОбщий.ВосстановитьТекущуюСтрокуТаблицыФормыЛкс(Элементы.Список, КлючСтроки, Список);
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьВОтладчике(Команда)
#Если ТонкийКлиент Или ВебКлиент Тогда
Сообщить("Функция доступна только в толстом клиенте");
Возврат;
#КонецЕсли
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
Файл = Новый Файл(ПолноеИмяФайла);
Если Не Файл.Существует() Тогда
ТекущиеДанные.Ссылка.ХранилищеОбработки.Получить().Записать(ПолноеИмяФайла);
КонецЕсли;
ирКэш.Получить().ОткрытьФайлВКонфигураторе(ПолноеИмяФайла, "Модуль");
ОбновитьСписок();
КонецПроцедуры
&НаКлиенте
Процедура ВнешниеОбработкиВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ОткрытьЗначение(Элемент.ТекущиеДанные.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПерехватВнешнихОбработокПриИзменении(Элемент)
Если Не ПерехватВнешнихОбработок Тогда
ЭтаФорма.СозданиеВнешнихОбработокЧерезФайл = Ложь;
СохранитьНастройкиПользователяНаСервере();
КонецЕсли;
СохранитьНастройкиНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ПрочитатьАктуальныеНастройки(Команда)
ПрочитатьНастройкиНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзФайла(Команда)
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ЗагрузитьИзФайлаНаСервере(ТекущиеДанные.Ссылка, КаталогФайловогоКэша);
ОбновитьСписок();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ЗагрузитьИзФайлаНаСервере(Ссылка, КаталогФайловогоКэша)
#Если Сервер И Не Сервер Тогда
Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка();
#КонецЕсли
ПолноеИмяФайла = ирСервер.ПолноеИмяФайлаВнешнейОбработкиВФайловомКэшеЛкс(Ссылка, КаталогФайловогоКэша);
Файл = Новый Файл(ПолноеИмяФайла);
Если Не Файл.Существует() Тогда
Возврат;
КонецЕсли;
ОбъектМодуля = ВнешниеОбработки.Создать(Файл.ПолноеИмя, Ложь);
СведенияМодуля = ОбъектМодуля.СведенияОВнешнейОбработке();
Объект = Ссылка.ПолучитьОбъект();
Объект.Версия = СведенияМодуля.Версия;
Объект.ХранилищеОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Файл.ПолноеИмя));
Объект.Записать();
КонецПроцедуры
&НаКлиенте
Процедура КаталогФайловогоКэшаОткрытие(Элемент, СтандартнаяОбработка)
ЗапуститьПриложение(КаталогФайловогоКэша);
СтандартнаяОбработка = Ложь;
КонецПроцедуры

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Форма отчета (расширение БСП)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Форма отчета (расширение БСП)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Форма отчета (расширение БСП)</v8:content>
</v8:item>
</Synonym>
<Comment>При адаптации расширения превращается в расширение одноименной формы БСП. В остальных случаях не используется.</Comment>
<FormType>Managed</FormType>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.9">
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
<Events>
<Event name="OnCreateAtServer">ирПриСозданииНаСервереПосле</Event>
</Events>
<Attributes/>
<Commands>
<Command name="ирОтладить" id="1">
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отладить (ИР)</v8:content>
</v8:item>
</Title>
<ToolTip>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Отладить схему и настройки компоновки в консоли компоновки данных (ИР)</v8:content>
</v8:item>
</ToolTip>
<Picture>
<xr:Ref>CommonPicture.ирОтладка</xr:Ref>
<xr:LoadTransparent>true</xr:LoadTransparent>
</Picture>
<Action>ирОтладить</Action>
</Command>
</Commands>
</Form>

View File

@ -0,0 +1,66 @@

&НаКлиенте
Процедура ирОтладить(Команда)
#Если ТонкийКлиент Или ВебКлиент Тогда
ОткрытьФорму("Отчет.ирКонсольКомпоновокДанных.Форма");
Возврат;
#Иначе
СхемаКомпоновки = ПолучитьИзВременногоХранилища(ПолучитьАдресСхемы());
ирОбщий.ОтладитьЛкс(СхемаКомпоновки,, ЭтаФорма.Отчет.КомпоновщикНастроек.ПолучитьНастройки());
#КонецЕсли
КонецПроцедуры
&НаСервере
Функция ПолучитьАдресСхемы()
Перем НастройкиОтчета;
Попытка
НастройкиОтчета = ЭтаФорма.НастройкиОтчета;
Исключение
НастройкиОтчета = Неопределено;
КонецПопытки;
Если НастройкиОтчета <> Неопределено И НастройкиОтчета.СхемаМодифицирована Тогда
// Стандартная форма отчета БСП
АдресСхемы = НастройкиОтчета.АдресСхемы;
Иначе
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
#Если Сервер И Не Сервер Тогда
ОтчетОбъект = Отчеты.ирКонсольКомпоновокДанных.Создать();
#КонецЕсли
АдресСхемы = ПоместитьВоВременноеХранилище(ОтчетОбъект.СхемаКомпоновкиДанных);
КонецЕсли;
Возврат АдресСхемы;
КонецФункции
&НаСервере
Процедура ирПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Родитель = Элементы.Найти("ГруппаВывод");
Если Истина
И Родитель <> Неопределено
И Родитель.Вид <> ВидГруппыФормы.КоманднаяПанель
И Родитель.Вид <> ВидГруппыФормы.ГруппаКнопок
Тогда
Родитель = Неопределено;
КонецЕсли;
Если Родитель = Неопределено Тогда
КнопкаСформироватьОтчет = Элементы.Найти("ФормаСформироватьОтчет");
Если КнопкаСформироватьОтчет = Неопределено Тогда
КнопкаСформироватьОтчет = Элементы.Найти("СформироватьОтчет");
КонецЕсли;
Если КнопкаСформироватьОтчет <> Неопределено Тогда
Родитель = КнопкаСформироватьОтчет.Родитель;
ИначеЕсли ЭтаФорма.ПоложениеКоманднойПанели <> ПоложениеКоманднойПанелиФормы.Нет Тогда
Родитель = ЭтаФорма.КоманднаяПанель;
Иначе
Родитель = ЭтаФорма;
КонецЕсли;
КонецЕсли;
Кнопка = Элементы.Добавить("ирОтладитьИР", Тип("КнопкаФормы"), Родитель);
Кнопка.ИмяКоманды = "ирОтладить";
КонецПроцедуры

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Глобальный (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Глобальный (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Глобальный (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>true</Global>

View File

@ -0,0 +1,526 @@
#Если Не ТонкийКлиент И Не ВебКлиент И Не МобильныйКлиент Тогда
// Обертка. Добавляет глобальные переменные и методы в контекст поля текстового документа с контекстной подсказкой.
//
// Параметры
// ПолеТекстовогоДокументаСКонтекстнойПодсказкой - ОбработкаОбъект.ПолеТекстовогоДокументаСКонтекстнойПодсказкой.
//
Процедура ИнициализироватьГлобальныйКонтекстПодсказки(ПолеТекстовогоДокументаСКонтекстнойПодсказкой) Экспорт
ирОбщий.ИнициализироватьГлобальныйКонтекстПодсказкиЛкс(ПолеТекстовогоДокументаСКонтекстнойПодсказкой);
КонецПроцедуры // ИнициализироватьГлобальныйКонтекстПодсказки()
Функция ПолучитьЗначениеПеременнойИзТаблицыЛокальногоКонтекстаЛкс(ИмяПеременной, ТаблицаЛокальногоКонтекста) Экспорт
СтруктураКлюча = Новый Структура("нСлово, ТипСлова", НРег(ИмяПеременной), "Свойство");
НайденныеСтроки = ТаблицаЛокальногоКонтекста.НайтиСтроки(СтруктураКлюча);
Если НайденныеСтроки.Количество() > 0 Тогда
Возврат НайденныеСтроки[0].Значение;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции // ПолучитьЗначениеПеременнойИзТаблицыЛокальногоКонтекста()
// Вычисляет тип значения функции УК по внутренним параметрам и аргументам.
// Предназначена для вызвова из ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.
//
// Параметры:
// ТаблицаЛокальногоКонтекста ТаблицаЗначений (см. ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой);
// МассивПараметров - Массив - выражений параметров.
//
// Возвращаемое значение:
// ТаблицаЗначений - ТаблицаСтруктурТипов (см. ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой).
//
Функция ПравилоВычисленияТипаЗначенияКПА(ТаблицаЛокальногоКонтекста, МассивПараметров) Экспорт
лПлатформа = ирКэш.Получить();
ТаблицаСтруктурТипов = лПлатформа.ПолучитьНовуюТаблицуСтруктурТипа();
Алгоритм = ПолучитьЗначениеПеременнойИзТаблицыЛокальногоКонтекстаЛкс(МассивПараметров[0], ТаблицаЛокальногоКонтекста);
Если Алгоритм <> Неопределено Тогда
Структура = ирКПА(Алгоритм);
СтруктураТипа = лПлатформа.ПолучитьСтруктуруТипаИзЗначения(Структура);
ЗаполнитьЗначенияСвойств(ТаблицаСтруктурТипов.Добавить(), СтруктураТипа);
КонецЕсли;
Возврат ТаблицаСтруктурТипов;
КонецФункции // ПравилоВычисленияТипаЗначенияУК()
// Конструктор Параметров Алгоритма.
//
// Параметры:
// Алгоритм СправочникСсылка.ирАлгоритмы.
//
// Возвращаемое значение:
// Структура - ключ - имя, значение - значение.
//
Функция ирКПА(Знач Алгоритм) Экспорт
#Если Сервер И Не Сервер Тогда
Алгоритм = Справочники.ирАлгоритмы.ПустаяСсылка();
#КонецЕсли
СтруктураПараметров = Новый Структура;
Для Каждого СтрокаПараметра Из Алгоритм.Параметры Цикл
СтруктураПараметров.Вставить(СтрокаПараметра.Имя, СтрокаПараметра.Значение);
КонецЦикла;
Возврат СтруктураПараметров;
КонецФункции // УК()
// Именованный Вызов Алгоритма. Передача параметров выполняется по имени.
//
// Параметры:
// Алгоритм СправочникСсылка.ирАлгоритмы, Строка - ссылка или GUID или имя сервиса;
// *СтруктураПараметров Структура, *Неопределено - ключи - имена параметров, значения - значения параметров;
// *пНастройкаАлгоритма - СправочникСсылка.НаборыЗначенийПараметров2iS, *Неопределено - набор значений параметров,
// имеющий приоритет ниже, чем СтруктураПараметров;
// *ПреобразоватьРезультатВСтрокуВнутр - Булево, *Ложь - преобразовать результат в строку внутреннюю (сериализовать)
//
// Возвращаемое значение:
// Произвольный.
//
Функция ирИВА(Знач Алгоритм, Знач СтруктураПараметров = Неопределено) Экспорт
Если СтруктураПараметров = Неопределено Тогда
СтруктураПараметров = Новый Структура;
КонецЕсли;
АлгоритмОбъект = ирОбщий.ПолучитьАлгоритмОбъектПоИдентификаторуЛкс(Алгоритм);
Результат = ирКэш.Получить().ВыполнитьМетодАлгоритма(АлгоритмОбъект, 1, СтруктураПараметров);
Возврат Результат;
КонецФункции // ирИВА()
// Позиционный Вызов Алгоритма. Передача параметров выполняется по позиции.
//
// Параметры
// Алгоритм СправочникСсылка.Сервисы2iS, Строка - ссылки или имя сервиса;
// *П... Произвольный, *Null параметры сервиса.
//
// Возвращаемое значение:
// Произвольное.
//
Функция ирПВА(Знач Алгоритм, П0=Null, П1=Null, П2=Null, П3=Null,
П4=Null, П5=Null, П6=Null, П7=Null, П8=Null, П9=Null) Экспорт
АлгоритмОбъект = ирОбщий.ПолучитьАлгоритмОбъектПоИдентификаторуЛкс(Алгоритм);
мПлатформа = ирКэш.Получить();
#Если Сервер И Не Сервер Тогда
мПлатформа = Обработки.ирПлатформа.Создать();
#КонецЕсли
Результат = мПлатформа.ВыполнитьМетодАлгоритма(АлгоритмОбъект, 0, П0, П1, П2, П3, П4, П5, П6, П7, П8, П9);
Возврат Результат;
КонецФункции // УФ()
//#Область ГлобальныеПортативныеМетоды
///////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ ОЖИДАНИЯ
#Если Клиент Тогда
Процедура ОсвободитьВсеИндикаторыПроцессовОтложенноЛкс() Экспорт
ирОбщий.ОсвободитьВсеИндикаторыПроцессовЛкс();
КонецПроцедуры
Процедура СохранитьНастройкиПользователяОтложенноЛкс() Экспорт
СохранитьНастройкиПользователя();
КонецПроцедуры
Процедура ВыполнитьПроверкуСовместимостиКонфигурацииЛкс() Экспорт
//мПлатформа = ирКэш.Получить();
//#Если Сервер И Не Сервер Тогда
// мПлатформа = Обработки.ирПлатформа.Создать();
//#КонецЕсли
#Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
Если ирОбщий.ВосстановитьЗначениеЛкс("ПроверятьПодпискиКонфигурации", Истина) <> Ложь Тогда
// Проверка компиляции общих модулей с обработчиками событий
СписокМодулей = Новый Структура;
СписокМодулейВызоваСервера = Новый Структура;
ОбщиеМодули = Метаданные.ОбщиеМодули;
#Если ТолстыйКлиентУправляемоеПриложение Тогда
ИмяКлиента = "Управляемое";
#Иначе
ИмяКлиента = "Обычное";
#КонецЕсли
ИмяСвойства = "Клиент" + ИмяКлиента + "Приложение";
Для Каждого Подписка Из Метаданные.ПодпискиНаСобытия Цикл
#Если Сервер И Не Сервер Тогда
Подписка = Метаданные.ПодпискиНаСобытия.ВерсионированиеОбъектов_ПриЗаписиОбъекта;
#КонецЕсли
МетаМодуль = ОбщиеМодули.Найти(ирОбщий.ПолучитьПервыйФрагментЛкс(Подписка.Обработчик));
Если МетаМодуль = Неопределено Тогда
// Некорректная подписка
Продолжить;
КонецЕсли;
Если Не МетаМодуль[ИмяСвойства] И Не МетаМодуль.ВызовСервера Тогда
ТипыИсточников = Подписка.Источник.Типы(); // Долго!
Если Не (ТипыИсточников.Количество() = 0 Или ирОбщий.ЛиТипОбъектаБДЛкс(ТипыИсточников[0])) Тогда
СписокМодулей.Вставить(МетаМодуль.Имя);
КонецЕсли;
КонецЕсли;
Если Подписка.Событие = "ОбработкаПолученияПредставления" И МетаМодуль.ВызовСервера Тогда
СписокМодулейВызоваСервера.Вставить(МетаМодуль.Имя);
КонецЕсли;
КонецЦикла;
Если СписокМодулей.Количество() > 0 Тогда
Сообщить("В конфигурации обнаружены недоступные на клиенте (" + ИмяКлиента + " приложение) общие модули с обработчиками подписок на события.", СтатусСообщения.Внимание);
Сообщить("Поэтому в работе некоторых инструментов возможны ошибки ""При подписке * на событие * произошла ошибка. Обработчик события не найден.""");
Если ИмяКлиента = "Обычное" Тогда
Сообщить("Необходимо в конфигураторе установить ""Сервис""/""Параметры""/""Редактирование конфигурации для режимов запуска""=""Управляемое приложение и обычное приложение"".");
КонецЕсли;
ТекстСообщения = "Рекумендуется установить флажок ""Клиент (" + ИмяКлиента + " приложение)"" или ""Вызова сервера"" и обеспечить компиляцию у этих общих модулей:";
Для Каждого КлючИЗначение Из СписокМодулей Цикл
ТекстСообщения = ТекстСообщения + " " + КлючИЗначение.Ключ + ",";
КонецЦикла;
Сообщить(ТекстСообщения);
КонецЕсли;
Если СписокМодулейВызоваСервера.Количество() > 0 Тогда
Сообщить("В конфигурации обнаружены недоступные на клиенте (" + ИмяКлиента + " приложение) общие модули с обработчиками подписок на событие ""ОбработкаПолученияПредставления"".", СтатусСообщения.Внимание);
Сообщить("Это может приводить к сильному замеделению получения представлений таких ссылок. Поэтому перенесите эти обработчики в модуль, компилируемый на толстых клиентах");
Для Каждого КлючИЗначение Из СписокМодулей Цикл
ТекстСообщения = ТекстСообщения + " " + КлючИЗначение.Ключ + ",";
КонецЦикла;
Сообщить(ТекстСообщения);
КонецЕсли;
КонецЕсли;
#Если ТолстыйКлиентОбычноеПриложение Тогда
Если Истина
И Метаданные.ОсновнойРежимЗапуска = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение
И Не Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении
Тогда
Сообщить("Рекомендуется включить в свойствах конфигурации флажок ""Использовать управляемые формы в обычном приложении""");
КонецЕсли;
#КонецЕсли
#КонецЕсли
#Если ТолстыйКлиентУправляемоеПриложение Тогда
ирОбщий.ПроверитьФлажокИспользоватьОбычныеФормыВУправляемомПриложенииЛкс();
#КонецЕсли
//Если Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Английский Тогда
// Сообщить("Подсистема не полностью поддерживает вариант встроенного языка Английский.", СтатусСообщения.Внимание);
//КонецЕсли;
КонецПроцедуры
#КонецЕсли
////////////////////////////////////////////////////////////////////////////////
// ОТЛАДКА
// Обертка ирОбщий.ПрЛкс(). Присваивает первому параметру второй.
// Удобно вызывать из отладчика через диалог "Вычислить выражение".
//
// Параметры:
// П1 Произвольный параметр1;
// П2 Произвольный параметр2;
//
// Возвращаемое значение:
// П2 Не используется.
//
Функция Пр(п1, п2 = Неопределено) Экспорт
Результат = ирОбщий.ПрЛкс(п1, п2);
Возврат Результат;
КонецФункции // Присвоить()
// Обертка ирОбщий.ДуЛкс(). Выполняет программный код, переданный как параметр.
// Остальные Параметры могут участвовать в теле этого кода.
// Удобно использовать в отладчике.
//
// Параметры:
// П1 Произвольный параметр1;
// П2 Произвольный параметр2;
// П3 Произвольный параметр3;
// П4 Произвольный параметр4;
//
// Возвращаемое значение:
// Неопределено Не используется.
//
Функция Ду(Знач ТекстПрограммы, п1 = 0, п2 = 0, п3 = 0, п4 = 0) Экспорт
Результат = ирОбщий.ДуЛкс(ТекстПрограммы, п1, п2, п3, п4);
Возврат Результат;
КонецФункции // Ду()
// Обертка ирОбщий.ОперироватьЛкс(). На клиенте открывает консоль кода с передачей туда всех своих параметров. На сервере сразу выполняет код.
// Изменения параметров возвращаются в вызывающий контекст в модальном режиме.
//
// Параметры:
// ТекстПрограммы - Строка - программный код для передачи в консоль кода или выполнения;
// РежимОперации Число - 0 - немодально, 1 - модально, 2 - неинтерактивно (на сервере всегда);
// СтрокаИменПараметров Строка - имена параметров для консоли кода через запятую, если не указаны, то будут оригинальные П*;
// П* Произвольный - параметры для использования при выполнении программного кода;
//
// Возвращаемое значение:
// Строка - описание ошибок.
//
Функция Оперировать(Знач ТекстПрограммы = "", Знач РежимОперации = 0, СтрокаИменПараметров= "",
П1 = Null, П2 = Null, П3 = Null, П4 = Null, П5 = Null, П6 = Null, П7 = Null, П8 = Null, П9 = Null) Экспорт
Результат = ирОбщий.ОперироватьЛкс(ТекстПрограммы, РежимОперации, СтрокаИменПараметров, П1, П2, П3, П4, П5, П6, П7, П8, П9);
Возврат Результат;
КонецФункции // РП()
// Обертка ирОбщий.ПерЛкс(). Подготавливает строку для помещения всех переменных в структуру с целью ее дальнейшего вычисления в отладчике "Вычислить(Пер())".
// Изменения параметров возвращаются в вызывающий контекст.
//
// Параметры:
// ТекстПрограммы - Строка, *"" - программный код для анализа, берется из буфера обмена если пустой.
//
// Возвращаемое значение:
// Строка для вычисления в отладчике.
//
Функция Пер(Знач ТекстПрограммы = "") Экспорт
Результат = ирОбщий.ПерЛкс(ТекстПрограммы);
Возврат Результат;
КонецФункции
// Обертка ирОбщий.ПолВТЛкс(). Функция получает структуру (Имя временной таблицы; Таблица значений) из указанного запроса или менеджера временных таблиц.
// Полезна для просмотра временных таблиц из менеджера временных таблиц серверного контекста в отладчике.
// Параметры:
// ЗапросИлиМенеджерВременныхТаблиц - Запрос, МенеджерВременныхТаблиц
// ИменаВременныхТаблиц - Строка, *"" - имена существующих, но возможно не используемых в тексте запроса временных таблиц через запятую
// ДопустимоеЧислоСтрок - Число, *500000 - выбирать из временной таблицы не более этого числа строк
//
// Результат - ТаблицаЗначений, Структура
//
Функция ПолВТ(ЗапросИлиМенеджерВременныхТаблиц, ИменаВременныхТаблиц = "", ДопустимоеЧислоСтрок = 500000) Экспорт
Результат = ирОбщий.ПолВТЛкс(ЗапросИлиМенеджерВременныхТаблиц, ИменаВременныхТаблиц, ДопустимоеЧислоСтрок);
Возврат Результат;
КонецФункции // ПолВТ()
// Обертка ирОбщий.ТехНЛкс(). Начать трассу в технологическом журнале. Сам технологический журнал надо заранее включить.
Функция ТехН() Экспорт
Результат = ирОбщий.ТехНЛкс();
Возврат Результат;
КонецФункции
// Обертка ирОбщий.ТехКЛкс(). Кончить трассу в технологическом журнале и показать ее анализ
Функция ТехК() Экспорт
Результат = ирОбщий.ТехКЛкс();
Возврат Результат;
КонецФункции
#Если Клиент Тогда
// Обертка ирОбщий.ПопЛкс(). Подготавливает строку для вызова Оперировать() в отладчике. Вызвается путем вычисления "Вычислить(Поп())".
// Изменения параметров возвращаются в вызывающий контекст.
//
// Параметры:
// ТекстПрограммы - Строка, *"" - программный код для передачи в консоль кода или выполнения, берется из буфера обмена если пустой;
// РежимОперации Число - 0 - немодально, 1 - модально, 2 - неинтерактивно (на сервере всегда);
//
// Возвращаемое значение:
// Строка для вычисления в отладчике.
//
Функция Поп(Знач ТекстПрограммы = "", РежимОперации = 1) Экспорт
Результат = ирОбщий.ПопЛкс(ТекстПрограммы, РежимОперации);
Возврат Результат;
КонецФункции
// Обертка ирОбщий.ОпЛкс(). Модально открывает консоль кода с передачей туда всех своих параметров.
// Удобно вызывать из отладчика через диалог "Вычислить выражение".
// Изменения параметров возвращаются в вызывающий контекст.
//
// Параметры:
// П* Произвольный;
//
// Возвращаемое значение:
// Неопределено.
//
Функция Оп(П1 = Null, П2 = Null, П3 = Null, П4 = Null, П5 = Null) Экспорт
Результат = ирОбщий.ОпЛкс(П1, П2, П3, П4, П5);
Возврат Результат;
КонецФункции // Оп()
// Обертка ирОбщий.ОперироватьСтруктуройЛкс(). Открывает консоль кода с передачей туда структуры параметров.
// Изменения параметров возвращаются в структуру, но не в вызывающий контекст.
//
// Параметры:
// ТекстПрограммы - Строка;
// Модально Булево - открывать окно модально;
// СтруктураПараметров Структура - ключи соответсвуют именам параметов, а значения их значениям.
//
// Возвращаемое значение:
// Неопределено.
//
Функция ОперироватьСтруктурой(Знач ТекстПрограммы = "", Модально = Ложь, СтруктураПараметров) Экспорт
Результат = ирОбщий.ОперироватьСтруктуройЛкс(ТекстПрограммы, Модально, СтруктураПараметров);
Возврат Результат;
КонецФункции // РП()
// Обертка ирОбщий.ОпсЛкс(). Обертка ОперироватьСтруктурой. Модально открывает консоль кода с передачей туда всех своих параметров.
// Удобно вызывать из отладчика через диалог "Вычислить выражение".
// Изменения параметров возвращаются в структуру, но не в вызывающий контекст.
//
// Параметры:
// СтруктураПараметров Структура - ключи соответсвуют именам параметов, а значения их значениям.
//
// Возвращаемое значение:
// Неопределено.
//
Функция Опс(Знач СтруктураПараметров) Экспорт
Результат = ирОбщий.ОпсЛкс(СтруктураПараметров);
Возврат Результат;
КонецФункции // Опс()
// Обертка ирОбщий.НаблюдатьЛкс(). Выводит в окно сообщений переданное значение вместе с типом и заданным представлением.
//
// Параметры:
// Значение - Произвольный;
// *Представление Строка, *"" - представление наблюдаемого значения.
//
Процедура Наблюдать(Знач Значение, Представление = "") Экспорт
ирОбщий.НаблюдатьЛкс(Значение, Представление);
КонецПроцедуры // Наблюдать()
#КонецЕсли
// Обертка ирОбщий.ОтладитьЛкс(). Открывает нужную консоль для редактирования сложного объекта.
// Варианты использования в зависимости от типа параметра Объект:
// Запрос, COMОбъект - открывает Запрос или ADODB.Command или ADODB.Connection в консоли запросов
// ПостроительЗапроса - открывает результирующий запрос построителя запросов в консоли запросов
// ПостроительОтчета - открывает построитель отчета в консоли построителей отчетов, откуда можно открыть результирующий запрос построителя отчета в консоли запросов
// СхемаКомпоновки - открывает схему компоновки в консоли компоновки данных, откуда можно открыть результирующие (из макета компоновки) запросы в консоли запросов
//
// Параметры:
// Объект Запрос, ПостроительЗапроса, ПостроительОтчета, СхемаКомпоновкиДанных, COMОбъект.ADODB.Command - исследуемый объект;
// Модально Булево - открывать окно модально, должно быть Истина для использования функции в отладчике;
// НастройкаКомпоновкиИлиТекстЗапроса - НастройкиКомпоновкиДанных, Строка, *Неопределено - настройки для схемы компоновки, текст запроса для WMI или ADODB.Connection;
// ВнешниеНаборыДанных - Структура, *Неопределено - внешние наборы данных для схемы компоновки;
// ОтложеннаяОтладка - Булево - на сервере игнорируется (равно Истина), вместо открытия инструмента отладки сразу выполняется помещение
// объектов отладки во временное хранилище;
// ДопустимоеЧислоСтрокВоВременнойТаблицеОтложеннойОтладки - Число, *500000 - допустимое количество строк во всех временных таблицах запроса
// для отложенной отладки, больше этого количества строки не сохраняются, о чем сообщается в результате;
// Наименование - Строка - наименование сохраняемого объекта отложенной отладки;
//
// Возвращаемое значение:
// Неопределено.
//
Функция Отладить(Знач Объект, Модально = Ложь, Знач НастройкаКомпоновкиИлиТекстЗапроса = Неопределено, Знач ВнешниеНаборыДанных = Неопределено,
ОтложенноеВыполнение = Ложь, ДопустимоеЧислоСтрокВоВременнойТаблицеОтложеннойОтладки = 500000, Наименование = "") Экспорт
Результат = ирОбщий.ОтладитьЛкс(Объект, Модально, НастройкаКомпоновкиИлиТекстЗапроса, ВнешниеНаборыДанных, ОтложенноеВыполнение, ДопустимоеЧислоСтрокВоВременнойТаблицеОтложеннойОтладки,, Наименование);
Возврат Результат;
КонецФункции
// Обертка ирОбщий.ОтЛкс(). Модально (на клиенте) или отложенно (на сервере) открывает нужную консоль для редактирования/отладки объекта.
// Удобно вызывать из отладчика через диалог "Вычислить выражение".
// Варианты использования в зависимости от типа параметра Объект:
// Запрос, COMОбъект - открывает Запрос или ADODB.Command или ADODB.Connection в консоли запросов
// ПостроительЗапроса - открывает результирующий запрос построителя запросов в консоли запросов
// ПостроительОтчета - открывает построитель отчета в консоли построителей отчетов, откуда можно открыть результирующий запрос построителя отчета в консоли запросов
// СхемаКомпоновки - открывает схему компоновки в консоли компоновки данных, откуда можно открыть результирующие (из макета компоновки) запросы в консоли запросов
// МакетКомпоновкиДанных - открытвает запросы макета компоновки в консоли запросов
// ОтчетОбъект - открывает схему и настройки компоновки отчета в консоли компоновки данных, откуда можно открыть результирующие (из макета компоновки) запросы в консоли запросов
//
// Параметры:
// Объект Запрос, ПостроительЗапроса, ПостроительОтчета, СхемаКомпоновкиДанных, МакетКомпоновкиДанных, COMОбъект.ADODB.Command - исследуемый объект;
// НастройкаКомпоновкиИлиТекстЗапросаИлиИменаВременныхТаблиц - НастройкиКомпоновкиДанных, Строка, *Неопределено -
// если первый параметр СхемаКомпоновкиДанных, то настройки компоновки,
// если первый параметр WMI или ADODB.Connection, то текст запроса,
// если первый параметр Запрос, имена временных таблиц разделенных запятыми;
// ВнешниеНаборыДанных - Структура, *Неопределено - внешние наборы данных для схемы компоновки;
// ОтложеннаяОтладка - Булево - на сервере игнорируется (равно Истина), вместо открытия инструмента отладки сразу выполняется помещение
// объектов отладки во временное хранилище;
// Наименование - Строка - наименование сохраняемого объекта отложенной отладки;
//
// Возвращаемое значение:
// Неопределено.
//
Функция От(Знач Объект, Знач НастройкаКомпоновкиИлиТекстЗапросаИлиИменаВременныхТаблиц = Неопределено, Знач ВнешниеНаборыДанных = Неопределено, ОтложеннаяОтладка = Ложь, Наименование = "") Экспорт
#Если ТолстыйКлиентОбычноеПриложение Тогда
Если ирКэш.ЛиПортативныйРежимЛкс() Тогда
Пустышка = ПолучитьФорму(Неопределено); // Чтобы использовалась форма именно этого объекта
КонецЕсли;
#КонецЕсли
Результат = ирОбщий.ОтЛкс(Объект, НастройкаКомпоновкиИлиТекстЗапросаИлиИменаВременныхТаблиц, ВнешниеНаборыДанных, ОтложеннаяОтладка, Наименование);
Если ирКэш.ЛиПортативныйРежимЛкс() Тогда
ирПортативный.УсловныйДеструктор();
КонецЕсли;
Возврат Результат;
КонецФункции
// Обертка ирОбщий.ИсследоватьЛкс(). Открывает исследователь объектов.
//
// Параметры:
// Объект Произвольный, *Неопределено - объект, который будет исследован;
// Модально Булево - открывать окно модально;
// КакКоллекцию Булево, *Ложь - исследовать как коллекцию вместо объекта.
//
// Возвращаемое значение:
// Сам объект.
//
Функция Исследовать(Знач Объект = Неопределено, Модально = Ложь, КакКоллекцию = Ложь, ОтложенноеВыполнение = Ложь) Экспорт
Результат = ирОбщий.ИсследоватьЛкс(Объект, Модально, КакКоллекцию, ОтложенноеВыполнение);
Возврат Результат;
КонецФункции // Исследовать()
// Обертка ирОбщий.ИсЛкс(). Модально открывает объект в исследователе объектов
// Удобно вызывать из отладчика через диалог "Вычислить выражение".
Функция Ис(Знач Объект = Неопределено, КакКоллекцию = Ложь, ОтложенноеВыполнение = Ложь) Экспорт
#Если ТолстыйКлиентОбычноеПриложение Тогда
Если ирКэш.ЛиПортативныйРежимЛкс() Тогда
Пустышка = ПолучитьФорму(Неопределено); // Чтобы использовалась форма именно этого объекта
КонецЕсли;
#КонецЕсли
Результат = ирОбщий.ИсЛкс(Объект, КакКоллекцию, ОтложенноеВыполнение);
Если ирКэш.ЛиПортативныйРежимЛкс() Тогда
ирПортативный.УсловныйДеструктор();
КонецЕсли;
Возврат Результат;
КонецФункции // Ис()
// Обертка ирОбщий.ФайлЛкс() Возвращает текст из файла
Функция Файл(Знач ИмяФайла) Экспорт
Результат = ирОбщий.ФайлЛкс(ИмяФайла);
Возврат Результат;
КонецФункции
// обертка ирОбщий.СкорКолЛкс() Удаляет все элементы коллекции кроме заданного или первого.
Функция СокрКол(Коллекция, ОставитьЭлементИлиКлюч = Неопределено) Экспорт
ирОбщий.СокрКолЛкс(Коллекция, ОставитьЭлементИлиКлюч);
КонецФункции
//#КонецОбласти
#КонецЕсли

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Дополнительные отчеты и обработки (расширение БСП)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Дополнительные отчеты и обработки (расширение БСП)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Дополнительные отчеты и обработки (расширение БСП)</v8:content>
</v8:item>
</Synonym>
<Comment>При адаптации расширения превращается в расширение одноименного модуля БСП. В остальных случаях не используется.</Comment>
<Global>false</Global>

View File

@ -0,0 +1,108 @@

&Вместо("ПодключитьВнешнююОбработку")
Функция ирПодключитьВнешнююОбработку(Ссылка)
// ИР. Начало оригинального кода
СтандартнаяОбработка = Истина;
Результат = Неопределено;
ИнтеграцияСТехнологиейСервиса.ПриПодключенииВнешнейОбработки(Ссылка, СтандартнаяОбработка, Результат);
Если Не СтандартнаяОбработка Тогда
Возврат Результат;
КонецЕсли;
// Проверка корректности переданных параметров.
Если ТипЗнч(Ссылка) <> Тип("СправочникСсылка.ДополнительныеОтчетыИОбработки")
Или Ссылка = Справочники.ДополнительныеОтчетыИОбработки.ПустаяСсылка() Тогда
Возврат Неопределено;
КонецЕсли;
// ИР. Перенесено ниже
//// Подключение
//#Если ТолстыйКлиентОбычноеПриложение Тогда
// ИмяОбработки = ПолучитьИмяВременногоФайла();
// ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
// ДвоичныеДанные = ХранилищеОбработки.Получить();
// ДвоичныеДанные.Записать(ИмяОбработки);
// Возврат ИмяОбработки;
//#КонецЕсли
Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежиме");
ИспользуютсяПрофилиБезопасности = МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности();
Иначе
ИспользуютсяПрофилиБезопасности = Ложь;
КонецЕсли;
Вид = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "Вид");
Если Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.Отчет
Или Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительныйОтчет Тогда
Менеджер = ВнешниеОтчеты;
Иначе
Менеджер = ВнешниеОбработки;
КонецЕсли;
ПараметрыЗапуска = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Ссылка, "БезопасныйРежим, ХранилищеОбработки");
// ИР. Перенесено ниже
//АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
Если ИспользуютсяПрофилиБезопасности Тогда
МодульРаботаВБезопасномРежимеСлужебный = ОбщегоНазначения.ОбщийМодуль("РаботаВБезопасномРежимеСлужебный");
БезопасныйРежим = МодульРаботаВБезопасномРежимеСлужебный.РежимПодключенияВнешнегоМодуля(Ссылка);
Если БезопасныйРежим = Неопределено Тогда
БезопасныйРежим = Истина;
КонецЕсли;
Иначе
БезопасныйРежим = ПолучитьФункциональнуюОпцию("СтандартныеПодсистемыВМоделиСервиса") Или ПараметрыЗапуска.БезопасныйРежим;
Если БезопасныйРежим Тогда
ЗапросРазрешений = Новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДополнительныеОтчетыИОбработкиРазрешения.НомерСтроки,
| ДополнительныеОтчетыИОбработкиРазрешения.ВидРазрешения
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки.Разрешения КАК ДополнительныеОтчетыИОбработкиРазрешения
|ГДЕ
| ДополнительныеОтчетыИОбработкиРазрешения.Ссылка = &Ссылка");
ЗапросРазрешений.УстановитьПараметр("Ссылка", Ссылка);
ЕстьРазрешений = Не ЗапросРазрешений.Выполнить().Пустой();
РежимСовместимости = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "РежимСовместимостиРазрешений");
Если РежимСовместимости = Перечисления.РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок.Версия_2_2_2
И ЕстьРазрешений Тогда
БезопасныйРежим = Ложь;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЗаписатьПримечание(Ссылка, НСтр("ru = 'Подключение, БезопасныйРежим = ""%1"".'"), БезопасныйРежим);
// ИР.Конец оригинального кода
ИмяОбработки = "";
ирСервер.ПриПодключенииВнешнейОбработки(Ссылка, Истина, ИмяОбработки);
Если ЗначениеЗаполнено(ИмяОбработки) Тогда
Возврат ИмяОбработки;
КонецЕсли;
// ИР. Перенесенный оригинальный код
#Если ТолстыйКлиентОбычноеПриложение Тогда
ИмяОбработки = ПолучитьИмяВременногоФайла();
ХранилищеОбработки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "ХранилищеОбработки");
ДвоичныеДанные = ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяОбработки);
Возврат ИмяОбработки;
#КонецЕсли
// ИР. Перенесенный оригинальный код
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ПараметрыЗапуска.ХранилищеОбработки.Получить());
// ИР. Начало оригинального кода
Если ОбщегоНазначения.ЕстьЗащитаОтОпасныхДействий() Тогда
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим,
ОбщегоНазначения.ОписаниеЗащитыБезПредупреждений());
Иначе
ИмяОбработки = Менеджер.Подключить(АдресВоВременномХранилище, , БезопасныйРежим);
КонецЕсли;
Возврат ИмяОбработки;
// ИР.Конец оригинального кода
КонецФункции
Функция ирПроверкаПодключенияРасширенияМодуля() Экспорт
КонецФункции

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Программный интерфейс расширения "Инструменты разработчика" для встравивания в конфигурацию</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Программный интерфейс расширения "Инструменты разработчика" для встравивания в конфигурацию</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Программный интерфейс расширения "Инструменты разработчика" для встравивания в конфигурацию</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>

View File

@ -0,0 +1,74 @@
// Версия модуля X.XX
// Встройте этот модуль с именем ирИнтерфейс в состав целевой конфигурации, чтобы обеспечить слабую интеграцию с расширением "Инструменты разработчика".
#Если Клиент Тогда
Функция ПредложитьЗагрузитьРасширениеЛкс() Экспорт
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаОтветаНаОткрытиеСайта", Вычислить("ирИнтерфейс"));
ПоказатьВопрос(ОписаниеОповещения, "Расширение конфигурации ""Инструменты разработчика"" не установлено. Хотите открыть страницу скачивания?", РежимДиалогаВопрос.ОКОтмена);
КонецФункции
Функция ОбработкаОтветаНаОткрытиеСайта(Результат, ДопПараметры) Экспорт
Если Результат = КодВозвратаДиалога.ОК Тогда
ЗапуститьПриложение("http://devtool1c.ucoz.ru/index/rasshirenie_variant/0-52");
КонецЕсли;
КонецФункции
#КонецЕсли
#Если Не ТонкийКлиент И Не ВебКлиент Тогда
Функция ЛиРасширениеУстановлено() Экспорт
Результат = Вычислить("РасширенияКонфигурации").Получить(Новый Структура("Имя", "ИнструментыРазработчикаTormozit")).Количество() > 0;
Возврат Результат;
КонецФункции
// Конструктор таблицы параметров алгоритма
// Результат - ТаблицаЗначений - колонки "Имя, Значение, Вход, Выход, ТипЗначения, Комментарий"
Функция НоваяТаблицаПараметровАлгоритмаЛкс() Экспорт
ОбщийМодульИР = Вычислить("ирОбщий");
#Если Сервер И Не Сервер Тогда
ОбщийМодульИР = ирОбщий;
#КонецЕсли
Возврат ОбщийМодульИР.НоваяТаблицаПараметровАлгоритмаЛкс();
КонецФункции
// Конструктор таблицы методов контекстной подсказки
// Результат - ТаблицаЗначений - колонки "Имя, ТипЗначения"
Функция НоваяТаблицаМетодовПодсказкиЛкс() Экспорт
ОбщийМодульИР = Вычислить("ирОбщий");
#Если Сервер И Не Сервер Тогда
ОбщийМодульИР = ирОбщий;
#КонецЕсли
Возврат ОбщийМодульИР.НоваяТаблицаМетодовПодсказкиЛкс();
КонецФункции
// Открыть редактирование текста алгоритма с параметрами в консоли кода
// Парамерты:
// СтруктураАлгоритма - Структура - возвращаемый
// "ТекстАлгоритма" - Строка - текст алгоритма,
// "ВнутренниеПараметры" - ТаблицаЗначений - таблица с конструктором НоваяТаблицаПараметровАлгоритмаЛкс с внутренними (значения определяются при редактировании) параметрами алгоритма;
// ВнешниеПараметры* - ТаблицаЗначений - таблица с конструктором НоваяТаблицаПараметровАлгоритмаЛкс с внешними (значения определяются при каждом выполнении) параметрами алгоритма;
// Методы* - ТаблицаЗначений - таблица с конструктором НоваяТаблицаМетодовПодсказкиЛкс с дополнительными методами доступными в алгоритме;
// Результат - Булево - принял ли изменения пользователь
Функция РедактироватьАлгоритмЧерезСтруктуруЛкс(СтруктураАлгоритма, ВнешниеПараметры = Неопределено, Методы = Неопределено) Экспорт
ОбщийМодульИР = Вычислить("ирОбщий");
#Если Сервер И Не Сервер Тогда
ОбщийМодульИР = ирОбщий;
#КонецЕсли
Возврат ОбщийМодульИР.РедактироватьАлгоритмЧерезСтруктуруЛкс(СтруктураАлгоритма, ВнешниеПараметры, Методы);
КонецФункции
#КонецЕсли

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Ир кэш</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Ир кэш</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Ир кэш</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>

File diff suppressed because it is too large Load Diff

View File

@ -8,14 +8,6 @@
<v8:lang>ru</v8:lang>
<v8:content>Общий (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>Общий (ИР)</v8:content>
</v8:item>
<v8:item>
<v8:lang>uk</v8:lang>
<v8:content>Общий (ИР)</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Global>false</Global>

Some files were not shown because too many files have changed in this diff Show More