diff --git "a/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260.xml" "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260.xml" new file mode 100644 index 0000000..34861bc --- /dev/null +++ "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260.xml" @@ -0,0 +1,381 @@ + + + + + + f93c7b75-d7a6-4a02-a14c-816806393bc7 + 691c1789-bd6b-4807-9ba8-693ef284b9e0 + + + 14aa5b71-c271-41e2-a41d-df19bc973df4 + 1e49ac35-fc3d-452e-a19f-5570b1af76d9 + + + 6290325f-c5c6-454e-a48d-55a1394dda9e + dd710812-6258-42ef-ad93-8dd3f3c67029 + + + 931c704b-efd9-4c83-9380-2aa00c3c4225 + 728f79f4-7c3e-4752-a0e1-24ff9d7fd68e + + + e17734d4-acc5-4fe4-8462-151c65278992 + ffa2da5a-0207-482a-b6a6-688c7de17755 + + + + Города + + + ru + Города + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + false + BothWays + + Catalog.Города.StandardAttribute.Description + Catalog.Города.StandardAttribute.Code + + Begin + DontUse + Directly + Catalog.Города.Form.ФормаЭлемента + + + + + + + + + + false + + + Managed + Use + + + ru + Город + + + + + + ru + Города + + + + + Use + Auto + DontUse + + + + + Комментарий + + + ru + Комментарий + + + + + xs:string + + 0 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + +
ФормаЭлемента
+
+
+
\ No newline at end of file diff --git "a/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" new file mode 100644 index 0000000..563617f --- /dev/null +++ "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.xml" @@ -0,0 +1,21 @@ + + +
+ + ФормаЭлемента + + + ru + Форма элемента + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" new file mode 100644 index 0000000..fe25e2f --- /dev/null +++ "b/Catalogs/\320\223\320\276\321\200\320\276\320\264\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -0,0 +1,55 @@ + +
+ LockOwnerWindow + Items + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа наименование код</v8:content> + </v8:item> + + + + ru + Группа наименование код + + + None + false + + + + Объект.Description + EnterOnInput + + + + + Объект.Code + EnterOnInput + + + + + + + Объект.Комментарий + false + true + + + + + + + + cfg:CatalogObject.Города + + true + true + + + \ No newline at end of file diff --git "a/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.xml" "b/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.xml" new file mode 100644 index 0000000..4a591de --- /dev/null +++ "b/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.xml" @@ -0,0 +1,99 @@ + + + + + + 7b6533e0-139a-4506-81c6-3d12ee42a45a + 29b1f267-d654-4743-9eaa-c80bda5e9b90 + + + 156c8f3b-8a1b-424f-802e-2962bd403650 + 8e4b8512-e7a9-4000-bbae-0817b6ea52ac + + + d87b9b4e-bf38-4fcc-aeb7-09d43f28e8b0 + 0ba90f27-8a93-4c6f-a2b1-80bbdd227d8b + + + e8ded820-4295-413f-b84a-99ebda9356f3 + d0a230d0-35a4-4eaf-a89e-121c71a1f2d0 + + + fe45e7c5-dfeb-469a-b2d3-d0798e41ccee + a4e5000c-5260-404c-99f1-b6a63f8b4c9f + + + + Контрагенты + + + ru + Контрагенты + + + + false + HierarchyFoldersAndItems + false + 2 + true + false + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Контрагенты.StandardAttribute.Description + Catalog.Контрагенты.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + ru + Контрагент + + + + + + ru + Контрагенты + + + + + Use + Auto + DontUse + + + + \ No newline at end of file diff --git "a/Catalogs/\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" "b/Catalogs/\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" new file mode 100644 index 0000000..799b5ce --- /dev/null +++ "b/Catalogs/\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" @@ -0,0 +1,99 @@ + + + + + + 8b03e3cf-8cba-469e-98e0-812df46a1807 + dd17513c-1b9e-4fcd-81bf-345aea9cb68b + + + c52cc613-8152-4eff-86f4-de8b252e94f8 + f8b37f0b-2001-479a-a621-144f845d20d3 + + + c48422d1-e5b4-4e31-8785-49c2121df0da + a351cd9f-4dea-464e-b4f3-ee7bc2e01584 + + + e1544147-142f-46be-8333-db34614c7ab5 + 9d0f6c11-d220-4234-a624-2c2e4d8baa5c + + + 71113d8a-bfa9-4e97-9e98-cbddc913d986 + a2346bfd-7520-40a1-bc63-327023ff34c9 + + + + Объекты + + + ru + Объекты + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + Auto + InDialog + false + BothWays + + Catalog.Объекты.StandardAttribute.Description + Catalog.Объекты.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + ru + Объект строительства + + + + + + ru + Объекты строительства + + + + + Use + Auto + DontUse + + + + \ No newline at end of file diff --git "a/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" "b/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" new file mode 100644 index 0000000..73bb892 --- /dev/null +++ "b/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.xml" @@ -0,0 +1,329 @@ + + + + + + 5cffc7d9-cd46-4c0b-b9d0-e5babc1f21e8 + d2d50e3a-796d-475a-b9b5-a1828fd360bc + + + efc25eda-6e2c-435c-a18d-e1d5cf2e82fa + acf8716f-6823-459c-b8b4-c3d8d4d896cd + + + f906bd2f-54e3-48b1-94b3-d417b598e679 + f2477bad-b9a4-4b0b-96f1-5e7e9b90448c + + + 7ad67649-4645-46a0-ac80-f9370822c5ce + 463a1cac-808e-4ac5-9467-d7322949526f + + + 14c37190-2603-4e7b-9268-c5be4c60c634 + a5d52cd4-363d-427d-baf3-b7d2d4a1643b + + + + Пользователи + + + ru + Пользователи + + + + false + HierarchyFoldersAndItems + false + 2 + true + false + + ToItems + 0 + 100 + String + Variable + WholeCatalog + false + false + AsDescription + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + false + BothWays + + Catalog.Пользователи.StandardAttribute.Description + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + DontUse + + + ru + Пользователь + + + + + + + Use + Auto + DontUse + + + + \ No newline at end of file diff --git "a/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Ext/ObjectModule.bsl" "b/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Ext/ObjectModule.bsl" new file mode 100644 index 0000000..d25a092 --- /dev/null +++ "b/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Ext/ObjectModule.bsl" @@ -0,0 +1,43 @@ + +Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка + Или ДополнительныеСвойства.Свойство("ОчисткаБазы") Тогда + Возврат; + КонецЕсли; + + Если ДополнительныеСвойства.Свойство("ЭтоНовыйОбъект") + И ДополнительныеСвойства.ЭтоНовыйОбъект Тогда + + Если ДополнительныеСвойства.Свойство("Загрузка") + И ДополнительныеСвойства.Загрузка Тогда + + РаботаСПротоколомСобытийВызовСервера.ДобавитьЗаписьРасширенногоПротокола( + Ссылка, + ТекстыСообщенийКлиентСерверПовтИсп.ТекстПротоколаЗагруженНовыйОбъект()); + + Иначе + РаботаСПротоколомСобытийВызовСервера.ДобавитьЗаписьРасширенногоПротокола(Ссылка, + ТекстыСообщенийКлиентСерверПовтИсп.ТекстПротоколаСозданНовыйОбъект()); + КонецЕсли; + + Иначе + + Если ДополнительныеСвойства.Свойство("Загрузка") + И ДополнительныеСвойства.Загрузка Тогда + + РаботаСПротоколомСобытийВызовСервера.ДобавитьЗаписьРасширенногоПротокола( + Ссылка, + ТекстыСообщенийКлиентСерверПовтИсп.ТекстПротоколаЗагруженоИзменениеОбъекта()); + + Иначе + + РаботаСПротоколомСобытийВызовСервера.ДобавитьЗаписьРасширенногоПротокола( + Ссылка, + ТекстыСообщенийКлиентСерверПовтИсп.ТекстПротоколаОбъектИзмененНаКлиенте()); + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры diff --git "a/Catalogs/\320\241\321\202\320\260\321\202\321\214\320\270\320\240\320\260\321\201\321\205\320\276\320\264\320\276\320\262.xml" "b/Catalogs/\320\241\321\202\320\260\321\202\321\214\320\270\320\240\320\260\321\201\321\205\320\276\320\264\320\276\320\262.xml" new file mode 100644 index 0000000..e6c8c51 --- /dev/null +++ "b/Catalogs/\320\241\321\202\320\260\321\202\321\214\320\270\320\240\320\260\321\201\321\205\320\276\320\264\320\276\320\262.xml" @@ -0,0 +1,335 @@ + + + + + + 0c354ccd-25d1-4f58-9c36-2a09670000fd + c1a689e1-9fb6-450b-9441-178c51e70493 + + + a030d343-88e7-4880-abe4-8afe1e38ea86 + f1019fdb-e5cc-4b8d-82b4-6e6015c00b2f + + + ac55e1fb-93fb-4aa8-92b7-078e70470a91 + e62e39c9-254f-46ec-90f5-c0c0e9ec704d + + + b4b4a128-122d-4158-a58b-f04281474c63 + 8c90ee51-1707-4a03-acbd-d74180d84d44 + + + b3c20726-4220-4723-aa57-6abc37086ffc + 7a3211be-7fee-41ae-ac09-ab1d9839ee25 + + + + СтатьиРасходов + + + ru + Статьи расходов + + + + true + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 150 + String + Variable + WholeCatalog + true + true + AsDescription + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + true + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + false + BothWays + + Catalog.СтатьиРасходов.StandardAttribute.Description + Catalog.СтатьиРасходов.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + + + false + + + Managed + Use + + + ru + Статья расходов + + + + + + ru + Статьи расходов + + + + + Use + Auto + DontUse + + + + \ No newline at end of file diff --git "a/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" "b/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" new file mode 100644 index 0000000..2b668f4 --- /dev/null +++ "b/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" @@ -0,0 +1,28 @@ + + + + + Настройки + + + ru + Настройки + + + en + Settings + + + + ActionsPanelTools + Auto + + + + false + + Single + false + + + \ No newline at end of file diff --git "a/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/CommandModule.bsl" "b/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/CommandModule.bsl" new file mode 100644 index 0000000..2991676 --- /dev/null +++ "b/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/CommandModule.bsl" @@ -0,0 +1,15 @@ + +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ОткрытьФорму("ОбщаяФорма.НастройкиПланшет"); + Иначе + ОткрытьФорму("ОбщаяФорма.НастройкиТелефон"); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" "b/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" new file mode 100644 index 0000000..c8d403e --- /dev/null +++ "b/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" @@ -0,0 +1,31 @@ + + + + + НовоеСписаниеДенежныхСредств + + + ru + Списание денежных средств + + + en + New email + + + + ActionsPanelCreate + PictureAndText + + + CommonPicture.КомандаНаписатьПисьмо + false + + + false + + Single + false + + + \ No newline at end of file diff --git "a/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" "b/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" new file mode 100644 index 0000000..a8dac8c --- /dev/null +++ "b/CommonCommands/\320\235\320\276\320\262\320\276\320\265\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" @@ -0,0 +1,13 @@ + +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("ОбщаяКоманда.НовоеСписаниеДенежныхСредств"); + + ОткрытьФорму("Документ.СписаниеДенежныхСредств.Форма.ФормаДокумента"); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" "b/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" new file mode 100644 index 0000000..6840fdd --- /dev/null +++ "b/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" @@ -0,0 +1,31 @@ + + + + + ПерейтиВСписанияДенежныхСредств + + + ru + Списания денежных средств + + + en + Mail + + + + NavigationPanelOrdinary + Auto + + + CommonPicture.РазделПочта + true + + + false + + Single + false + + + \ No newline at end of file diff --git "a/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" "b/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" new file mode 100644 index 0000000..3ac4ba9 --- /dev/null +++ "b/CommonCommands/\320\237\320\265\321\200\320\265\320\271\321\202\320\270\320\222\320\241\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/CommandModule.bsl" @@ -0,0 +1,13 @@ + +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("ОбщаяКоманда.ПерейтиВСписанияДенежныхСредств"); + + ОбщегоНазначенияКлиент.ОткрытьРазделСписанияДенежныхСредств(ПараметрыВыполненияКоманды); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" "b/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" new file mode 100644 index 0000000..d11a7e8 --- /dev/null +++ "b/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" @@ -0,0 +1,28 @@ + + + + + Поддержка + + + ru + Поддержка + + + en + Support + + + + ActionsPanelTools + Auto + + + + false + + Single + false + + + \ No newline at end of file diff --git "a/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/CommandModule.bsl" "b/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/CommandModule.bsl" new file mode 100644 index 0000000..283292f --- /dev/null +++ "b/CommonCommands/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/CommandModule.bsl" @@ -0,0 +1,11 @@ + +#Область ОбработчикиСобытий + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ОткрытьФорму("ОбщаяФорма.Поддержка"); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217.xml" "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217.xml" new file mode 100644 index 0000000..46e581a --- /dev/null +++ "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217.xml" @@ -0,0 +1,23 @@ + + + + + ВводПароля + + + ru + Ввод пароля + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form.xml" "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form.xml" new file mode 100644 index 0000000..9e62729 --- /dev/null +++ "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form.xml" @@ -0,0 +1,1141 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + + LockWholeInterface + false + Horizontal + Top + + Abort + Cancel + Close + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + + + false + + + ПриОткрытии + ПриСозданииНаСервере + + + + 2 + true + true + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Элементы ввода и отображения</v8:content> + </v8:item> + + + + ru + Элементы ввода и отображения + + + false + Vertical + None + false + + + + 25 + 1 + true + false + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Варианты заголовка</v8:content> + </v8:item> + + + + ru + Варианты заголовка + + + 25 + true + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обычный ввод</v8:content> + </v8:item> + + + + ru + Обычный ввод + + + false + Horizontal + + + + 1 + 1 + true + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Введите ваш пароль</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Enter passcode</v8:content> + </v8:item> + + Center + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Варианты заголовка</v8:content> + </v8:item> + + + + ru + Варианты заголовка + + + false + Horizontal + + + + 1 + 1 + true + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Повторите ввод нового пароля</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Enter passcode again</v8:content> + </v8:item> + + Center + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Символы кода</v8:content> + </v8:item> + + + + ru + Символы кода + + + 25 + true + false + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1</v8:content> + </v8:item> + + + + ru + Группа символ кода1 + + + true + false + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1 пустой</v8:content> + </v8:item> + + + + ru + Группа символ кода1 пустой + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодПустой + true + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1 введен</v8:content> + </v8:item> + + + + ru + Группа символ кода1 введен + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодВведен + true + + AsFile + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1</v8:content> + </v8:item> + + + + ru + Группа символ кода1 + + + true + false + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода2 п устой</v8:content> + </v8:item> + + + + ru + Группа символ кода2 п устой + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодПустой + true + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода2 введен</v8:content> + </v8:item> + + + + ru + Группа символ кода2 введен + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодВведен + true + + AsFile + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1</v8:content> + </v8:item> + + + + ru + Группа символ кода1 + + + true + false + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода3 пустой</v8:content> + </v8:item> + + + + ru + Группа символ кода3 пустой + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодПустой + true + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода3 введен</v8:content> + </v8:item> + + + + ru + Группа символ кода3 введен + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодВведен + true + + AsFile + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода1</v8:content> + </v8:item> + + + + ru + Группа символ кода1 + + + true + false + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода4 пустой</v8:content> + </v8:item> + + + + ru + Группа символ кода4 пустой + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодПустой + true + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа символ кода4 введен</v8:content> + </v8:item> + + + + ru + Группа символ кода4 введен + + + + + + 4 + 1 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>▬</v8:content> + </v8:item> + + AutoSize + + CommonPicture.КодВведен + true + + AsFile + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Ряды кнопок</v8:content> + </v8:item> + + + + ru + Ряды кнопок + + + 25 + true + true + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Кнопки</v8:content> + </v8:item> + + + + ru + Кнопки + + + Vertical + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа ряды</v8:content> + </v8:item> + + + + ru + Группа ряды + + + true + false + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Первый ряд</v8:content> + </v8:item> + + + + ru + Первый ряд + + + true + Vertical + None + false + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 1 + + + + CommonPicture.Кнопка1 + true + + AsFile + + + + ПервыйРядКнопка1Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 4 + + + + CommonPicture.Кнопка4 + true + + AsFile + + + + ВторойРядКнопка4Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 7 + + + + CommonPicture.Кнопка7 + true + + AsFile + + + + ТретийРядКнопка7Нажатие + + + + 6 + 2 + false + false + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Первый ряд кнопка пусто</v8:content> + </v8:item> + + true + AutoSize + AsFile + + + + ПервыйРядКнопка1Нажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Второй ряд</v8:content> + </v8:item> + + + + ru + Второй ряд + + + true + Vertical + None + false + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 2 + + + + CommonPicture.Кнопка2 + true + + AsFile + + + + ПервыйРядКнопка2Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 5 + + + + CommonPicture.Кнопка5 + true + + AsFile + + + + ВторойРядКнопка5Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 8 + + + + CommonPicture.Кнопка8 + true + + AsFile + + + + ТретийРядКнопка8Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 0 + + + + CommonPicture.Кнопка0 + true + + AsFile + + + + ЧетвертыйРядКнопка0Нажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Третий ряд</v8:content> + </v8:item> + + + + ru + Третий ряд + + + true + Vertical + None + false + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 3 + + + + CommonPicture.Кнопка3 + true + + AsFile + + + + ПервыйРядКнопка3Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 6 + + + + CommonPicture.Кнопка6 + true + + AsFile + + + + ВторойРядКнопка6Нажатие + + + + 6 + 2 + false + false + + true + AutoSize + + + ru + 9 + + + + CommonPicture.Кнопка9 + true + + AsFile + + + + ТретийРядКнопка9Нажатие + + + + 6 + 2 + false + false + true + AutoSize + + + ru + + + + + CommonPicture.КнопкаСтереть + true + + AsFile + + + + ЧетвертыйРядКнопкаУдалитьНажатие + + + + + + + + 1 + true + style:FieldSelectedTextColor + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Количество попыток: 6</v8:content> + </v8:item> + + Center + style:SpecialTextColor + + + + + + + + + + + 2 + true + true + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль подтверждение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текущий шаг</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вводимый пароль</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда выполнена</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неудачных попыток есть</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Any + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Хеш пароля</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Any + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form/Module.bsl" "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form/Module.bsl" new file mode 100644 index 0000000..c9b0690 --- /dev/null +++ "b/CommonForms/\320\222\320\262\320\276\320\264\320\237\320\260\321\200\320\276\320\273\321\217/Ext/Form/Module.bsl" @@ -0,0 +1,291 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Переменная Текущий шаг может принимать следующие значения: + // - ВводКода - при входе в систему или при первичной установке пароля; + // - ВводПодтверждения - при вводе проверочного кода при установке пароля. + ТекущийШаг = "ВводКода"; + + Параметры.Свойство("Команда", Команда); + + НеудачныхПопытокЕсть = Константы.КоличествоНеудачныхПопытокВхода.Получить(); + ХешПароля = Константы.ХешПароля.Получить(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + Элементы.ВариантыЗаголовка.ТекущаяСтраница = Элементы.ОбычныйВвод; + НастроитьВидимостьПанелиСообщенияОбОшибке(НеудачныхПопытокЕсть); + + ОбработатьИзменениеВвода(); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ПервыйРядКнопка1Нажатие(Элемент) + ОбработатьНажатиеКнопки("1"); +КонецПроцедуры + +&НаКлиенте +Процедура ПервыйРядКнопка2Нажатие(Элемент) + ОбработатьНажатиеКнопки("2"); +КонецПроцедуры + +&НаКлиенте +Процедура ПервыйРядКнопка3Нажатие(Элемент) + ОбработатьНажатиеКнопки("3"); +КонецПроцедуры + +&НаКлиенте +Процедура ВторойРядКнопка4Нажатие(Элемент) + ОбработатьНажатиеКнопки("4"); +КонецПроцедуры + +&НаКлиенте +Процедура ВторойРядКнопка5Нажатие(Элемент) + ОбработатьНажатиеКнопки("5"); +КонецПроцедуры + +&НаКлиенте +Процедура ВторойРядКнопка6Нажатие(Элемент) + ОбработатьНажатиеКнопки("6"); +КонецПроцедуры + +&НаКлиенте +Процедура ТретийРядКнопка7Нажатие(Элемент) + ОбработатьНажатиеКнопки("7"); +КонецПроцедуры + +&НаКлиенте +Процедура ТретийРядКнопка8Нажатие(Элемент) + ОбработатьНажатиеКнопки("8"); +КонецПроцедуры + +&НаКлиенте +Процедура ТретийРядКнопка9Нажатие(Элемент) + ОбработатьНажатиеКнопки("9"); +КонецПроцедуры + +&НаКлиенте +Процедура ЧетвертыйРядКнопка0Нажатие(Элемент) + ОбработатьНажатиеКнопки("0"); +КонецПроцедуры + +&НаКлиенте +Процедура ЧетвертыйРядКнопкаУдалитьНажатие(Элемент) + + // Получаем текущую длину введенного кода + ДлинаКода = СтрДлина(ВводимыйПароль); + + // Если длина равна 0 - стирать нечего + Если ДлинаКода = 0 Тогда + Возврат; + КонецЕсли; + + // Уменьшаем пароль на один символ + ВводимыйПароль = Лев(Пароль, ДлинаКода-1); + + // Отображаем изменения + РезультатПроверки = ОбработатьИзменениеВвода(); + + Если РезультатПроверки Тогда + ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.1, Истина); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ОтрисоватьЗнакиКода() + + // Выводим элементы введенных символов + ДлинаКода = СтрДлина(ВводимыйПароль); + Для Индекс = 1 По ДлинаКода Цикл + Элементы["ГруппаСимволКода"+Индекс].ТекущаяСтраница = Элементы["ГруппаСимволКода"+Индекс+"Введен"]; + КонецЦикла; + + // Выводим элементы символов ждущих ввода + Для Индекс = ДлинаКода+1 По 4 Цикл + Элементы["ГруппаСимволКода"+Индекс].ТекущаяСтраница = Элементы["ГруппаСимволКода"+Индекс+"Пустой"]; + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьНажатиеКнопки(Цифра) + + // Увеличиваем пароль на введенный символ + ВводимыйПароль = ВводимыйПароль + Цифра; + + // Отображаем изменения + РезультатПроверки = ОбработатьИзменениеВвода(); + + Если РезультатПроверки Тогда + ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.1, Истина); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция ОбработатьИзменениеВвода() + + ОтрисоватьЗнакиКода(); + + ЦифрВведено = СтрДлина(ВводимыйПароль); + + КомандаВыполнена = Ложь; + + // Переносим изменения в данные + Если ТекущийШаг = "ВводКода" Тогда + Пароль = ВводимыйПароль; + + // Если пользователь ввел 4 цифры и это режим настройки пароля + Если Команда = "НастроитьПароль" И ЦифрВведено = 4 Тогда + + // Инициализируем переменные для повторного ввода + ВводимыйПароль = ""; + ПарольПодтверждение = ""; + ТекущийШаг = "ВводПодтверждения"; + Элементы.ВариантыЗаголовка.ТекущаяСтраница = Элементы.ПовторПриУстановке; + + // Обновляем элементы + ОтрисоватьЗнакиКода(); + + Иначе + + Если ЦифрВведено = 4 Тогда + + ХешПароляПолученный = ПолучитьХешПароля(Пароль); + + // Если сохраненный хеш пароля равен полученному - разрешаем работать + Если ХешПароляПолученный = ХешПароля Тогда + + // Сбрасываем счетчик ошибочных попыток ввода + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "КоличествоНеудачныхПопытокВхода", 0); + + // Добавляем запись в протокол + РаботаСПротоколомСобытийВызовСервера.ДобавитьПредупреждение( + НСтр("ru = 'Введен правильный пароль'; en = 'Password is correct'")); + + // Устанавливаем флаг успешного выполнения + КомандаВыполнена = Истина; + + Возврат Истина; + + Иначе + + // Увеличиваем счетчики + НеудачныхПопытокЕсть = НеудачныхПопытокЕсть + 1; + + // Сразу обновляем данные о количестве попыток + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "КоличествоНеудачныхПопытокВхода", НеудачныхПопытокЕсть); + + // Добавляем запись в протокол об ошибке при входе + РаботаСПротоколомСобытийВызовСервера.ДобавитьПредупреждение( + НСтр("ru = 'Введен неверный пароль'; en = 'Password is wrong'")); + + // Очистим текущий введенный пароль + ВводимыйПароль = ""; + + // Обновляем элементы + ОтрисоватьЗнакиКода(); + + // Отображаем предупреждение с количеством попыток + НастроитьВидимостьПанелиСообщенияОбОшибке(НеудачныхПопытокЕсть); + + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Иначе + // Обновляем подтверждение пароля + ПарольПодтверждение = ВводимыйПароль; + + Если ЦифрВведено = 4 Тогда + + // Если пароль и подтверждение совпали + Если (Пароль = ПарольПодтверждение) Тогда + + // Записываем хеш + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "ХешПароля", ПолучитьХешПароля(Пароль)); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Установлен пароль'; en = 'Password is set'")); + + КомандаВыполнена = Истина; + + // Закрываем форму + Возврат Истина; + + Иначе + + // Инициализируем переменные для повторного ввода + ВводимыйПароль = ""; + Пароль = ""; + ПарольПодтверждение = ""; + ТекущийШаг = "ВводКода"; + + // Обновляем картинку + Элементы.ВариантыЗаголовка.ТекущаяСтраница = Элементы.ОбычныйВвод; + ОтрисоватьЗнакиКода(); + + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +&НаСервере +Функция ПолучитьХешПароля(ВведенноеЗначение) + + Драйвер = Новый ХешированиеДанных(ХешФункция.CRC32); + Драйвер.Добавить(ВведенноеЗначение); + + Возврат Драйвер.ХешСумма; + +КонецФункции + +&НаСервере +Процедура НастроитьВидимостьПанелиСообщенияОбОшибке(Ошибок) + + Если Ошибок = 0 Тогда + Элементы.ЗаголовокОшибки.Видимость = Ложь; + Иначе + Элементы.ЗаголовокОшибки.Заголовок = СтрШаблон( + НСтр("ru = 'Количество попыток: %1'; en = 'Error attempts: %1'"), + Ошибок); + Элементы.ЗаголовокОшибки.Видимость = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму() + + Закрыть(КомандаВыполнена); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213.xml" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213.xml" new file mode 100644 index 0000000..62c2c74 --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213.xml" @@ -0,0 +1,24 @@ + + + + + ВыборДаты + + + ru + Выбор даты + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form.xml" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form.xml" new file mode 100644 index 0000000..2f855aa --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form.xml" @@ -0,0 +1,2326 @@ + +
+ LockWholeInterface + false + Top + + Right + false + + + + + + ПриСозданииНаСервере + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа элементы</v8:content> + </v8:item> + + + + ru + Группа элементы + + + true + true + Vertical + Center + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа месяц</v8:content> + </v8:item> + + + + ru + Группа месяц + + + Vertical + Center + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа кнопки</v8:content> + </v8:item> + + + + ru + Группа кнопки + + + Horizontal + Center + None + false + + + + 1 + 1 + true + false + + + + + + 3 + 1 + false + false + style:FieldSelectionBackColor + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Предыдущий месяц</v8:content> + </v8:item> + + Center + true + + + ru + < + + + AsFile + + + + ПредыдущийМесяцНажатие + + + + 8 + 1 + false + style:FieldSelectionBackColor + Center + true + + + ru + Сегодня + + + en + Today + + + AsFile + + + + ДекорацияСегодняНажатие + + + + 3 + 1 + false + false + style:FieldSelectionBackColor + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Следующий месяц</v8:content> + </v8:item> + + Center + true + + + ru + > + + + AsFile + + + + СледующийМесяцНажатие + + + + 1 + 1 + true + false + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа календарь</v8:content> + </v8:item> + + + + ru + Группа календарь + + + Vertical + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заголовок дней недели</v8:content> + </v8:item> + + + + ru + Заголовок дней недели + + + Horizontal + None + false + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>ПН</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Mn</v8:content> + </v8:item> + + + + ru + Пн + + + en + Mn + + + AsFile + + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вт</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Tu</v8:content> + </v8:item> + + + + ru + Вт + + + en + Tu + + + AsFile + + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>СР</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Wd</v8:content> + </v8:item> + + + + ru + Ср + + + en + Wd + + + AsFile + + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>ЧТ</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Th</v8:content> + </v8:item> + + + + ru + Чт + + + en + Th + + + AsFile + + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>ПТ</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Fr</v8:content> + </v8:item> + + + + ru + Пт + + + en + Fr + + + AsFile + + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>СБ</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>St</v8:content> + </v8:item> + + + + ru + Сб + + + en + St + + + AsFile + + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вс</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Sn</v8:content> + </v8:item> + + + + ru + Вс + + + en + Sn + + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Недели</v8:content> + </v8:item> + + + + ru + Недели + + + Vertical + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 25 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 26 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 27 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 28 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 29 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Salmon + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 30 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 1 + + + AsFile + + + + ДеньНажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 2 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 3 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 4 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 5 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 6 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 7 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 8 + + + AsFile + + + + ДеньНажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 9 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 10 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 11 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 12 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 13 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 14 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 15 + + + AsFile + + + + ДеньНажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 16 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 17 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 18 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 19 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 20 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 21 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 22 + + + AsFile + + + + ДеньНажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 23 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 24 + + + web:Maroon + + Single + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 25 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 26 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 27 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 28 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Red + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 29 + + + AsFile + + + + ДеньНажатие + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1</v8:content> + </v8:item> + + + + ru + Неделя1 + + + Horizontal + None + false + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 30 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + style:FieldTextColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 31 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 1 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 2 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:DarkGray + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 3 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Salmon + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 4 + + + AsFile + + + + ДеньНажатие + + + + 2 + 1 + false + false + web:Salmon + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Неделя1День1</v8:content> + </v8:item> + + true + + + ru + 5 + + + AsFile + + + + ДеньНажатие + + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа cобытия</v8:content> + </v8:item> + + + + ru + Группа cобытия + + + Vertical + NormalSeparation + false + + + + List + None + false + false + 20 + 1 + Row +
false
+ true + true + true + AsFile + События + События.ИндексКартинки + + CommonPicture.КоллекцияЦвет + true + + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + ShowMultipleSelection + ShowRowRearrangement + SortListAsc + SortListDesc + + + + + + + + События + SearchStringRepresentation + + + + + + + События + ViewStatusRepresentation + + + + + + + События + SearchControl + + + + + + СобытияВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>События строка</v8:content> + </v8:item> + + + + ru + События строка + + + Horizontal + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа время указано</v8:content> + </v8:item> + + + + ru + Группа время указано + + + 4 + false + InCell + + + + События.ВремяНачало + Left + EnterOnInput + 4 + false + + + + + + События.ВремяКонец + false + Left + EnterOnInput + 3 + false + web:MediumGray + + + + + + События.Описание + true + EnterOnInput + 16 + true + + + + + + + + +
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Цвет будних дней не текущего месяца</v8:content> + </v8:item> + + + v8ui:Color + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Цвет выходных дней не текущего месяца</v8:content> + </v8:item> + + + v8ui:Color + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Цвет будних дней месяца</v8:content> + </v8:item> + + + v8ui:Color + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Цвет выходных дней месяца</v8:content> + </v8:item> + + + v8ui:Color + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата начала месяца</v8:content> + </v8:item> + + + xs:dateTime + + Date + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Выбранная дата</v8:content> + </v8:item> + + + xs:dateTime + + Date + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>События</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Ссылка</v8:content> + </v8:item> + + + 3e5134db-88da-43e5-b27c-a08f60452bd2 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Цвет</v8:content> + </v8:item> + + + cfg:EnumRef.ЦветаОбъектов + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Время начало</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Время конец</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Весь день</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Индекс картинки</v8:content> + </v8:item> + + + xs:decimal + + 0 + 0 + Any + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Бывшая дата</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Рамка подчеркивание</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Рамка отсутствует</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Шрифт обычный</v8:content> + </v8:item> + + + v8ui:Font + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Шрифт жирный</v8:content> + </v8:item> + + + v8ui:Font + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вызывающий элемент</v8:content> + </v8:item> + + + xs:string + + 30 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя элемента сегодняшнего дня</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Показывать список событий</v8:content> + </v8:item> + + + xs:boolean + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Нет + + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Красный + + + + + ЦветФона + #FF6262 + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Желтый + + + + + ЦветФона + #F7FF9F + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Зеленый + + + + + ЦветФона + #B1FFC6 + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Синий + + + + + ЦветФона + #8CBEFF + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Оранжевый + + + + + ЦветФона + #FFC623 + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.Цвет + Equal + Перечисление.ЦветаОбъектов.Лиловый + + + + + ЦветФона + web:Plum + + + + + false + + + СобытияВремяНачало + + + СобытияВремяКонец + + + + + События.ВесьДень + Equal + true + + + + + ЦветТекста + #000000 + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Готово</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Done</v8:content> + </v8:item> + + + + ru + Готово + + + Готово + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form/Module.bsl" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form/Module.bsl" new file mode 100644 index 0000000..b926f0d --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\224\320\260\321\202\321\213/Ext/Form/Module.bsl" @@ -0,0 +1,124 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Если Параметры.Свойство("ТекущаяДата") + И ЗначениеЗаполнено(Параметры.ТекущаяДата) Тогда + ДатаНачалаМесяца = НачалоМесяца(Параметры.ТекущаяДата); + ВыбраннаяДата = Параметры.ТекущаяДата; + Иначе + ДатаНачалаМесяца = НачалоМесяца(ТекущаяДата()); + ВыбраннаяДата = НачалоДня(ТекущаяДата()); + КонецЕсли; + + Если Параметры.Свойство("СписокСобытий") Тогда + ПоказыватьСписокСобытий = Параметры.СписокСобытий; + КонецЕсли; + + Если Не ПоказыватьСписокСобытий Тогда + Элементы.События.Видимость = Ложь; + КонецЕсли; + + ВызывающийЭлемент = Параметры.Элемент; + + // Предварительная настройка используемых элементов оформления + ЦветБуднихДнейМесяца = Новый Цвет(0, 0, 0); + ЦветБуднихДнейНеТекущегоМесяца = Новый Цвет(169, 169, 169); + ЦветВыходныхДнейМесяца = Новый Цвет(255, 0, 0); + ЦветВыходныхДнейНеТекущегоМесяца = Новый Цвет(250, 128, 114); + + ШрифтОбычный = Новый Шрифт(); + ШрифтЖирный = Новый Шрифт(,,Истина); + РамкаОтсутствует = Новый Рамка(ТипРамкиЭлементаУправления.БезРамки); + РамкаПодчеркивание = Новый Рамка(ТипРамкиЭлементаУправления.Подчеркивание); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +&НаКлиенте +Процедура СобытияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +&НаКлиенте +Процедура ПредыдущийМесяцНажатие(Элемент) + + ДатаНачалаМесяца = ДобавитьМесяц(ДатаНачалаМесяца, -1); + +КонецПроцедуры + +&НаКлиенте +Процедура ДекорацияСегодняНажатие(Элемент) + + ДатаНачалаМесяца = НачалоМесяца(ТекущаяДата()); + ВыбраннаяДата = НачалоДня(ТекущаяДата()); + БывшаяДата = ""; + +КонецПроцедуры + +&НаКлиенте +Процедура СледующийМесяцНажатие(Элемент) + + ДатаНачалаМесяца = ДобавитьМесяц(ДатаНачалаМесяца, 1); + +КонецПроцедуры + +&НаКлиенте +Процедура ДеньНажатие(Элемент) + + НоваяДата = Дата(Элемент.Заголовок); + + // Скорее всего это просто выбор дня для просмотра + Если ПоказыватьСписокСобытий И Не ВыбраннаяДата = НоваяДата Тогда + + // Оформим предыдущее выбранное число обычным шрифтом + Если ЗначениеЗаполнено(БывшаяДата) Тогда + Элементы[БывшаяДата].Шрифт = ШрифтОбычный; + КонецЕсли; + + Элементы[Элемент.Имя].Шрифт = ШрифтЖирный; + + ВыбраннаяДата = НоваяДата; + БывшаяДата = Элемент.Имя; + + Элементы.События.ОтборСтрок = Новый ФиксированнаяСтруктура("Дата", ВыбраннаяДата); + + Иначе + + // Выбор даты для переноса в вызывающую форму + + Оповестить("ВыбранаДатаКалендаря", НоваяДата, ВызывающийЭлемент); + + Закрыть(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Готово(Команда) + + Оповестить("ВыбранаДатаКалендаря", ВыбраннаяДата, ВызывающийЭлемент); + + Закрыть(); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..4857279 --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,23 @@ + + + + + ВыборСпособаПодключения + + + ru + Выбор способа подключения + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" new file mode 100644 index 0000000..97c88ec --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" @@ -0,0 +1,249 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + + false + + + ОбработкаОповещения + ПриСозданииНаСервере + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа список команд</v8:content> + </v8:item> + + + + ru + Группа список команд + + + true + Vertical + None + false + + + + List + None + false + false + 1 + UseHeightInFormRows + SingleRow + Row +
false
+ false + true + true + true + AsFile + ТаблицаКоманд + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + ShowRowRearrangement + SortListAsc + SortListDesc + + None + + + + false + + + + + ТаблицаКоманд + SearchStringRepresentation + + + + + + + ТаблицаКоманд + ViewStatusRepresentation + + + + + + + ТаблицаКоманд + SearchControl + + + + + + ТаблицаКомандВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Первая колонка</v8:content> + </v8:item> + + + + ru + Первая колонка + + + + + + ТаблицаКоманд.ОписаниеКоманды + EnterOnInput + true + + + + + ТаблицаКоманд.Пояснение + EnterOnInput + 3 + web:DimGray + + + + + + + +
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Набор констант</v8:content> + </v8:item> + + + cfg:ConstantsSet + + + НаборКонстант.АдресЦентральнойБазы + НаборКонстант.МаксимальныйРазмерФайла + НаборКонстант.ПарольПользователя + НаборКонстант.ПериодПервичнойЗагрузкиДанных + НаборКонстант.ПодробнаяИнформацияОСинхронизации + НаборКонстант.ПользовательЦентральнойБазы + НаборКонстант.ЭтоДемоРежим + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата начала синхронизации</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица команд</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание команды</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Режим</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" new file mode 100644 index 0000000..447b625 --- /dev/null +++ "b/CommonForms/\320\222\321\213\320\261\320\276\321\200\320\241\320\277\320\276\321\201\320\276\320\261\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" @@ -0,0 +1,214 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "НастроитьВручную"; + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Настроить подключение вручную'; + |en = 'Set manually'"); + СтрокаТаб.Пояснение = + НСтр("ru = 'Адрес подключения, имя пользователя и пароль будут введены вручную.'; + |en = 'Server addres, user name and password must be set manually'"); + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "ДемоРежим"; + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Попробовать с демо-данными'; + |en = 'Try demo-mode'"); + СтрокаТаб.Пояснение = + НСтр("ru = 'Программа будет заполнена демонстрационными данными.'; + |en = 'The program will be filled with demonstration data'"); + + НаборКонстант.ПериодПервичнойЗагрузкиДанных = 7; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" Тогда + ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.1, Истина); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +&НаКлиенте +Процедура ТаблицаКомандВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекущиеДанные = Элементы.ТаблицаКоманд.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Режим = ТекущиеДанные.Команда; + Если Режим = "НастроитьВручную" Тогда + НастроитьВручную(); + + ИначеЕсли Режим = "ДемоРежим" Тогда + ЗаполнитьДемоДанными(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура НастроитьВручную() + + ОткрытьФорму("ОбщаяФорма.НастройкаПодключения"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьДемоДанными() + + НаборКонстант.АдресЦентральнойБазы = ""; + НаборКонстант.ПользовательЦентральнойБазы = "test"; + НаборКонстант.ПарольПользователя = "test"; + НаборКонстант.ПериодПервичнойЗагрузкиДанных = 180; + + ЗаписатьОбъект(); + + ОбменКлиент.ВыполнитьПодключениеКСерверу(ЭтаФорма, НаборКонстант, ДатаНачалаСинхронизации); + +КонецПроцедуры + + +&НаКлиенте +Процедура ОбработчикЧтенияШтрихКода(ДанныеШтрихКода, Результат, Сообщение, ДопПараметры) Экспорт + + Если Результат Или Не ЗначениеЗаполнено(Сообщение) Тогда + + #Если МобильноеПриложениеКлиент Тогда + СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов(); + #КонецЕсли + + ОбработатьШтрихКод(ДанныеШтрихКода); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикРучногоВводаШтрихкода(ДанныеШтрихКода, ДопПараметры) Экспорт + + Если ЗначениеЗаполнено(ДанныеШтрихКода) Тогда + ОбработатьШтрихКод(ДанныеШтрихКода); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьШтрихКод(ДанныеШтрихКода) + + // Разбираем полученный код на составляющие + ПараметрыПодключения = СтрРазделить(ДанныеШтрихКода, ";"); + + // Выполняем проверку количества полученных параметров + Если Не ПараметрыПодключения.Количество() = 6 Тогда + + ЗаголовокПодключения = Заголовок; + ТекстПредупреждения = СтрШаблон( + НСтр("ru = 'Ожидаемое количество полей в QR-коде 6, прочитано %1'; + |en = 'The expected quantity of fields in a QR code 6, is read %1'"), + ПараметрыПодключения.Количество()); + + ПоказатьПредупреждение(, ТекстПредупреждения, ,ЗаголовокПодключения); + Возврат; + + КонецЕсли; + + НаборКонстант.АдресЦентральнойБазы = ПараметрыПодключения[0]; + НаборКонстант.ПользовательЦентральнойБазы = ПараметрыПодключения[1]; + НаборКонстант.ПодробнаяИнформацияОСинхронизации = Число(ПараметрыПодключения[3]); + + СрокХранения = Число(ПараметрыПодключения[4]) * 86400; + + Если СрокХранения <= 0 Тогда + // храним всегда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = -1; + НаборКонстант.ХранитьПисьмаВТечениеПериода = -1; + ИначеЕсли СрокХранения <= 86400 Тогда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = 86400; + НаборКонстант.ХранитьПисьмаВТечениеПериода = 86400 + ИначеЕсли СрокХранения > 86400 И СрокХранения <= 604800 Тогда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = 604800; + НаборКонстант.ХранитьПисьмаВТечениеПериода = 604800 + ИначеЕсли СрокХранения > 604800 И СрокХранения <= 2592000 Тогда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = 2592000; + НаборКонстант.ХранитьПисьмаВТечениеПериода = 2592000 + ИначеЕсли СрокХранения > 2592000 И СрокХранения <= 15552000 Тогда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = 15552000; + НаборКонстант.ХранитьПисьмаВТечениеПериода = 15552000 + ИначеЕсли СрокХранения > 15552000 Тогда + НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода = 31536000; + НаборКонстант.ХранитьПисьмаВТечениеПериода = 31536000 + КонецЕсли; + + МаксРазмерФайла = Число(ПараметрыПодключения[5]); + Если МаксРазмерФайла = 1 Или МаксРазмерФайла = 0 Тогда + // Загружаем только заголовки + НаборКонстант.МаксимальныйРазмерФайла = 1; + ИначеЕсли МаксРазмерФайла > 1 И МаксРазмерФайла <= 100 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 100; + ИначеЕсли МаксРазмерФайла > 100 И МаксРазмерФайла <= 200 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 200; + ИначеЕсли МаксРазмерФайла > 200 И МаксРазмерФайла <= 300 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 300; + ИначеЕсли МаксРазмерФайла > 300 И МаксРазмерФайла <= 400 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 400; + ИначеЕсли МаксРазмерФайла > 400 И МаксРазмерФайла <= 500 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 500; + ИначеЕсли МаксРазмерФайла > 500 И МаксРазмерФайла <= 1024 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 1024; + ИначеЕсли МаксРазмерФайла > 1024 И МаксРазмерФайла <= 2048 Тогда + НаборКонстант.МаксимальныйРазмерФайла = 2048; + Иначе + // Загружаем полностью + НаборКонстант.МаксимальныйРазмерФайла = 0; + КонецЕсли; + + ЗаписатьОбъект(); + + Если НРег(ПараметрыПодключения[1]) = "test" Тогда + ЗаполнитьДемоДанными(); + Иначе + ОткрытьФорму("ОбщаяФорма.НастройкаПодключения"); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьОбъект() + + Набор = РеквизитФормыВЗначение("НаборКонстант"); + Набор.Записать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Модифицированность = Ложь; + + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму() + + Закрыть(); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..d8f0cf2 --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,27 @@ + + + + + НастройкаПодключения + + + ru + Настройка подключения + + + en + Connection settings + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" new file mode 100644 index 0000000..510b06d --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form.xml" @@ -0,0 +1,750 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Connection</v8:content> + </v8:item> + + false + Top + useIfNecessary + + Abort + Cancel + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + + + Right + + + + + + ОбработкаОповещения + ПриОткрытии + ПриСозданииНаСервере + + + + + + ru + Группа реквизиты подключения + + + Vertical + None + + + + НаборКонстант.АдресЦентральнойБазы + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Server</v8:content> + </v8:item> + + + Top + true + + + + ru + Например, https://server.org/DOPublication + + + en + For example, https://server.org/DOPublication + + + + + + НаборКонстантАдресЦентральнойБазыПриИзменении + + + + НаборКонстант.ПользовательЦентральнойБазы + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Логин</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Login</v8:content> + </v8:item> + + + Top + true + + + + ru + Имя пользователя ИБ + + + en + User name in a 1C:Docflow DB + + + + + + НаборКонстантПользовательЦентральнойБазыПриИзменении + + + + НаборКонстант.ПарольПользователя + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Password</v8:content> + </v8:item> + + + Top + true + true + + + + ru + Пароль пользователя ИБ + + + en + User password in a 1C:Docflow DB + + + + + + НаборКонстантПарольПользователяПриИзменении + + + + НаборКонстант.ПериодПервичнойЗагрузкиДанных + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Загрузить данные за</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Period of initial synchronization</v8:content> + </v8:item> + + + Top + true + true + false + false + + + + 0 + + + + ru + 1 день + + + en + 1 day + + + 1 + + + + + 0 + + + + ru + 2 дня + + + en + 2 days + + + 2 + + + + + 0 + + + + ru + 3 дня + + + en + 3 days + + + 3 + + + + + 0 + + + + ru + 4 дня + + + en + 4 days + + + 4 + + + + + 0 + + + + ru + 5 дней + + + en + 5 days + + + 5 + + + + + 0 + + + + ru + 6 дней + + + en + 6 days + + + 6 + + + + + 0 + + + + ru + 1 неделю + + + en + 1 week + + + 7 + + + + + 0 + + + + ru + 2 недели + + + en + 2 weeks + + + 14 + + + + + 0 + + + + ru + 3 недели + + + en + 3 weeks + + + 21 + + + + + 0 + + + + ru + 1 месяц + + + en + 1 month + + + 30 + + + + + 0 + + + + ru + 2 месяца + + + en + 2 months + + + 60 + + + + + 0 + + + + ru + 3 месяца + + + en + 3 months + + + 90 + + + + + 0 + + + + ru + 6 месяцев + + + en + 6 months + + + 180 + + + + + + + + НаборКонстантСрокУстареванияДанныхПриИзменении + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа элементы макс размер файла</v8:content> + </v8:item> + + + + ru + Группа элементы макс размер файла + + + Horizontal + None + false + + + + НаборКонстант.МаксимальныйРазмерФайла + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Макс. размер файла</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Maximum file size</v8:content> + </v8:item> + + + Top + + + ru + Внимание! Выбранная настройка максимального размера файла может негативно сказаться на времени и скорости синхронизации данных с сервером. + + + + None + true + true + false + false + + + + 0 + + + + ru + Только заголовки + + + en + Headers only + + + 1 + + + + + 0 + + + + ru + 100 кб + + + en + 100 Kb + + + 100 + + + + + 0 + + + + ru + 200 кб + + + en + 200 Kb + + + 200 + + + + + 0 + + + + ru + 300 кб + + + en + 300 Kb + + + 300 + + + + + 0 + + + + ru + 400 кб + + + en + 400 Kb + + + 400 + + + + + 0 + + + + ru + 500 кб + + + en + 500 Kb + + + 500 + + + + + 0 + + + + ru + 1 мб + + + en + 1 Mb + + + 1024 + + + + + 0 + + + + ru + 2 мб + + + en + 2 Mb + + + 2048 + + + + + 0 + + + + ru + Загружать полностью + + + en + Load completely + + + 0 + + + + + + + + НаборКонстантМаксимальныйРазмерФайлаПриИзменении + НаборКонстантМаксимальныйРазмерФайлаОбработкаВыбора + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа макс размер файла предупреждение</v8:content> + </v8:item> + + + + ru + Группа макс размер файла предупреждение + + + Vertical + None + false + + + + 2 + 2 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Декорация внимание</v8:content> + </v8:item> + + true + + CommonPicture.СтатусПредупреждение32 + true + + AsFile + + + + ДекорацияВниманиеНажатие + + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Набор констант</v8:content> + </v8:item> + + + cfg:ConstantsSet + + + НаборКонстант.ДатаПоследнегоОбновления + НаборКонстант.ЭтоДемоРежим + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата начала синхронизации</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Период загрузки писем</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + НаборКонстантДатаПоследнегоОбновления + + + + + true + Equal + true + + + + + Отображать + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Готово</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Go!</v8:content> + </v8:item> + + + + ru + Готово + + + Готово + Text + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" new file mode 100644 index 0000000..366a1fd --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217/Ext/Form/Module.bsl" @@ -0,0 +1,152 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ОбменВызовСервера.СброситьСостояниеЗагрузкиЧастейСообщений(); + + Набор = Константы.СоздатьНабор(); + Набор.Прочитать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Элементы.ДекорацияВнимание.Видимость = + НаборКонстант.МаксимальныйРазмерФайла > 500 + Или НаборКонстант.МаксимальныйРазмерФайла = 0; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + УстановитьВидимостьКнопокОчистки(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ПовторитьСинхронизацию" Тогда + + Готово(Неопределено); + + ИначеЕсли ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" Тогда + + Закрыть(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура НаборКонстантАдресЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + УстановитьВидимостьКнопокОчистки(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПользовательЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + УстановитьВидимостьКнопокОчистки(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПарольПользователяПриИзменении(Элемент) + + ЗаписатьОбъект(); + УстановитьВидимостьКнопокОчистки(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантСрокУстареванияДанныхПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантМаксимальныйРазмерФайлаПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантМаксимальныйРазмерФайлаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) + + Элементы.ДекорацияВнимание.Видимость = + ВыбранноеЗначение > 500 Или ВыбранноеЗначение = 0; + +КонецПроцедуры + +&НаКлиенте +Процедура ДекорацияВниманиеНажатие(Элемент) + + ТекстЗаголовка = НСтр("ru = 'Подключение'; en = 'Connection'"); + ТекстСообщения = НСтр("ru = 'Выбранная настройка максимального размера файла может негативно + |повлиять на скорость и время первоначального подключения. + | + |Рекомендуемый максимальный размер файла не более 500 кб.'; + |en = 'The chosen control of the maximum size of the file can negatively + |affect the speed and time of initial connection. + | + |The recommended maximum size of the file no more than 500 kb.'"); + + ПоказатьПредупреждение(, ТекстСообщения, , ТекстЗаголовка); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Готово(Команда) + + ОбменКлиент.ВыполнитьПодключениеКСерверу(ЭтаФорма, НаборКонстант, ДатаНачалаСинхронизации); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура УстановитьВидимостьКнопокОчистки() + + Элементы.НаборКонстантАдресЦентральнойБазы.КнопкаОчистки = + ЗначениеЗаполнено(НаборКонстант.АдресЦентральнойБазы); + + Элементы.НаборКонстантПользовательЦентральнойБазы.КнопкаОчистки = + ЗначениеЗаполнено(НаборКонстант.ПользовательЦентральнойБазы); + + Элементы.НаборКонстантПарольПользователя.КнопкаОчистки = + ЗначениеЗаполнено(НаборКонстант.ПарольПользователя); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьОбъект() + + Набор = РеквизитФормыВЗначение("НаборКонстант"); + Набор.Записать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Модифицированность = Ложь; + + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" new file mode 100644 index 0000000..a552dda --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" @@ -0,0 +1,23 @@ + + + + + НастройкиПланшет + + + ru + Настройки планшет + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" new file mode 100644 index 0000000..53f9aed --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" @@ -0,0 +1,1125 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройки</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Settings</v8:content> + </v8:item> + + false + Horizontal + None + useIfNecessary + + Abort + Cancel + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + + + false + + + ОбработкаОповещения + ПриСозданииНаСервере + + + + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Колонка список разделов</v8:content> + </v8:item> + + + + ru + Колонка список разделов + + + 1 + true + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разделы</v8:content> + </v8:item> + + + + ru + Разделы + + + 20 + 1 + true + true + + + + List + false + false + 1 + UseHeightInFormRows + Row +
false
+ false + true + false + true + true + AsFile + СписокРазделов + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + ShowMultipleSelection + ShowRowRearrangement + SortListAsc + SortListDesc + + + + + false + + + + + СписокРазделов + SearchStringRepresentation + + + + + + + СписокРазделов + ViewStatusRepresentation + + + + + + + СписокРазделов + SearchControl + + + + + + СписокРазделовВыбор + СписокРазделовПриАктивизацииСтроки + + + + СписокРазделов.Описание + EnterOnInput + + + + +
+
+
+
+
+ + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Колонка страницы</v8:content> + </v8:item> + + + + ru + Колонка страницы + + + true + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Connection</v8:content> + </v8:item> + + + + + ru + Подключение + + + false + true + + + + true + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Connection</v8:content> + </v8:item> + + Center + + + + + + + ru + Группа подключение + + + Vertical + None + + + + НаборКонстант.АдресЦентральнойБазы + style:FieldTextColor + + Top + web:DimGray + + + + + НаборКонстантАдресЦентральнойБазыПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес вводится такой же, как при работе в браузере. Например, https://servername.org/DOPublication</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ПользовательЦентральнойБазы + style:FieldTextColor + + Top + web:DimGray + + + + + НаборКонстантПользовательЦентральнойБазыПриИзменении + + + + НаборКонстант.ПарольПользователя + style:FieldTextColor + + Top + true + web:DimGray + + + + + НаборКонстантПарольПользователяПриИзменении + + + + + + ru + Группа максимальный размер файла + + + Vertical + None + + + + НаборКонстант.МаксимальныйРазмерФайла + true + style:FieldTextColor + + Top + true + true + false + false + + + + 0 + + + + ru + Загружать только заголовки + + + 1 + + + + + 0 + + + + ru + 100 кб + + + 100 + + + + + 0 + + + + ru + 200 кб + + + 200 + + + + + 0 + + + + ru + 300 кб + + + 300 + + + + + 0 + + + + ru + 400 кб + + + 400 + + + + + 0 + + + + ru + 500 кб + + + 500 + + + + + 0 + + + + ru + 1 мб + + + 1024 + + + + + 0 + + + + ru + 2 мб + + + 2048 + + + + + 0 + + + + ru + Всегда загружать полностью + + + 0 + + + + web:DimGray + + + + + НаборКонстантМаксимальныйРазмерФайлаПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройка максимального размера для файлов, которые будут полностью передаваться на мобильный клиент. Файлы большего размера будут загружены при открытии.</v8:content> + </v8:item> + + Top + + + + + + + + + + + ru + Группа фоновая синхронизация + + + Vertical + None + + + + НаборКонстант.ИспользоватьФоновуюСинхронизацию + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновая синхронизация</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Background sync</v8:content> + </v8:item> + + Tumbler + + + + НаборКонстантИспользоватьФоновуюСинхронизациюПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>При старте приложения обмен будет запускаться автоматически.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Sync will be launch automaticaly at startup.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ИспользоватьТолькоWiFi + Tumbler + + + + НаборКонстантИспользоватьТолькоWiFiПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разрешить фоновую загрузку данных только при наличии Wi-Fi.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Allow update the content in the background only if Wi-Fi accessible.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ОтправлятьДанныеСразу + style:FieldTextColor + + Tumbler + + + + НаборКонстантОтправлятьДанныеСразуПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при записи новых писем будет выполнена попытка отправить их на сервер сразу, не дожидаясь следующего сеанса синхронизации.</v8:content> + </v8:item> + + Top + + + + + + + + + ru + Группа протокол + + + None + + + + НаборКонстант.ПодробнаяИнформацияОСинхронизации + style:FieldTextColor + + Tumbler + + + + НаборКонстантПодробнаяИнформацияВПротоколеПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при синхронизации в протокол будет записываться подробная техническая информация, которая поможет при разборе ошибок.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ВыгружатьПротоколСобытийНаСервер + style:FieldTextColor + + Tumbler + + + + НаборКонстантВыгружатьПротоколСобытийНаСерверПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при синхронизации на сервер будут отправляться записи протокола работы клиента. Они будут доступны администратору для диагностики работы. Для экономии трафика выгрузку можно отключить.</v8:content> + </v8:item> + + Top + + + + + + + + + ru + Группа пароль + + + Vertical + None + + + + НаборКонстант.ИспользоватьПароль + style:FieldTextColor + + Tumbler + + + + НаборКонстантИспользоватьПарольПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Приложение будет запрашивать пароль при запуске</v8:content> + </v8:item> + + Top + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Уведомления</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Notifications</v8:content> + </v8:item> + + + + ru + Уведомления + + + false + true + + + + true + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Уведомления</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Notifications</v8:content> + </v8:item> + + Center + + + + + + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Local events</v8:content> + </v8:item> + + + + ru + Уведомления + + + Vertical + None + + + + НаборКонстант.ИспользоватьЛокальныеУведомления + style:FieldTextColor + Tumbler + + + + ИспользоватьЛокальныеУведомленияПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то на устройстве можно установить уведомления о событиях требующих вашего внимания</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Notifications will appears on device when you need</v8:content> + </v8:item> + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сервис</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Service</v8:content> + </v8:item> + + + + + ru + Сервис + + + true + true + true + + + + true + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сервис</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Service</v8:content> + </v8:item> + + Center + + + + + List + false + false + 1 + 3 + UseHeightInFormRows +
false
+ true + true + true + AsFile + КомандыСервис + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + ShowMultipleSelection + ShowRowRearrangement + SortListAsc + SortListDesc + + + + + false + + + + + КомандыСервис + SearchStringRepresentation + + + + + + + КомандыСервис + ViewStatusRepresentation + + + + + + + КомандыСервис + SearchControl + + + + + + КомандыСервисВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды сервис первая колонка</v8:content> + </v8:item> + + + + ru + Команды сервис первая колонка + + + true + + + + КомандыСервис.Представление + EnterOnInput + 1 + true + + + + + КомандыСервис.Пояснение + EnterOnInput + 3 + true + web:DarkGray + + + + + + + +
+
+
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Список разделов</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Раздел</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Картинка</v8:content> + </v8:item> + + + v8ui:Picture + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + cfg:ConstantsSet + + + НаборКонстант.АдресЦентральнойБазы + НаборКонстант.ИспользоватьПароль + НаборКонстант.ИспользоватьТолькоWiFi + НаборКонстант.ИспользоватьФоновуюСинхронизацию + НаборКонстант.ОтправлятьДанныеСразу + НаборКонстант.ПоУмолчаниюОтвечатьВсем + НаборКонстант.ПользовательЦентральнойБазы + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды сервис</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Представление</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды синхронизации папок</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Представление</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разрешить уведомления</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Enable notifications</v8:content> + </v8:item> + + + xs:boolean + + + + + false + + + НаборКонстантАдресЦентральнойБазы + + + НаборКонстантПользовательЦентральнойБазы + + + + + true + Equal + true + + + + + Отображать + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Синхронизация папок писем...</v8:content> + </v8:item> + + + + ru + Настройка синхронизации папок + + + НастройкаСинхронизацииПапок + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form/Module.bsl" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form/Module.bsl" new file mode 100644 index 0000000..06da3d8 --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form/Module.bsl" @@ -0,0 +1,526 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ЗаполнитьСписокРазделов(); + + Набор = Константы.СоздатьНабор(); + Набор.Прочитать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Если Не ЭтоУстройствоСБольшимЭкраном() Тогда + + Элементы.НаборКонстантПоказыватьПредпросмотрВСпискеЗадач.Видимость = Ложь; + Элементы.ДекорацияПредпросмотрЗадач.Видимость = Ложь; + + Элементы.НаборКонстантПомечатьПисьмаПрочтеннымиПриПросмотреПериод.Видимость = Ложь; + Элементы.НаборКонстантПоказыватьПредпросмотрВСпискеПисем.Видимость = Ложь; + Элементы.ДекорацияПрочтениеПриПросмотре.Видимость = Ложь; + Элементы.ДекорацияПредпросмотрПисем.Видимость = Ложь; + + КонецЕсли; + + УстановитьВидимостьПодчиненныхЭлементов(); + + ОбщегоНазначенияСервер.ЗаполнитьСписокКомандВРазделеСервис(КомандыСервис); + ОбщегоНазначенияСервер.ЗаполнитьСписокКомандВРазделеПочта(КомандыСинхронизацииПапок); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" + Или ИмяСобытия = "ВыполненоПолноеУдаление" Тогда + Закрыть(); + + ИначеЕсли ИмяСобытия = "ИзмененРежимРаботыПриложения" Тогда + ЗаполнитьСписокРазделов(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийТабличнойЧастиСписокРазделов + +&НаКлиенте +Процедура СписокРазделовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокРазделовПриАктивизацииСтроки(Элемент) + + ВыбраннаяСтрока = Элементы.СписокРазделов.ТекущиеДанные; + + Если ВыбраннаяСтрока = Неопределено Тогда + Возврат; + КонецЕсли; + + Элементы.КолонкаСтраницы.ТекущаяСтраница = Элементы[ВыбраннаяСтрока.Раздел]; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура НаборКонстантРежимРаботыПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененРежимРаботыПриложения"); + + ОбновитьИнтерфейс(); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантПоказыватьПредпросмотрВСпискеЗадачПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантХранитьЗаписиКалендаряВТечениеПериодаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененПериодХраненияЗаписейКалендаря", НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантАдресЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПользовательЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПарольПользователяПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантИспользоватьФоновуюСинхронизациюПриИзменении(Элемент) + + Если НаборКонстант.ИспользоватьФоновуюСинхронизацию + И Не НаборКонстант.ОтправлятьДанныеСразу Тогда + НаборКонстант.ОтправлятьДанныеСразу = Истина; + КонецЕсли; + + ЗаписатьОбъект(); + УстановитьВидимостьПодчиненныхЭлементов(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьТолькоWiFiПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантМаксимальныйРазмерФайлаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастройкиМаксимальногоРазмераФайла(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантОтправлятьДанныеСразуПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВыгружатьПротоколСобытийНаСерверПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодробнаяИнформацияВПротоколеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + + +&НаКлиенте +Процедура НаборКонстантТекущаяУчетнаяЗаписьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОбработчикЗавершения = Новый ОписаниеОповещения("ВыборУчетнойЗаписиЗавершение", ЭтотОбъект); + + ДопПараметры = Новый Структура(); + + ОткрытьФорму("Справочник.УчетныеЗаписи.ФормаВыбора", ДопПараметры, ЭтаФорма,,,, + ОбработчикЗавершения, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодписьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОбработчикЗавершения = Новый ОписаниеОповещения("ВыборПодписиЗавершение", ЭтотОбъект); + + ДопПараметры = Новый Структура(); + + ОткрытьФорму("Справочник.ШаблоныТекстовПисем.ФормаВыбора", ДопПараметры, ЭтаФорма,,,, + ОбработчикЗавершения, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодписьПриОтветеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОбработчикЗавершения = Новый ОписаниеОповещения("ВыборПодписиПриОтветеЗавершение", ЭтотОбъект); + + ДопПараметры = Новый Структура(); + + ОткрытьФорму("Справочник.ШаблоныТекстовПисем.ФормаВыбора", ДопПараметры, ЭтаФорма,,,, + ОбработчикЗавершения, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантКоличествоСтрокТекстаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененыНастройкиКоличествоСтрокТекстаПисем", НаборКонстант.КоличествоСтрокТекстаПисем); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодписьПриИзменении(Элемент) + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастроекПодписи(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВключатьВложенияПриПересылкеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПомечатьПрочтеннымиПриОткрытииПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененаНастройкаАвтоПрочтения"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантХранитьПисьмаВТечениеПериодаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененПериодХранения", НаборКонстант.ХранитьПисьмаВТечениеПериода); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантТекущаяУчетнаяЗаписьПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПомечатьПисьмаПрочтеннымиПриПредПросмотреПериодПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПоказыватьПредпросмотрВСпискеПисемПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВключатьВложенияПриОтветеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПоУмолчаниюОтвечатьВсемПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодтверждатьУдалениеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + +&НаКлиенте +Процедура ИспользоватьЛокальныеУведомленияПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Если НаборКонстант.ИспользоватьЛокальныеУведомления Тогда + ЛокальныеУведомленияКлиент.ОбновитьЛокальныеУведомленияНаУстройстве(); + Иначе + ЛокальныеУведомленияКлиент.УдалитьВсеЛокальныеУведомленияНаКлиенте(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура КомандыСинхронизацияПапокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОткрытьФорму("Справочник.ПапкиПисем.Форма.НастройкаСинхронизацииПапок"); + +КонецПроцедуры + +&НаКлиенте +Процедура КомандыСервисВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекДанные = Элементы.КомандыСервис.ТекущиеДанные; + Если ТекДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекДанные.Команда = "ОчиститьСтарые" Тогда + + ОбработкаКомандыОчиститьОтСтарыхДанных(Элемент); + + ИначеЕсли ТекДанные.Команда = "УдалитьВсе" Тогда + + ОбработкаКомандыУдалитьВсеДанные(Элемент); + + ИначеЕсли ТекДанные.Команда = "ОткрытьПротокол" Тогда + + ОбработкаКомандыОткрытьПротокол(Элемент); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьПарольПриИзменении(Элемент) + + // Пользователь включил режим использования пароля + Если НаборКонстант.ИспользоватьПароль Тогда + + // Настраиваем параметры открытия формы + ПараметрыОткрытия = Новый Структура(); + ПараметрыОткрытия.Вставить("Команда", "НастроитьПароль"); + + ОбработчикЗавершенияВводаPINКода = + Новый ОписаниеОповещения("ОбработчикЗавершенияВводаPinКода", ЭтаФорма); + + // Отображаем форму ввода пароля + ОткрытьФорму("ОбщаяФорма.ВводПароля", ПараметрыОткрытия,,,,, + ОбработчикЗавершенияВводаPINКода, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + // Пользователь отключил режим использования пароля + Иначе + + // Очищаем хэш пароля + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты("ХешПароля", 0); + + // Записываем изменения + ЗаписатьОбъект(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура НастройкаСинхронизацииПапок(Команда) + + ОткрытьФорму("Справочник.ПапкиПисем.Форма.НастройкаСинхронизацииПапок"); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаКомандыОчиститьОтСтарыхДанных(Команда) + + ОчисткаБазыДанныхВызовСервера.ВыполнитьОчисткуОтСтарыхДанных(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаКомандыУдалитьВсеДанные(Команда) + + ОчисткаБазыДанныхКлиент.НачатьОчисткуБазыДанных(ЭтаФорма); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаКомандыОткрытьПротокол(Команда) + + ОткрытьФорму("РегистрСведений.ПротоколСобытий.Форма.ФормаСписка"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ЗаполнитьСписокРазделов() + + ОбщегоНазначенияВызовСервера.ЗаполнитьСписокРазделовНастроек(СписокРазделов); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму() + + ЭтаФорма.Закрыть(); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьОбъект() + + Набор = РеквизитФормыВЗначение("НаборКонстант"); + Набор.Записать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Модифицированность = Ложь; + + ОбновитьПовторноИспользуемыеЗначения(); + УстановитьВидимостьПодчиненныхЭлементов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыборУчетнойЗаписиЗавершение(Результат, ДопПараметры) Экспорт + + Если Не Результат = Неопределено Тогда + + НаборКонстант.ОсновнаяУчетнаяЗапись = Результат; + + ЗаписатьОбъект(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыборПодписиЗавершение(Результат, ДопПараметры) Экспорт + + Если Не Результат = Неопределено Тогда + + НаборКонстант.ПодписьДляНовыхПисем = Результат; + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастроекПодписи(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыборПодписиПриОтветеЗавершение(Результат, ДопПараметры) Экспорт + + Если Не Результат = Неопределено Тогда + + НаборКонстант.ПодписьПриОтветеИПересылке = Результат; + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастроекПодписи(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьВидимостьПодчиненныхЭлементов() + + Элементы.НаборКонстантИспользоватьТолькоWiFi.Видимость = НаборКонстант.ИспользоватьФоновуюСинхронизацию; + Элементы.ДекорацияИспользоватьТолькоWiFi.Видимость = НаборКонстант.ИспользоватьФоновуюСинхронизацию; + + Элементы.НаборКонстантОтправлятьДанныеСразу.Видимость = Не НаборКонстант.ИспользоватьФоновуюСинхронизацию; + Элементы.ДекорацияОтправлятьДанныеСразу.Видимость = Не НаборКонстант.ИспользоватьФоновуюСинхронизацию; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияВводаPinКода(Результат, ДопПараметры) Экспорт + + Если Результат = Истина Тогда + НаборКонстант.ИспользоватьПароль = Истина; + Иначе + НаборКонстант.ИспользоватьПароль = Ложь; + КонецЕсли; + + // Записываем изменения + ЗаписатьОбъект(); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" new file mode 100644 index 0000000..073938b --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" @@ -0,0 +1,23 @@ + + + + + НастройкиТелефон + + + ru + Настройки телефон + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" new file mode 100644 index 0000000..59fd0a0 --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" @@ -0,0 +1,191 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройки</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Settings</v8:content> + </v8:item> + + false + Top + useIfNecessary + + Abort + Cancel + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + + + + ОбработкаОповещения + ПриСозданииНаСервере + + + + List + false + false + 1 + UseHeightInFormRows + Row +
false
+ false + true + true + true + AsFile + СписокРазделов + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + ShowMultipleSelection + ShowRowRearrangement + SortListAsc + SortListDesc + + + + + false + + + + + СписокРазделов + SearchStringRepresentation + + + + + + + СписокРазделов + ViewStatusRepresentation + + + + + + + СписокРазделов + SearchControl + + + + + + СписокРазделовВыбор + + + + СписокРазделов.Описание + EnterOnInput + + + + +
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Список разделов</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Раздел</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Картинка</v8:content> + </v8:item> + + + v8ui:Picture + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + + + НаборКонстантАдресЦентральнойБазы + + + НаборКонстантПользовательЦентральнойБазы + + + + + true + Equal + true + + + + + Отображать + false + + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form/Module.bsl" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form/Module.bsl" new file mode 100644 index 0000000..1073d5d --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form/Module.bsl" @@ -0,0 +1,56 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ЗаполнитьСписокРазделов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" + Или ИмяСобытия = "ВыполненоПолноеУдаление" Тогда + Закрыть(); + + ИначеЕсли ИмяСобытия = "ИзмененРежимРаботыПриложения" Тогда + ЗаполнитьСписокРазделов(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийТабличнойЧастиСписокРазделов + +&НаСервере +Процедура ЗаполнитьСписокРазделов() + + ОбщегоНазначенияВызовСервера.ЗаполнитьСписокРазделовНастроек(СписокРазделов); + +КонецПроцедуры + +&НаКлиенте +Процедура СписокРазделовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ВыбраннаяСтрока = Элементы.СписокРазделов.ТекущиеДанные; + + Если ВыбраннаяСтрока = Неопределено Тогда + Возврат; + КонецЕсли; + + ПараметрыФормы = Новый Структура(); + ПараметрыФормы.Вставить("Раздел", ВыбраннаяСтрока.Раздел); + ПараметрыФормы.Вставить("Заголовок", ВыбраннаяСтрока.Описание); + + ОткрытьФорму("ОбщаяФорма.НастройкиТелефонСтраницы", ПараметрыФормы, ЭтаФорма); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.xml" new file mode 100644 index 0000000..3fda6ed --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213.xml" @@ -0,0 +1,23 @@ + + + + + НастройкиТелефонСтраницы + + + ru + Настройки телефон страницы + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form.xml" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form.xml" new file mode 100644 index 0000000..9c2b98f --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form.xml" @@ -0,0 +1,1980 @@ + +
+ false + + + ОбработкаОповещения + ПриСозданииНаСервере + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Режим работы</v8:content> + </v8:item> + + + + ru + Режим работы + + + Vertical + false + false + + + + + + ru + Группа режим работы + + + Vertical + None + + + + 1/0:976e88bf-d5cd-4358-b647-2388ef48b3c9 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Режим работы</v8:content> + </v8:item> + + style:FieldTextColor + Top + true + true + true + false + false + + + + 0 + + + + ru + Обычный + + + en + Ordinary + + + true + + + + + 0 + + + + ru + Рассмотрение документов + + + en + Documents reviewal + + + false + + + + web:Gray + + + + НаборКонстантРежимРаботыПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>• В обычном режиме доступно использование почты, задач и поручений, просмотр записей календаря, и постановка на контроль. +• В режиме рассмотрения документов почта, задачи и поручения, записи календаря и постановка на контроль будут недоступны. + +<color Red>Внимание: при изменении режима будет произведен переход к рабочему столу приложения.</> +</v8:content> + </v8:item> + + + + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Почта</v8:content> + </v8:item> + + + + ru + Почта + + + false + Vertical + false + false + + + + Vertical + false + + + + 1/0:f5a65a87-56d8-42ba-b13c-72e650c5c17d + style:FieldTextColor + + Top + None + Left + true + false + false + web:DimGray + + + + web:DimGray + + + + НаборКонстантТекущаяУчетнаяЗаписьПриИзменении + НаборКонстантТекущаяУчетнаяЗаписьНачалоВыбора + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Учетная запись, с которой по умолчанию будут отправляться новые письма.</v8:content> + </v8:item> + + + + + + 1/0:91cbcd37-2ae7-4c27-9298-2b509efe0674 + style:FieldTextColor + + Top + None + Left + true + true + false + + + + 0 + + + + ru + Всегда + + + en + Always + + + -1 + + + + + 0 + + + + ru + 1 день + + + en + 1 day + + + 86400 + + + + + 0 + + + + ru + 7 дней + + + en + 7 days + + + 604800 + + + + + 0 + + + + ru + 30 дней + + + en + 30 days + + + 2592000 + + + + + 0 + + + + ru + 6 месяцев + + + en + 6 months + + + 15552000 + + + + + 0 + + + + ru + 1 год + + + en + 1 year + + + 31536000 + + + + web:DimGray + + + + web:DimGray + + + + НаборКонстантХранитьПисьмаВТечениеПериодаПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>При истечении указанного срока письма будут удаляться с этого устройства.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Letters will be removed from the device after the specified period</v8:content> + </v8:item> + + + + + + 1/0:abc26072-cf0e-4156-8da6-68e6a5fcbbc0 + true + style:FieldTextColor + + Top + ShowBottom + Left + true + true + false + + + + 0 + + + + ru + 2 строки + + + en + 2 lines + + + 2 + + + + + 0 + + + + ru + 3 строки + + + en + 3 lines + + + 3 + + + + + 0 + + + + ru + 4 строки + + + en + 4 lines + + + 4 + + + + + 0 + + + + ru + 5 строк + + + en + 5 lines + + + 5 + + + + + 0 + + + + ru + 6 строк + + + en + 6 lines + + + 6 + + + + web:DimGray + + + + web:DimGray + + + + НаборКонстантКоличествоСтрокТекстаПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Количество строк текста письма, отображаемых в списке писем.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Quantity of the lines of the text of the letter displayed in the list.</v8:content> + </v8:item> + + + + + + + + + + ru + Группа флаги писем + + + Vertical + None + false + + + + + + + + НаборКонстант.ПоУмолчаниюОтвечатьВсем + style:FieldTextColor + Tumbler + + + + НаборКонстантПоУмолчаниюОтвечатьВсемПриИзменении + + + + НаборКонстант.ВключатьВложенияПриОтвете + style:FieldTextColor + + Tumbler + + + + НаборКонстантВключатьВложенияПриОтветеПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройка того, включать ли вложения исходного письма при ответе на него.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ВключатьВложенияПриПересылке + style:FieldTextColor + + Tumbler + + + + НаборКонстантВключатьВложенияПриПересылкеПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройка того, включать ли вложения исходного письма при пересылке.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ПомечатьПрочтеннымиПриОткрытии + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>При открытии письма помечать прочитанным</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Mark as read when opening</v8:content> + </v8:item> + + style:FieldTextColor + + Tumbler + + + + НаборКонстантПомечатьПрочтеннымиПриОткрытииПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Помечать или не помечать письмо прочтенным при его открытии из списка писем.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ПомечатьПисьмаПрочтеннымиПриПредПросмотреПериод + false + style:FieldTextColor + + Tumbler + + + + НаборКонстантПомечатьПисьмаПрочтеннымиПриПредПросмотреПериодПриИзменении + + + + false + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то письмо будет помечено прочтенным через 3 секунды после выделения его в списке писем.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ПодтверждатьУдаление + + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Ask before deleting</v8:content> + </v8:item> + + style:FieldTextColor + Tumbler + + + + НаборКонстантПодтверждатьУдалениеПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при удаление объектов будет запрошено явное подтверждение.</v8:content> + </v8:item> + + Top + + + + + + + + + ru + Подписи + + + Vertical + + + ru + подписи (Свернуто) + + + None + + + + 1/0:af42fa68-d098-447f-9578-c62f3319c76c + style:FieldTextColor + + Top + 1 + true + false + false + false + web:DimGray + + + + + НаборКонстантПодписьПриИзменении + + + + 1/0:231dfdb7-02b4-45e6-a5f2-560b5f785683 + style:FieldTextColor + + Top + 1 + true + false + false + false + web:DimGray + + + + + НаборКонстантПодписьПриИзменении + + + + + + + + ru + Группа синхронизация папок + + + Vertical + None + + + + List + 1 + 1 + 1 +
false
+ true + false + true + true + AsFile + КомандыСинхронизацииПапок + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + SelectAll + ShowMultipleSelection + ShowRowRearrangement + SortListAsc + SortListDesc + + + + + false + + + + + КомандыСинхронизацииПапок + SearchStringRepresentation + + + + + + + КомандыСинхронизацииПапок + ViewStatusRepresentation + + + + + + + КомандыСинхронизацииПапок + SearchControl + + + + + + КомандыСинхронизацииПапокВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды синхронизации первая колонка</v8:content> + </v8:item> + + + + ru + Команды синхронизации первая колонка + + + + + + КомандыСинхронизацииПапок.Представление + EnterOnInput + 1 + + + + + КомандыСинхронизацииПапок.Пояснение + EnterOnInput + 2 + web:Gray + + + + + + + +
+
+
+
+
+ + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Задачи</v8:content> + </v8:item> + + + + ru + Задачи + + + false + Vertical + false + false + + + + + + ru + Группа интерфейс раздела задачи + + + Vertical + + + + НаборКонстант.ПоказыватьПредпросмотрВСпискеЗадач + style:FieldTextColor + + Left + ShowBottom + Tumbler + + + + НаборКонстантПоказыватьПредпросмотрВСпискеЗадачПриИзменении + + + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content><fontsize 7><color DimGray>Если включено, то справа от списка задач будет отображаться описание задачи и список предметов.</></> +<fontsize 7><colorstyle -16>Важно: п</></><fontsize 7><colorstyle -16>осле изменения необходимо перейти в рабочий стол, а затем заново открыть список задач</></><fontsize 7><colorstyle -16>.</></></v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>If switched on, task preview will be present in the task list +<bgcolorstyle -10><colorstyle -16>Task list must be reopen after change of settings</></></v8:content> + </v8:item> + + Top + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Календарь</v8:content> + </v8:item> + + + + ru + Настройка календаря + + + false + Vertical + false + false + + + + + + ru + Группа основные параметры календаря + + + Vertical + + + + 1/0:cfe36fc6-f878-40fa-80d9-e96cbe3e63f0 + style:FieldTextColor + + Top + ShowBottom + Left + true + true + false + + + + 0 + + + + ru + Всегда + + + en + Always + + + -1 + + + + + 0 + + + + ru + 1 день + + + en + 1 day + + + 86400 + + + + + 0 + + + + ru + 7 дней + + + en + 7 days + + + 604800 + + + + + 0 + + + + ru + 30 дней + + + en + 30 days + + + 2592000 + + + + + 0 + + + + ru + 6 месяцев + + + en + 6 month + + + 15552000 + + + + + 0 + + + + ru + 1 год + + + en + 1 year + + + 31536000 + + + + web:DimGray + + + + web:DimGray + + + + НаборКонстантХранитьЗаписиКалендаряВТечениеПериодаПриИзменении + + + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>При истечении указанного срока записи календаря будут удаляться с этого устройства.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>After the specified period, records will be removed from device/</v8:content> + </v8:item> + + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + + + + ru + Подключение + + + false + Vertical + false + false + + + + + + ru + Группа подключение + + + Vertical + None + + + + НаборКонстант.АдресЦентральнойБазы + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес для подключения</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Connection addres</v8:content> + </v8:item> + + style:FieldTextColor + + Top + ShowBottom + web:DimGray + + + + web:DimGray + + + + НаборКонстантАдресЦентральнойБазыПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес вводится такой же, как при работе в браузере. Например, https://servername.org/DOPublication</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>The address of a database, same, as during the work in the browser. For example, https://servername.org/DOPublication</v8:content> + </v8:item> + + + + + + НаборКонстант.ПользовательЦентральнойБазы + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Логин</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Login</v8:content> + </v8:item> + + style:FieldTextColor + + Top + web:DimGray + + + + + НаборКонстантПользовательЦентральнойБазыПриИзменении + + + + НаборКонстант.ПарольПользователя + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пароль</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Password</v8:content> + </v8:item> + + style:FieldTextColor + + Top + true + web:DimGray + + + + + НаборКонстантПарольПользователяПриИзменении + + + + + + ru + Группа максимальный размер файла + + + Vertical + None + + + + НаборКонстант.МаксимальныйРазмерФайла + true + style:FieldTextColor + + Top + ShowBottom + true + true + false + false + + + + 0 + + + + ru + Загружать только заголовки + + + en + Headers only + + + 1 + + + + + 0 + + + + ru + 100 кб + + + en + 100 Kb + + + 100 + + + + + 0 + + + + ru + 200 кб + + + en + 200 Kb + + + 200 + + + + + 0 + + + + ru + 300 кб + + + en + 300 Kb + + + 300 + + + + + 0 + + + + ru + 400 кб + + + en + 400 Kb + + + 400 + + + + + 0 + + + + ru + 500 кб + + + en + 500 Kb + + + 500 + + + + + 0 + + + + ru + 1 мб + + + en + 1 Mb + + + 1024 + + + + + 0 + + + + ru + 2 мб + + + en + 2 Mb + + + 2048 + + + + + 0 + + + + ru + Загружать полностью + + + en + Load completely + + + 0 + + + + web:DimGray + + + + web:DimGray + + + + НаборКонстантМаксимальныйРазмерФайлаПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройка максимального размера для файлов, которые будут полностью передаваться на мобильный клиент. Файлы большего размера будут загружены при открытии.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>The maximum size for files which will be transferred completely on the mobile client. Files of the bigger size will be downloaded when opening.</v8:content> + </v8:item> + + + + + + + + + + + + ru + Группа фоновая синхронизация + + + Vertical + None + + + + НаборКонстант.ИспользоватьФоновуюСинхронизацию + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновая синхронизация</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Background sync</v8:content> + </v8:item> + + style:FieldTextColor + Tumbler + + + + НаборКонстантИспользоватьФоновуюСинхронизациюПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>При старте приложения обмен будет запускаться автоматически.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Sync will be launch automaticaly at startup.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ИспользоватьТолькоWiFi + style:FieldTextColor + Tumbler + + + + НаборКонстантИспользоватьТолькоWiFiПриИзменении + + + + true + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разрешить фоновую загрузку данных только при наличии Wi-Fi.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Allow update the content in the background only if Wi-Fi accessible.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ОтправлятьДанныеСразу + style:FieldTextColor + + Tumbler + + + + НаборКонстантОтправлятьДанныеСразуПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при записи новых писем будет выполнена попытка отправить их на сервер сразу, не дожидаясь следующего сеанса синхронизации.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>If switched on, new emails will attempt to send them to the server directly, without waiting for the following synchronization session.</v8:content> + </v8:item> + + Top + + + + + + + + + ru + Группа флаги + + + Vertical + None + + + + НаборКонстант.ПодробнаяИнформацияОСинхронизации + style:FieldTextColor + + Tumbler + + + + НаборКонстантПодробнаяИнформацияВПротоколеПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при синхронизации в протокол будет записываться подробная техническая информация, которая поможет при разборе ошибок.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>If switched on, collect detailed technical information which will help at analysis of mistakes.</v8:content> + </v8:item> + + Top + + + + + НаборКонстант.ВыгружатьПротоколСобытийНаСервер + style:FieldTextColor + + Tumbler + + + + НаборКонстантВыгружатьПротоколСобытийНаСерверПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то при синхронизации на сервер будут отправляться записи протокола работы клиента. Они будут доступны администратору для диагностики работы. Для экономии трафика выгрузку можно отключить.</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>If switched on, event protocol will be send to the server. They will be available to the administrator for diagnostics.</v8:content> + </v8:item> + + Top + + + + + + + + + ru + Группа пароль + + + Vertical + None + + + + НаборКонстант.ИспользоватьПароль + style:FieldTextColor + Tumbler + + + + НаборКонстантИспользоватьПарольПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Приложение будет запрашивать пароль при запуске</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>The program will request the password at start</v8:content> + </v8:item> + + + + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Уведомления</v8:content> + </v8:item> + + + + ru + Уведомления + + + false + Vertical + false + false + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>События на сервере</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Server events</v8:content> + </v8:item> + + + + ru + Группа push уведомления + + + Vertical + + + + РазрешитьPushУведомления + style:FieldTextColor + Tumbler + + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то с сервера на устройство будут приходить Push-уведомления о событиях требующих вашего внимания </v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Push-notifications will appears on device when new events appears on server</v8:content> + </v8:item> + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>События на устройстве</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Local events</v8:content> + </v8:item> + + + + ru + Уведомления + + + Vertical + + + + НаборКонстант.ИспользоватьЛокальныеУведомления + style:FieldTextColor + Tumbler + + + + ИспользоватьЛокальныеУведомленияПриИзменении + + + + web:DimGray + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Если включено, то на устройстве можно установить уведомления о событиях требующих вашего внимания</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Notifications will appears on device when you need</v8:content> + </v8:item> + + + + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сервис</v8:content> + </v8:item> + + + + ru + Сервис + + + Vertical + false + false + + + + List + None + false + false + 1 + UseHeightInFormRows + SingleRow + Row +
false
+ true + true + true + AsFile + КомандыСервис + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + ShowRowRearrangement + SortListAsc + SortListDesc + + None + + + + false + + + + + КомандыСервис + SearchStringRepresentation + + + + + + + КомандыСервис + ViewStatusRepresentation + + + + + + + КомандыСервис + SearchControl + + + + + + КомандыСервисВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды сервис первая колонка</v8:content> + </v8:item> + + + + ru + Команды сервис первая колонка + + + 4 + false + + + + КомандыСервис.Представление + EnterOnInput + 1 + false + + + + + КомандыСервис.Пояснение + EnterOnInput + 3 + false + web:DarkGray + + + + + + + +
+
+
+
+ + + + cfg:ConstantsSet + + + НаборКонстант.АдресЦентральнойБазы + НаборКонстант.ИспользоватьТолькоWiFi + НаборКонстант.ИспользоватьФоновуюСинхронизацию + НаборКонстант.ОтправлятьДанныеСразу + НаборКонстант.ПоУмолчаниюОтвечатьВсем + НаборКонстант.ПользовательЦентральнойБазы + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды сервис</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Представление</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды синхронизации папок</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Представление</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разрешить уведомления</v8:content> + </v8:item> + + + xs:boolean + + true + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Синхронизация папок писем...</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Folders synchronization...</v8:content> + </v8:item> + + + + ru + Настройка синхронизации папок + + + НастройкаСинхронизацииПапок + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form/Module.bsl" "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form/Module.bsl" new file mode 100644 index 0000000..8cf5c63 --- /dev/null +++ "b/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\265\320\273\320\265\321\204\320\276\320\275\320\241\321\202\321\200\320\260\320\275\320\270\321\206\321\213/Ext/Form/Module.bsl" @@ -0,0 +1,436 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Если Параметры.Свойство("Раздел") Тогда + Элементы[Параметры.Раздел].Видимость = Истина; + Иначе + Отказ = Истина; + Возврат; + КонецЕсли; + + Заголовок = Параметры.Заголовок; + + Набор = Константы.СоздатьНабор(); + Набор.Прочитать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Если Не ЭтоУстройствоСБольшимЭкраном() Тогда + + Элементы.НаборКонстантПоказыватьПредпросмотрВСпискеЗадач.Видимость = Ложь; + Элементы.ДекорацияПредпросмотрЗадач.Видимость = Ложь; + + Элементы.НаборКонстантПомечатьПисьмаПрочтеннымиПриПредПросмотреПериод.Видимость = Ложь; + Элементы.ДекорацияПрочтениеПриПросмотре.Видимость = Ложь; + + КонецЕсли; + + ОбщегоНазначенияСервер.ЗаполнитьСписокКомандВРазделеПочта(КомандыСинхронизацииПапок); + ОбщегоНазначенияСервер.ЗаполнитьСписокКомандВРазделеСервис(КомандыСервис); + + УстановитьВидимостьЭлементов(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" + Или ИмяСобытия = "ВыполненоПолноеУдаление" Тогда + + Закрыть(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + + +&НаКлиенте +Процедура НаборКонстантРежимРаботыПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененРежимРаботыПриложения"); + + ОбновитьИнтерфейс(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПоказыватьПредпросмотрВСпискеЗадачПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантХранитьЗаписиКалендаряВТечениеПериодаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененПериодХраненияЗаписейКалендаря", НаборКонстант.ХранитьЗаписиКалендаряВТечениеПериода); + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантАдресЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПользовательЦентральнойБазыПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПарольПользователяПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьФоновуюСинхронизациюПриИзменении(Элемент) + + Если НаборКонстант.ИспользоватьФоновуюСинхронизацию + И Не НаборКонстант.ОтправлятьДанныеСразу Тогда + НаборКонстант.ОтправлятьДанныеСразу = Истина; + КонецЕсли; + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьТолькоWiFiПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантМаксимальныйРазмерФайлаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастройкиМаксимальногоРазмераФайла(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантОтправлятьДанныеСразуПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВыгружатьПротоколСобытийНаСерверПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодробнаяИнформацияВПротоколеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + + + +&НаКлиенте +Процедура НаборКонстантТекущаяУчетнаяЗаписьНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОбработчикЗавершения = Новый ОписаниеОповещения("ВыборУчетнойЗаписиЗавершение", ЭтотОбъект); + + ДопПараметры = Новый Структура(); + + ОткрытьФорму("Справочник.УчетныеЗаписи.ФормаВыбора", ДопПараметры, ЭтаФорма,,,, + ОбработчикЗавершения, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантКоличествоСтрокТекстаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененыНастройкиКоличествоСтрокТекстаПисем", НаборКонстант.КоличествоСтрокТекстаПисем); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодписьПриИзменении(Элемент) + + ЗаписатьОбъект(); + + ОбщегоНазначенияВызовСервера.ОтразитьФактИзмененияНастроекПодписи(); + + Оповестить("ПоявилисьНеотправленныеДанные"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВключатьВложенияПриПересылкеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПомечатьПрочтеннымиПриОткрытииПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененаНастройкаАвтоПрочтения"); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантХранитьПисьмаВТечениеПериодаПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Оповестить("ИзмененПериодХранения", НаборКонстант.ХранитьПисьмаВТечениеПериода); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантТекущаяУчетнаяЗаписьПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПомечатьПисьмаПрочтеннымиПриПредПросмотреПериодПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВключатьВложенияПриОтветеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПоУмолчаниюОтвечатьВсемПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура ИспользоватьЛокальныеУведомленияПриИзменении(Элемент) + + ЗаписатьОбъект(); + + Если НаборКонстант.ИспользоватьЛокальныеУведомления Тогда + ЛокальныеУведомленияКлиент.ОбновитьЛокальныеУведомленияНаУстройстве(); + Иначе + ЛокальныеУведомленияКлиент.УдалитьВсеЛокальныеУведомленияНаКлиенте(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьПарольПриИзменении(Элемент) + + // Пользователь включил режим использования пароля + Если НаборКонстант.ИспользоватьПароль Тогда + + // Настраиваем параметры открытия формы + ПараметрыОткрытия = Новый Структура(); + ПараметрыОткрытия.Вставить("Команда", "НастроитьПароль"); + + ОбработчикЗавершенияВводаPINКода = + Новый ОписаниеОповещения("ОбработчикЗавершенияВводаPinКода", ЭтаФорма); + + // Отображаем форму ввода пароля + ОткрытьФорму("ОбщаяФорма.ВводПароля", ПараметрыОткрытия,,,,, + ОбработчикЗавершенияВводаPINКода, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + // Пользователь отключил режим использования пароля + Иначе + + // Очищаем хэш пароля + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты("ХешПароля", 0); + + // Записываем изменения + ЗаписатьОбъект(); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийТабличныхПолей + +&НаКлиенте +Процедура КомандыСинхронизацииПапокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОткрытьФорму("Справочник.ПапкиПисем.Форма.НастройкаСинхронизацииПапок"); + +КонецПроцедуры + +&НаКлиенте +Процедура КомандыСервисВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекДанные = Элементы.КомандыСервис.ТекущиеДанные; + Если ТекДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекДанные.Команда = "ОчиститьСтарые" Тогда + + ОчиститьОтСтарыхДанных(Элемент); + + ИначеЕсли ТекДанные.Команда = "УдалитьВсе" Тогда + + УдалитьВсеДанные(Элемент); + + ИначеЕсли ТекДанные.Команда = "ОткрытьПротокол" Тогда + + ОткрытьПротокол(Элемент); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура НастройкаСинхронизацииПапок(Команда) + + ОткрытьФорму("Справочник.ПапкиПисем.Форма.НастройкаСинхронизацииПапок"); + +КонецПроцедуры + +&НаКлиенте +Процедура ОчиститьОтСтарыхДанных(Команда) + + ОчисткаБазыДанныхВызовСервера.ВыполнитьОчисткуОтСтарыхДанных(); + +КонецПроцедуры + +&НаКлиенте +Процедура УдалитьВсеДанные(Команда) + + ОчисткаБазыДанныхКлиент.НачатьОчисткуБазыДанных(ЭтаФорма); + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьПротокол(Команда) + + ОткрытьФорму("РегистрСведений.ПротоколСобытий.Форма.ФормаСписка"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ЗакрытьФорму() + + ЭтаФорма.Закрыть(); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьОбъект() + + Набор = РеквизитФормыВЗначение("НаборКонстант"); + Набор.Записать(); + + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Модифицированность = Ложь; + + УстановитьВидимостьЭлементов(); + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыборУчетнойЗаписиЗавершение(Результат, ДопПараметры) Экспорт + + Если Не Результат = Неопределено Тогда + + НаборКонстант.ОсновнаяУчетнаяЗапись = Результат; + + ЗаписатьОбъект(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантПодтверждатьУдалениеПриИзменении(Элемент) + + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияВводаPinКода(Результат, ДопПараметры) Экспорт + + Если Результат = Истина Тогда + НаборКонстант.ИспользоватьПароль = Истина; + Иначе + НаборКонстант.ИспользоватьПароль = Ложь; + КонецЕсли; + + // Записываем изменения + ЗаписатьОбъект(); + +КонецПроцедуры + +&НаСервере +Процедура УстановитьВидимостьЭлементов() + + Элементы.НаборКонстантИспользоватьТолькоWiFi.Видимость = НаборКонстант.ИспользоватьФоновуюСинхронизацию; + Элементы.ДекорацияИспользоватьТолькоWiFi.Видимость = НаборКонстант.ИспользоватьФоновуюСинхронизацию; + + Элементы.НаборКонстантОтправлятьДанныеСразу.Видимость = Не НаборКонстант.ИспользоватьФоновуюСинхронизацию; + Элементы.ДекорацияОтправлятьДанныеСразу.Видимость = Не НаборКонстант.ИспользоватьФоновуюСинхронизацию; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221.xml" "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221.xml" new file mode 100644 index 0000000..e39de32 --- /dev/null +++ "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221.xml" @@ -0,0 +1,23 @@ + + + + + ОбновлениеИБ + + + ru + Обновление ИБ + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form.xml" "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form.xml" new file mode 100644 index 0000000..fd0fade --- /dev/null +++ "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form.xml" @@ -0,0 +1,43 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обновление данных</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Updating database</v8:content> + </v8:item> + + false + + false + + + ОбработкаОповещения + ПриСозданииНаСервере + + + + 6 + true + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обновление...</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Updating database +Please wait...</v8:content> + </v8:item> + + Center + + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form/Module.bsl" "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form/Module.bsl" new file mode 100644 index 0000000..57b17ca --- /dev/null +++ "b/CommonForms/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\221/Ext/Form/Module.bsl" @@ -0,0 +1,34 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ТекстСообщения = + НСтр("ru = 'Выполняется обновление на версию ""%1"". + |Это может занять несколько минут. + | + |Пожалуйста, подождите...'; + |en = + |'Updating on the version ""%1"" in process. + |It can take a few minutes. + | + |Please, wait...'"); + + ТекстЗаголовка = СтрШаблон( + ТекстСообщения, Метаданные.Версия); + + Элементы.Обновление.Заголовок = ТекстЗаголовка; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновлениеЗавершено" Тогда + Закрыть(); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" new file mode 100644 index 0000000..1184f5e --- /dev/null +++ "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" @@ -0,0 +1,23 @@ + + + + + ОтображениеПротоколаСобытий + + + ru + Отображение протокола событий + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" new file mode 100644 index 0000000..943c54b --- /dev/null +++ "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" @@ -0,0 +1,43 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Протокол событий</v8:content> + </v8:item> + + false + useIfNecessary + + + ПриСозданииНаСервере + + + + Текст + None + true + true + true + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текст</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" new file mode 100644 index 0000000..f83fea0 --- /dev/null +++ "b/CommonForms/\320\236\321\202\320\276\320\261\321\200\320\260\320\266\320\265\320\275\320\270\320\265\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" @@ -0,0 +1,13 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("Текст") Тогда + Текст = Параметры.Текст; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" new file mode 100644 index 0000000..9920d5b --- /dev/null +++ "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260.xml" @@ -0,0 +1,23 @@ + + + + + Поддержка + + + ru + Поддержка + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form.xml" "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form.xml" new file mode 100644 index 0000000..928d58d --- /dev/null +++ "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form.xml" @@ -0,0 +1,217 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Поддержка</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Support</v8:content> + </v8:item> + + false + + + ПриСозданииНаСервере + ПриИзмененииПараметровЭкрана + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа список команд</v8:content> + </v8:item> + + + + ru + Группа список команд + + + Vertical + None + false + + + + List + None + false + false + 1 + UseHeightInFormRows + SingleRow + Row +
false
+ true + true + true + AsFile + ТаблицаКоманд + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + ShowRowRearrangement + SortListAsc + SortListDesc + + None + + + + false + + + + + ТаблицаКоманд + SearchStringRepresentation + + + + + + + ТаблицаКоманд + ViewStatusRepresentation + + + + + + + ТаблицаКоманд + SearchControl + + + + + + ТаблицаКомандВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Первая колонка</v8:content> + </v8:item> + + + + ru + Первая колонка + + + + + + ТаблицаКоманд.ОписаниеКоманды + EnterOnInput + 1 + + + + + ТаблицаКоманд.Пояснение + EnterOnInput + 4 + web:DimGray + + + + + + + +
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Ссылка для отзыва в магазине</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица команд</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание команды</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пояснение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form/Module.bsl" "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form/Module.bsl" new file mode 100644 index 0000000..d930017 --- /dev/null +++ "b/CommonForms/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\272\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,105 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "ГруппаФэйсбук"; + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Наша группа Facebook'; en = 'Follow us on Facebook'"); + СтрокаТаб.Пояснение = + НСтр("ru = 'Присоединяйтесь к живому общению вместе с вашими коллегами и командой разработки в социальной сети Facebook.'"); + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "ГруппаВКонтакте"; + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Наша группа ВКонтакте'; en = 'Follow us on VKontakte'"); + СтрокаТаб.Пояснение = + НСтр("ru = 'Присоединяйтесь к живому общению вместе с вашими коллегами и командой разработки в социальной сети ВКонтакте.'"); + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "НаписатьОтзыв"; + + ТипОС = ВРег(Константы.ИмяОперационнойСистемы.Получить()); + Если ТипОС = "IOS" Тогда + СсылкаДляОтзываВМагазине = + "itms-apps://itunes.apple.com/ru/app/1c-dokumentooborot/id1119102464?l=ru&ls=1&mt=8"; + + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Оставить отзыв в Apple AppStore'; en = 'Rate in Apple AppStore'"); + + ИначеЕсли ТипОС = "ANDROID" Тогда + СсылкаДляОтзываВМагазине = + "market://details?id=com.e1c.mobiledocman21"; + + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Оставить отзыв в Google Play'; en = 'Rate in Google Play'"); + + Иначе + СсылкаДляОтзываВМагазине = + "https://www.microsoft.com/ru-ru/store/apps/1С-Документооборот-21/9nblggh4wrkz"; + + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Оставить отзыв в WindowsPhone Store'; en = 'Rate in WindowsPhone Store'"); + + КонецЕсли; + + СтрокаТаб.Пояснение = + НСтр("ru = 'Оставьте оценку и отзыв в магазине приложений.'"); + + СтрокаТаб = ТаблицаКоманд.Добавить(); + СтрокаТаб.Команда = "НаписатьРазработчикам"; + СтрокаТаб.ОписаниеКоманды = + НСтр("ru = 'Написать разработчикам'; en = 'Send feedback'"); + СтрокаТаб.Пояснение = + НСтр("ru = 'Напишите разработчикам программы письмо с описанием ошибки, проблемы или предложением.'"); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриИзмененииПараметровЭкрана() + + ПараметрыЭкрана = ЭкранКлиентСервер.ПараметрыЭкрана(); + ШиринаЭкрана = ПараметрыЭкрана[0].Ширина; + ВысотаЭкрана = ПараметрыЭкрана[0].Высота; + + Если ШиринаЭкрана > ВысотаЭкрана Тогда + Элементы.ТаблицаКомандПояснение.Высота = 2; + Иначе + Элементы.ТаблицаКомандПояснение.Высота = 3; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ТаблицаКомандВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекущиеДанные = Элементы.ТаблицаКоманд.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекущиеДанные.Команда = "ГруппаФэйсбук" Тогда + ЗапуститьПриложение("http://www.facebook.com/groups/1C.DOC8"); + + ИначеЕсли ТекущиеДанные.Команда = "ГруппаВКонтакте" Тогда + ЗапуститьПриложение("http://vk.com/1c.doc8"); + + ИначеЕсли ТекущиеДанные.Команда = "НаписатьОтзыв" Тогда + ЗапуститьПриложение(СсылкаДляОтзываВМагазине); + + ИначеЕсли ТекущиеДанные.Команда = "НаписатьРазработчикам" Тогда + ОткрытьФорму("ОбщаяФорма.СообщениеРазработчикам"); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273.xml" "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273.xml" new file mode 100644 index 0000000..d5fe852 --- /dev/null +++ "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273.xml" @@ -0,0 +1,23 @@ + + + + + РабочийСтол + + + ru + Рабочий стол + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form.xml" "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form.xml" new file mode 100644 index 0000000..8045813 --- /dev/null +++ "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form.xml" @@ -0,0 +1,1049 @@ + +
+ false + LeftWide + + Right + false + + + + + + ОбработкаОповещения + ПриОткрытии + ПриСозданииНаСервере + ПриИзмененииПараметровЭкрана + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа элементы рабочего стола</v8:content> + </v8:item> + + + + ru + Группа элементы рабочего стола + + + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа документы на рассмотрение</v8:content> + </v8:item> + + + + ru + Группа документы на рассмотрение + + + Vertical + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа разделы</v8:content> + </v8:item> + + + + ru + Группа разделы + + + None + false + + + + List + None + false + false + 1 + UseHeightInFormRows + SingleRow + Row +
false
+ false + true + true + true + AsFile + Разделы + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + ShowRowRearrangement + SortListAsc + SortListDesc + + PullFromTop + + + + + + + Разделы + SearchStringRepresentation + + + + + + + Разделы + ViewStatusRepresentation + + + + + + + Разделы + SearchControl + + + + + + РазделыВыбор + РазделыОбработкаЗапросаОбновления + + + + Разделы.Картинка + EnterOnInput + 6 + 3 + false + false + Stretch + AsFile + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание раздела</v8:content> + </v8:item> + + + + ru + Разделы группа описание + + + + + + Разделы.Описание + EnterOnInput + true + false + + + + + + Разделы.ВажныеДанные + EnterOnInput + + + + + + + +
+
+
+ + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Список документов</v8:content> + </v8:item> + + + + ru + Список документов + + + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа кнопка обновить</v8:content> + </v8:item> + + + + ru + Группа кнопка обновить + + + None + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обычная</v8:content> + </v8:item> + + + + ru + Обычная + + + Horizontal + Bottom + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа команда обновить обычная</v8:content> + </v8:item> + + + + ru + Группа команда обновить обычная + + + 3 + false + + + + + + + ОписаниеПоследнегоОбновления + None + Left + Center + 1 + true + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Внимание</v8:content> + </v8:item> + + + + ru + Внимание + + + Horizontal + Bottom + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа команда обновить внимание</v8:content> + </v8:item> + + + + ru + Группа команда обновить внимание + + + 3 + false + + + + + + + ОписаниеПоследнегоОбновления + None + Left + Center + true + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>В процессе</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>In process</v8:content> + </v8:item> + + + + ru + Обычная + + + Horizontal + Bottom + + + + 3 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Декорация в процессе</v8:content> + </v8:item> + + + CommonPicture.КомандаОбновитьВПроцессе + true + + AsFile + + + + + ОписаниеПоследнегоОбновления + None + Left + Center + 1 + true + false + + + + + + + + +
+
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание последнего обновления</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Разделы</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Картинка</v8:content> + </v8:item> + + + v8ui:Picture + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание</v8:content> + </v8:item> + + + xs:string + + 50 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя раздела</v8:content> + </v8:item> + + + xs:string + + 50 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Важные данные</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дерево вложений</v8:content> + </v8:item> + + + v8:ValueTree + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Представление</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Ссылка</v8:content> + </v8:item> + + + 1214b66b-938b-4aea-b879-89da61c0c225 + 1f38c39c-f224-4676-b3c9-e7e9e34c5ee6 + d952d788-b2d0-4be6-babb-cb37c30a5859 + db8f7d98-9f24-4d29-99f3-26ae05ca4053 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Только заголовок</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Размер</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Индекс картинки</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Nonnegative + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Можно удалить</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отображаемое имя</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Резолюция:</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текущий документ</v8:content> + </v8:item> + + + db8f7d98-9f24-4d29-99f3-26ae05ca4053 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Большой экран</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Пустая строка</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Один файл имя и расширение</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Один файл размер и заголовок</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Один файл индекс картинки</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Any + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текст резолюции был</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Открываемый файл</v8:content> + </v8:item> + + + 1f38c39c-f224-4676-b3c9-e7e9e34c5ee6 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Это чистая база</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновое задание адрес хранилища</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновое задание идентификатор</v8:content> + </v8:item> + + + v8:UUID + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сведения о загруженных данных</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Инициирована очистка базы</v8:content> + </v8:item> + + + xs:boolean + + + + + + + ДокументыНаРассмотрение + + + + + AndGroup + + БольшойЭкран + Equal + true + + + ДокументыНаРассмотрение.Задача + Equal + ТекущаяЗадача + + + + + + ЦветФона + web:LightGoldenRod + + + + + ru + Для большого экрана подсвечиваем текущий выбранный документ + + + en + Highlight current selected documents on devices with big screen + + + + + + + ДеревоВложений + + + + + AndGroup + + БольшойЭкран + Equal + true + + + ДеревоВложений.ТолькоЗаголовок + Equal + true + + + + + + ЦветТекста + web:Gray + + + + + ru + Файлы загруженные по ссылке отображаем серым + + + + + + + ДокументыНаРассмотрениеДатаСоздания + + + + + ДокументыНаРассмотрение.ДатаСоздания + Greater + + BeginningOfNextDay + + + + + + Формат + + + ru + ДФ=dd.MM + + + + + + + ru + Будущие дни - День и Месяц + + + + + + + ДокументыНаРассмотрениеДатаСоздания + + + + + AndGroup + + ДокументыНаРассмотрение.ДатаСоздания + GreaterOrEqual + + BeginningOfThisDay + + + + ДокументыНаРассмотрение.ДатаСоздания + LessOrEqual + + BeginningOfNextDay + + + + + + + Формат + + + ru + ДФ=HH:mm + + + + + + + ru + Текущий день - Время + + + + + + + ДокументыНаРассмотрениеДатаСоздания + + + + + AndGroup + + ДокументыНаРассмотрение.ДатаСоздания + GreaterOrEqual + + BeginningOfLastWeek + + + + ДокументыНаРассмотрение.ДатаСоздания + LessOrEqual + + BeginningOfThisDay + + + + + + + Формат + + + ru + ДФ='ddd, d.MM' + + + + + + + ru + Прошлая неделя - день недели, День. Месяц + + + + + + + ДокументыНаРассмотрениеДатаСоздания + + + + + ДокументыНаРассмотрение.ДатаСоздания + LessOrEqual + + BeginningOfLastWeek + + + + + + Формат + + + ru + ДФ=d.MM + + + + + + + ru + До прошлой недели - День. Месяц + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Синхронизировать</v8:content> + </v8:item> + + + + ru + Синхронизировать + + + + CommonPicture.КомандаОбновитьСписок + false + + Синхронизировать + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Создать</v8:content> + </v8:item> + + + + ru + Создать + + + Создать + Text + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form/Module.bsl" "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form/Module.bsl" new file mode 100644 index 0000000..b7ce5b1 --- /dev/null +++ "b/CommonForms/\320\240\320\260\320\261\320\276\321\207\320\270\320\271\320\241\321\202\320\276\320\273/Ext/Form/Module.bsl" @@ -0,0 +1,339 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + БольшойЭкран = ЭтоУстройствоСБольшимЭкраном(); + ЭтоЧистаяБаза = ОбщегоНазначенияВызовСервера.ЭтоЧистаяБаза(); + ИнициированаОчисткаБазы = ОбщегоНазначенияВызовСервера.ИнициированаОчисткаБазы(); + + ЗаполнитьСписокРазделов(); + + Если БольшойЭкран Тогда + Элементы.РазделыКартинка.Высота = 4; + КонецЕсли; + + Элементы.ГруппаРазделы.Видимость = Истина; + Элементы.Создать.Видимость = Истина; + + Заголовок = НСтр("ru = '1C:Стройка'"); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + ОбработчикОжиданияУстановитьПодписьКДатеОбновления(); + ПодключитьОбработчикОжидания( + "ОбработчикОжиданияУстановитьПодписьКДатеОбновления", 60, Ложь); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьДатуСинхронизации" Тогда + ОбменКлиент.УстановитьПодписьКДатеОбновления( + Элементы, ОписаниеПоследнегоОбновления); + + ИначеЕсли ИмяСобытия = "НачатьСинхронизацию" Тогда + + ОтключитьОбработчикОжидания("ОбработчикОжиданияУстановитьПодписьКДатеОбновления"); + + Параметр.Вставить("ДатаНачалаСинхронизации", ТекущаяДата()); + Параметр.Вставить("УникальныйИдентификатор", УникальныйИдентификатор); + + ЗаданиеЗапущено = + ОбменВызовСервера.ЗапуститьСинхронизациюССерверомВФоне( + Параметр, ФоновоеЗаданиеИдентификатор, ФоновоеЗаданиеАдресХранилища); + + Если ЗаданиеЗапущено Тогда + ПодключитьОбработчикОжидания("ВыполнитьСинхронизациюПроверитьИсполнение", 0.2, Истина); + КонецЕсли; + + ИначеЕсли ИмяСобытия = "ВыполняетсяСинхронизация" Тогда + + Если Не Элементы.ГруппаКнопкаОбновить.ТекущаяСтраница = Элементы.ВПроцессе Тогда + Элементы.ГруппаКнопкаОбновить.ТекущаяСтраница = Элементы.ВПроцессе; + КонецЕсли; + + Если Параметр.ОбновитьДатуСинхронизации Тогда + Оповестить("ОбновитьДатуСинхронизации"); + КонецЕсли; + + Если Параметр.ЗаданиеВыполнено + Или Не Параметр.СообщениеОбОшибке = Неопределено Тогда + ОбменКлиент.ЗавершитьСинхронизацию(ЭтаФорма, СведенияОЗагруженныхДанных); + Иначе + ПодключитьОбработчикОжидания("ВыполнитьСинхронизациюПроверитьИсполнение", 2, Истина); + КонецЕсли; + + ИначеЕсли ИмяСобытия = "СинхронизацияЗавершена" Тогда + ЗаполнитьСписокРазделов(); + + ПодключитьОбработчикОжидания("ОбработчикОжиданияУстановитьПодписьКДатеОбновления", 60, Ложь); + + ИначеЕсли ИмяСобытия = "ВыполненоПодключениеКЦентральнойБазе" Тогда + + ОбменВызовСервера.ВыполнитьДействияПослеПервогоПодключенияКСерверу(); + + ЛокальныеУведомленияКлиент.ОбновитьЛокальныеУведомленияНаУстройстве(); + + ОбменКлиент.УстановитьПодписьКДатеОбновления( + Элементы, ОписаниеПоследнегоОбновления); + + ИначеЕсли ИмяСобытия = "ПовторитьСинхронизацию" Тогда + ОбменКлиент.НачатьСинхронизацию(ЭтаФорма); + + ИначеЕсли ИмяСобытия = "ПоявилисьНеотправленныеДанные" Тогда + + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "ЕстьНеотправленныеДанные", Истина); + + ЛокальныеУведомленияКлиент.ОбновитьЛокальныеУведомленияНаУстройстве(); + + ОбменКлиент.УстановитьПодписьКДатеОбновления( + Элементы, ОписаниеПоследнегоОбновления); + + ЗаполнитьСписокРазделов(); + + ИначеЕсли ИмяСобытия = "СоздатьУведомления" Тогда + ЛокальныеУведомленияКлиент.ОбновитьЛокальныеУведомленияНаУстройстве(); + + ИначеЕсли ИмяСобытия = "ОтправитьПисьмоВЦентральнуюБазу" Тогда + ОтправитьОдиночноеПисьмо(Параметр); + + ИначеЕсли ИмяСобытия = "ВыполненоПолноеУдаление" Тогда + ЗаполнитьСписокРазделов(); + ОбменКлиент.УстановитьПодписьКДатеОбновления( + Элементы, ОписаниеПоследнегоОбновления); + + ИначеЕсли ИмяСобытия = "ВыполненЗапускСистемы" Тогда + + Если ИнициированаОчисткаБазы Тогда + + ОчисткаБазыДанныхКлиент.ПродолжитьОчисткуБазыДанных(); + + Иначе + + Если ЭтоЧистаяБаза Тогда + ПодключитьОбработчикОжидания("ПоказатьФормуНастройкиПодключенияПриЗапуске", 1, Истина); + Иначе + + Если ОпределитьНеобходимостьЗапускаФоновойСинхронизации() Тогда + ОбменКлиент.НачатьСинхронизацию(ЭтаФорма); + КонецЕсли; + + КонецЕсли; + + КонецЕсли + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриИзмененииПараметровЭкрана() + + ПараметрыЭкрана = ЭкранКлиентСервер.ПараметрыЭкрана(); + ШиринаЭкрана = ПараметрыЭкрана[0].Ширина; + ВысотаЭкрана = ПараметрыЭкрана[0].Высота; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Создать(Команда) + + ОткрытьФорму("ОбщаяФорма.СозданиеНового"); + +КонецПроцедуры + +&НаКлиенте +Процедура Синхронизировать(Команда) + + ОбменКлиент.НачатьСинхронизацию(ЭтаФорма); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыРазделы + +&НаКлиенте +Процедура РазделыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + Если Элементы.Разделы.ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Раздел = Элементы.Разделы.ТекущиеДанные.ИмяРаздела; + + ПараметрыВыполненияКоманды = Новый Структура(); + ПараметрыВыполненияКоманды.Вставить("Источник", ЭтаФорма); + ПараметрыВыполненияКоманды.Вставить("Уникальность",Новый УникальныйИдентификатор); + ПараметрыВыполненияКоманды.Вставить("Окно", Неопределено); + + Если НРег(Раздел) = НРег("СписаниеДенежныхСредств") Тогда + ИмяПоказателя = "РабочийСтол.ПерейтиВСписанияДенежныхСредств"; + ПараметрыВыполненияКоманды.Вставить("НавигационнаяСсылка", + "e1cib/navigationpoint/desktop/ОбщаяКоманда.ПерейтиВСписанияДенежныхСредств"); + ОбщегоНазначенияКлиент.ОткрытьРазделСписанияДенежныхСредств(ПараметрыВыполненияКоманды); + + КонецЕсли; + + СборСтатистикиВызовСервера.ЗаписатьПоказатель(ИмяПоказателя); + +КонецПроцедуры + +&НаКлиенте +Процедура РазделыОбработкаЗапросаОбновления() + + ОбменКлиент.НачатьСинхронизацию(ЭтаФорма); + +КонецПроцедуры + +&НаКлиенте +Процедура ДокументыНаРассмотрениеОбработкаЗапросаОбновления() + + ОбменКлиент.НачатьСинхронизацию(ЭтаФорма); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункцииРабочийСтол + +&НаСервере +Процедура ЗаполнитьСписокРазделов() + + Разделы.Очистить(); + + СтрокаРаздела = Разделы.Добавить(); + СтрокаРаздела.Картинка = БиблиотекаКартинок.РазделПочта; + СтрокаРаздела.ИмяРаздела = "СписаниеДенежныхСредств"; + СтрокаРаздела.Описание = ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокСписаниеДенежныхСредств(); + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ЗаполнитьОписаниеОВажныхСобытиях(Объекты, СтрокаРаздела, Описатель1, Описатель2) + + СтрочкаДанных = Объекты.Найти(СтрокаРаздела.ИмяРаздела); + Если Не СтрочкаДанных = Неопределено Тогда + + СтрокаРаздела.ВажныеДанные = ""; + + Если НЕ СтрочкаДанных.Показатель1 = 0 Тогда + СтрокаРаздела.ВажныеДанные = СтрШаблон( + Описатель1 + ": %1", СтрочкаДанных.Показатель1); + КонецЕсли; + + Если НЕ СтрокаРаздела.ВажныеДанные = "" И НЕ СтрочкаДанных.Показатель2 = 0 Тогда + СтрокаРаздела.ВажныеДанные = СтрокаРаздела.ВажныеДанные + Символы.ПС; + КонецЕсли; + + Если НЕ СтрочкаДанных.Показатель2 = 0 Тогда + СтрокаРаздела.ВажныеДанные = СтрокаРаздела.ВажныеДанные + + СтрШаблон( + Описатель2 + ": %1", СтрочкаДанных.Показатель2); + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункцииСинхронизация + +&НаСервере +Функция ОпределитьНеобходимостьЗапускаФоновойСинхронизации() + + Если Не Константы.ИспользоватьФоновуюСинхронизацию.Получить() Тогда + Возврат Ложь; + КонецЕсли; + + #Если МобильноеПриложениеСервер Тогда + + ТипСоединения = ИнформацияОбИнтернетСоединении.ПолучитьТипСоединения(); + + Если ТипСоединения = ТипИнтернетСоединения.НетСоединения Тогда + Возврат Ложь; + ИначеЕсли ТипСоединения = ТипИнтернетСоединения.СотовыеДанные Тогда + Если Константы.ИспользоватьТолькоWiFi.Получить() Тогда + Возврат Ложь; + КонецЕсли; + КонецЕсли; + + #КонецЕсли + + Возврат Истина; + +КонецФункции + +&НаКлиенте +Процедура ОбработчикОжиданияУстановитьПодписьКДатеОбновления() + + // В режиме согласования, если пользователь ввел комментарий - не обновляем дату синхронизации + // т.к это приведет к очистке введенного текста. + ОбменКлиент.УстановитьПодписьКДатеОбновления( + Элементы, ОписаниеПоследнегоОбновления); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьФормуНастройкиПодключенияПриЗапуске() + + Если ЭтоЧистаяБаза Тогда + ОбменКлиент.ПоказатьФормуНастройкиПодключения(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьСинхронизациюНачало() + + ОтключитьОбработчикОжидания("ОбработчикОжиданияУстановитьПодписьКДатеОбновления"); + + ПараметрыЗапуска = Новый Структура(); + ПараметрыЗапуска.Вставить("РежимСинхронизации", "ВыполнитьСинхронизацию"); + ПараметрыЗапуска.Вставить("ДатаНачалаСинхронизации", ТекущаяДата()); + ПараметрыЗапуска.Вставить("ТекущийРаздел", "Desktop"); + + Оповестить("НачатьСинхронизацию", ПараметрыЗапуска); + +КонецПроцедуры + +&НаКлиенте +Процедура ОтправитьОдиночноеПисьмо(Письмо) + + ОтключитьОбработчикОжидания("ОбработчикОжиданияУстановитьПодписьКДатеОбновления"); + + ПараметрыЗапуска = Новый Структура(); + ПараметрыЗапуска.Вставить("РежимСинхронизации", "ОтправитьОдиночноеПисьмо"); + ПараметрыЗапуска.Вставить("ДатаНачалаСинхронизации", ТекущаяДата()); + ПараметрыЗапуска.Вставить("Данные", Письмо); + + Оповестить("НачатьСинхронизацию", ПараметрыЗапуска); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьСинхронизациюПроверитьИсполнение() + + Результат = + ОбменВызовСервера.ПроверитьСостояниеФоновойСинхронизации( + ФоновоеЗаданиеИдентификатор, ФоновоеЗаданиеАдресХранилища, + ОписаниеПоследнегоОбновления); + + Оповестить("ВыполняетсяСинхронизация", Результат) + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" new file mode 100644 index 0000000..f9a9f57 --- /dev/null +++ "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" @@ -0,0 +1,27 @@ + + + + + Синхронизация + + + ru + Синхронизация + + + en + Synchronization + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form.xml" "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form.xml" new file mode 100644 index 0000000..9b12d3a --- /dev/null +++ "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form.xml" @@ -0,0 +1,669 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Синхронизация</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Synchronization</v8:content> + </v8:item> + + false + Horizontal + None + + Abort + Cancel + Close + CustomizeForm + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + + + false + + + ПередЗакрытием + ПриСозданииНаСервере + + + + 1 + 1 + true + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отступ слева</v8:content> + </v8:item> + + AsFile + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа этапы синхронизации</v8:content> + </v8:item> + + + + ru + Группа этапы синхронизации + + + Vertical + Center + None + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа колонки</v8:content> + </v8:item> + + + + ru + Группа колонки + + + Vertical + None + false + + + + Процент + None + 18 + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа этапы управляемые</v8:content> + </v8:item> + + + + ru + Группа этапы управляемые + + + Horizontal + None + false + + + + Vertical + None + false + + + + 15 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Подключение</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Connecting</v8:content> + </v8:item> + + + + + + 15 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Загрузка</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Loading</v8:content> + </v8:item> + + + + + + 15 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обработка</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Processing</v8:content> + </v8:item> + + + + + + + + Vertical + None + false + + + + 2 + 1 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Этап1</v8:content> + </v8:item> + + Proportionally + AsFile + + + + + 2 + 1 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Этап1</v8:content> + </v8:item> + + Proportionally + AsFile + + + + + 2 + 1 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Этап1</v8:content> + </v8:item> + + Proportionally + AsFile + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа новые объекты</v8:content> + </v8:item> + + + + ru + Группа новые объекты + + + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа виды объектов</v8:content> + </v8:item> + + + + ru + Группа виды объектов + + + Vertical + false + + + + 25 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Объекты строительства</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Letters</v8:content> + </v8:item> + + + + + + 25 + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Списание денежных средств</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Letters</v8:content> + </v8:item> + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа счетчики объектов</v8:content> + </v8:item> + + + + ru + Группа счетчики объектов + + + 5 + Vertical + false + + + + 5 + 1 + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>0</v8:content> + </v8:item> + + Center + + + + + 5 + 1 + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>0</v8:content> + </v8:item> + + Center + + + + + + + + + + + + + + + + + 1 + 1 + true + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отступ справа</v8:content> + </v8:item> + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Режим синхронизации</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текущий этап</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание события</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Есть ошибки</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текущая стадия работы</v8:content> + </v8:item> + + + xs:string + + 20 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>В сообщениях есть данные</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Есть неотправленные данные</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сведения о загруженных данных</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновое задание адрес хранилища</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Фоновое задание идентификатор</v8:content> + </v8:item> + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата начала синхронизации</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Процент</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Any + + + + + + false + + + ЭтапыСинхронизацииПроцессКартинка + + + ЭтапыСинхронизацииГотовоКартинка + + + ЭтапыСинхронизацииОшибкаКартинка + + + + + 1 + Equal + 1 + + + + + Видимость + false + + + Отображать + false + + + + + false + + + ЭтапыСинхронизацииГотовоКартинка + + + + + ЭтапыСинхронизации.Готово + Equal + true + + + + + Видимость + true + + + Отображать + true + + + + + false + + + ЭтапыСинхронизацииОшибкаКартинка + + + + + ЭтапыСинхронизации.Ошибка + Equal + true + + + + + Видимость + true + + + Отображать + true + + + + + false + + + ЭтапыСинхронизацииПроцессКартинка + + + + + ЭтапыСинхронизации.Прогресс + Equal + true + + + + + Видимость + true + + + Отображать + true + + + + + false + + + ЭтапыСинхронизацииПроцесс + + + + + OrGroup + + ЭтапыСинхронизации.Готово + Equal + true + + + ЭтапыСинхронизации.Ошибка + Equal + true + + + ЭтапыСинхронизации.Прогресс + Equal + true + + + + + + Видимость + false + + + Отображать + false + + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form/Module.bsl" "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form/Module.bsl" new file mode 100644 index 0000000..7f79df0 --- /dev/null +++ "b/CommonForms/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217/Ext/Form/Module.bsl" @@ -0,0 +1,271 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + ОбновитьПовторноИспользуемыеЗначения(); + + Элементы.Процент.Видимость = Константы.ПодробнаяИнформацияОСинхронизации.Получить(); + Элементы.ГруппаНовыеОбъекты.Видимость = Ложь; + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) + + Если Не ТекущаяСтадияРаботы = "Завершение" Тогда + + СтандартнаяОбработка = Ложь; + Отказ = Истина; + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ЭкспортныеПроцедурыИФункции + +&НаКлиенте +Процедура ВыполнитьСинхронизацию(Параметры) Экспорт + + РежимСинхронизации = Параметры.РежимСинхронизации; + ДатаНачалаСинхронизации = Параметры.ДатаНачалаСинхронизации; + + ПодключитьОбработчикОжидания("ВыполнитьСинхронизациюНачало", 0.1, Истина); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ВыполнитьСинхронизациюНачало() + + ПараметрыЗапуска = Новый Структура(); + ПараметрыЗапуска.Вставить("РежимСинхронизации", РежимСинхронизации); + ПараметрыЗапуска.Вставить("ДатаНачалаСинхронизации", ДатаНачалаСинхронизации); + ПараметрыЗапуска.Вставить("УникальныйИдентификатор", УникальныйИдентификатор); + + ОбменВызовСервера.ЗапуститьСинхронизациюССерверомВФоне( + ПараметрыЗапуска, ФоновоеЗаданиеИдентификатор, ФоновоеЗаданиеАдресХранилища); + + ПодключитьОбработчикОжидания("ВыполнитьСинхронизациюПроверитьИсполнение", 1, Истина); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьСинхронизациюПроверитьИсполнение() + + Результат = СинхронизацияЗавершена(); + + Если Результат.ОбновитьДатуСинхронизации Тогда + Оповестить("ОбновитьДатуСинхронизации"); + КонецЕсли; + + Если Результат.ЗаданиеВыполнено + Или Не Результат.СообщениеОбОшибке = Неопределено Тогда + + ЗавершитьСинхронизацию(СведенияОЗагруженныхДанных); + + Иначе + ПодключитьОбработчикОжидания("ВыполнитьСинхронизациюПроверитьИсполнение", 1, Истина); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция СинхронизацияЗавершена() + + Результат = Новый Структура(); + Результат.Вставить("ЗаданиеВыполнено", Ложь); + Результат.Вставить("СообщениеОбОшибке", Неопределено); + Результат.Вставить("ОбновитьДатуСинхронизации", Ложь); + + Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗаданиеИдентификатор); + + Если Задание = Неопределено Тогда + Результат.СообщениеОбОшибке = + НСтр("ru = 'Не удалось выполнить синхронизацию. См. протокол обмена'"); + + ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда + Результат.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке); + + ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.Завершено Тогда + Результат.ЗаданиеВыполнено = Истина; + + КонецЕсли; + + Если Не Задание = Неопределено Тогда + + ВсеСообщения = Задание.ПолучитьСообщенияПользователю(Истина); + Если ВсеСообщения = Неопределено Тогда + ВсеСообщения = Новый Массив(); + КонецЕсли; + + Для Каждого СообщениеПользователю Из ВсеСообщения Цикл + + СодержимоеСообщения = ОбщегоНазначенияСервер.ОбъектИзJSON(СообщениеПользователю.Текст); + Если СодержимоеСообщения = Неопределено Тогда + Продолжить; + КонецЕсли; + + // todo: delete + // МассивРезультатовРаботы = СтрРазделить(СообщениеПользователю.Текст, ";"); + + ТекущаяСтадияРаботы = СодержимоеСообщения.ТекущаяСтадия; // МассивРезультатовРаботы[0]; + ЕстьОшибки = СодержимоеСообщения.ЕстьОшибки; // Булево(МассивРезультатовРаботы[1]); + ВСообщенияхЕстьДанные = СодержимоеСообщения.ЕстьДанные; // Булево(МассивРезультатовРаботы[2]); + + Если СодержимоеСообщения.Данные <> Неопределено Тогда + //Если СтрНайти(МассивРезультатовРаботы[3], ",") Тогда + // СчетчикиОбъектов = СтрРазделить(МассивРезультатовРаботы[3], ","); + СчетчикиОбъектов = СодержимоеСообщения.Данные; + Иначе + Если ТекущаяСтадияРаботы = "Завершение" И ЗначениеЗаполнено(ФоновоеЗаданиеАдресХранилища) Тогда + СведенияОЗагруженныхДанных = + ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища); + КонецЕсли; + КонецЕсли; + + Если ТекущаяСтадияРаботы = "Подготовка" Тогда + + Процент = 5; + Элементы.Этап1.Картинка = БиблиотекаКартинок.ДлительнаяОперация; + + ИначеЕсли ТекущаяСтадияРаботы = "Подключение" Тогда + + Процент = 10; + Если ЕстьОшибки Тогда + Элементы.Этап1.Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + КонецЕсли; + + ИначеЕсли ТекущаяСтадияРаботы = "СозданиеСообщений" Тогда + + Процент = 15; + Если ЕстьОшибки Тогда + Элементы.Этап1.Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + Иначе + Элементы.Этап1.Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + КонецЕсли; + + ИначеЕсли ТекущаяСтадияРаботы = "ОтправкаДанных" Тогда + + Процент = 35; + Если ЕстьОшибки Тогда + Элементы.Этап1.Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + Иначе + Элементы.Этап1.Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + Элементы.Этап2.Картинка = БиблиотекаКартинок.ДлительнаяОперация; + КонецЕсли; + + ИначеЕсли ТекущаяСтадияРаботы = "ЗагрузкаДанных" Тогда + + Процент = 50; + + ИначеЕсли ТекущаяСтадияРаботы = "ПросмотрДанных" Тогда + Процент = 65; + + Если ЕстьОшибки Тогда + Элементы.Этап2.Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + Иначе + Элементы.Этап2.Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + Элементы.Этап3.Картинка = БиблиотекаКартинок.ДлительнаяОперация; + КонецЕсли; + + ИначеЕсли ТекущаяСтадияРаботы = "ЗаписьДанных" Тогда + + Процент = 80; + ОтобразитьСведенияОНовыхОбъектах(СчетчикиОбъектов); + + ИначеЕсли ТекущаяСтадияРаботы = "Завершение" Тогда + Процент = 95; + + Если Не ЕстьОшибки Тогда + + Элементы.Этап2.Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + Элементы.Этап3.Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + + КонецЕсли; + + ИначеЕсли ТекущаяСтадияРаботы = "ОбновитьДатуСинхронизации" Тогда + Результат.ОбновитьДатуСинхронизации = Истина; + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервере +Процедура ОтобразитьСведенияОНовыхОбъектах(Счетчики) + + ГруппаСчетчиковВидна = Ложь; + + ОтобразитьИнформациюПоРазделу(Счетчики.НовыеОбъектыСтроительства, + Элементы.ПояснениеОбъекты, Элементы.КоличествоОбъекты, ГруппаСчетчиковВидна); + + ОтобразитьИнформациюПоРазделу(Счетчики.НовыеСписанияДенежныхСредств, + Элементы.ПояснениеСписаниеДенежныхСредств, Элементы.КоличествоСписаниеДенежныхСредств, ГруппаСчетчиковВидна); + + Элементы.ГруппаНовыеОбъекты.Видимость = ГруппаСчетчиковВидна; + +КонецПроцедуры + +&НаСервере +Процедура ОтобразитьИнформациюПоРазделу(Количество, НадписьЗаголовок, НадписьКоличество, ГруппаСчетчиковВидна) + + Если Число(Количество) > 0 Тогда + + ГруппаСчетчиковВидна = Истина; + + НадписьКоличество.Заголовок = + СтрШаблон( + НСтр("ru = '+%1'; en = '+%1'"), Формат(Количество, "ЧГ=")); + + Иначе + + НадписьЗаголовок.Видимость = Ложь; + НадписьКоличество.Видимость = Ложь; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗавершитьСинхронизацию(СведенияОЗагруженныхДанных = Неопределено) + + ОбщегоНазначенияВызовСервера.УстановитьПараметрыСеанса(); + + Оповестить("СоздатьУведомления"); + Оповестить("СинхронизацияЗавершена", СведенияОЗагруженныхДанных); + + ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.1, Истина); + + ОбменКлиент.НайтиИПоказатьОшибкиПриСинхронизации(); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗакрытьФорму() + + ТекущаяСтадияРаботы = "Завершение"; + + Закрыть(ЕстьОшибки); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276.xml" "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276.xml" new file mode 100644 index 0000000..6544842 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276.xml" @@ -0,0 +1,27 @@ + + + + + СозданиеНового + + + ru + Создание нового + + + en + Create new + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" new file mode 100644 index 0000000..25c4c3b --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" @@ -0,0 +1,171 @@ + +
+ Top + + + ПриСозданииНаСервере + + + + List + None + false + false + 1 + UseHeightInFormRows + SingleRow + Row +
false
+ true + false + true + true + AsFile + ТаблицаКоманд + + Add + CancelSearch + Change + Copy + CopyToClipboard + Delete + EndEdit + Find + MoveDown + MoveUp + OutputList + ShowRowRearrangement + SortListAsc + SortListDesc + + None + + + + false + + + + + ТаблицаКоманд + SearchStringRepresentation + + + + + + + ТаблицаКоманд + ViewStatusRepresentation + + + + + + + ТаблицаКоманд + SearchControl + + + + + + ТаблицаКомандВыбор + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Колонка</v8:content> + </v8:item> + + + + ru + Колонка + + + InCell + + + + ТаблицаКоманд.Картинка + Center + EnterOnInput + 2 + 1 + AutoSize + AsFile + + + + + ТаблицаКоманд.ОписаниеКоманды + EnterOnInput + 1 + + + + + + +
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица команд</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команда</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание команды</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Картинка</v8:content> + </v8:item> + + + v8ui:Picture + + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" new file mode 100644 index 0000000..ef63054 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" @@ -0,0 +1,87 @@ + +#Область ОбработчикиКомандФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + СтрокаКоманды = ТаблицаКоманд.Добавить(); + СтрокаКоманды.Картинка = БиблиотекаКартинок.Документ; + СтрокаКоманды.ОписаниеКоманды = НСтр("ru = 'Заявка на обслуживание'"); + СтрокаКоманды.Команда = "НовыйЗаявкаНаОбслуживание"; + + СтрокаКоманды = ТаблицаКоманд.Добавить(); + СтрокаКоманды.Картинка = БиблиотекаКартинок.Документ; + СтрокаКоманды.ОписаниеКоманды = НСтр("ru = 'Заключение договора аренды'"); + СтрокаКоманды.Команда = "НовыйЗаключениеДоговораАренды"; + + СтрокаКоманды = ТаблицаКоманд.Добавить(); + СтрокаКоманды.Картинка = БиблиотекаКартинок.Документ; + СтрокаКоманды.ОписаниеКоманды = НСтр("ru = 'Дополнительное соглашение'"); + СтрокаКоманды.Команда = "НовыйДополнительноеСоглашение"; + + СтрокаКоманды = ТаблицаКоманд.Добавить(); + СтрокаКоманды.Картинка = БиблиотекаКартинок.Документ; + СтрокаКоманды.ОписаниеКоманды = НСтр("ru = 'Расторжение договора аренды'"); + СтрокаКоманды.Команда = "НовыйРасторжениеДоговораАренды"; + + СтрокаКоманды = ТаблицаКоманд.Добавить(); + СтрокаКоманды.Картинка = БиблиотекаКартинок.Документ; + СтрокаКоманды.ОписаниеКоманды = НСтр("ru = 'Счет на аренду'"); + СтрокаКоманды.Команда = "НовыйСчетНаАренду"; + +КонецПроцедуры + +#КонецОбласти + + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ТаблицаКомандВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекущиеДанные = Элементы.ТаблицаКоманд.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекущиеДанные.Команда = "НовыйЗаявкаНаОбслуживание" Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Форма.СозданиеНового.НовыйЗаявкаНаОбслуживание"); + ОткрытьФорму("Документ.ЗаявкаНаОбслуживание.Форма.ФормаДокумента"); + + ИначеЕсли ТекущиеДанные.Команда = "НовыйЗаключениеДоговораАренды" Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Форма.СозданиеНового.НовыйЗаключениеДоговораАренды"); + ОткрытьФорму("Документ.ЗаключениеДоговораАренды.Форма.ФормаДокумента"); + + ИначеЕсли ТекущиеДанные.Команда = "НовыйДополнительноеСоглашение" Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Форма.СозданиеНового.НовыйДополнительноеСоглашение"); + ОткрытьФорму("Документ.ДополнительноеСоглашение.Форма.ФормаДокумента"); + + ИначеЕсли ТекущиеДанные.Команда = "НовыйРасторжениеДоговораАренды" Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Форма.СозданиеНового.НовыйРасторжениеДоговораАренды"); + ОткрытьФорму("Документ.РасторжениеДоговораАренды.Форма.ФормаДокумента"); + + ИначеЕсли ТекущиеДанные.Команда = "НовыйСчетНаАренду" Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Форма.СозданиеНового.НовыйСчетНаАренду"); + ОткрытьФорму("Документ.СчетНаАренду.Форма.ФормаДокумента"); + + КонецЕсли; + + ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.2, Истина); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ЗакрытьФорму() + + ЭтаФорма.Закрыть(); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265.xml" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265.xml" new file mode 100644 index 0000000..77f63da --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265.xml" @@ -0,0 +1,23 @@ + + + + + СообщениеОПроблеме + + + ru + Сообщение о проблеме + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form.xml" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form.xml" new file mode 100644 index 0000000..3ad9b28 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form.xml" @@ -0,0 +1,71 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сообщить о проблеме</v8:content> + </v8:item> + + false + Top + + Right + false + + + + + + + ОписаниеПроблемы + None + true + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание проблемы</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отправить</v8:content> + </v8:item> + + + + ru + Отправить + + + Отправить + DontUse + + +
\ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form/Module.bsl" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form/Module.bsl" new file mode 100644 index 0000000..27e0f80 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\236\320\237\321\200\320\276\320\261\320\273\320\265\320\274\320\265/Ext/Form/Module.bsl" @@ -0,0 +1,51 @@ + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Отправить(Команда) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Если ЗначениеЗаполнено(ОписаниеПроблемы) Тогда + Возврат; + КонецЕсли; + + Попытка + + ОбменВызовСервера.ОтправитьИПолучитьДанные(ТекущаяДата(), "ОтправитьОтчетОПроблеме", Ложь, ОписаниеПроблемы); + + ТекстЗаголовка = НСтр("ru = 'Сообщение успешно отправлено'; en = 'Message sent'"); + ТекстПредупреждения = НСтр("ru = 'Ответственные лица оповещены о проблеме.'; en = 'Responsible persons are notified on a problem.'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ТекстЗаголовка); + + Закрыть(); + + Исключение + + Инфо = ИнформацияОбОшибке(); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ПодробноеПредставлениеОшибки(Инфо)); + + ТекстЗаголовка = НСтр("ru = 'Ошибка при отправке сообщения'; en = 'Message not sent'"); + ТекстПредупреждения = + НСтр("ru = 'Не удалось отправить сообщение. + |Воспользуйтесь другими способами связи. + |Текст сообщения можно скопировать. + |Подробности ошибки см. в протоколе'; en = 'Message not sent. + |Try another way of communication + |Message text may be copied. + |See events protocol for details.'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ТекстЗаголовка); + + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274.xml" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274.xml" new file mode 100644 index 0000000..1980a4d --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274.xml" @@ -0,0 +1,27 @@ + + + + + СообщениеРазработчикам + + + ru + Сообщение разработчикам + + + en + Message to developers + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form.xml" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form.xml" new file mode 100644 index 0000000..4d28d41 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form.xml" @@ -0,0 +1,313 @@ + +
+ false + Top + + Right + false + + + + + + + ПриОткрытии + ПриСозданииНаСервере + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа шапка</v8:content> + </v8:item> + + + + ru + Группа шапка + + + Horizontal + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа левая</v8:content> + </v8:item> + + + + ru + Группа левая + + + Vertical + None + false + + + + 1 + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Кому:</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>To:</v8:content> + </v8:item> + + Bottom + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тема:</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Subject</v8:content> + </v8:item> + + Center + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа правая</v8:content> + </v8:item> + + + + ru + Группа правая + + + Vertical + None + false + + + + 1 + false + style:FieldSelectionBackColor + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>v8@1c.ru</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>v8@1c.ru</v8:content> + </v8:item> + + Bottom + + + + + Тема + None + true + + + + + + + + + ТекстСообщения + None + 1 + true + true + + + + ТекстСообщенияОчистка + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Команды слева</v8:content> + </v8:item> + + + + ru + Команды слева + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текст сообщения</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Кому</v8:content> + </v8:item> + + + 92b83d7d-9a6c-4821-bee5-b8a3be5c20f4 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Учетная запись</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тема</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отправить</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Send</v8:content> + </v8:item> + + + + ru + Отправить + + + Отправить + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Добавить протокол работы</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Insert the protocol</v8:content> + </v8:item> + + + + ru + Добавить текст протокола + + + ДобавитьТекстПротокола + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сменить учетную запись</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Change account</v8:content> + </v8:item> + + + + ru + Сменить учетную запись отправки + + + СменитьУчетнуюЗаписьОтправки + true + DontUse + + +
\ No newline at end of file diff --git "a/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form/Module.bsl" "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form/Module.bsl" new file mode 100644 index 0000000..4155258 --- /dev/null +++ "b/CommonForms/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\265\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274/Ext/Form/Module.bsl" @@ -0,0 +1,436 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + НайтиСоздатьУчетнуюЗаписьПолучателя(); + НайтиУчетнуюЗаписьОтправителя(); + ВыполнитьПервоначальноеЗаполнениеПисьма(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + Если Не ЗначениеЗаполнено(УчетнаяЗапись) Тогда + + ТекстПредупреждения = НСтр("ru = 'Нет ни одной учетной записи почты'; en = 'There is no e-mail account'"); + ТекстЗаголовка = НСтр("ru = 'Сообщение разработчикам'; en = 'Message to developers'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, ,ТекстЗаголовка); + + Отказ = Истина; + + КонецЕсли; + + УстановитьЗаголовок(); + + ПодключитьОбработчикОжидания("ПерейтиКТексту", 0.1, Истина); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ТекстСообщенияОчистка(Элемент, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеОчисткаТекста", ЭтаФорма, ); + + ЗаголовокВопроса = НСтр("ru = 'Сообщение разработчикам'; en = 'Message to developers'");; + ТекстВопроса = НСтр("ru = 'Очистить текст?'; en = 'Clear the text'"); + ВариантыВыбора = РежимДиалогаВопрос.ДаНет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + , ЗаголовокВопроса, ); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ДобавитьТекстПротокола(Команда) + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеДобавитьТекстПротокола", ЭтаФорма, ); + + ЗаголовокВопроса = НСтр("ru = 'Добавление протокола'; en = 'Insert the protocol'"); + ТекстВопроса = НСтр("ru = 'Что необходимо добавить?'; en = 'that it is necessary to add'"); + + ВариантыВыбора = Новый СписокЗначений(); + ВариантыВыбора.Добавить("ВсеЗа7Дней", НСтр("ru = 'Последние 7 дней'; en = 'Last 7 days'")); + ВариантыВыбора.Добавить("ВсеОшибки" , НСтр("ru = 'Все ошибки'; en = 'All errors'")); + ВариантыВыбора.Добавить("ВсеСобытия", НСтр("ru = 'Все события'; en = 'All events'")); + ВариантыВыбора.Добавить(КодВозвратаДиалога.Отмена); + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + , ЗаголовокВопроса, ); + +КонецПроцедуры + +&НаКлиенте +Процедура СменитьУчетнуюЗаписьОтправки(Команда) + + ОбработчикЗавершения = Новый ОписаниеОповещения("СменитьУчетнуюЗаписьОтправкиЗавершение", ЭтотОбъект); + + ОткрытьФорму("Справочник.УчетныеЗаписи.ФормаВыбора",, ЭтаФорма,,,, + ОбработчикЗавершения, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура Отправить(Команда) + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеОтправить", ЭтаФорма, ); + + ЗаголовокВопроса = НСтр("ru = 'Сообщение разработчикам'; en = 'Message to developers'");; + ТекстВопроса = НСтр("ru = 'Отправить?'; en = 'Send?'"); + + ВариантыВыбора = РежимДиалогаВопрос.ОКОтмена; + ВариантПоУмолчанию = КодВозвратаДиалога.ОК; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + ВариантПоУмолчанию, ЗаголовокВопроса, ); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура НайтиСоздатьУчетнуюЗаписьПолучателя() + + // Получение учетной запись получателя + Адрес = "v8@1c.ru"; + Нашли = Ложь; + + Выборка = Справочники.АдресатыПочтовыхСообщений.Выбрать(); + Пока Выборка.Следующий() Цикл + Если НРег(Выборка.Адрес) = Адрес Тогда + Кому = Выборка.Ссылка; + Нашли = Истина; + КонецЕсли; + КонецЦикла; + + Если Не Нашли Тогда + + Адресат = Справочники.АдресатыПочтовыхСообщений.СоздатьЭлемент(); + + Адресат.Адрес = Адрес; + Адресат.Наименование = + СтрШаблон( + НСтр("ru = '%1'; en = '%1'"), + Адрес); + + Адресат.Записать(); + + Кому = Адресат.Ссылка; + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура НайтиУчетнуюЗаписьОтправителя() + + КоличествоУчетныхЗаписей = 0; + УчетнаяЗапись = Константы.ОсновнаяУчетнаяЗапись.Получить(); + + СтруктураОтбора = Новый Структура("МожетИспользоватьсяДляОтправки", Истина); + Выборка = Справочники.УчетныеЗаписи.Выбрать(,,СтруктураОтбора); + Пока Выборка.Следующий() Цикл + + Если Выборка.ПометкаУдаления Тогда + Продолжить; + КонецЕсли; + + КоличествоУчетныхЗаписей = КоличествоУчетныхЗаписей + 1; + + Если КоличествоУчетныхЗаписей = 1 И Не ЗначениеЗаполнено(УчетнаяЗапись) Тогда + УчетнаяЗапись = Выборка.Ссылка; + КонецЕсли; + + КонецЦикла; + + Если КоличествоУчетныхЗаписей = 0 Тогда + Элементы.ФормаОтправить.Доступность = Ложь; + Элементы.СменитьУчетнуюЗаписьОтправки.Видимость = Ложь; + КонецЕсли; + + Если КоличествоУчетныхЗаписей = 1 Тогда + Элементы.СменитьУчетнуюЗаписьОтправки.Видимость = Ложь; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ВыполнитьПервоначальноеЗаполнениеПисьма() + + СисИнфо = Новый СистемнаяИнформация; + + ТекстСообщения = ТекстСообщения + + Символы.ПС + Символы.ПС; + + ТекстСообщения = ТекстСообщения + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Версия ОС: %1 + |Версия платформы: %2 + |Версия конфигурации: 1С:Аренда и управление недвижимостью %3'"), + СисИнфо.ВерсияОС, СисИнфо.ВерсияПриложения, + Константы.ВерсияАренды.Получить()); + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьЗаголовок() + + Заголовок = СтрШаблон( + НСтр("ru = 'Сообщение от %1'; en = 'Message at %1'"), + Строка(УчетнаяЗапись)); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ЗавуалироватьПротокол(ТекстПротокола) + + Результат = ""; + НеЗаменяемыеСимволы = "0123456789 !""№;%:?*()_+-=/-,.\|~`"+Символы.ВК + + Символы.ВТаб + Символы.НПП + Символы.ПС + Символы.ПФ + Символы.Таб; + + ВсегоСтрок = СтрЧислоСтрок(ТекстПротокола); + Для Индекс = 1 По ВсегоСтрок Цикл + + СтрокаПротокола = СтрПолучитьСтроку(ТекстПротокола, Индекс); + + Если Не (СтрНачинаетсяС(СтрокаПротокола, "Изменено") + Или СтрНачинаетсяС(СтрокаПротокола, "Загружено") + Или СтрНачинаетсяС(СтрокаПротокола, "Входящее")) Тогда + Результат = Результат + Символы.ПС + СтрокаПротокола; + Продолжить; + КонецЕсли; + + ПозицияКавычки = СтрНайти(СтрокаПротокола, """"); + Если ПозицияКавычки = 0 Тогда + Продолжить; + КонецЕсли; + + ПозицияКавычки = ПозицияКавычки + 1; + ПоследнийСимвол = СтрДлина(СтрокаПротокола) - 1; + + Для ИндексВСтроке = ПозицияКавычки По ПоследнийСимвол Цикл + + Символ = Сред(СтрокаПротокола, ИндексВСтроке, 1); + Слово = Сред(СтрокаПротокола, ИндексВСтроке, 4); + Если Слово = " от " Тогда + ИндексВСтроке = ИндексВСтроке + 3; + Продолжить; + КонецЕсли; + + Если СтрНайти(НеЗаменяемыеСимволы, Символ) = 0 Тогда + Символ = "#"; + КонецЕсли; + + СтрокаПротокола = Лев(СтрокаПротокола, ИндексВСтроке-1) + + Символ + Сред(СтрокаПротокола, ИндексВСтроке+1); + + КонецЦикла; + + Результат = Результат + Символы.ПС + СтрокаПротокола; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ПерейтиКТексту() + + ТекущийЭлемент = Элементы.Тема; + +КонецПроцедуры + +&НаСервере +Процедура ОтправитьНаСервере(ПараметрыЗаписи) + + ОбъектПисьмо = Документы.ИсходящееПисьмо.СоздатьДокумент(); + ОбъектПисьмо.Дата = ТекущаяДата(); + + ОбъектПисьмо.Тема = ПараметрыЗаписи.Тема; + ОбъектПисьмо.ТипОбъекта = Перечисления.ТипыОбъектов.ИсходящиеПисьма; + ОбъектПисьмо.Важность = Перечисления.ВажностьПисем.Обычная; + ОбъектПисьмо.ИндексВажности = 1; + ОбъектПисьмо.ПодготовленоКОтправке = ТекущаяДата(); + ОбъектПисьмо.Папка = ПараметрыЗаписи.ОтКого.ПапкаИсходящие; + ОбъектПисьмо.УчетнаяЗапись = ПараметрыЗаписи.ОтКого; + ОбъектПисьмо.ПолучателиСтрокой = ПараметрыЗаписи.Кому; + ОбъектПисьмо.Прочитан = Истина; + ОбъектПисьмо.ЕстьВложения = Ложь; + ОбъектПисьмо.ТекстХранилище = Новый ХранилищеЗначения(ПараметрыЗаписи.Текст, Новый СжатиеДанных(9)); + + ОбъектПисьмо.ТекстКратко = ПараметрыЗаписи.Текст; + + ОбъектПисьмо.ТекстКратко = ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ОбъектПисьмо.ТекстКратко); + + Получатели = Новый Массив(); + Получатели.Добавить(ПараметрыЗаписи.Кому); + + ОбъектПисьмо.ДополнительныеСвойства.Вставить("Получатели", Получатели); + + ОбъектПисьмо.Записать(); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьОтправку() + + ПараметрыЗаписи = Новый Структура(); + ПараметрыЗаписи.Вставить("ОтКого", УчетнаяЗапись); + ПараметрыЗаписи.Вставить("Кому" , Кому); + ПараметрыЗаписи.Вставить("Тема" , Тема); + ПараметрыЗаписи.Вставить("Текст" , ТекстСообщения); + + ОтправитьНаСервере(ПараметрыЗаписи); + + ЗаголовокПредупреждения = НСтр("ru = 'Сообщение разработчикам'; en = 'Message to developers'");; + ТекстПредупреждения = НСтр("ru = 'Сообщение отправлено'; en = 'Message sent'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ЗаголовокПредупреждения); + + Оповестить("ПоявилисьНеотправленныеДанные"); + + Закрыть(); + +КонецПроцедуры + + +&НаКлиенте +Процедура СменитьУчетнуюЗаписьОтправкиЗавершение(Результат, ДополнительныеПараметры) Экспорт + + Если Не Результат = Неопределено Тогда + + УчетнаяЗапись= Результат; + + УстановитьЗаголовок(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьРешениеДобавитьТекстПротокола(Результат, ДопПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.Отмена + Или Результат = КодВозвратаДиалога.Таймаут Тогда + Возврат; + КонецЕсли; + + Если Результат = "ВсеЗа7Дней" Тогда + + Условие = НСтр("ru = 'Последние 7 дней'; en = 'Last 7 days'"); + Протокол = РаботаСПротоколомСобытийВызовСервера.ПолучитьТекстПротокола(); + + ИначеЕсли Результат = "ВсеОшибки" Тогда + + Условие = НСтр("ru = 'Все ошибки'; en = 'All errors'"); + Граница = 365*24*60*60; + Протокол = РаботаСПротоколомСобытийВызовСервера.ПолучитьТекстПротокола(Граница, Истина); + + Иначе + + Условие = НСтр("ru = 'Все события'; en = 'All events'"); + Граница = 365*24*60*60; + Протокол = РаботаСПротоколомСобытийВызовСервера.ПолучитьТекстПротокола(Граница); + + КонецЕсли; + + Если Не ЗначениеЗаполнено(Протокол) Тогда + Протокол = НСтр("ru = 'Нет записей'; en = 'Events not found'"); + КонецЕсли; + + Протокол = ЗавуалироватьПротокол(Протокол); + + ТекстСообщения = ТекстСообщения + + Символы.ПС + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Протокол событий: %1'; en = 'Event protocol: %1'"), Условие) + Символы.ПС + + "_______________________________"+Символы.ПС + + Протокол + Символы.ПС + + НСтр("ru = 'Конец протокола'; en = 'End of protocol'"); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьРешениеОчисткаТекста(Результат, ДопПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.Нет Тогда + Возврат; + КонецЕсли; + + Элементы.ТекстСообщения.ТекстРедактирования = ""; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьРешениеНеЗаполненаТема(Результат, ДопПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.Нет + Или Результат = КодВозвратаДиалога.Таймаут Тогда + ПодключитьОбработчикОжидания("ПерейтиКТексту", 0.1, Истина); + Иначе + ВыполнитьОтправку(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьРешениеОтправить(Результат, ДопПараметры) Экспорт + + Если Результат = КодВозвратаДиалога.Отмена + Или Результат = КодВозвратаДиалога.Таймаут Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(Тема) Тогда + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеНеЗаполненаТема", ЭтаФорма, ); + + ЗаголовокВопроса = НСтр("ru = 'Сообщение разработчикам'; en = 'Message to developers'");; + ТекстВопроса = НСтр("ru = 'Не указана тема сообщения. Продолжить отправку?'; + |en = 'The subject isn't set. Continue?'"); + + ВариантыВыбора = Новый СписокЗначений; + ВариантыВыбора.Добавить(КодВозвратаДиалога.Да , НСтр("ru = 'Отправить'; en = 'Send'")); + ВариантыВыбора.Добавить(КодВозвратаДиалога.Нет, НСтр("ru = 'Не отправлять'; en = 'Cancel'")); + + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + ВариантПоУмолчанию, ЗаголовокВопроса, ); + + Возврат; + + КонецЕсли; + + ВыполнитьОтправку(); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271.xml" "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271.xml" new file mode 100644 index 0000000..11e7beb --- /dev/null +++ "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271.xml" @@ -0,0 +1,23 @@ + + + + + ФормаВыборИсполнителей + + + ru + Форма выбор исполнителей + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form.xml" "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form.xml" new file mode 100644 index 0000000..e9fb4da --- /dev/null +++ "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form.xml" @@ -0,0 +1,353 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Добавление исполнителей</v8:content> + </v8:item> + + LockOwnerWindow + false + Top + + Right + false + + + + + + ПриСозданииНаСервере + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа кому</v8:content> + </v8:item> + + + + ru + Группа кому + + + Vertical + None + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа кому заголовок</v8:content> + </v8:item> + + + + ru + Группа кому заголовок + + + Horizontal + None + false + + + + НовыйИсполнительСтрокой + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Введите исполнителя</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Enter the performer</v8:content> + </v8:item> + + + Top + true + + + + + ОдинИсполнительАвтоПодбор + ОдинИсполнительОбработкаВыбора + + + + + + List + Top + false + false +
false
+ false + false + true + true + true + true + AsFile + НедавниеИсполнители + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Или выберите из недавних</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Or choose from the recent</v8:content> + </v8:item> + + + None + None + None + + + + false + + + + + ИсполнителиТаблица + SearchStringRepresentation + + + + + + + ИсполнителиТаблица + ViewStatusRepresentation + + + + + + + ИсполнителиТаблица + SearchControl + + + + + + ИсполнителиТаблицаВыбор + + + + НедавниеИсполнители.Выбран + Top + EnterOnInput + Auto + + + + + НедавниеИсполнители.Исполнитель + true + EnterOnInput + 1 + + + + +
+
+
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Новый исполнитель</v8:content> + </v8:item> + + + cfg:CatalogRef.Пользователи + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Недавние исполнители</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исполнитель</v8:content> + </v8:item> + + + cfg:CatalogRef.Пользователи + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Выбран</v8:content> + </v8:item> + + + xs:boolean + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Новый исполнитель строкой</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тип ОС</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + ИсполнителиТаблица + + + + + НедавниеИсполнители.Выбран + Equal + true + + + + + ЦветФона + style:ReportHeaderBackColor + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Много исполнителей</v8:content> + </v8:item> + + + + ru + Много исполнителей + + + + CommonPicture.КомандаДобавитьСтроку + true + + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Добавить исполнителя</v8:content> + </v8:item> + + + + ru + Добавить исполнителя + + + + StdPicture.CreateListItem + true + + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Удалить исполнителя</v8:content> + </v8:item> + + + + ru + Удалить исполнителя + + + + StdPicture.Delete + true + + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Готово</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Done</v8:content> + </v8:item> + + + + ru + Готово + + + Готово + DontUse + + + \ No newline at end of file diff --git "a/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form/Module.bsl" "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form/Module.bsl" new file mode 100644 index 0000000..ec75d4c --- /dev/null +++ "b/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\320\265\320\271/Ext/Form/Module.bsl" @@ -0,0 +1,140 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + ТипОС = Константы.ИмяОперационнойСистемы.Получить(); + + ЗаполнитьСписокНедавних(); + + УстановитьЗаголовок = Параметры.Свойство("Заголовок"); + + Если Параметры.Свойство("Исполнители") Тогда + Для Каждого Исполнитель Из Параметры.Исполнители Цикл + Для Каждого Строка Из НедавниеИсполнители Цикл + Строка.Выбран = Строка.Исполнитель = Исполнитель; + КонецЦикла; + КонецЦикла; + КонецЕсли; + + Элементы.ИсполнителиТаблица.Видимость = Не НедавниеИсполнители.Количество() = 0; + Если УстановитьЗаголовок Тогда + Заголовок = Параметры.Заголовок; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура ОдинИсполнительАвтоПодбор(Элемент, Текст, ДанныеВыбора, Параметры, Ожидание, СтандартнаяОбработка) + + // РаботаСЗадачамиВызовСервера.НовыйИсполнительАвтоПодбор(Текст, ДанныеВыбора, СтандартнаяОбработка); + +КонецПроцедуры + +&НаКлиенте +Процедура ОдинИсполнительОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + // РаботаСЗадачамиКлиент.НовыйИсполнительСтрокойОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка, ЭтаФорма); + + Если ЗначениеЗаполнено(НовыйИсполнитель) Тогда + ЗакрытьИВернутьСписокВыбранных(); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыИсполнителиТаблица + +&НаКлиенте +Процедура ИсполнителиТаблицаВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ТекущиеДанные = Элементы.ИсполнителиТаблица.ТекущиеДанные; + + ТекущиеДанные.Выбран = Не ТекущиеДанные.Выбран; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура Готово(Команда) + + ЗакрытьИВернутьСписокВыбранных(); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ЗакрытьИВернутьСписокВыбранных() + + СписокКВозврату = Новый СписокЗначений; + Для Каждого СтрокаИсполнитель Из НедавниеИсполнители Цикл + Если СтрокаИсполнитель.Выбран Тогда + СписокКВозврату.Добавить(СтрокаИсполнитель.Исполнитель); + КонецЕсли + КонецЦикла; + + Если ЗначениеЗаполнено(НовыйИсполнитель) Тогда + СписокКВозврату.Добавить(НовыйИсполнитель); + КонецЕсли; + + Если СписокКВозврату.Количество() > 0 Тогда + Оповестить("ВыбраныИсполнители", СписокКВозврату); + Иначе + Оповестить("ВыбраныИсполнители", Неопределено); + КонецЕсли; + + Закрыть(); + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьСписокНедавних() + + НедавниеИсполнители.Очистить(); + + Счетчик = 0; + Выборка = РегистрыСведений.ДатыИспользованияПользователейИРолейВЗадачах.Выбрать(, "ДатаИспользования Убыв"); + + Пока Выборка.Следующий() Цикл + + Если Не ЭтоУстройствоСБольшимЭкраном() И Счетчик = 10 + Или ЭтоУстройствоСБольшимЭкраном() И Счетчик = 30 Тогда + Прервать; + КонецЕсли; + + НоваяСтрока = НедавниеИсполнители.Добавить(); + НоваяСтрока.Исполнитель = Выборка.Объект; + + Счетчик = Счетчик + 1; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + + + + diff --git "a/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276.xml" "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276.xml" new file mode 100644 index 0000000..d5946e6 --- /dev/null +++ "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276.xml" @@ -0,0 +1,23 @@ + + + + + ЧтоНового + + + ru + Что нового + + + + Managed + false + + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" new file mode 100644 index 0000000..96802e6 --- /dev/null +++ "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form.xml" @@ -0,0 +1,167 @@ + +
+ + Right + false + + + ПриСозданииНаСервере + + + + ОписаниеНового + false + None + + + + + + + ru + Страницы версий + + + None + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>2.0.6.7</v8:content> + </v8:item> + + + + ru + Версия2 0 6 7 + + + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Страницы информации</v8:content> + </v8:item> + + + + ru + Страницы информации + + + Swipe + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Принятие задач на исполнение</v8:content> + </v8:item> + + + + ru + Принятие задач на исполнение + + + + + + true + true + Center + Center + + + ru + Пометьте вашу задачу принятой на исполнение, если вы начали над ней работать. + + + AsFile + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отметка объектов флагами</v8:content> + </v8:item> + + + + ru + Принятие задач на исполнение + + + HorizontalIfPossible + + + + true + true + Center + Center + + + ru + Теперь можно пометить письма, задачи и поручения флажками. + + + AsFile + + + + + + + + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание нового</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Закрыть</v8:content> + </v8:item> + + + + ru + Команда закрыть + + + DontUse + + +
\ No newline at end of file diff --git "a/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" new file mode 100644 index 0000000..3cf423a --- /dev/null +++ "b/CommonForms/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276/Ext/Form/Module.bsl" @@ -0,0 +1,30 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче + // параметра "АвтоТест". + Если Параметры.Свойство("АвтоТест") Тогда + Возврат; + КонецЕсли; + + Страницы = Неопределено; + Отказ = Не Параметры.Свойство("Страницы", Страницы); + + Отказ = Истина; + + Если Отказ Тогда + Возврат; + КонецЕсли; + + Для Каждого Страница Из Страницы Цикл + + Элементы["Версия"+Страница].Видимость = Истина; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..4a80932 --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ЛокальныеУведомленияВызовСервера + + + ru + Локальные уведомления вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..bcc177d --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,210 @@ + +#Область ПрограммныйИнтерфейс + +// Формирует уведомления для новой записи календаря. +// +// Параметры: +// Объект - СправочникСсылка.ЗаписиРабочегоКалендаря - Ссылка на объект; +// Описание - Строка - Текст уведомления; +// ДатаНачала - ДатаВремя - Дата и время события; +// ПериодУведомления - Число - Количество минут, за сколько нужно показать уведомление о событии. +// +Процедура СформироватьЗаписьУведомленияПоОбъекту(Объект, Описание, ДатаНачала, ПериодУведомления = 15) Экспорт + + Если Не ЛокальныеУведомленияВызовСервераПовтИсп.ИспользоватьЛокальныеУведомления() Тогда + Возврат; + КонецЕсли; + + Уведомление = Новый Структура(); + Уведомление.Вставить("ПериодУведомления", ПериодУведомления); + Уведомление.Вставить("Ссылка", Объект); + Уведомление.Вставить("Сообщение", Описание); + Уведомление.Вставить("ДатаИВремяСобытия", ДатаНачала); + Уведомление.Вставить("ДатаИВремяУведомления", + ДатаНачала - ПериодУведомления * 60); + + ЗаписатьСообщениеУведомления(Уведомление); + +КонецПроцедуры + +// Записывает таблицу уведомлений по объекту в регистр. +// +// Параметры: +// Уведомление - Структура - Параметры создаваемого сообщения об уведомлении; +// +Процедура ЗаписатьСообщениеУведомления(Уведомление) Экспорт + + Если Не ЗначениеЗаполнено(Уведомление.Ссылка) Тогда + Возврат; + КонецЕсли; + + // Уведомления в прошедшем времени не имеют смысла + Если ТекущаяДата() >= Уведомление.ДатаИВремяУведомления Тогда + Возврат; + КонецЕсли; + + // Добавляем данные записи + Запись = РегистрыСведений.ОбъектыУведомлений.СоздатьМенеджерЗаписи(); + + Запись.Объект = Уведомление.Ссылка; + Запись.ДатаВремяУведомления = Уведомление.ДатаИВремяУведомления; + Запись.Сообщение = Уведомление.Сообщение; + Запись.ДатаИВремяСобытия = Уведомление.ДатаИВремяСобытия; + + Запись.Записать(Истина); + +КонецПроцедуры + +// Получает список всех объектов для которых требуется локальное уведомление. +// +// Параметры: +// Просроченных - Число - Счетчик просроченных уведомлений; +// +// Возвращаемое значение: +// Массив - Массив записей о уведомлениях, которые требуется создать. +// +Функция ПолучитьДанныеДляЛокальныхУведомления(Просроченных) Экспорт + + // Создаем возвращаемый объект + Массив = Новый Массив(); + + // Инициализируем счетчик просроченных сообщений + Просроченных = 0; + + // Если локальные уведомления не используются - сразу выходим + Если Не ПараметрыСеанса.ИспользоватьЛокальныеУведомления Тогда + Возврат Массив; + КонецЕсли; + + // Инициализируем объект выборки данных + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата()); + Запрос.Текст = + "ВЫБРАТЬ + | ОбъектыУведомлений.Объект КАК Ссылка, + | ОбъектыУведомлений.Сообщение КАК Описание, + | ОбъектыУведомлений.ДатаВремяУведомления КАК ДатаВремяУведомления, + | ОбъектыУведомлений.ДатаИВремяСобытия, + | ВЫБОР + | КОГДА &ТекущаяДата >= ОбъектыУведомлений.ДатаВремяУведомления + | ТОГДА ИСТИНА + | ИНАЧЕ ЛОЖЬ + | КОНЕЦ КАК Просрочено, + | ВЫБОР ТИПЗНАЧЕНИЯ(ОбъектыУведомлений.Объект) + | КОГДА ТИП(Документ.СписаниеДенежныхСредств) + | ТОГДА ""СписаниеДенежныхСредств"" + | КОНЕЦ КАК Тип + |ИЗ + | РегистрСведений.ОбъектыУведомлений КАК ОбъектыУведомлений + |ГДЕ + | НЕ ОбъектыУведомлений.Обработано + | И НЕ ОбъектыУведомлений.Объект.ПометкаУдаления"; + + // Получаем данные из ИБ + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + Если Выборка.Просрочено Тогда + Просроченных = Просроченных + 1; + КонецЕсли; + + // Если срок не указан то уведомлять не о чем + Если Не ЗначениеЗаполнено(Выборка.ДатаВремяУведомления) Тогда + Продолжить; + КонецЕсли; + + // Уведомления о просроченных объектах не выводятся + Если ТекущаяДата() >= Выборка.ДатаВремяУведомления Тогда + Продолжить; + КонецЕсли; + + Запись = Новый Структура("Описание, ДатаВремяУведомления, ДатаИВремяСобытия, Данные, Интервал"); + + Запись.Описание = Выборка.Описание; + Запись.ДатаВремяУведомления = УниверсальноеВремя(Выборка.ДатаВремяУведомления); + Запись.ДатаИВремяСобытия = Выборка.ДатаИВремяСобытия; + Запись.Интервал = 0; + Запись.Данные = // Тип объекта / ссылка / Дата события. + СтрШаблон( + "Ref:%1\%2;%3", + Выборка.Тип, + Строка(Выборка.Ссылка.УникальныйИдентификатор()), + Выборка.ДатаИВремяСобытия); + + Массив.Добавить(Запись); + + КонецЦикла; + + // Возвращаем данные + Возврат Массив; + +КонецФункции + +// Получает ссылку для открытия. +// +// Параметры: +// ИмяМетаданных - Строка - Идентификатор метаданных; +// Идентификатор - Строка - Идентификатор объекта. +// +// Возвращаемое значение: +// Ссылка - Полученная по идентификатору ссылка. +// +Функция ПолучитьСсылку(ИмяМетаданных, Идентификатор) Экспорт + + // По-умолчанию возвращать нечего. + ВозвращаемоеЗначение = Неопределено; + + // Проверяем, что идентификатор это корректный УникальныйИдентификатор. + Попытка + УУИД = Новый УникальныйИдентификатор(Идентификатор); + Исключение + Возврат ВозвращаемоеЗначение; + КонецПопытки; + + // Проверяем, что запрошенный тип метаданных присутствует в базе. + Если Не Метаданные.Справочники.Найти(ИмяМетаданных) = Неопределено Тогда + ВозвращаемоеЗначение = Справочники[ИмяМетаданных].ПолучитьСсылку(УУИД); + + ИначеЕсли Не Метаданные.Документы.Найти(ИмяМетаданных) = Неопределено Тогда + ВозвращаемоеЗначение = Документы[ИмяМетаданных].ПолучитьСсылку(УУИД); + + Иначе + Возврат ВозвращаемоеЗначение; + КонецЕсли; + + // Проверяем существование объекта. В противном случае при открытии формы будет ошибка. + Попытка + + Если Не ВозвращаемоеЗначение = Неопределено Тогда + + Объект = ВозвращаемоеЗначение.ПолучитьОбъект(); + + Если Объект = Неопределено Тогда + ВозвращаемоеЗначение = Неопределено; + КонецЕсли; + + КонецЕсли; + + Исключение + ВозвращаемоеЗначение = Неопределено; + + КонецПопытки; + + Возврат ВозвращаемоеЗначение; + +КонецФункции + +// Удаляет все записи событий уведомления по указанному объекту. +// +// Параметры: +// Ссылка - Справочник.Ссылка - Ссылка на запись календаря. +// +Процедура УдалитьЗаписьСообщенияПоОбъекту(Ссылка) Экспорт + + Набор = РегистрыСведений.ОбъектыУведомлений.СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Ссылка); + Набор.Записать(Истина); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" new file mode 100644 index 0000000..f1802d9 --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" @@ -0,0 +1,23 @@ + + + + + ЛокальныеУведомленияВызовСервераПовтИсп + + + ru + Локальные уведомления вызов сервера повт исп + + + + false + false + true + false + false + true + false + DuringSession + + + \ No newline at end of file diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" new file mode 100644 index 0000000..79f842e --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -0,0 +1,15 @@ + +#Область ПрограммныйИнтерфейс + +// Получает флаг использования локальных уведомлений. +// +// Возвращаемое значение: +// Булево - Истина, если используются локальные уведомления. +// +Функция ИспользоватьЛокальныеУведомления() Экспорт + + Возврат Константы.ИспользоватьЛокальныеУведомления.Получить(); + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..190fbd4 --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ЛокальныеУведомленияКлиент + + + ru + Локальные уведомления клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..61d077a --- /dev/null +++ "b/CommonModules/\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,311 @@ + +#Область ПрограммныйИнтерфейс + +// Подключает обработчик локальных и push-уведомлений. +// +Процедура ПодключитьОбработкуДоставляемыхУведомлений() Экспорт + + #Если МобильноеПриложениеКлиент Тогда + + // Создаем описатель обработчика уведомлений + Обработчик = Новый ОписаниеОповещения("ОбработчикДоставляемыхУведомлений", ЭтотОбъект); + + // Выполняем подключение обработчика + ДоставляемыеУведомления.ПодключитьОбработчикУведомлений(Обработчик); + + #КонецЕсли + +КонецПроцедуры + +// Обработчик локальных и push-уведомлений. +// +// Параметры: +// Уведомление - ЛокальноеУведомление - Обрабатываемое локальное или push-уведомление; +// Локальное - Булево - признак того, что уведомление локальное, Ложь - push-уведомление; +// Показано - Булево - признак того, что уведомление показано; +// ДопПараметры - Произвольный - дополнительные параметры обработчика. +// +Процедура ОбработчикДоставляемыхУведомлений(Уведомление, Локальное, Показано, ДопПараметры) Экспорт + + #Если МобильноеПриложениеКлиент Тогда + + ДоставляемыеУведомления.УстановитьНаклейку(0); + + ОписаниеОбъекта = Уведомление.Данные; + + // Проверяем данные на наличие обязательного префикса + Если СтрНайти(ОписаниеОбъекта, "Ref:") = 0 Тогда + Возврат; + КонецЕсли; + + // Удаляем префикс из описания + ОписаниеОбъекта = СтрЗаменить(ОписаниеОбъекта, "Ref:", ""); + + Позиция = СтрНайти(ОписаниеОбъекта, ";"); + Ссылка = Лев(ОписаниеОбъекта, Позиция - 1); + ДатаСобытия = Дата(Сред(ОписаниеОбъекта, Позиция + 1)); + + // Ищем позицию разделителя между именем метаданных и идентификатором + Позиция = СтрНайти(Ссылка, "\"); + + // Если разделитель не найден, то выходим из процедуры, т.к. скорее + // всего структура данных уведомления не сможет быть обработана. + Если Позиция = 0 Тогда + Возврат; + КонецЕсли; + + // Выделяем имя метаданных и идентификатор объекта + ИмяМетаданных = Лев(Ссылка, Позиция - 1); + Идентификатор = СокрЛП(Сред(Ссылка, Позиция + 1)); + + // Получаем ссылку на объект уведомления + Ссылка = ЛокальныеУведомленияВызовСервера.ПолучитьСсылку(ИмяМетаданных, Идентификатор); + + // Показываем объект уведомления + Если Не Ссылка = Неопределено Тогда + + ПараметрыОбработчика = Новый Структура(); + ПараметрыОбработчика.Вставить("ИмяМетаданных", ИмяМетаданных); + ПараметрыОбработчика.Вставить("Идентификатор", Идентификатор); + ПараметрыОбработчика.Вставить("Ссылка", Ссылка); + ПараметрыОбработчика.Вставить("Текст", Уведомление.Текст); + + ОбработкаРешения = + Новый ОписаниеОповещения( + "ОбработкаРешенияПоказатьОбъектУведомления", + ЛокальныеУведомленияКлиент, ПараметрыОбработчика); + + ТекстВопроса = СтрШаблон( + НСтр("ru = '%1 + |%2'; en = '%1 + |%2'"), Уведомление.Текст, + СформироватьТекстДатыУведомления(ДатаСобытия)); + + КнопкиВыборка = Новый СписокЗначений(); + КнопкиВыборка.Добавить("Открыть" , НСтр("ru = 'Просмотреть'; en = 'View'")); + КнопкиВыборка.Добавить("Отложить", НСтр("ru = 'Отложить на 15 мин.'; en = 'Postpone for 15 min.'")); + КнопкиВыборка.Добавить("Закрыть" , НСтр("ru = 'Закрыть'; en = 'Close'")); + + ПоказатьВопрос(ОбработкаРешения, ТекстВопроса, КнопкиВыборка, , "Закрыть",); + + Иначе + ОбновитьЛокальныеУведомленияНаУстройстве(); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +// Обрабатывает решение пользователя об обработке уведомления +// +// Параметры: +// Решение - Строка - Решение пользователя; +// ДопПараметры - Структура - Доп параметры вызовы метода. +// +Процедура ОбработкаРешенияПоказатьОбъектУведомления(Решение, ДопПараметры) Экспорт + + ЛокальныеУведомленияВызовСервера.УдалитьЗаписьСообщенияПоОбъекту(ДопПараметры.Ссылка); + + Если Решение = "Открыть" Тогда + ОткрытьФормуОбъектаУведомления(ДопПараметры.ИмяМетаданных, ДопПараметры.Ссылка); + + ИначеЕсли Решение = "Отложить" Тогда + ЛокальныеУведомленияВызовСервера.СформироватьЗаписьУведомленияПоОбъекту( + ДопПараметры.Ссылка, ДопПараметры.Текст, ТекущаяДата() + 15 * 60, 0); + + КонецЕсли; + + ОбновитьЛокальныеУведомленияНаУстройстве(); + +КонецПроцедуры + +// Пересоздает все локальные уведомления на устройстве. +// +Процедура ОбновитьЛокальныеУведомленияНаУстройстве() Экспорт + + Просроченных = 0; + + // Получаем сведения обо всех объекта требующих уведомления + МассивДанных = ЛокальныеУведомленияВызовСервера.ПолучитьДанныеДляЛокальныхУведомления(Просроченных); + + #Если МобильноеПриложениеКлиент Тогда + + // Удаляем все локальные уведомления которые еще не показаны + УдалитьВсеЛокальныеУведомленияНаКлиенте(); + + // формируем уведомление для каждого объекта + Для Каждого Запись Из МассивДанных Цикл + + ПоместитьУведомлениеВУстройство( + СоздатьЛокальноеУведомление(Запись)); + + КонецЦикла; + + #КонецЕсли + +КонецПроцедуры + +// Удаляет все локальные уведомления при выключении функции. +// +Процедура УдалитьВсеЛокальныеУведомленияНаКлиенте() Экспорт + + #Если МобильноеПриложениеКлиент Тогда + + ДоставляемыеУведомления.ОтменитьЛокальныеУведомления(); + ДоставляемыеУведомления.УстановитьНаклейку(0); + + #КонецЕсли + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Помещает новое доставляемое уведомление в систему; +// +// Параметры: +// Уведомление - ДоставляемоеУведомление - Локальное уведомление которое будет показано на устройстве. +// +Процедура ПоместитьУведомлениеВУстройство(Уведомление = Неопределено) + + // Если уведомление не задано, то просто выходим. + Если Уведомление = Неопределено Тогда + Возврат; + КонецЕсли; + + #Если МобильноеПриложениеКлиент Тогда + + // Помещаем уведомление в систему устройства + ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление); + + #КонецЕсли + +КонецПроцедуры + +// Открывает форму объекта уведомления. +// +// Параметры: +// ИмяМетаданных - Строка - имя метаданных объекта; +// Ссылка - Ссылка - ссылка на объект уведомления. +// +Процедура ОткрытьФормуОбъектаУведомления(ИмяМетаданных, Ссылка) + + ПараметрыФормы = Новый Структура("Ключ", Ссылка); + + ИмяМетаданных = СокрЛП(ИмяМетаданных); + + Если ИмяМетаданных = "Задачи" Тогда + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ОткрытьФорму("Справочник.Задачи.Форма.ФормаЗадачиПланшет", ПараметрыФормы); + Иначе + ОткрытьФорму("Справочник.Задачи.Форма.ФормаЗадачиТелефон", ПараметрыФормы); + КонецЕсли; + + ИначеЕсли ИмяМетаданных = "ПроцессыИсполнение" Тогда + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ОткрытьФорму("Справочник.ПроцессыИсполнение.Форма.ФормаПроцессаПланшет", ПараметрыФормы); + Иначе + ОткрытьФорму("Справочник.ПроцессыИсполнение.Форма.ФормаПроцессаТелефон", ПараметрыФормы); + КонецЕсли; + + ИначеЕсли ИмяМетаданных = "ЗаписиРабочегоКалендаря" Тогда + + ОткрытьФорму("Справочник.ЗаписиРабочегоКалендаря.Форма.ФормаЭлемента", ПараметрыФормы); + + ИначеЕсли ИмяМетаданных = "Контроль" Тогда + + ОткрытьФорму("Справочник.Контроль.Форма.КарточкаКонтроляТелефон", ПараметрыФормы); + + ИначеЕсли ИмяМетаданных = "ВходящееПисьмо" Тогда + + ОткрытьФорму("Документ.ВходящееПисьмо.Форма.ФормаВходящего", ПараметрыФормы); + + ИначеЕсли ИмяМетаданных = "ИсходящееПисьмо" Тогда + + ОткрытьФорму("Документ.ИсходящееПисьмо.Форма.ФормаИсходящего", ПараметрыФормы); + + КонецЕсли; + +КонецПроцедуры + +// Формирует представление даты начала события для уведомления. +// +// Параметры: +// Дата - Дата - Дата начала события; +// +// Возвращаемое значение: +// Строка - Представление даты. +// +Функция СформироватьТекстДатыУведомления(Дата) + + Если НачалоДня(ТекущаяДата()) = НачалоДня(Дата) Тогда + Представление = + СтрШаблон( + НСтр("ru = 'Сегодня в %1'; en = 'Today at %1'"), Формат(Дата, "ДФ=HH:mm")); + + ИначеЕсли НачалоДня(ТекущаяДата())+86400 = НачалоДня(Дата) Тогда + Представление = + СтрШаблон( + НСтр("ru = 'Завтра в %1'; en = 'Tomorrow at %1'"), Формат(Дата, "ДФ=HH:mm")); + + Иначе + Представление = + СтрШаблон( + НСтр("ru = '%1 в %2'; en = '%1 at %2'"), + Формат(Дата, "ДФ='dd MMMM'"), Формат(Дата, "ДФ=HH:mm")); + + КонецЕсли; + + Возврат Представление; + +КонецФункции + +// Создает локальное уведомления на устройстве. +// +// Параметры: +// Заголовок - Строка - Заголовок локального уведомления; +// Текст - Строка - Текст локального уведомления; +// ДатаСрабатывания - Дата - Дата показа локального уведомления; +// Наклейка - Число - Число показываемое на значке приложения; +// Данные - Строка - Данные об объекте уведомления; +// ИнтервалПовторения - Число - Периодичность повтора уведомления; +// +// Возвращаемое значение: +// ДоставляемоеУведомление - Созданное уведомление для помещение на устройство. +// +Функция СоздатьЛокальноеУведомление(ДанныеУведомления) + + Уведомление = Неопределено; + + #Если МобильноеПриложениеКлиент Тогда + + // Проверяем дату предполагаемого показа + Если Не ДанныеУведомления.ДатаВремяУведомления = '00010101' + И УниверсальноеВремя(ТекущаяДата()) >= ДанныеУведомления.ДатаВремяУведомления Тогда + Возврат Уведомление; + КонецЕсли; + + // Создаем новое локальное уведомление + Уведомление = Новый ДоставляемоеУведомление; + + // Заполняем видимые пользователем свойства + Уведомление.ДатаПоявленияУниверсальноеВремя = ДанныеУведомления.ДатаВремяУведомления; + Уведомление.Заголовок = НСтр("ru = '1С:Стройка'"); + Уведомление.Текст = ДанныеУведомления.Описание; + Уведомление.Данные = ДанныеУведомления.Данные; + + // Заполняем служебные данные уведомления + Уведомление.Наклейка = 0; + Уведомление.ЗвуковоеОповещение = ЗвуковоеОповещение.ПоУмолчанию; + Уведомление.ИнтервалПовтора = ДанныеУведомления.Интервал; + + #КонецЕсли + + Возврат Уведомление; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..a37fc3e --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбменВызовСервера + + + ru + Обмен вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..a50d563 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,1534 @@ + +#Область ПрограммныйИнтерфейс + +// Функция - Запустить синхронизацию с сервером в фоне +// +// Параметры: +// ПараметрыЗапуска - Структура - Параметры запуска фонового задания; +// ИдентификаторЗадания - УникальныйИдентификатор - Идентификатор формы; +// АдресХранилища - Строка - Адрес хранилища дополнительной информации. +// +// Возвращаемое значение: +// Булево - Истина, если задание запущено. +// +Функция ЗапуститьСинхронизациюССерверомВФоне( + ПараметрыЗапуска, ИдентификаторЗадания, АдресХранилища) Экспорт + + //Перед запуском фонового задания синхронизации необходимо отменить + //задание очистки от устаревших данных, если оно активно + ОчисткаБазыДанныхВызовСервера.ПрерватьОчисткуОтСтарыхДанныхВФоне(); + + ИмяФоновогоЗадания = ПараметрыЗапуска.РежимСинхронизации; + + // Проверим наличие активного задания синхронизации. + ОтборЗаданий = Новый Структура(); + ОтборЗаданий.Вставить("Наименование", ИмяФоновогоЗадания); + ОтборЗаданий.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + + Задания = ФоновыеЗадания.ПолучитьФоновыеЗадания(ОтборЗаданий); + Если Не Задания.Количество() = 0 Тогда + Возврат Ложь; + КонецЕсли; + + // Запустим новое задание синхронизации. + ВыполнениеВФоне = Истина; + Данные = Неопределено; + + Если Не ПараметрыЗапуска.Свойство("Данные", Данные) Тогда + АдресХранилища = + ПоместитьВоВременноеХранилище( + Неопределено, ПараметрыЗапуска.УникальныйИдентификатор); + Данные = АдресХранилища; + КонецЕсли; + + Параметры = Новый Массив(); + Параметры.Добавить(ПараметрыЗапуска.ДатаНачалаСинхронизации); + Параметры.Добавить(ПараметрыЗапуска.РежимСинхронизации); + Параметры.Добавить(ВыполнениеВФоне); + Параметры.Добавить(Данные); + + Задание = + ФоновыеЗадания.Выполнить("ОбменВызовСервера.ОтправитьИПолучитьДанные", + Параметры, Новый УникальныйИдентификатор, ИмяФоновогоЗадания); + + ИдентификаторЗадания = Задание.УникальныйИдентификатор; + + Возврат Истина; + +КонецФункции + +// Выполняет отправку сообщения на сервер и обработку ответного сообщения, если требуется получать +// ответ от сервера. +// +// Параметры: +// ДатаНачалаСинхронизации - Дата - Дата начала синхронизации с мобильным клиентом; +// РежимСинхронизации - Строка - Идентификатор режима синхронизации; +// ВыполнениеВФоне - Булево - Признак вызова функции как фоновое задание; +// Данные - Произвольный - Данные передаваемые на сервер. +// +// Возвращаемое значение: +// Структура СведенияОЗагруженныхДанных - описывает загруженные данные; +// *КоличествоОбработанныхОбъектов - количество обработанных объектов; +// *НовыеДанные - массив ссылок на новые объекты, загруженные с сервера; +// *НовыеПисьма - количество новых писем; +// *НовыеЗадачи - количество новых задач; +// *НовыеЗаписиКалендаря - количество новых записей календаря. +// +Процедура ОтправитьИПолучитьДанные( + ДатаНачалаСинхронизации, РежимСинхронизации, + ВыполнениеВФоне, Данные = Неопределено) Экспорт + + // Выполняем подготовительные действия + ТекущаяСтадияРаботы = "Подготовка"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + ОбновитьПовторноИспользуемыеЗначения(); + ОбщегоНазначенияВызовСервера.УстановитьПараметрыСеанса(); + УстановитьТекущуюСессияСинхронизации(Константы.СессияСинхронизации.Получить()); + ВыполнитьДействияПередПодключением(); + + // Инициализируем постоянные переменные для уведомления пользователя + ЕстьОшибкиПриПодключении = Ложь; + ВСообщенияхЕстьДанные = Ложь; + + СчетчикиОбъектов = Новый Массив(); + Для Счетчик = 0 По ОбменКлиентСервер.Сущности().Количество() - 1 Цикл + СчетчикиОбъектов.Добавить(0); + КонецЦикла; + + ЭтоДемоРежим = Константы.ЭтоДемоРежим.Получить(); + ЕстьНеотправленныеДанные = Константы.ЕстьНеотправленныеДанные.Получить(); + СведенияОЗагруженныхДанных = ИнициализироватьСведенияОЗагруженныхДанных(); + ВыводитьРасширенныйПротокол = + ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций(); + + // подключаемся к сервису для определения версии формата обмена + ТекущаяСтадияРаботы = "Подключение"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + Попытка + СостояниеОбмена = ПолучитьПараметрыСостоянияОбмена(); + + // todo: нужен ли демо-режим? + // Получаем версию формата обмена через которую будем общаться с сервером + Если ЭтоДемоРежим Тогда + СостояниеОбмена.ЕстьОшибки = Ложь; + СведенияОЗагруженныхДанных.ЕстьОшибки = Ложь; + + ТекущаяСтадияРаботы = "ОтправкаДанных"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + Иначе + НачалоОперации = ТекущаяДата(); + ВерсияСервиса = ОбменВызовСервераПовтИсп.ПолучитьВерсиюСервиса(); + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Установка соединения'; en = 'Connection'"), НачалоОперации); + + Если ЗначениеЗаполнено(ВерсияСервиса) Тогда + + ТекущаяСтадияРаботы = "СозданиеСообщений"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + Если Не ЭтоДемоРежим Тогда + + НачалоОперации = ТекущаяДата(); + + Если РежимСинхронизации = "ПодключитьНовоеУстройство" Тогда + ОбменФормированиеСообщенийВызовСервера.СоздатьСообщениеДляПодключенияУстройства( + ВерсияСервиса); + + ИначеЕсли РежимСинхронизации = "ОтключитьУстройство" Тогда + ОбменФормированиеСообщенийВызовСервера.СоздатьСообщениеДляОтключенияУстройства( + ВерсияСервиса) + + ИначеЕсли РежимСинхронизации = "ВыполнитьСинхронизацию" Тогда + ОбменФормированиеСообщенийВызовСервера.СоздатьСообщениеДляВыгрузкиВсехИзмененныхДанных( + ВерсияСервиса, ЕстьНеотправленныеДанные) + + ИначеЕсли РежимСинхронизации = "ЗагрузитьФайлССервера" Тогда + ОбменФормированиеСообщенийВызовСервера.СоздатьСообщениеДляПолученияОдногоФайла( + ВерсияСервиса, Данные) + + ИначеЕсли РежимСинхронизации = "ОтправитьОтчетОПроблеме" Тогда + ОбменФормированиеСообщенийВызовСервера.СоздатьСообщениеДляПередачиСообщенияОПроблеме( + ВерсияСервиса, Данные); + + КонецЕсли; + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Создание исходящего сообщения'; + |en = 'Creating an outgoing message'"), НачалоОперации); + + КонецЕсли; + + ТекущаяСтадияРаботы = "ОтправкаДанных"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + НачалоОперации = ТекущаяДата(); + + ОтправитьДанные(СостояниеОбмена, СведенияОЗагруженныхДанных); + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Отправка данных'; en = 'Sending data'"), НачалоОперации); + + ИначеЕсли РежимСинхронизации = "ОтключитьУстройство" Тогда + // при отключении устройства - просто продолжаем очищать базу. + Иначе + + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Истина); + Возврат; + + КонецЕсли; + + КонецЕсли; + + Исключение + + ЗаписатьОшибкуПриОбмене(ИнформацияОбОшибке()); + + ТекущаяСтадияРаботы = "Завершение"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Истина); + + ТекущаяСтадияРаботы = "ОбновитьДатуСинхронизации"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Истина); + + Возврат; + + КонецПопытки; + + Если СведенияОЗагруженныхДанных.ЕстьОшибки Тогда + ТекущаяСтадияРаботы = "Завершение"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Истина, Ложь, СчетчикиОбъектов); + Возврат; + КонецЕсли; + + Попытка + ТекущаяСтадияРаботы = "ЗагрузкаДанных"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + Если ЭтоДемоРежим Тогда + ОбменДемоДанныеВызовСервера.ЗагрузитьДемоДанные(); + Иначе + ЗагрузитьДанные(СостояниеОбмена, СведенияОЗагруженныхДанных, ДатаНачалаСинхронизации); + КонецЕсли; + + ТекущаяСтадияРаботы = "ПросмотрДанных"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Ложь); + + ВСообщенияхЕстьДанные = ПросмотретьДанные(СведенияОЗагруженныхДанных); + + СчетчикиОбъектов = ОбменВызовСервера.ПоказателиНовыеОбъекты(); + ЗаполнитьЗначенияСвойств(СчетчикиОбъектов, + СведенияОЗагруженныхДанных.ПоказателиОбмена); + + ТекущаяСтадияРаботы = "ЗаписьДанных"; + СообщитьПользователю( + ТекущаяСтадияРаботы, ВыполнениеВФоне, Ложь, ВСообщенияхЕстьДанные, + СчетчикиОбъектов); + + ЗаписатьДанные( + ВСообщенияхЕстьДанные, СведенияОЗагруженныхДанных, ДатаНачалаСинхронизации); + + ВозвращаемыеДанные = Новый СписокЗначений; + Для Каждого Пара Из СведенияОЗагруженныхДанных.НовыеДанные Цикл + ВозвращаемыеДанные.Добавить( + Новый Структура("Ключ, Значение", Пара.Ключ, Пара.Значение)); + КонецЦикла; + + Адрес = ПоместитьВоВременноеХранилище(ВозвращаемыеДанные, Данные); + + ТекущаяСтадияРаботы = "Завершение"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне); + + Исключение + ЗаписатьОшибкуПриОбмене(ИнформацияОбОшибке()); + ТекущаяСтадияРаботы = "Завершение"; + СообщитьПользователю(ТекущаяСтадияРаботы, ВыполнениеВФоне, Истина); + Возврат; + КонецПопытки; + + СообщитьПользователю("ОбновитьДатуСинхронизации", ВыполнениеВФоне); + + ЗавершитьОтправкуИПолучение(СведенияОЗагруженныхДанных, РежимСинхронизации); + +КонецПроцедуры + +// Увеличить счетчики о загруженных данных. +// +// Параметры: +// СведенияОЗагруженныхДанных - Структура - общие сведения о текущем сеансе обмена +// * СчетчикиОбъектов - Соответствие - список счетчиков по типам объектов. +// ИмяТипа - Строка - Тип учитываемого объекта. +// +Процедура УвеличитьСчетчикиПоТипамОбъектов(СведенияОЗагруженныхДанных, ИмяТипа) Экспорт + + // Обновляем общий счетчик объектов + СведенияОЗагруженныхДанных.ПоказателиОбмена.КоличествоЗагружаемыхОбъектов = + СведенияОЗагруженныхДанных.ПоказателиОбмена.КоличествоЗагружаемыхОбъектов + 1; + + // Получаем счетчик указанного типа + ДанныеОТипеОбъекта = СведенияОЗагруженныхДанных.ПоказателиОбмена.СчетчикиОбъектов[ИмяТипа]; + + // Создаем новый счетчик, если он еще не инициализирован + Если ДанныеОТипеОбъекта = Неопределено Тогда + ДанныеОТипеОбъекта = Новый Структура("Количество", 0); + КонецЕсли; + + // Увеличиваем количество указанного типа + ДанныеОТипеОбъекта.Количество = ДанныеОТипеОбъекта.Количество + 1; + + // Обновляем параметры текущего сеанса синхронизации + СведенияОЗагруженныхДанных.ПоказателиОбмена.СчетчикиОбъектов.Вставить(ИмяТипа, ДанныеОТипеОбъекта); + +КонецПроцедуры + +// Проверяет состояние задания фоновой синхронизации. +// +// Параметры: +// ФоновоеЗаданиеИдентификатор - УникальныйИдентификатор - Идентификатор задания; +// ФоновоеЗаданиеАдресХранилища - Строка - Адрес хранилища на сервере для помещения результат; +// ОписаниеПоследнегоОбновления - Строка - Описание текщей операции и истории обновления. +// +// Возвращаемое значение: +// Результат - Структура возвращаемых данных. +// +Функция ПроверитьСостояниеФоновойСинхронизации( + ФоновоеЗаданиеИдентификатор, + ФоновоеЗаданиеАдресХранилища, + ОписаниеПоследнегоОбновления) Экспорт + + Результат = Новый Структура(); + Результат.Вставить("ЗаданиеВыполнено", Ложь); + Результат.Вставить("СообщениеОбОшибке", Неопределено); + Результат.Вставить("ОбновитьДатуСинхронизации", Ложь); + + Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ФоновоеЗаданиеИдентификатор); + + Если Задание = Неопределено Тогда + Результат.СообщениеОбОшибке = + НСтр("ru = 'Не удалось выполнить синхронизацию. См. протокол обмена'"); + + ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.ЗавершеноАварийно Тогда + Результат.СообщениеОбОшибке = ПодробноеПредставлениеОшибки(Задание.ИнформацияОбОшибке); + + ИначеЕсли Задание.Состояние = СостояниеФоновогоЗадания.Завершено Тогда + Результат.ЗаданиеВыполнено = Истина; + + КонецЕсли; + + Если Не Задание = Неопределено Тогда + + ВсеСообщения = Задание.ПолучитьСообщенияПользователю(Ложь); + Если ВсеСообщения = Неопределено Тогда + ВсеСообщения = Новый Массив(); + КонецЕсли; + + ЕстьОшибки = Ложь; + + Для Каждого СообщениеПользователю Из ВсеСообщения Цикл + СодержимоеСообщения = ОбщегоНазначенияСервер.ОбъектИзJSON(СообщениеПользователю.Текст); + Если СодержимоеСообщения = Неопределено Тогда + Продолжить; + КонецЕсли; + + // todo: delete + // МассивРезультатовРаботы = СтрРазделить(СообщениеПользователю.Текст, ";"); + + ТекущаяСтадияРаботы = СодержимоеСообщения.ТекущаяСтадия; // МассивРезультатовРаботы[0]; + ЕстьОшибки = СодержимоеСообщения.ЕстьОшибки; // Булево(МассивРезультатовРаботы[1]); + ВСообщенияхЕстьДанные = СодержимоеСообщения.ЕстьДанные; // Булево(МассивРезультатовРаботы[2]); + + Если СодержимоеСообщения.Данные <> Неопределено Тогда + //Если СтрНайти(МассивРезультатовРаботы[3], ",") Тогда + // СчетчикиОбъектов = СтрРазделить(МассивРезультатовРаботы[3], ","); + СчетчикиОбъектов = СодержимоеСообщения.Данные; + Иначе + + Если ТекущаяСтадияРаботы = "Завершение" + И ЗначениеЗаполнено(ФоновоеЗаданиеАдресХранилища) Тогда + + Результат.Вставить("СведенияОЗагруженныхДанных", + ПолучитьИзВременногоХранилища(ФоновоеЗаданиеАдресХранилища)); + + КонецЕсли; + + КонецЕсли; + + Результат.Вставить("ТекущаяСтадияРаботы", ТекущаяСтадияРаботы); + Результат.Вставить("ЕстьОшибки", ЕстьОшибки); + Результат.Вставить("ВСообщенияхЕстьДанные", ВСообщенияхЕстьДанные); + + Если ТекущаяСтадияРаботы = "ЗаписьДанных" Тогда + Результат.Вставить("СчетчикиОбъектов", СчетчикиОбъектов); + + ИначеЕсли ТекущаяСтадияРаботы = "ОбновитьДатуСинхронизации" Тогда + Результат.ОбновитьДатуСинхронизации = Истина; + + КонецЕсли; + + КонецЦикла; + + СформироватьОписаниеТекущегоСостояния( + ЕстьОшибки, ТекущаяСтадияРаботы, ОписаниеПоследнегоОбновления); + + КонецЕсли; + + Результат.Вставить("ОписаниеПоследнегоОбновления", ОписаниеПоследнегоОбновления); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СервисныеФункции + +// Сбрасывает значения в константах, описывающих состояние загрузки частей сообщений с сервера, +// чтобы дать возможность загрузить сообщения с начала очереди. +// +Процедура СброситьСостояниеЗагрузкиЧастейСообщений() Экспорт + + Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Установить(УникальныйИдентификаторПустой()); + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Установить(0); + +КонецПроцедуры + +// Удаляет регистрацию изменений на центральном узле обмена и увеличивает счетчик отправленных сообщений. +// +Процедура УдалитьРегистрациюИзмененийОтправленныхДанных() Экспорт + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + // После записи сообщения в очередь регистрация изменений очищается + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена); + + ЦентральныйУзелОбменаОбъект = ЦентральныйУзелОбмена.ПолучитьОбъект(); + ЦентральныйУзелОбменаОбъект.НомерОтправленного = ЦентральныйУзелОбменаОбъект.НомерОтправленного + 1; + ЦентральныйУзелОбменаОбъект.Записать(); + +КонецПроцедуры + +// Выполняет настройку ИБ после первого подключения к серверу. +// +Процедура ВыполнитьДействияПослеПервогоПодключенияКСерверу() Экспорт + + Константы.ДатаПоследнегоОбновления.Установить(ТекущаяДата()); + + //СтруктураОтбора = Новый Структура("МожетИспользоватьсяДляОтправки", Истина); + //ВыборкаУчетныеЗаписи = Справочники.УчетныеЗаписи.Выбрать(,, СтруктураОтбора); + //ТекущаяУчетнаяЗапись = Константы.ОсновнаяУчетнаяЗапись.Получить(); + + //Если Не ЗначениеЗаполнено(ТекущаяУчетнаяЗапись) Тогда + // Если ВыборкаУчетныеЗаписи.Следующий() Тогда + // Константы.ОсновнаяУчетнаяЗапись.Установить(ВыборкаУчетныеЗаписи.Ссылка); + // КонецЕсли; + //КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура СформироватьОписаниеТекущегоСостояния(ЕстьОшибки, ТекущаяСтадияРаботы, ОписаниеПоследнегоОбновления) + + Если ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + Если ТекущаяСтадияРаботы = "Подготовка" + Или Не ЗначениеЗаполнено(ТекущаяСтадияРаботы) Тогда + Процент = 5; + ПредставлениеЭтапа = НСтр("ru = 'Запуск'; en = 'Launching'"); + + ИначеЕсли ТекущаяСтадияРаботы = "Подключение" Тогда + Процент = 10; + ПредставлениеЭтапа = НСтр("ru = 'Подключение'; en = 'Connecting'"); + + ИначеЕсли ТекущаяСтадияРаботы = "СозданиеСообщений" Тогда + Процент = 15; + ПредставлениеЭтапа = НСтр("ru = 'Подготовка'; en = 'Preparing'"); + + ИначеЕсли ТекущаяСтадияРаботы = "ОтправкаДанных" Тогда + Процент = 35; + ПредставлениеЭтапа = НСтр("ru = 'Отправка данных'; en = 'Sending data'"); + + ИначеЕсли ТекущаяСтадияРаботы = "ЗагрузкаДанных" Тогда + Процент = 50; + ПредставлениеЭтапа = НСтр("ru = 'Загрузка данных'; en = 'Download data'"); + + ИначеЕсли ТекущаяСтадияРаботы = "ПросмотрДанных" Тогда + Процент = 65; + ПредставлениеЭтапа = НСтр("ru = 'Анализ данных'; en = 'Preview data'"); + + ИначеЕсли ТекущаяСтадияРаботы = "ЗаписьДанных" Тогда + Процент = 80; + ПредставлениеЭтапа = НСтр("ru = 'Запись данных'; en = 'Writing data'"); + + ИначеЕсли ТекущаяСтадияРаботы = "Завершение" + Или ТекущаяСтадияРаботы = "ОбновитьДатуСинхронизации" Тогда + Процент = 95; + ПредставлениеЭтапа = НСтр("ru = 'Завершение'; en = 'Finishing'"); + + КонецЕсли; + Иначе + Если (Не ЗначениеЗаполнено(ТекущаяСтадияРаботы) + Или ТекущаяСтадияРаботы = "Подготовка" + Или ТекущаяСтадияРаботы = "Подключение" + Или ТекущаяСтадияРаботы = "СозданиеСообщений" + Или ТекущаяСтадияРаботы = "ОтправкаДанных") Тогда + + ПредставлениеЭтапа = НСтр("ru = 'Подключение'; en = 'Connecting'"); + + ИначеЕсли ТекущаяСтадияРаботы = "ЗагрузкаДанных" Тогда + ПредставлениеЭтапа = НСтр("ru = 'Загрузка'; en = 'Loading'"); + + ИначеЕсли (ТекущаяСтадияРаботы = "ПросмотрДанных" + Или ТекущаяСтадияРаботы = "ЗаписьДанных" + Или ТекущаяСтадияРаботы = "Завершение" + Или ТекущаяСтадияРаботы = "ОбновитьДатуСинхронизации") Тогда + ПредставлениеЭтапа = НСтр("ru = 'Обработка'; en = 'Processing'"); + + КонецЕсли; + + КонецЕсли; + + Если ЕстьОшибки Тогда + ОписаниеПоследнегоОбновления = + СтрШаблон("%1", НСтр("ru = 'Ошибка (см. протокол)'; en = 'Error (view protocol)!'")); + + ИначеЕсли ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + ОписаниеПоследнегоОбновления = + СтрШаблон("%1 (%2%%)...", ПредставлениеЭтапа, Процент); + + Иначе + ОписаниеПоследнегоОбновления = + СтрШаблон("%1...", ПредставлениеЭтапа); + + КонецЕсли; + +КонецПроцедуры + +// Записывает ошибку в протокол работы пользователя. +// +// Параметры: +// Инфо - ИнформацияОбОшибке - Информация о произошедшей ошибке. +// +Процедура ЗаписатьОшибкуПриОбмене(Инфо) + + ОбщееОписаниеОшибки = + НСтр("ru = 'При выполнении обмена произошла ошибка.'; en = 'Synchronization error.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, Инфо.Описание, ПодробноеПредставлениеОшибки(Инфо)); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + +КонецПроцедуры + +// Устанавливает номер сессии синхронизации используемую в текущей операции обмена +// +// Возвращаемое значение: +// Число - Номер текущей сессии обмена. +// +Функция ВыполнитьДействияПередПодключением() + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(НСтр("ru = 'Подключение'; en = 'Connecting'")); + + НомерСессии = ПараметрыСеанса.ТекущаяСессияСинхронизации; + + Если НомерСессии = 0 Тогда + + // Получаем текущую сессию из константы и сразу увеличиваем ее до текущей + НомерСессии = Константы.СессияСинхронизации.Получить()+ 1; + + // Сразу обновляем константу + Константы.СессияСинхронизации.Установить(НомерСессии); + + // Обновим параметры для быстрого доступа + УстановитьТекущуюСессияСинхронизации(НомерСессии); + + КонецЕсли; + + Возврат НомерСессии; + +КонецФункции + +// Устанавливает номер сессии синхронизации используемую в текущей операции обмена. +// +Процедура УстановитьТекущуюСессияСинхронизации(НомерСессии = 0) Экспорт + + ПараметрыСеанса.ТекущаяСессияСинхронизации = НомерСессии; + +КонецПроцедуры + +// Получает структуру состояния новой операции запроса к серверу. +// +// Возвращаемое значение: +// Структура - Параметры состояния операции по-умолчанию +// ЕстьОшибки - Булево - По-умолчанию Истина, пока не подтверждено, что операция успешна; +// ПродолжитьЗагрузку - Булево - По-умолчанию: Ложь, пока сервере не ответил, что есть данные для загрузки; +// КоличествоСообщенийВОчереди - Число - Количество сообщений в очереди на сервере, ожидающие загрузки; +// ОбъемПолученныхДанных - Число - Объем загруженных текущей операцией данных; +// ВремяЗагрузкиДанных - Число - Время загрузки очередной порции данных в сек; +// ПроцентГотовностиЗагружаемогоСообщения - Число - Процент готовности сообщения на сервере. +// +Функция ПолучитьПараметрыСостоянияОбмена() + + // Инициализация структуры, описывающей состояние обмена. + // По умолчанию считаем, что сообщений на сервере нет и обмен продолжаться не будет. + + СостояниеОбмена = Новый Структура; + СостояниеОбмена.Вставить("ЕстьОшибки", Истина); + СостояниеОбмена.Вставить("ПродолжитьЗагрузку", Ложь); + СостояниеОбмена.Вставить("КоличествоСообщенийВОчереди", 0); + СостояниеОбмена.Вставить("ОбъемПолученныхДанных", 0); + СостояниеОбмена.Вставить("ВремяЗагрузкиДанных", 0); + СостояниеОбмена.Вставить("ПроцентГотовностиЗагружаемогоСообщения", 0); + + Возврат СостояниеОбмена; + +КонецФункции + +// Получает структура данных служебной информации для обмена. +// +Функция ИнициализироватьСведенияОЗагруженныхДанных() + + ВыводитьРасширенныйПротокол = ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций(); + + ПоказателиОбмена = Новый Структура(); + ПоказателиОбмена.Вставить("КоличествоОбработанныхОбъектов", 0); + ПоказателиОбмена.Вставить("КоличествоЗагружаемыхОбъектов" , 0); + ПоказателиОбмена.Вставить("ОбъемПолученныхДанных" , 0); + ПоказателиОбмена.Вставить("ОбъемПолученныхФайлов" , 0); + ПоказателиОбмена.Вставить("КоличествоИтерацийОбмена" , 0); + ПоказателиОбмена.Вставить("КоличествоПустыхПакетов" , 0); + ПоказателиОбмена.Вставить("КоличествоПакетовСДанными", 0); + ПоказателиОбмена.Вставить("ВсегоПолученоСообщений" , 0); + ПоказателиОбмена.Вставить("ВремяЗагрузкиДанных" , 0); + + Для Каждого ПоказательНового Из ПоказателиНовыеОбъекты() Цикл + ПоказателиОбмена.Вставить(ПоказательНового.Ключ, ПоказательНового.Значение); + КонецЦикла; + + ПоказателиОбмена.Вставить("ВременныеПоказатели", Новый Массив()); + ПоказателиОбмена.Вставить("СчетчикиОбъектов", Новый Соответствие()); + + // Начальное заполнение структуры, описывающей загруженные данные при синхронизации + СведенияОЗагруженныхДанных = Новый Структура(); + СведенияОЗагруженныхДанных.Вставить("ЕстьОшибки", Ложь); + + СведенияОЗагруженныхДанных.Вставить("НовыеДанные" , Новый Соответствие()); + СведенияОЗагруженныхДанных.Вставить("УдаляемыеДанные" , Новый Соответствие()); + + СведенияОЗагруженныхДанных.Вставить("ПоказателиОбмена", ПоказателиОбмена); + + Возврат СведенияОЗагруженныхДанных; + +КонецФункции + +Функция ПоказателиНовыеОбъекты() Экспорт + + ПоказателиОбмена = Новый Структура(); + + // Справочники + ПоказателиОбмена.Вставить("НовыеОбъектыСтроительства", 0); + ПоказателиОбмена.Вставить("НовыеГорода", 0); + ПоказателиОбмена.Вставить("НовыеКонтрагенты", 0); + ПоказателиОбмена.Вставить("НовыеСтатьиРасходов", 0); + + // Документы + ПоказателиОбмена.Вставить("НовыеСписанияДенежныхСредств", 0); + + Возврат ПоказателиОбмена; + +КонецФункции + +// Отправляет данные в центральную базу +// +// Параметры: +// ДанныеДляПередачи - хранилище значения в двоичными данными; +// НеобходимоПолучитьДанныеОтСервера - признак того, что серверу необходимо будет подготовить ответ. +// +Процедура ОтправитьДанные(СостояниеОбмена, СведенияОЗагруженныхДанных) + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Начало отправки сообщения на сервер'")); + + // Получаем состояние константы перед началом обмен + СведенияОЗагруженныхДанных.Вставить("ЕстьНеотправленныеДанные", + Константы.ЕстьНеотправленныеДанные.Получить()); + + ДанныеОСоединении = ОбменВызовСервераПовтИсп.ПолучитьСоединение(СостояниеОбмена); + + Если ДанныеОСоединении = Неопределено Тогда + СведенияОЗагруженныхДанных.ЕстьОшибки = Истина; + Иначе + ОтправитьДанныеJSON( + СостояниеОбмена, ДанныеОСоединении, СведенияОЗагруженныхДанных); + + СведенияОЗагруженныхДанных.ЕстьОшибки = СостояниеОбмена.ЕстьОшибки; + КонецЕсли; + +КонецПроцедуры + +// Загружает очередную порцию данных с сервера. +// +// Параметры: +// СостояниеОбмена - Структура - Структура параметров текущей операции обмена; +// СведенияОЗагруженныхДанных - Структура - Кэш данных синхронизации; +// ДатаНачалаСинхронизации - Дата - Дата и время начала процесса обмена. +// +Процедура ЗагрузитьДанные(СостояниеОбмена, СведенияОЗагруженныхДанных, ДатаНачалаСинхронизации) + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Загрузка данных'; en = 'Downloading data'"), ДатаНачалаСинхронизации); + + НачалоОперации = ТекущаяДата(); + ПервыйПакетСДанными = Неопределено; + + // Загрузка данных с сервера + Пока СостояниеОбмена.ПродолжитьЗагрузку Цикл + + ОбъемПолученныхДанных = ПолучитьДанные(СостояниеОбмена, + СведенияОЗагруженныхДанных.ПоказателиОбмена); + + Если Не ОбъемПолученныхДанных = 0 И ПервыйПакетСДанными = Неопределено Тогда + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Получение изменений на сервере'; en = 'Getting changes'"), + НачалоОперации - (СостояниеОбмена.ВремяЗагрузкиДанных / 1000), + ТекущаяДата()); + + ПервыйПакетСДанными = ТекущаяДата(); + НачалоОперации = + ТекущаяДата() - (СостояниеОбмена.ВремяЗагрузкиДанных / 1000); + + КонецЕсли; + + КонецЦикла; + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Загрузка изменений с сервера'; en = 'Donloading changes from server'"), + НачалоОперации, + ТекущаяДата()); + +КонецПроцедуры + +// Получает с сервера очередную часть сообщения обмена, записывает ее в регистр. +// При этом обновляются показатели состояния процесса загрузки. +// +Функция ПолучитьДанные(СостояниеОбмена, ПоказателиОбмена) + + ДанныеОСоединении = ОбменВызовСервераПовтИсп.ПолучитьСоединение(СостояниеОбмена); + СостояниеОбмена = ПолучитьПараметрыСостоянияОбмена(); + + ПолучитьДанныеJSON(ДанныеОСоединении, СостояниеОбмена); + + // Обновим показатели обмена + Если СостояниеОбмена.ОбъемПолученныхДанных = 0 Тогда + ПоказателиОбмена.КоличествоПустыхПакетов = ПоказателиОбмена.КоличествоПустыхПакетов + 1; + + Иначе + ПоказателиОбмена.КоличествоПакетовСДанными = ПоказателиОбмена.КоличествоПакетовСДанными + 1; + + ВремяВСекундах = Формат(СостояниеОбмена.ВремяЗагрузкиДанных / 1000, "ЧЦ=15; ЧДЦ=2; ЧГ="); + ОбъемВКб = Формат(СостояниеОбмена.ОбъемПолученныхДанных / 1024, "ЧЦ=15; ЧДЦ=2; ЧГ="); + + Если СостояниеОбмена.ВремяЗагрузкиДанных = 0 Тогда + Скорость = 0; + Иначе + Скорость = + (СостояниеОбмена.ОбъемПолученныхДанных / 1024) / (СостояниеОбмена.ВремяЗагрузкиДанных / 1000); + Скорость = Формат(Скорость, "ЧЦ=15; ЧДЦ=2; ЧГ="); + КонецЕсли; + + ТекстИнформации = + СтрШаблон( + НСтр("ru = 'Получена часть сообщения обмена. + |Объем данных: %1 кб + |Затраченное время : %2 сек. + |Скорость: %3 кб/сек'; + |en = 'Data part arrived: + |Data volume: %1 kb + |Elapsed time: %2 sec + |Speed: %3 kb/sec'"), + ОбъемВКб, ВремяВСекундах, Скорость); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + ТекстИнформации); + + КонецЕсли; + + ПоказателиОбмена.КоличествоИтерацийОбмена = ПоказателиОбмена.КоличествоИтерацийОбмена + 1; + + ПоказателиОбмена.ОбъемПолученныхДанных = ПоказателиОбмена.ОбъемПолученныхДанных + + СостояниеОбмена.ОбъемПолученныхДанных; + + ПоказателиОбмена.ВремяЗагрузкиДанных = ПоказателиОбмена.ВремяЗагрузкиДанных + + СостояниеОбмена.ВремяЗагрузкиДанных; + + Возврат СостояниеОбмена.ОбъемПолученныхДанных; + +КонецФункции + + +// Выполняет обработку очередного сообщения +// +// Параметры: +// ДатаНачалаСинхронизации - дата и время начала процесса синхронизации. +// СведенияОЗагруженныхДанных - структура,описывающая загруженные данные. +// +Процедура ОбработатьСледующееСообщение(ДатаНачалаСинхронизации, СведенияОЗагруженныхДанных) + + Сообщение = РегистрыСведений.ПолученныеДанныеОбмена.ПолучитьСообщение(); + + ОбменОбработкаСообщений.ОбработатьСообщение(Сообщение, СведенияОЗагруженныхДанных); + + РегистрыСведений.ПолученныеДанныеОбмена.УдалитьСообщение(Сообщение.ИдентификаторСообщения); + + Если ЗначениеЗаполнено(Константы.ДатаПоследнегоОбновления.Получить()) Тогда + Константы.ДатаПоследнегоОбновления.Установить(ДатаНачалаСинхронизации); + КонецЕсли; + +КонецПроцедуры + +// Выполняет предварительный анализ полученных данных. +// +// Параметры: +// СведенияОЗагруженныхДанных - Структура - Кэш данных синхронизации; +// +// Возвращаемое значение: +// Булево - Признак того, что в сообщении есть данные. +// +Функция ПросмотретьДанные(СведенияОЗагруженныхДанных) + + НачалоОперации = ТекущаяДата(); + + КоличествоЗагруженныхСообщений = ПолучитьКоличествоСообщений(); + ВСообщенияхЕстьДанные = Ложь; + + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВсегоПолученоСообщений = КоличествоЗагруженныхСообщений; + + Для Счетчик = 1 По КоличествоЗагруженныхСообщений Цикл + + ЕстьДанные = ПросмотретьСледующееСообщение(Счетчик, СведенияОЗагруженныхДанных); + ВСообщенияхЕстьДанные = ВСообщенияхЕстьДанные Или ЕстьДанные; + + КонецЦикла; + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Просмотр сообщений'; en = 'Preview messages'"), + НачалоОперации, + ТекущаяДата()); + + Возврат ВСообщенияхЕстьДанные; + +КонецФункции + + +// Получает количество различных сообщений, части которых хранятся в регистре ЗагруженныеЧастиСообщений. +// +Функция ПолучитьКоличествоСообщений() + + МассивУникальныхИдентификаторов = Новый Массив(); + Выборка = РегистрыСведений.ПолученныеДанныеОбмена.Выбрать(); + + Пока Выборка.Следующий() Цикл + Если МассивУникальныхИдентификаторов.Найти(Выборка.ИдентификаторСообщения) = Неопределено Тогда + МассивУникальныхИдентификаторов.Добавить(Выборка.ИдентификаторСообщения); + КонецЕсли; + КонецЦикла; + + Возврат МассивУникальныхИдентификаторов.Количество(); + +КонецФункции + +// Выполняет чтение очередного сообщения из входящей очереди и получает количество новых данных. +// +// Параметры: +// СведенияОЗагруженныхДанных - Структура, описывающая загружаемые данные; +// КоличествоОбработанныхОбъектов - общее количество объектов в сообщении; +// НовыеДанные - массив ссылок на новые данные; +// НовыеПисьма - количество новых писем; +// НовыеЗадачи - количество новых задач; +// НовыеЗаписиКалендаря - количество новых записей календаря. +// +Функция ПросмотретьСледующееСообщение(Счетчик, СведенияОЗагруженныхДанных) + + // Обработка загруженных сообщений + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Просмотр сообщения'; en = 'Preview message'")); + + Сообщение = РегистрыСведений.ПолученныеДанныеОбмена.ПолучитьСообщение(Счетчик); + + Возврат ПросмотретьСообщение(Сообщение, СведенияОЗагруженныхДанных); + +КонецФункции + +// Записывает полученные с сервера данные. +// +// Параметры: +// ВСообщенияхЕстьДанные - Булево - Признак наличия данных в сообщении обмена; +// СведенияОЗагруженныхДанных - Структура - Кэш данных синхронизации; +// ДатаНачалаСинхронизации - Дата - Дата и время начала процесса обмена. +// +// Возвращаемое значение: +// Число - количество загруженных сообщений. +// +Функция ЗаписатьДанные(ВСообщенияхЕстьДанные, СведенияОЗагруженныхДанных, ДатаНачалаСинхронизации) + + НачалоОперации = ТекущаяДата(); + + Если Не ВСообщенияхЕстьДанные Тогда + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Данных для обработки нет'; en = 'There are no data for processing'")); + + ОчисткаБазыДанныхВызовСервера.ОчиститьПринятыеДанные(); + + КоличествоЗагруженныхСообщений = 0; + + Иначе + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Начало записи загруженных данных'; en = 'The beginning of record of the loaded data'")); + + КоличествоЗагруженныхСообщений = ПолучитьКоличествоСообщений(); + + Для Счетчик = 1 По КоличествоЗагруженныхСообщений Цикл + + ОбработатьСледующееСообщение(ДатаНачалаСинхронизации, СведенияОЗагруженныхДанных); + + КонецЦикла; + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Конец записи загруженных данных'; en = 'loaded data are written down'")); + + КонецЕсли; + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Запись данных'; en = 'Data record'"), НачалоОперации, ТекущаяДата()); + + Возврат КоличествоЗагруженныхСообщений; + +КонецФункции + +// Выполняет финальные действия после обмена с сервером. +// +// Параметры: +// СведенияОЗагруженныхДанных - Структура, описывающая загружаемые данные; +// РежимСинхронизации - Строка - Текущий режим синхронизации. +// +Процедура ЗавершитьОтправкуИПолучение(СведенияОЗагруженныхДанных, РежимСинхронизации) + + Начало = ТекущаяДата(); + + Если Не РежимСинхронизации = "ОтключитьУстройство" Тогда + + ИнформацияОПакете = ""; + + //Если СведенияОЗагруженныхДанных.ПоказателиОбмена.КоличествоОбработанныхОбъектов = 0 Тогда + Константы.ДатаПоследнегоОбновления.Установить(ТекущаяДата()); + //КонецЕсли; + + //ДатаСинхронизацииУстановлена = + // ЗначениеЗаполнено(Константы.ДатаПоследнегоОбновления.Получить()); + + //Если Не ДатаСинхронизацииУстановлена Тогда + // Константы.ДатаПоследнегоОбновления.Установить(ТекущаяДата()); + //КонецЕсли; + + КонецЕсли; + + ДобавитьИнформациюОЗамереВремени( + СведенияОЗагруженныхДанных.ПоказателиОбмена.ВременныеПоказатели, + НСтр("ru = 'Окончание синхронизации'; en = 'End'"), Начало); + + ПолучитьОписаниеСеансаОбмена(СведенияОЗагруженныхДанных.ПоказателиОбмена); + + СборСтатистикиВызовСервера.ОтправитьСтатистику(); + + Если СведенияОЗагруженныхДанных.ЕстьОшибки Тогда + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "ЕстьНеотправленныеДанные", Истина); + Иначе + ОбщегоНазначенияВызовСервера.ОчиститьОчередьСообщенийДляСервера(); + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "ЕстьНеотправленныеДанные", Ложь); + КонецЕсли; + + ОбщегоНазначенияВызовСервера.ОбновитьПовторноИспользуемыеЗначенияСервер(); + +КонецПроцедуры + + +// Сообщает пользователю текущую информацию о процессе синхронизации с сервером. +// +// Параметры: +// ТекущаяСтадия - Строка - Текущая стадия в процедуре синхронизации; +// ВыполнениеВФоне - Булево - Признак, что сообщения пользователю идут из фонового задания; +// ЕстьОшибки - Булево - Признак наличия ошибок при обмене; +// ЕстьДанные - Булево - Признак наличия данных загруженных с сервера; +// Данные - Массив[4], Строка - Данные, которые нужно передать на клиент. +// +Процедура СообщитьПользователю(ТекущаяСтадия, ВыполнениеВФоне, ЕстьОшибки = Ложь, ЕстьДанные = Ложь, Данные = Неопределено) + + Если Не ВыполнениеВФоне Тогда + Возврат; + КонецЕсли; + + СодержимоеСообщения = Новый Структура("ТекущаяСтадия, ЕстьОшибки, ЕстьДанные, Данные", + ТекущаяСтадия, ЕстьОшибки, ЕстьДанные, Данные); + + //Если ТипЗнч(Данные) = Тип("Структура") Тогда + // СодержимоеСообщения.Данные = ; + // + // ТекстСообщения = + // СтрШаблон( + // "%1;%2;%3;%4", + // ТекущаяСтадия, + // ЕстьОшибки, + // ЕстьДанные, + // + // + // + // СтрШаблон("%1,%2,%3,%4,%5,%6,%7,%8,%9,%10", Данные[0],Данные[1], Данные[2], Данные[3], Данные[4], Данные[5], Данные[6], Данные[7], Данные[8], Данные[9])); + //Иначе + // ТекстСообщения = + // СтрШаблон( + // "%1;%2;%3;%4", + // ТекущаяСтадия, ЕстьОшибки, ЕстьДанные, Данные); + //КонецЕсли; + + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = ОбщегоНазначенияСервер.ОбъектВJSON(СодержимоеСообщения); + + Сообщение.Сообщить(); + +КонецПроцедуры + +Процедура ОтправитьДанныеJSON(СостояниеОбмена, ДанныеОСоединении, СведенияОЗагруженныхДанных) + + Соединение = ДанныеОСоединении.Соединение; + НомерВерсииСервиса = ДанныеОСоединении.ВерсияСервиса; + + ИдентификаторПоследнегоЗагруженногоСообщения = + Строка(Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Получить()); + + НомерПоследнейЗагруженнойЧастиСообщения = + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Получить(); + + ИнформацияОбУстройстве = ПолучитьПредставлениеУстройства(); + КодУстройства = Константы.КодУстройства.Получить(); + + Сообщения = Новый Массив; + Выборка = РегистрыСведений.ОчередьСообщенийНаСервер.Выбрать(, "МоментВремени"); + + Пока Выборка.Следующий() Цикл + // ОбъектСообщение = СоздатьОбъект("XRequest", НомерВерсииСервиса, Прокси); + ОбъектСообщение = Новый Структура("ClientCode, ExchangeData, LastResponseID, LastResponsePartIndex"); + ОбъектСообщение.ClientCode = КодУстройства; + ОбъектСообщение.ExchangeData = Выборка.Данные.Получить(); + ОбъектСообщение.LastResponseID = "0"; + ОбъектСообщение.LastResponsePartIndex = 1; + + СтруктураСообщение = Новый Структура(); + СтруктураСообщение.Вставить("Идентификатор", Выборка.Идентификатор); + СтруктураСообщение.Вставить("Сообщение" , ОбъектСообщение); + + Сообщения.Добавить(СтруктураСообщение); + КонецЦикла; + + + Если Сообщения.Количество() > 0 Тогда + ПоследнийЭлементМассива = Сообщения[Сообщения.Количество() - 1]; + ПоследнийЭлементМассива.Сообщение.LastResponseID = ИдентификаторПоследнегоЗагруженногоСообщения; + Иначе + // Формируем пустое сообщение с указанием используемой версии обмена + + ОбъектСообщение = Новый Структура("ClientCode, ExchangeData, LastResponseID, LastResponsePartIndex"); + ОбъектСообщение.ClientCode = КодУстройства; + + ОбъектСообщение.ExchangeData = Новый Структура(); + ОбменЭкспорт.ИнформацияОКлиенте(ОбъектСообщение.ExchangeData); + + ОбъектСообщение.LastResponseID = ИдентификаторПоследнегоЗагруженногоСообщения; + ОбъектСообщение.LastResponsePartIndex = 1; + + СтруктураСообщение = Новый Структура(); + СтруктураСообщение.Вставить("Идентификатор", Неопределено); + СтруктураСообщение.Вставить("Сообщение" , ОбъектСообщение); + + Сообщения.Добавить(СтруктураСообщение); + КонецЕсли; + + МоментВремени = РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'На сервер отправлено сообщений: %1'; + |en = 'Send message to server: %1'"), + Сообщения.Количество())); + + Для Каждого СтруктураСообщение Из Сообщения Цикл + Попытка + Заголовки = Новый Соответствие(); + Заголовки.Вставить("Content-Type", "application/json; charset=utf-8"); + + СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI( + СокрЛП(Константы.АдресЦентральнойБазы.Получить()) + "/hs/mobile/put"); + + Запрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, Заголовки); + Запрос.УстановитьТелоИзСтроки( + ОбщегоНазначенияСервер.ОбъектВJSON(СтруктураСообщение.Сообщение)); + + ОтветСервера = Соединение.ОтправитьДляОбработки(Запрос); + Если ОтветСервера.КодСостояния = 200 Тогда + ОбработатьДанныеОбмена(ОтветСервера, СостояниеОбмена) + Иначе + ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка отправки сообщения. Код ответа: %1, %2'"), + ОтветСервера.КодСостояния, + ОтветСервера.ПолучитьТелоКакСтроку()); + + ВызватьИсключение ТекстИсключения; + КонецЕсли; + Исключение + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку( + ПолучитьПредставлениеОшибкиПриПодключении(ИнформацияОбОшибке())); + + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + + Возврат; + КонецПопытки; + КонецЦикла; + + СостояниеОбмена.ЕстьОшибки = Ложь; + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Сообщение отправлено на сервер'")); + +КонецПроцедуры + +// Начинает процесс получения данных по протоколу DMX. +// +// Параметры: +// ДанныеОПрокси - Структура - Параметры подключения; +// СостояниеОбмена - Структура - Параметры текущего вызова сервера. +// +Процедура ПолучитьДанныеJSON(ДанныеОПрокси, СостояниеОбмена) + + Соединение = ДанныеОПрокси.Соединение; + + // Зафиксируем время начала операции + НачалоОперации = ТекущаяУниверсальнаяДатаВМиллисекундах(); + + Заголовки = Новый Соответствие(); + Заголовки.Вставить("Content-Type", "application/json; charset=utf-8"); + + ПараметрыЗапроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + "?ClientCode=%1&LastResponseID=%2&LastResponsePartIndex=%3", + Константы.КодУстройства.Получить(), + Строка(Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Получить()), + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Получить()); + + СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI( + СокрЛП(Константы.АдресЦентральнойБазы.Получить()) + "/hs/mobile/get" + ПараметрыЗапроса); + + Запрос = Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, Заголовки); + + ОтветСервера = Соединение.Получить(Запрос); + Если ОтветСервера.КодСостояния = 200 Тогда + СостояниеОбмена.ВремяЗагрузкиДанных = ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоОперации; + ОбработатьДанныеОбмена(ОтветСервера, СостояниеОбмена); + Иначе + ТекстИсключения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Ошибка отправки сообщения. Код ответа: %1, %2'"), + ОтветСервера.КодСостояния, + ОтветСервера.ПолучитьТелоКакСтроку()); + + ВызватьИсключение ТекстИсключения; + КонецЕсли; + +КонецПроцедуры + +// Получает представление ошибки для пользователя. +// +// Параметры: +// Инфо - Информация о ошибке - информация о произошедшей ошибке; +// +// Возвращаемое значение: +// Строка - Пользовательское представление ошибки. +// +Функция ПолучитьПредставлениеОшибкиПриПодключении(Инфо) + + ТекстИсключенияПодробно = ПодробноеПредставлениеОшибки(Инфо); + + Если СтрНайти(НРег(ТекстИсключенияПодробно), "работа с мобильными клиентами выключена") > 0 Тогда + + ОбщееОписаниеОшибки = + НСтр("ru = 'На сервере не включена работа с мобильными клиентами. + |Обратитесь к администратору.' + |; en = 'Mobile client support on server is disabled. + |Contact your administrator.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + ИначеЕсли СтрНайти(НРег(ТекстИсключенияПодробно), "вам не разрешен доступ к программе") > 0 Тогда + + ОбщееОписаниеОшибки = + НСтр("ru = 'Указанному пользователю не разрешен доступ с использованием мобильного клиента. + |Обратитесь к администратору.' + |; en = 'You don''t have access previlegies to database with mobile device. + |Contact your administrator.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + ИначеЕсли СтрНайти(НРег(ТекстИсключенияПодробно), "xml") > 0 Тогда + + ОбщееОписаниеОшибки = СтрШаблон( + НСтр("ru = 'При отправке данных на сервер возникла ошибка. + |Вероятно, не работает интернет-соединение или запрещен доступ к Документообороту по адресу %1. + |Повторите попытку синхронизации. + |Если повторные попытки синхронизации не удаются, обратитесь к администратору. + |'; en = 'An error occured while send data to server + |Probably internet connection %1 is does not work properly or mobile client support on server is disabled + |Try again later + |If another attempt will be failed, contact your administrator'"), + Константы.АдресЦентральнойБазы.Получить()); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + Иначе + + ОбщееОписаниеОшибки = + НСтр("ru = 'При отправке данных на сервер возникла ошибка.' + |; en = 'An error occured while send data to server'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + КонецЕсли; + + Возврат ТекстОшибки; + +КонецФункции + +// Выполняет диспетчеризацию просмотра сообщения в зависимости от версии формата. +// +// Параметры: +// Сообщение - Структура - параметры сообщения обмена +// * ИмяФайла - Строка - Имя временного файла с данными сообщения; +// * ИдентификаторСообщения - Строка(36) - Идентификатор загруженного сообщения; +// СведенияОЗагруженныхДанных - Структура - сеансовые данные обмена. +// +// Возвращаемое значение: +// Истина - Если в сообщении есть данные для загрузки. +// +Функция ПросмотретьСообщение(Сообщение, СведенияОЗагруженныхДанных) + + Если Сообщение.Данные <> Неопределено Тогда + Возврат ОбменОбработкаСообщений.ПросмотретьСообщение(Сообщение, СведенияОЗагруженныхДанных); + Иначе + Возврат Ложь; + КонецЕсли; + +КонецФункции + + +// Записывает принятую часть сообщения от сервера в регистр и добавляет имя этого файла в +// массив имен частей. +// +// Параметры: +// ОбъектXDTOЧастьСообщения - ОбъектXDTO - Очередная часть сообщения, полученная с сервера; +// СостояниеОбмена - Структура - Параметры текущего вызова сервера; +// ВремяЗакачки - Число - Время скачивания очередной части. +// +Процедура ОбработатьДанныеОбмена(HTTPОтвет, СостояниеОбмена) + + СтрокаJSON = HTTPОтвет.ПолучитьТелоКакСтроку(); + Данные = ОбщегоНазначенияСервер.ОбъектИзJSON(СтрокаJSON); + + // Запись данных части сообщения в регистр + Если Данные.ExchangeData <> Неопределено Тогда + + ИдентификаторСообщения = Новый УникальныйИдентификатор(Данные.ResponseID); + + ДанныеСообщения = Новый ХранилищеЗначения(Данные.ExchangeData, Новый СжатиеДанных(9)); + + РегистрыСведений.ПолученныеДанныеОбмена.ДобавитьЗапись( + ИдентификаторСообщения, + Данные.PartIndex, + ДанныеСообщения); + + Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Установить( + ИдентификаторСообщения); + + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Установить( + Данные.PartIndex); + + СостояниеОбмена.ОбъемПолученныхДанных = СтрДлина(СтрокаJSON); + КонецЕсли; + + СостояниеОбмена.КоличествоСообщенийВОчереди = Данные.PartCount; + СостояниеОбмена.ПродолжитьЗагрузку = (Данные.PartIndex = -1 Или Не Данные.PartCount = 0); + +КонецПроцедуры + + +// Получает текст описания сеанса обмена. +// +// Параметры: +// СведенияОЗагруженныхДанных - Структура - Данные о операциях проведенных в сеансе. +// +// Возвращаемое значение: +// Строка - Текстовое представление сеанса обмена. +// +Процедура ПолучитьОписаниеСеансаОбмена(ПоказателиОбмена) + + ВыводитьРасширенныйПротокол = ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций(); + + ИнформацияОПакете = НСтр("ru = 'Сводка по загруженным по объектам'; en = 'The report on loaded on objects'"); + + // Отсортируем показатели объектов по алфавиту + Список = Новый СписокЗначений(); + Для Каждого Показатель Из ПоказателиОбмена.СчетчикиОбъектов Цикл + Список.Добавить(Показатель.Значение, Показатель.Ключ); + КонецЦикла; + Список.СортироватьПоПредставлению(НаправлениеСортировки.Возр); + + Для Каждого ЭлементДанных Из Список Цикл + + ПоказателиОбъекта = ЭлементДанных.Значение; + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Тип: %1, кол-во: %2'; en = 'Type: %1, count: %2'"), + ЭлементДанных.Представление, + ПоказателиОбъекта.Количество); + + КонецЦикла; + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Всего объектов: %1'; en = 'Total: %1'"), + ПоказателиОбмена.КоличествоЗагружаемыхОбъектов); + + Начало = ПоказателиОбмена.ВременныеПоказатели[0].Начало; + Конец = ПоказателиОбмена.ВременныеПоказатели[ + ПоказателиОбмена.ВременныеПоказатели.ВГраница()].Начало; + ЗатраченноеВремя = Конец - Начало; + + Если ВыводитьРасширенныйПротокол Тогда + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + Символы.ПС + + НСтр("ru = '#Подробная информация для администратора:#'"); + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Обращений к серверу: %1 + |Получено сообщений с сервера: %2 + |Объем полученных файлов: %4 кб + |Общий объем данных: %3 кб + |Общее количество объектов в сеансе обмена: %5' + |; en = 'Appeals to the server: %1 + |Messages arrived from server: %2 + |Total amount of the received files: %4 кб + |Total amount of data: %3 кб + |Total of objects in session: %5'"), + ПоказателиОбмена.КоличествоИтерацийОбмена, + ПоказателиОбмена.ВсегоПолученоСообщений, + Формат(ПоказателиОбмена.ОбъемПолученныхДанных /1024, "ЧЦ=15"), + Формат(ПоказателиОбмена.ОбъемПолученныхФайлов / 1024, "ЧЦ=15"), + ПоказателиОбмена.КоличествоЗагружаемыхОбъектов); + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Новых писем: %1 (из них не прочитано %5) + |Новых задач: %2 + |Новый записей календаря: %3 + |Новых объектов контроля: %4'; + |en = 'New email: %1 (unread %5) + |New task %2 + |New calendar record %3 + |New monitoring card %4'"), + ПоказателиОбмена.НовыеПисьма, + ПоказателиОбмена.НовыеЗадачи, + ПоказателиОбмена.НовыеЗаписиКалендаря, + ПоказателиОбмена.НовыеОбъектыКонтроля, + ПоказателиОбмена.НеПрочитанныеПисьма); + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + Символы.ПС + + НСтр("ru = 'Показатели обмена по операциям'"); + + Для Каждого Показатель Из ПоказателиОбмена.ВременныеПоказатели Цикл + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + + СтрШаблон( + НСтр("ru = '%2: %1'; en = '%2: %1'"), + Показатель.Описание, Формат(Показатель.Начало, "ДЛФ=T")); + + Если Не Показатель.Конец = Неопределено Тогда + ИнформацияОПакете = ИнформацияОПакете + + " " + СтрШаблон( + НСтр("ru = '(%1 сек)'; en = '(%1 s)'"), + (Показатель.Конец - Показатель.Начало)); + КонецЕсли; + + КонецЦикла; + + ИнформацияОПакете = ИнформацияОПакете + Символы.ПС + + СтрШаблон( + НСтр("ru = 'Всего затрачено времени: %1 сек'; en = 'Total time elapsed: %1 s'"), + (ЗатраченноеВремя)); + + КонецЕсли; + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("ПоказательРаботы.ВремяСинхронизации", + ЗатраченноеВремя); + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("ПоказательРаботы.ЗагруженоОбъектов", + ПоказателиОбмена.КоличествоЗагружаемыхОбъектов); + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("ПоказательРаботы.ОбъемПолученныхДанных", + ПоказателиОбмена.ОбъемПолученныхДанных); + + МоментВремени = РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(ИнформацияОПакете); + + Если ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + РаботаСПротоколомСобытийВызовСервера.УстановитьПризнакПоказаСобытияПослеСинхронизации(МоментВремени); + КонецЕсли; + +КонецПроцедуры + +// Добавляет информацию о замере времени для протокола. +// +Процедура ДобавитьИнформациюОЗамереВремени( + ВременныеПоказатели, Описание, Начало, Конец = Неопределено) + + Результат = Новый Структура(); + Результат.Вставить("Описание", Описание); + Результат.Вставить("Начало" , Начало); + Результат.Вставить("Конец" , Конец); + + ВременныеПоказатели.Добавить(Результат); + +КонецПроцедуры + +// Формирует представление файла с указанием его размера. +// +// Параметры: +// ПредставлениеФайла - Строка - Представление файла; +// Размер - Число - Размер файла. +// +Процедура СформироватьПредставлениеРазмераФайла(ПредставлениеФайла, Размер) Экспорт + + Если Не ЗначениеЗаполнено(Размер) Тогда + Размер = 0; + КонецЕсли; + + Если Размер >= 0 И Размер < 1024 Тогда + + РазмерСтрокой = Формат(Размер, "ЧГ="); + Представление = НСтр("ru = 'б'; en = 'b'"); + + ИначеЕсли Размер >= 1024 И Размер < 1024 * 1024 Тогда + РазмерСтрокой = Формат(Размер/1024, "ЧДЦ=0; ЧГ="); + Представление = НСтр("ru = 'Кб'; en = 'Kb'"); + + ИначеЕсли Размер >= 1024*1024 Тогда + + РазмерСтрокой = Формат(Размер/(1024*1024), "ЧДЦ=0; ЧГ="); + Представление = НСтр("ru = 'Мб'; en = 'Mb'"); + + КонецЕсли; + + ПредставлениеФайла = СтрШаблон("%1 %2", + РазмерСтрокой, Представление); + +КонецПроцедуры + +// Обновляет данные файла, данными файла-основания полученным с сервера +// +// Параметры: +// Объект - Ссылка - Ссылка на файл-основание. +// +Процедура ОбновитьПодчиненныеФайлы(Объект) Экспорт + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("ФайлОснование", Объект.Ссылка); + + ВыборкаФайлыОснование = Справочники.Файлы.Выбрать(,, СтруктураОтбора); + Пока ВыборкаФайлыОснование.Следующий() Цикл + + ФайлОбъект = ВыборкаФайлыОснование.Ссылка.ПолучитьОбъект(); + ФайлОбъект.Данные = Объект.Данные; + ФайлОбъект.ТолькоЗаголовок = Объект.ТолькоЗаголовок; + + Если Не ФайлОбъект.ТолькоЗаголовок Тогда + ФайлОбъект.ФайлОснование = Справочники.Файлы.ПустаяСсылка(); + КонецЕсли; + + ФайлОбъект.Записать(); + + РегистрыСведений.ДатыЗагрузкиОбъектов.ОбновитьДатуПоследнегоИзмененияОбъекта(ФайлОбъект.Ссылка); + + КонецЦикла; + +КонецПроцедуры + +// Получить представление устройства для обмена. +// +// Возвращаемое значение: +// Строка - Представление устройства в виде строки. +// +Функция ПолучитьПредставлениеУстройства() + + СистемнаяИнформация = Новый СистемнаяИнформация; + ПредставлениеУстройства = СтрШаблон( + НСтр("ru = 'Версия:%5, ОС:%2, ОЗУ:%3, WS:%1, Экран:%4""'; + |en = 'Version:%5, OS:%2, RAM:%3, WS:%1, Screen:%4""'"), + ИмяКомпьютера(), + СистемнаяИнформация.ВерсияОС, + Строка(СистемнаяИнформация.ОперативнаяПамять), + Формат(ЭкранКлиентСервер.ДиагональЭкрана(),"ЧЦ=3; ЧДЦ=1"), + Метаданные.Версия); + + ПредставлениеУстройстваПослеОбработки = ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ПредставлениеУстройства); + + Если Не ПредставлениеУстройстваПослеОбработки = ПредставлениеУстройства Тогда + + ТекстПредупреждения = СтрШаблон( + НСтр("ru = 'Представление устройства содержит недопустимые символы: + |Возможно задано неверное имя устройства + |Должно быть: %1, + |Есть: %2'; + |en = 'Wrong character in device name + |Must be: %1 + |Presently: %2'"), + ПредставлениеУстройстваПослеОбработки, + ПредставлениеУстройства); + + МоментВремени = РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(ТекстПредупреждения); + + РаботаСПротоколомСобытийВызовСервера.УстановитьПризнакПоказаСобытияПослеСинхронизации(МоментВремени); + + КонецЕсли; + + Возврат ПредставлениеУстройстваПослеОбработки; + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" new file mode 100644 index 0000000..b8f64dd --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" @@ -0,0 +1,23 @@ + + + + + ОбменВызовСервераПовтИсп + + + ru + Обмен вызов сервера повт исп + + + + false + false + true + false + false + true + false + DuringSession + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" new file mode 100644 index 0000000..c210097 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -0,0 +1,1067 @@ + +#Область ПрограммныйИнтерфейс + +// Получает текущую версию сервиса которая будет использоваться в сессии обмена. +// +// Возвращаемое значение: +// Строка - Используемая для обмена версия сервиса. +// +Функция ПолучитьВерсиюСервиса() Экспорт + + // Если вызов функции не первый, то получим версию сохраненную ранее + ВерсияСервиса = ПараметрыСеанса.ВерсияСервиса; + Если ЗначениеЗаполнено(ВерсияСервиса) Тогда + Возврат ВерсияСервиса; + КонецЕсли; + + // Если вызов функции в сеансе обмена первый раз, проверяем подключались ли мы уже ранее, + // и если да, то установим версию этого подключению в качестве используемой. + ИспользуемаяВерсияФорматаОбмена = Константы.ИспользуемаяВерсияФорматаОбмена.Получить(); + Если ЗначениеЗаполнено(ИспользуемаяВерсияФорматаОбмена) Тогда + + ТекстИнформации = + СтрШаблон( + НСтр("ru = 'Ранее использующаяся версия: %1'; en = 'Previously used version: %1'"), + ИспользуемаяВерсияФорматаОбмена); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(ТекстИнформации); + + КонецЕсли; + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию( + НСтр("ru = 'Начато получение версии сервиса'; en = 'Started getting version of the service'")); + + Адрес = СокрЛП(Константы.АдресЦентральнойБазы.Получить()); + Если Адрес = "" + Или НРег(Адрес) = "http://" + Или НРег(Адрес) = "https://" Тогда + + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку( + НСтр("ru = 'Не удалось получить версию сервиса, т.к. адрес не задан'")); + + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + + Возврат Неопределено; + + КонецЕсли; + + Пользователь = СокрЛП(Константы.ПользовательЦентральнойБазы.Получить()); + Пароль = Константы.ПарольПользователя.Получить(); + Адрес = НормализоватьАдресПриОтсутствииПрефикса(Адрес); + + Если ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + + ТекстСообщения = + НСтр("ru = 'Адрес: %1 + |Пользователь: %2'; + |en = 'Addres: %1 + |User: %2'"); + + ТекстСообщения = СтрШаблон( + ТекстСообщения, Адрес, Пользователь); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(ТекстСообщения); + + КонецЕсли; + + // Добавление адресов для обратной совместимости + АдресСервиса = Адрес + "/hs/mobile/version"; + СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(АдресСервиса); + + Соединение = Неопределено; + + Попытка + Если ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(АдресСервиса); + КонецЕсли; + + Соединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт, Пользователь, Пароль, , 60); + Исключение + Инфо = ИнформацияОбОшибке(); + ПодробноеОписание = ПодробноеПредставлениеОшибки(Инфо); + Если ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + ОбщееОписаниеОшибки = + НСтр("ru = 'При попытке подключения к сервису версий произошла ошибка.' + |; en = 'An error occured while connection to version services'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеОписание); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + КонецЕсли; + КонецПопытки; + + Если Соединение = Неопределено Тогда + ТекстСообщения = + НСтр("ru = 'Не удалось подключиться к сервису версий. + |Проверьте настройки подключения и попробуйте подключиться снова.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ТекстСообщения, ПодробноеОписание); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + ВызватьИсключение ТекстОшибки; + Иначе + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Адрес сервиса: %1'; en = 'Server addres: %1'"), + АдресСервиса)); + + КонецЕсли; + + Заголовки = Новый Соответствие(); + Заголовки.Вставить("Content-Type", "application/json; charset=utf-8"); + ОтветСервера = Соединение.Получить(Новый HTTPЗапрос(СтруктураURI.ПутьНаСервере, Заголовки)); + + Если ОтветСервера.КодСостояния <> 200 Тогда + Если ОтветСервера.КодСостояния = 401 Тогда + ТекстСообщения = + НСтр("ru = 'Неверные имя пользователя или пароль. + |Проверьте настройки подключения и попробуйте снова.'"); + + Иначе + ТекстСообщения = + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Код ответа сервера: %1; %2'"), + ОтветСервера.КодСостояния, + ОтветСервера.ПолучитьТелоКакСтроку()); + КонецЕсли; + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ТекстСообщения, ПодробноеОписание); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + ВызватьИсключение ТекстОшибки; + КонецЕсли; + + ОтветСервераДанные = ОбщегоНазначенияСервер.ОбъектИзJSON(ОтветСервера.ПолучитьТелоКакСтроку()); + Если Не ОтветСервераДанные.Свойство("version") Тогда + ТекстСообщения = + НСтр("ru = 'Получен неверный ответ сервера'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ТекстСообщения, ПодробноеОписание); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + ВызватьИсключение ТекстОшибки; + КонецЕсли; + + ВерсияСервера = ОтветСервераДанные.version; + ВерсияКлиента = Константы.ПоддерживаемыеВерсииФорматаОбмена.Получить(); + + ВерсииПоддерживаемыеСервером = СтрРазделить(ВерсияСервера, ","); + ВерсииПоддерживаемыеКлиентом = СтрРазделить(ВерсияКлиента, ","); + + ТекстСообщения = + НСтр("ru = 'Рабочие версии сервера: %1 + |Рабочие версии клиента: %2'; + |en = 'Available version of the server: %1 + |available version of the client: %2'"); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон(ТекстСообщения, ВерсияСервера,ВерсияКлиента)); + + Для Счетчик = 0 По ВерсииПоддерживаемыеСервером.ВГраница() Цикл + Индекс = ВерсииПоддерживаемыеСервером.ВГраница()-Счетчик; + + Если ВерсииПоддерживаемыеКлиентом.Найти(ВерсииПоддерживаемыеСервером[Индекс]) <> Неопределено Тогда + + // Проверим, что выбранная версия не ниже ранее использовавшейся. + Если ЗначениеЗаполнено(ИспользуемаяВерсияФорматаОбмена) + И ИспользуемаяВерсияФорматаОбмена > ВерсииПоддерживаемыеСервером[Индекс] Тогда + + ТекстОшибки = + СтрШаблон( + НСтр("ru = 'Ошибка при подключении. + |Нельзя подключиться выбранной версией формата (%1), так как ранее + |уже было осуществлено подключение с более старшей версией (%2). + |Попробуйте выполнить подключение снова.'; + |en = 'Connection error + |Used service version (%1) less than used previously (%2) + |Try again leter'"), + ВерсииПоддерживаемыеСервером[Индекс], ИспользуемаяВерсияФорматаОбмена); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(ТекстОшибки); + + ВызватьИсключение ТекстОшибки; + + КонецЕсли; + + ПараметрыСеанса.ВерсияСервиса = ВерсииПоддерживаемыеСервером[Индекс]; + Константы.ИспользуемаяВерсияФорматаОбмена.Установить(ВерсииПоддерживаемыеСервером[Индекс]); + + Если ВерсииПоддерживаемыеСервером[Индекс] > ИспользуемаяВерсияФорматаОбмена Тогда + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Используемая версия сервиса (%1) обновлена (%2)'; + |en = 'Used service version (%1) updated (%2)'"), + ИспользуемаяВерсияФорматаОбмена, ВерсииПоддерживаемыеСервером[Индекс])); + Иначе + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Используемая версия сервиса: %1'; en = 'Service version used: %1'"), + ВерсииПоддерживаемыеСервером[Индекс])); + КонецЕсли; + + Возврат ВерсииПоддерживаемыеСервером[Индекс]; + + КонецЕсли; + КонецЦикла; + + ПараметрыСеанса.ВерсияСервиса = ИспользуемаяВерсияФорматаОбмена; + + ТекстИсключения = + СтрШаблон( + НСтр("ru = 'Приложение не поддерживает данную версию сервера ДО (%1). + |Необходимо обновить сервер до версии или использовать клиент версии 0.0.1'"), + ИспользуемаяВерсияФорматаОбмена); + + ВызватьИсключение ТекстИсключения; + +КонецФункции + +Функция ПолучитьСоединение(СостояниеОбмена) Экспорт + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(НСтр("ru = 'Начало получения соединения'")); + + ВерсияСервиса = ПараметрыСеанса.ВерсияСервиса; + Если Не ЗначениеЗаполнено(ВерсияСервиса) Тогда + ВерсияСервиса = ПолучитьВерсиюСервиса(); + КонецЕсли; + + Если Не ЗначениеЗаполнено(ВерсияСервиса) Тогда + Возврат Неопределено; + КонецЕсли; + + Адрес = СокрЛП(Константы.АдресЦентральнойБазы.Получить()); + Пользователь = СокрЛП(Константы.ПользовательЦентральнойБазы.Получить()); + Пароль = Константы.ПарольПользователя.Получить(); + + // Удаляем из адреса финишный слэш - т.к. он у нас есть в описании сервиса ниже. + // В противном случае будет ошибка при подключении. + Если СтрЗаканчиваетсяНа(Адрес, "/") Тогда + Адрес = Лев(Адрес, СтрДлина(Адрес)-1); + КонецЕсли; + + Если Адрес = "" Тогда + СостояниеОбмена.ЕстьОшибки = Истина; + Возврат Неопределено; + КонецЕсли; + + Соединение = + ОбменВызовСервераПовтИсп.ПолучитьСоединениеДляОбмена( + Адрес, Пользователь, Пароль); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(НСтр("ru = 'Установлено соединение с основной базой'")); + + ДанныеОСоединении = Новый Структура; + ДанныеОСоединении.Вставить("Соединение", Соединение); + ДанныеОСоединении.Вставить("ВерсияСервиса", ВерсияСервиса); + + Возврат ДанныеОСоединении; + +КонецФункции + +Функция ПолучитьСоединениеДляОбмена(Адрес, Пользователь, Пароль) Экспорт + + Адрес = НормализоватьАдресПриОтсутствииПрефикса(Адрес); + СтруктураURI = ОбщегоНазначенияКлиентСервер.СтруктураURI(Адрес); + Соединение = Новый HTTPСоединение(СтруктураURI.Хост, СтруктураURI.Порт, Пользователь, Пароль, , 120); + + Возврат Соединение; + +КонецФункции + +// Возвращает флаг использования расширенного протокола. +// +// Возвращаемое значение: +// Булево - Признак использования подробного протоколирования операций. +// +Функция ИспользоватьРасширенноеПротоколированиеОпераций() Экспорт + + Возврат Константы.ПодробнаяИнформацияОСинхронизации.Получить(); + +КонецФункции + + +// Получает узел обмена, на котором регистрируются изменения данных для отправки на сервер. +// +// Возвращаемое значение: +// ПланыОбменаСсылка.ОбменССервером - Ссылка на узле регистрации данных для обмена. +// +Функция ПолучитьЦентральныйУзелОбмена() Экспорт + + ЦентральныйУзелОбмена = ПланыОбмена.ОбменССервером.НайтиПоКоду(Константы.КодУстройства.Получить()); + + Если ЦентральныйУзелОбмена.Пустая() Тогда + + НовыйУзел = ПланыОбмена.ОбменССервером.СоздатьУзел(); + НовыйУзел.Код = Константы.КодУстройства.Получить(); + НовыйУзел.Наименование = НСтр("ru = 'Центральный'; en = 'General'"); + НовыйУзел.Записать(); + + ЦентральныйУзелОбмена = НовыйУзел.Ссылка; + + КонецЕсли; + + Возврат ЦентральныйУзелОбмена; + +КонецФункции + + +// Получает представление типа объекта для выгрузки +// +// Параметры: +// ЭлементДанных - ДокументСсылка.ВходящееПисьмо - Выгружаемый элемент данных. +// +// Возвращаемое значение: +// Строка - тип объекта строкой подготовленный к выгрузке. +// +Функция ПолучитьПредставлениеТипаПоСсылке(ЭлементДанных) Экспорт + + Если ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.ВходящееПисьмо") Тогда + Тип = "IncomingMail"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.ИсходящееПисьмо") Тогда + Тип = "OutgoingMail"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.ЗаписиРабочегоКалендаря") Тогда + Тип = "CalendarEvent"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.Задачи") Тогда + Тип = "Task"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.ПроцессыИсполнение") Тогда + Тип = "ExecutionProcess"; + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.УчетныеЗаписи") Тогда + Тип = "MailAccount"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.ПапкиПисем") Тогда + Тип = "MailFolder"; + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.Пользователи") Тогда + Тип = "User"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.РолиИсполнителей") Тогда + Тип = "Role"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.Файлы") Тогда + Тип = "File"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.ВеткиПереписки") Тогда + Тип = "MailThread"; + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("СправочникСсылка.АдресатыПочтовыхСообщений") Тогда + Тип = "Addressee"; + Иначе + Тип = "ActionTarget"; + КонецЕсли; + + Возврат Тип; + +КонецФункции + +// Получает ссылку из БД по указанному представлению типа и УИД. +// +// Параметры: +// ТипЗначения - Строка - Представление типа; +// Идентификатор - УникальныйИдентификатор - УникальныйИдентификатор объекта; +// +// Возвращаемое значение: +// Ссылка - Ссылка на объект. +// +Функция ПолучитьСсылкуПоТипу(Знач ТипЗначения, Знач Идентификатор) Экспорт + + Если Не ЗначениеЗаполнено(ТипЗначения) Тогда + Возврат Неопределено; + КонецЕсли; + + Если Идентификатор = УникальныйИдентификаторПустой() + Или Идентификатор = Неопределено + Или Идентификатор = ""Тогда + Возврат Неопределено; + КонецЕсли; + + Если ТипЗнч(Идентификатор) = Тип("Строка") Тогда + Идентификатор = Новый УникальныйИдентификатор(Идентификатор); + КонецЕсли; + + ТипЗначения = НРег(ТипЗначения); + + // Справочники + + Если ТипЗначения = НРег(ОбменКлиентСервер.Сущность_Город()) Тогда + Возврат Справочники.Города.ПолучитьСсылку(Идентификатор); + + ИначеЕсли ТипЗначения = НРег(ОбменКлиентСервер.Сущность_Контрагент()) Тогда + Возврат Справочники.Контрагенты.ПолучитьСсылку(Идентификатор); + + ИначеЕсли ТипЗначения = НРег(ОбменКлиентСервер.Сущность_ОбъектСтроительства()) Тогда + Возврат Справочники.Объекты.ПолучитьСсылку(Идентификатор); + + ИначеЕсли ТипЗначения = НРег(ОбменКлиентСервер.Сущность_СтатьяРасходов()) Тогда + Возврат Справочники.СтатьиРасходов.ПолучитьСсылку(Идентификатор); + + // Документы + + ИначеЕсли ТипЗначения = НРег(ОбменКлиентСервер.Сущность_СписаниеДенежныхСредств()) Тогда + Возврат Документы.СписаниеДенежныхСредств.ПолучитьСсылку(Идентификатор); + + Иначе + ВызватьИсключение СтрШаблон("Тип не определен (%1)", ТипЗначения); + КонецЕсли; + +КонецФункции + +Функция СоздатьОбъектПоТипу(Знач ТипЗначения) Экспорт + + // todo: проверить + Результат = Неопределено; + + Если ТипЗначения = ОбменКлиентСервер.Сущность_Город() Тогда + Результат = Справочники.Города.СоздатьЭлемент(); + + ИначеЕсли ТипЗначения = ОбменКлиентСервер.Сущность_Контрагент() Тогда + Результат = Справочники.Контрагенты.СоздатьЭлемент(); + + ИначеЕсли ТипЗначения = ОбменКлиентСервер.Сущность_ОбъектСтроительства() Тогда + Результат = Справочники.Объекты.СоздатьЭлемент(); + + Иначе + ВызватьИсключение СтрШаблон("Тип не определен (%1)", ТипЗначения); + КонецЕсли; + + Возврат Результат; + +КонецФункции + + + +// Получает важность задачи по представлению +// +// Параметры: +// Представление - Строка - Идентификатор значения в обмене. +// +// Возвращаемое значение: +// Перечисления.ВариантыВажностиЗадачи - Важность задачи. +// +Функция ПолучитьВажностьЗадачиПоПредставлению(Представление) Экспорт + + Если Представление = "low" Тогда + Важность = Перечисления.ВариантыВажностиЗадачи.Низкая; + ИначеЕсли Представление = "high" Тогда + Важность = Перечисления.ВариантыВажностиЗадачи.Высокая; + Иначе + Важность = Перечисления.ВариантыВажностиЗадачи.Обычная; + КонецЕсли; + + Возврат Важность; + +КонецФункции + +// Получить представление важности задачи для обмена. +// +// Параметры: +// Значение - Перечисления.ВариантыВажностиЗадачи - Важность задачи. +// +// Возвращаемое значение: +// Строка - Идентификатор перечисления для обмена. +// +Функция ПолучитьПредставлениеВажностиЗадачи(Значение) Экспорт + + Если Значение = Перечисления.ВариантыВажностиЗадачи.Низкая Тогда + Представление = "low"; + + ИначеЕсли Значение = перечисления.ВариантыВажностиЗадачи.Высокая Тогда + Представление = "high"; + + Иначе + Представление = "normal"; + + КонецЕсли; + + Возврат Представление; + +КонецФункции + + +// Получает идентификатор частоты повторения по значению перечисления. +// +// Параметры: +// ЧастотаПовторения - Перечисления.ЧастотаПовторения - Частота повторения. +// +// Возвращаемое значение: +// Строка - Идентификатор перечисления. +// +Функция ПолучитьПредставлениеЧастотыПовторений(ЧастотаПовторения) Экспорт + + Если ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежедневно Тогда + Представление = "daily"; + ИначеЕсли ЧастотаПовторения = Перечисления.ЧастотаПовторения.Еженедельно Тогда + Представление = "weekly"; + ИначеЕсли ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежемесячно Тогда + Представление = "monthly"; + ИначеЕсли ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежегодно Тогда + Представление = "yearly"; + КонецЕсли; + + Возврат Представление; + +КонецФункции + + +// Получает частоту представления по идентификатору обмена. +// +// Параметры: +// Представление - Строка - Идентификатор перечисления. +// +// Возвращаемое значение: +// Перечисления.ЧастотаПовторения - Частота повторения. +// +Функция ПолучитьЧастотуПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "daily") = 0 Тогда + ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежедневно; + + ИначеЕсли СтрСравнить(Представление, "weekly") = 0 Тогда + ЧастотаПовторения = Перечисления.ЧастотаПовторения.Еженедельно; + + ИначеЕсли СтрСравнить(Представление, "monthly") = 0 Тогда + ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежемесячно; + + ИначеЕсли СтрСравнить(Представление, "yearly") = 0 Тогда + ЧастотаПовторения = Перечисления.ЧастотаПовторения.Ежегодно; + + КонецЕсли; + + Возврат ЧастотаПовторения; + +КонецФункции + +// Получает представление цвета по значению перечисления. +// +// Параметры: +// Представление - Строка - строковое представление цвета. +// +// Возвращаемое значение: +// Перечисления.ЦветаОбъектов - Цвет объекта. +// +Функция ПолучитьЦветПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "red") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Красный; + + ИначеЕсли СтрСравнить(Представление, "blue") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Синий; + + ИначеЕсли СтрСравнить(Представление, "yellow") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Желтый; + + ИначеЕсли СтрСравнить(Представление, "green") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Зеленый; + + ИначеЕсли СтрСравнить(Представление, "orange") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Оранжевый; + + ИначеЕсли СтрСравнить(Представление, "purple") = 0 Тогда + Цвет = Перечисления.ЦветаОбъектов.Лиловый; + + Иначе + Цвет = Перечисления.ЦветаОбъектов.Нет; + + КонецЕсли; + + Возврат Цвет; + +КонецФункции + +// Получает представление цвета по значению перечисления +// +// Параметры: +// Цвет - Перечисления.ЦветаОбъектов - Цвет рабочего календаря. +// +// Возвращаемое значение: +// Строка - Идентификатор значения для обмена. +// +Функция ПолучитьПредставлениеЦвета(Цвет) Экспорт + + Если Цвет = Перечисления.ЦветаОбъектов.Красный Тогда + Представление = "red"; + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Синий Тогда + Представление = "blue"; + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Желтый Тогда + Представление = "yellow"; + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Зеленый Тогда + Представление = "green"; + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Оранжевый Тогда + Представление = "orange"; + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Лиловый Тогда + Представление = "purple"; + Иначе + Представление = "none"; + КонецЕсли; + + Возврат Представление; + +КонецФункции + +// Заполняет индекс картинки по цвету +// +// Параметры: +// Цвет - Перечисления.ЦветаОбъектов - Цвет объекта. +// +// Возвращаемое значение: +// Число - Индекс картинки в ОбщаяКартинка.КоллекцияЦвет. +// +Функция ПолучитьИндексКартинкиПоЦвету(Цвет) Экспорт + + Если Цвет = Перечисления.ЦветаОбъектов.Нет Тогда + Возврат 0; + + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Красный Тогда + Возврат 1; + + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Синий Тогда + Возврат 2; + + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Желтый Тогда + Возврат 3; + + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Зеленый Тогда + Возврат 4; + + ИначеЕсли Цвет = Перечисления.ЦветаОбъектов.Оранжевый Тогда + Возврат 5; + + КонецЕсли; + +КонецФункции + + +// Получает представление типа записи календаря +// +// Параметры: +// ТипЗаписиКалендаря - Перечисления.ТипЗаписиКалендаря - Тип записи календаря. +// +// Возвращаемое значение: +// Строка - Идентификатор типа записи. +// +Функция ПолучитьПредставлениеТипаЗаписиКалендаря(ТипЗаписиКалендаря) Экспорт + + Если ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.Событие Тогда + Представление = "event"; + + ИначеЕсли ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.ПовторяющеесяСобытие Тогда + Представление = "recurrence"; + + ИначеЕсли ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.ЭлементПовторяющегосяСобытия Тогда + Представление = "recurrenceException"; + + Иначе + Представление = "event"; + + КонецЕсли; + + Возврат Представление; + +КонецФункции + +// Получает тип записи календаря по его представлению +// +// Параметры: +// Представление - Строка - Идентификатор типа записи. +// +// Возвращаемое значение: +// Перечисления.ТипЗаписиКалендаря - Тип записи значением. +// +Функция ПолучитьТипаЗаписиКалендаряПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "event") = 0 Тогда + ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.Событие; + + ИначеЕсли СтрСравнить(Представление, "recurrence") = 0 Тогда + ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.ПовторяющеесяСобытие; + + ИначеЕсли СтрСравнить(Представление, "recurrenceException") = 0 Тогда + ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.ЭлементПовторяющегосяСобытия; + + Иначе + ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.Событие; + + КонецЕсли; + + Возврат ТипЗаписиКалендаря; + +КонецФункции + + +// Получает состояние записи по идентификатору. +// +// Параметры: +// Представление - Строка - Идентификатор перечисления в обмене. +// +// Возвращаемое значение: +// Перечисления.СостоянияЗаписейРабочегоКалендаря - Состояние записи календаря. +// +Функция ПолучитьСостояниеЗаписиПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "confirmed") = 0 Тогда + Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Принято; + + ИначеЕсли СтрСравнить(Представление, "cancelled") = 0 Тогда + Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Отклонено; + + ИначеЕсли СтрСравнить(Представление, "tentative") = 0 Тогда + Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.ПодВопросом; + + Иначе + Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.ПодВопросом; + КонецЕсли; + + Возврат Состояние; + +КонецФункции + +// Получает представление цвета по значению перечисления. +// +// Параметры: +// Состояние - Перечисления.СостоянияЗаписейРабочегоКалендаря - Ссылка на значение перечисления +// типа СостоянияЗаписейРабочегоКалендаря. +// +// Возвращаемое значение: +// Строка - Идентификатор состояния. +// +Функция ПолучитьПредставлениеСостоянияЗаписиРабочегоКалендаря(Состояние) Экспорт + + Если Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Принято Тогда + Представление = "confirmed"; + + ИначеЕсли Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Отклонено Тогда + Представление = "cancelled"; + + ИначеЕсли Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.ПодВопросом Тогда + Представление = "tentative"; + + Иначе + Представление = "tentative"; + + КонецЕсли; + + Возврат Представление; + +КонецФункции + + +// Получает строковое представление состояния бизнес процесса для обмена. +// +// Параметры: +// Значение - Перечисление.СостоянияБизнесПроцессов - Состояние бизнес-процесса. +// +// Возвращаемое значение: +// Строка - Строковый идентификатор перечисления для обмена. +// +Функция ПолучитьПредставлениеСостоянияБизнесПроцесса(Значение) Экспорт + + Если Значение = Перечисления.СостоянияБизнесПроцессов.Остановлен Тогда + Результат = "Stopped"; + + ИначеЕсли Значение = Перечисления.СостоянияБизнесПроцессов.Прерван Тогда + Результат = "Terminated"; + + Иначе + Результат = "Active"; + + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Получает состояние бизнес процесса по идентификатору обмена. +// +// Параметры: +// Представление - Строка - Идентификатор значения в обмене. +// +// Возвращаемое значение: +// Перечисления.СостоянияБизнесПроцессов - Состояние бизнес-процесса. +// +Функция ПолучитьСостояниеБизнесПроцессаПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "Stopped") = 0 Тогда + Состояние = Перечисления.СостоянияБизнесПроцессов.Остановлен; + + ИначеЕсли СтрСравнить(Представление, "Terminated") = 0 Тогда + Состояние = Перечисления.СостоянияБизнесПроцессов.Прерван; + + Иначе + Состояние = Перечисления.СостоянияБизнесПроцессов.Активен; + + КонецЕсли; + + Возврат Состояние; + +КонецФункции + + +// Получает представление правила окончания повторения записи календаря. +// +// Параметры: +// ПравилоОкончанияПовторения - Перечисления.ПравилаОкончанияПовторения - Ссылка на значение +// перечисления типа ПравилаОкончанияПовторения. +// +// Возвращаемое значение: +// Строка - Идентификатор правила. +// +Функция ПолучитьПредставлениеПравилаОкончанияПовторения(ПравилоОкончанияПовторения) Экспорт + + Если ПравилоОкончанияПовторения = Перечисления.ПравилаОкончанияПовторения.Никогда Тогда + Представление = "never"; + + ИначеЕсли ПравилоОкончанияПовторения = + Перечисления.ПравилаОкончанияПовторения.ПослеЧислаПовторов Тогда + Представление = "byCount"; + + ИначеЕсли ПравилоОкончанияПовторения = Перечисления.ПравилаОкончанияПовторения.ДоДаты Тогда + Представление = "byDate"; + + КонецЕсли; + + Возврат Представление; + +КонецФункции + +// Получает тип правила окончания повторения записи календаря по его представлению. +// +// Параметры: +// Представление - Строка - строковое представление правила окончания повторения. +// +// Возвращаемое значение: +// Перечисления.ПравилаОкончанияПовторения - Значение перечисления. +// +Функция ПолучитьПравилоОкончанияПовторенияПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "never") = 0 Тогда + ПравилоОкончанияПовторения = Перечисления.ПравилаОкончанияПовторения.Никогда; + + ИначеЕсли СтрСравнить(Представление, "byCount") = 0 Тогда + ПравилоОкончанияПовторения = Перечисления.ПравилаОкончанияПовторения.ПослеЧислаПовторов; + + ИначеЕсли СтрСравнить(Представление, "byDate") = 0 Тогда + ПравилоОкончанияПовторения = Перечисления.ПравилаОкончанияПовторения.ДоДаты; + + КонецЕсли; + + Возврат ПравилоОкончанияПовторения; + +КонецФункции + + +// Получает оценку результата выполнения по представлению в обмене. +// +// Параметры: +// Представление - Строка - Значение перечисления в обмене. +// +// Возвращаемое значение: +// Перечисления.ОценкиРезультатаВыполнения - Результат выполнения задачи. +// +Функция ПолучитьОценкуРезультатаВыполненияПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "ExecutedNeutral") = 0 Тогда + ОценкаРезультата = Перечисления.ОценкиРезультатаВыполнения.ВыполненоНейтрально; + + ИначеЕсли СтрСравнить(Представление, "ExecutedPositive") = 0 Тогда + ОценкаРезультата = Перечисления.ОценкиРезультатаВыполнения.ВыполненоПоложительно; + + ИначеЕсли СтрСравнить(Представление, "ExecutedAlmostPositive") = 0 Тогда + ОценкаРезультата = Перечисления.ОценкиРезультатаВыполнения.ВыполненоПоложительноСЗамечаниями; + + ИначеЕсли СтрСравнить(Представление, "ExecutedNegative") = 0 Тогда + ОценкаРезультата = Перечисления.ОценкиРезультатаВыполнения.ВыполненоОтрицательно; + + КонецЕсли; + + Возврат ОценкаРезультата; + +КонецФункции + +// Получает строковое представление типа события протокола для обмена. +// +// Параметры: +// Значение - Перечисления.ТипыСобытийПротокола - Тип события протокола. +// +// Возвращаемое значение: +// Строка - Строковый идентификатор перечисления для обмена. +// +Функция ПолучитьПредставлениеТипаСобытияПротокола(Значение) Экспорт + + Если Значение = Перечисления.ТипыСобытийПротокола.Предупреждение Тогда + Представление = "Warning"; + + ИначеЕсли Значение = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + Представление = "Error"; + + Иначе + Представление = "Information"; + + КонецЕсли; + + Возврат Представление; + +КонецФункции + +// Возвращает тип ответа на письмо по его представлению. +// +// Параметры: +// Представление - Строка - Строковый идентификатор значения перечисления. +// +// Возвращаемое значение: +// ПеречислениеСсылка.ТипыОтвета - Полученный тип ответа. +// +Функция ПолучитьТипОтветаНаПисьмоПоПредставлению(Представление) Экспорт + + Если СтрСравнить(Представление, "ОтветНаПисьмо") = 0 Тогда + Возврат Перечисления.ТипыОтвета.ОтветНаПисьмо; + + ИначеЕсли СтрСравнить(Представление, "ПересылкаПисьма") = 0 Тогда + Возврат Перечисления.ТипыОтвета.ПересылкаПисьма; + + Иначе + Возврат Перечисления.ТипыОтвета.ПустаяСсылка(); + + КонецЕсли; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Проверяет наличие префикса http или https и подставляет http в адрес если их нет +// +// Параметры: +// Адрес - Строка - Адрес подключения к серверу. +// +// Возвращаемое значение: +// Строка - нормализованный адрес подключения. +// +Функция НормализоватьАдресПриОтсутствииПрефикса(Адрес) + + АдресДляПроверки = НРег(Адрес); + Если СтрНайти(АдресДляПроверки, "http://") = 0 + И СтрНайти(АдресДляПроверки, "https://") = 0 Тогда + Возврат "http://" + Адрес; + Иначе + Возврат Адрес; + КонецЕсли; + +КонецФункции + +// Формирует расширенное описание ошибки возникшей при подключении. +// +// Параметры: +// Инфо - ИнформацияОбОшибке - Полученная информация об ошибке во время обмена. +// +// Возвращаемое значение: +// Строка - расширенное описание ошибки. +// +Функция СформироватьОписаниеОшибкиПриПодключении(Инфо) + + ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(Инфо); + + Если СтрНайти(ПодробноеПредставлениеОшибки, "Аутентификация пользователя не выполнена") > 0 Тогда + + ОбщееОписаниеОшибки = + НСтр("ru = 'Не удалось подключиться. Аутентификация пользователя не выполнена. + |Проверьте имя пользователя и пароль и повторите попытку.' + |; en = 'Can''t connect to server. User authentication failed. + |Check user name and password and try again later'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки); + + ИначеЕсли ЗначениеЗаполнено(Константы.ДатаПоследнегоОбновления.Получить()) Тогда + + ОбщееОписаниеОшибки = + НСтр("ru = 'Не удалось подключиться. + |Проверьте интернет-соединение и повторите попытку' + |; en = 'Can''t connect to server + |Check internet connection and try again later'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки); + + ИначеЕсли СтрНайти(Инфо.Причина.Описание, "Код ответа сервера: ") > 0 Тогда + + ТекстСообщения = НСтр("ru = 'Код ответа сервера: '"); + Позиция = СтрНайти(Инфо.Причина.Описание, ТекстСообщения) + СтрДлина(ТекстСообщения); + КодОшибки = Сред(Инфо.Причина.Описание, Позиция, 3); + + Если КодОшибки = "403" Тогда + ТекстОписанияКодаОшибки = + НСтр("ru = '403 Доступ запрещен. Проверьте адрес сервера, имя пользователя и пароль'; + |en = '403 Forbidden. Check server address, user name and password'"); + + ИначеЕсли КодОшибки = "404" Тогда + ТекстОписанияКодаОшибки = + НСтр("ru = '404 Сервер не найден. Проверьте адрес сервера '; + | en = '404 Server not found. Check server address'"); + + ИначеЕсли КодОшибки = "409" Тогда + ТекстОписанияКодаОшибки = + НСтр("ru = '409 Конфликт. Проверьте адрес сервера '; + | en = '409 Conflict. Check server address'"); + + ИначеЕсли КодОшибки = "500" Тогда + ТекстОписанияКодаОшибки = + НСтр("ru = '500 Внутренняя ошибка сервера. Попробуйте позже или обратитесь к администратору'; + |en = '500 Internal server error. Try again later or contact the administrator'"); + + ИначеЕсли КодОшибки = "503" Тогда + ТекстОписанияКодаОшибки = + НСтр("ru = '503 Сервис временно недоступен. Попробуйте позже или обратитесь к администратору'; + |en = '503 Service Temporarily Unavailable. Try again later or contact the administrator'"); + + Иначе + ТекстОписанияКодаОшибки = + СтрШаблон( + НСтр("ru = 'Сервер вернул код ошибки: %1'; en = 'Server return error code: %1'"), + КодОшибки); + КонецЕсли; + + ОбщееОписаниеОшибки = + НСтр("ru = 'Не удалось подключиться.'; en = 'Can''t connect to server'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки, ТекстОписанияКодаОшибки); + + Иначе + ОбщееОписаниеОшибки = + НСтр("ru = 'Не удалось подключиться. + |1. Убедитесь, что правильно ввели адрес, логин и пароль. + |2. Уточните у администратора, что на сервере включено использование мобильных клиентов. + |3. Уточните у администратора наличие доступа к документообороту через web. + |4. Уточните у администратора, что используемый сервер присутствует в списке разрешенных к использованию. + |5. Уточните у администратора, что пользователю разрешено использование мобильных клиентов. + |6. Проверьте, что работает интернет-соединение. + |'; en = 'Can''t connect to server + |1. Check server addres, user name and password. + |2. Check with administrator what mobile support on server is enabled + |3. Check with administrator that servers have access to web + |4. Check with administrator what specified server present in allow list for current user. + |5. Check with administrator what specified user is allowed to use mobile clients. + |6. Check internet connection.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки, ТекстОписанияКодаОшибки); + + КонецЕсли; + + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(ТекстОшибки); + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации(МоментВремени, Истина); + + Возврат ТекстОшибки; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..8c8e4a4 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбменДемоДанныеВызовСервера + + + ru + Обмен демо данные вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..18b85a8 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,152 @@ + +#Область ПрограммныйИнтерфейс + +// Выполняет загрузку демо-данных из макета ДемоДанные. +// +Процедура ЗагрузитьДемоДанные() Экспорт + + ЗаполнитьДемоДанныеПрограммно(); + + ИдентификаторСообщения = Новый УникальныйИдентификатор(); + ДанныеСообщения = + Новый ХранилищеЗначения(ПолучитьОбщийМакет("ДемоДанные"), Новый СжатиеДанных(9)); + + РегистрыСведений.ПолученныеДанныеОбмена.ДобавитьЗапись( + ИдентификаторСообщения, 1, ДанныеСообщения); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ЗаполнитьДемоДанныеПрограммно() + + СтруктураДемоЗаписиКалендаря = Новый Структура("Ид, ВесьДень, ДатаНачала, ДатаОкончания, Описание, Состояние, Цвет"); + СтруктураДемоЗаписиКалендаря.ВесьДень = Ложь; + СтруктураДемоЗаписиКалендаря.Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Принято; + СтруктураДемоЗаписиКалендаря.Цвет = Перечисления.ЦветаОбъектов.Нет; + + // День 1 + ТекущаяДатаЗаполнения = НачалоДня(ТекущаяДата()); + СкорректироватьДемоДату(ТекущаяДатаЗаполнения); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("352726af-e13c-11e5-ac2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 36000; // 10:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 45000; // 12:30 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Зарегистрировать ""Рекламные материалы""' + |;en = 'Register ""Advertising materials""'"); + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("355766af-e43c-1412-ac2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 50400; // 14:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 52200; // 14:30 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Перезвонить Савельеву П.М.'; en = 'Call back to Savelyev P. M.'"); + СтруктураДемоЗаписиКалендаря.Цвет = Перечисления.ЦветаОбъектов.Красный; + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("354666af-e43c-1762-ab2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 55800; // 15:30 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 63000; // 17:30 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Подготовить список видов документов по всем подразделениям' + |;en = 'Prepare the list of types of documents on all divisions'"); + СтруктураДемоЗаписиКалендаря.Цвет = Перечисления.ЦветаОбъектов.Нет; + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + // День 2 + ТекущаяДатаЗаполнения = ТекущаяДатаЗаполнения + 86400; + СкорректироватьДемоДату(ТекущаяДатаЗаполнения); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("355766b3-e86c-1414-ac7b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 43200; // 12:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 54000; // 15:00 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Перепроверить документы, по которым поступали претензии от ОАО Плазма' + |; en = 'Recheck documents according to which claims from JSC Plazma arrived'"); + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("355466af-12bc-1aa2-ac2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 57600; // 16:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 59400; // 16:30 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Адвокатское бюро ""Аплана"" - необходимо позвонить' + |; en = 'Lawyer bureau ""Aplana"" - it is necessary to call'"); + СтруктураДемоЗаписиКалендаря.Цвет = Перечисления.ЦветаОбъектов.Желтый; + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + // День 3 + ТекущаяДатаЗаполнения = ТекущаяДатаЗаполнения + 86400; + СкорректироватьДемоДату(ТекущаяДатаЗаполнения); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("35421baf-e12c-b412-ac2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 36000; // 10:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 39600; // 11:00 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Актуализировать ""График дежурств""' + |; en = 'Staticize ""The schedule of watches""'"); + СтруктураДемоЗаписиКалендаря.Цвет = Перечисления.ЦветаОбъектов.Нет; + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("3557653f-e43c-1512-ac7b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.ПодВопросом; + СтруктураДемоЗаписиКалендаря.ДатаНачала = ТекущаяДатаЗаполнения + 43200; // 12:00 + СтруктураДемоЗаписиКалендаря.ДатаОкончания = ТекущаяДатаЗаполнения + 50400; // 14:00 + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Подведение итогов работы секретариата за май' + |; en = 'Summing up work of the secretariat for May'"); + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + + // День 4 + ТекущаяДатаЗаполнения = ТекущаяДатаЗаполнения + 86400; + СкорректироватьДемоДату(ТекущаяДатаЗаполнения); + + СтруктураДемоЗаписиКалендаря.Ид = Новый УникальныйИдентификатор("355b431f-eb3c-1454-ac2b-bcaec5d977c9"); + СтруктураДемоЗаписиКалендаря.Состояние = Перечисления.СостоянияЗаписейРабочегоКалендаря.Принято; + СтруктураДемоЗаписиКалендаря.ВесьДень = Истина; + СтруктураДемоЗаписиКалендаря.ДатаНачала = НачалоДня(ТекущаяДатаЗаполнения); + СтруктураДемоЗаписиКалендаря.ДатаОкончания = КонецДня(ТекущаяДатаЗаполнения); + СтруктураДемоЗаписиКалендаря.Описание = НСтр("ru = 'Посещение выставки'; en = 'Visit of an exhibition'"); + + СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря); + +КонецПроцедуры + +Процедура СкорректироватьДемоДату(ТекущаяДатаЗаполнения) + + Если ДеньНедели(ТекущаяДатаЗаполнения) = 6 Тогда + ТекущаяДатаЗаполнения = ТекущаяДатаЗаполнения + 86400 * 2; + + ИначеЕсли ДеньНедели(ТекущаяДатаЗаполнения) = 7 Тогда + ТекущаяДатаЗаполнения = ТекущаяДатаЗаполнения + 86400; + + КонецЕсли; + +КонецПроцедуры + +Процедура СоздатьДемоЗаписьКалендаря(СтруктураДемоЗаписиКалендаря) + + Ссылка = Справочники.ЗаписиРабочегоКалендаря.ПолучитьСсылку(СтруктураДемоЗаписиКалендаря.ид); + Объект = Ссылка.ПолучитьОбъект(); + + Если Объект = Неопределено Тогда + Объект = Справочники.ЗаписиРабочегоКалендаря.СоздатьЭлемент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.Событие; + + ЗаполнитьЗначенияСвойств(Объект, СтруктураДемоЗаписиКалендаря); + + Объект.Записать(); + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена, Объект.Ссылка); + +КонецПроцедуры + +#КонецОбласти + + diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202.xml" new file mode 100644 index 0000000..bb0101c --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОбменИмпорт + + + ru + Обмен импорт + + + + false + false + true + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..0eb7793 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\230\320\274\320\277\320\276\321\200\321\202/Ext/Module.bsl" @@ -0,0 +1,279 @@ + +/////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ ОБЪЕКТОВ + +#Область ОбработчикиОбъектов + +Функция ЗаписатьОбъект(Сообщение, СведенияОЗагруженныхДанных, МоментВремени = Неопределено) Экспорт + + Если Сообщение.Свойство("LogRecord") Тогда + ЗаписатьИнформациюОбОшибке(Сообщение.LogRecord, СведенияОЗагруженныхДанных); + КонецЕсли; + + Если Сообщение.Свойство("Objects") Тогда + Для Каждого Объект Из Сообщение.Objects Цикл + + // Справочники + Если НРег(Объект.Тип) = НРег(ОбменКлиентСервер.Сущность_ОбъектСтроительства()) Тогда + ЗаписатьОбъектСтроительства(Объект, СведенияОЗагруженныхДанных); + + ИначеЕсли НРег(Объект.Тип) = НРег(ОбменКлиентСервер.Сущность_Контрагент()) Тогда + ЗаписатьКонтрагента(Объект, СведенияОЗагруженныхДанных); + + ИначеЕсли НРег(Объект.Тип) = НРег(ОбменКлиентСервер.Сущность_Город())Тогда + ЗаписатьГород(Объект, СведенияОЗагруженныхДанных); + + ИначеЕсли НРег(Объект.Тип) = НРег(ОбменКлиентСервер.Сущность_СтатьяРасходов()) Тогда + ЗаписатьСтатьюРасходов(Объект, СведенияОЗагруженныхДанных); + + // Документы + ИначеЕсли НРег(Объект.Тип) = НРег(ОбменКлиентСервер.Сущность_СписаниеДенежныхСредств()) Тогда + ЗаписатьСписаниеДенежныхСредств(Объект, СведенияОЗагруженныхДанных); + + Иначе + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьПредупреждение( + СтрШаблон(НСтр("ru = 'Обнаружен неизвестный тип объекта (%1)'"), Объект.Тип)); + + КонецЕсли; + КонецЦикла; + Иначе + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьПредупреждение( + НСтр("ru = 'Обнаружен неизвестный тип объекта'")); + КонецЕсли; + +КонецФункции + +Функция ЗаписатьИнформациюОбОшибке(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных) + + ТипЗаписи = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "RecordType", "Строка"); + Описание = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Description", "Строка"); + + Если ТипЗаписи = "Error" Тогда + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(Описание); + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + + СведенияОЗагруженныхДанных.ЕстьОшибки = Истина; + + ИначеЕсли ТипЗаписи = "Information" Тогда + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(Описание); + + ИначеЕсли ТипЗаписи = "Warning" Тогда + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьПредупреждение(Описание); + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + + КонецЕсли; + +КонецФункции + +// Справочники + +Функция ЗаписатьГород(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных, КраткаяЗапись = Ложь) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = Справочники.Города.СоздатьЭлемент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.Код = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Код", "Строка"); + Объект.Наименование = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Наименование", "Строка"); + + Объект.Записать(); + + Возврат Объект.Ссылка; + +КонецФункции + +Функция ЗаписатьОбъектСтроительства(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных, КраткаяЗапись = Ложь) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = Справочники.Объекты.СоздатьЭлемент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.Код = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Код", "Строка"); + Объект.Наименование = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Наименование", "Строка"); + + Объект.Записать(); + + Возврат Объект.Ссылка; + +КонецФункции + +Функция ЗаписатьКонтрагента(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных, КраткаяЗапись = Ложь) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = Справочники.Контрагенты.СоздатьЭлемент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.Код = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Код", "Строка"); + Объект.Наименование = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Наименование", "Строка"); + + Объект.Записать(); + + Возврат Объект.Ссылка; + +КонецФункции + +Функция ЗаписатьСтатьюРасходов(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных, КраткаяЗапись = Ложь) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = Справочники.СтатьиРасходов.СоздатьЭлемент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.Код = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Код", "Строка"); + Объект.Наименование = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Наименование", "Строка"); + + Объект.Записать(); + + Возврат Объект.Ссылка; + +КонецФункции + +// Документы + +Функция ЗаписатьСписаниеДенежныхСредств(СтруктураДанныхОбъекта, СведенияОЗагруженныхДанных) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = Документы.СписаниеДенежныхСредств.СоздатьДокумент(); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Объект.Дата = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Дата", "Дата"); + Объект.Номер = ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, "Номер", "Строка"); + + Объект.Объект = ПолучитьСсылку(СтруктураДанныхОбъекта.Объект); + Объект.Контрагент = ПолучитьСсылку(СтруктураДанныхОбъекта.Контрагент); + Объект.ТипПлатежа = Перечисления.ТипыПлатежей[СтруктураДанныхОбъекта.ТипПлатежа]; + Объект.Сумма = СтруктураДанныхОбъекта.Сумма; + Объект.СтатьяРасходов = ПолучитьСсылку(СтруктураДанныхОбъекта.СтатьяРасходов); + + Объект.Комментарий = СтруктураДанныхОбъекта.Комментарий; + Объект.Ответственный = СтруктураДанныхОбъекта.Ответственный; + + Объект.ДополнительныеСвойства.Вставить("Загрузка", Истина); + + // Проведение / отмена проведения / пометка на удаление + РежимЗаписи = РежимЗаписиДокумента.Запись; + Если СтруктураДанныхОбъекта.ПометкаУдаления Тогда + Объект.ПометкаУдаления = Истина; + Иначе + Объект.ПометкаУдаления = Ложь; + Если СтруктураДанныхОбъекта.Проведен Тогда + РежимЗаписи = РежимЗаписиДокумента.Проведение; + Иначе + РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения; + КонецЕсли; + КонецЕсли; + Объект.Записать(РежимЗаписи); + + РегистрыСведений.ДатыЗагрузкиОбъектов.ОбновитьДатуПоследнегоИзмененияОбъекта(Объект.Ссылка); + + Возврат Объект.Ссылка; + +КонецФункции + +#КонецОбласти + + +// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьСсылку(СтруктураДанныхОбъекта) + + Если СтруктураДанныхОбъекта = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Если СтруктураДанныхОбъекта.UUID = "00000000-0000-0000-0000-000000000000" Тогда + Возврат Неопределено; + КонецЕсли; + + Результат = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу( + СтруктураДанныхОбъекта.Тип, СтруктураДанныхОбъекта.UUID); + + Если Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗаписатьПростойОбъект(СтруктураДанныхОбъекта); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция ЗаписатьПростойОбъект(СтруктураДанныхОбъекта) + + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(СтруктураДанныхОбъекта.Тип, + СтруктураДанныхОбъекта.UUID); + + Объект = Ссылка.ПолучитьОбъект(); + Если Объект = Неопределено Тогда + Объект = ОбменВызовСервераПовтИсп.СоздатьОбъектПоТипу(СтруктураДанныхОбъекта); + Объект.УстановитьСсылкуНового(Ссылка); + КонецЕсли; + + Возврат Объект; + +КонецФункции + +// Получает значение указанного реквизита из прочитанных данных +// +// Параметры: +// СтруктураДанныхОбъекта - Соответствие - Предварительно прочитанные значения реквизитов объекта; +// ИмяРеквизита - Строка - Имя получаемого реквизита объекта; +// ИмяТипа - Строка - Тип к которому преобразуются данные из XML-строки; +// Обязательный - Булево - Признак обязательного реквизита. +// +// Возвращаемое значение: +// Значение - Значение запрошенного типа. +// +Функция ПолучитьЗначениеРеквизита(СтруктураДанныхОбъекта, ИмяРеквизита, ИмяТипа = Неопределено, + Обязательный = Ложь) + + Значение = СтруктураДанныхОбъекта[ВРег(ИмяРеквизита)]; + + // Читаем значение атрибута из потока данных + Если Значение = Неопределено Тогда + Если Обязательный Тогда + ТекстСообщения = НСтр("ru = 'Для ""%1"" отсутствует ожидаемый атрибут (%2)'; + |en = 'Attribute ""%2"" expected for ""%1""'"); + ВызватьИсключение + СтрШаблон(ТекстСообщения, СтруктураДанныхОбъекта["ИмяТипа"], ИмяРеквизита); + Иначе + Возврат Значение; + КонецЕсли; + КонецЕсли; + + // Получаем значение нужного типа + Если ИмяТипа = Неопределено Тогда + Возврат Значение; + Иначе + Возврат XMLЗначение(Тип(ИмяТипа), Значение); + КонецЕсли; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..41708a3 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОбменКлиент + + + ru + Обмен клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..0c5a81e --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,296 @@ + +#Область ПрограммныйИнтерфейс + +// Выводит сообщение с временем когда была последняя синхронизация данных. +// +// Параметры: +// Элементы - ЭлементыФормы - Элементы текущей формы. +// ОписаниеПоследнегоОбновления - Строка - Описание срока последней синхронизации. +// +Процедура УстановитьПодписьКДатеОбновления(Элементы, ОписаниеПоследнегоОбновления) Экспорт + + ДанныеДляПодписи = ПолучитьПодписьКДатеОбновленияИНаличиеДанныхДляОтправки(); + ОписаниеПоследнегоОбновления = ДанныеДляПодписи.ОписаниеПоследнегоОбновления; + + Если ДанныеДляПодписи.ЕстьНеотправленныеДанные Тогда + НужнаяСтраница = Элементы.Внимание; + Иначе + НужнаяСтраница = Элементы.Обычная; + КонецЕсли; + + // Отобразим нужную страницу формы, если это необходимо + Если Не Элементы.ГруппаКнопкаОбновить.ТекущаяСтраница = НужнаяСтраница Тогда + Элементы.ГруппаКнопкаОбновить.ТекущаяСтраница = НужнаяСтраница; + КонецЕсли; + +КонецПроцедуры + +// Начинает процесс синхронизации. +// +// Параметры: +// ФормаИсточник - Форма - Форма инициатор процедуры обмена; +// +Процедура НачатьСинхронизацию(ФормаИсточник) Экспорт + + // Выполняем проверку, не было ли до этого прерванной очиски базы + ИнициированаОчисткаБазы = + ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ИнициированаОчисткаБазы"); + + Если ИнициированаОчисткаБазы Тогда + ОчисткаБазыДанныхКлиент.ПродолжитьОчисткуБазыДанных(); + Возврат; + КонецЕсли; + + // Выполняем проверку, выполнялась синхронизация хотя бы один раз или нет + ДатаПоследнегоОбновления = + ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ДатаПоследнегоОбновления"); + + Если ЗначениеЗаполнено(ДатаПоследнегоОбновления) Тогда + + ФормаИсточник.ОтключитьОбработчикОжидания("ОбработчикОжиданияУстановитьПодписьКДатеОбновления"); + + ФормаИсточник.Элементы.ГруппаКнопкаОбновить.ТекущаяСтраница = + ФормаИсточник.Элементы.ВПроцессе; + + ФормаИсточник.ПодключитьОбработчикОжидания( + "ВыполнитьСинхронизациюНачало", 0.1, Истина); + + Иначе + ПоказатьФормуНастройкиПодключения(); + КонецЕсли; + +КонецПроцедуры + +// Завершает процесс синхронизации +// +// Параметры: +// ФормаИсточник - Форма - Форма инициатор процедуры обмена; +// СведенияОЗагруженныхДанных - Структура - Результат обмена с сервером. +// +Процедура ЗавершитьСинхронизацию( + ФормаИсточник, СведенияОЗагруженныхДанных = Неопределено) Экспорт + + ОбщегоНазначенияВызовСервера.УстановитьПараметрыСеанса(); + + Оповестить("СоздатьУведомления"); + Оповестить("СинхронизацияЗавершена", СведенияОЗагруженныхДанных); + + ОбменКлиент.НайтиИПоказатьОшибкиПриСинхронизации(); + + ФормаИсточник.ПодключитьОбработчикОжидания( + "ОбработчикОжиданияУстановитьПодписьКДатеОбновления", 60, Ложь); + +КонецПроцедуры + +// Отображает формы выбора способа подключения при если база пустая. +// +Процедура ПоказатьФормуНастройкиПодключения() Экспорт + + ОткрытьФорму("ОбщаяФорма.ВыборСпособаПодключения"); + +КонецПроцедуры + +// Начинает процесс первичного подключения к серверу 1С:Документооборота. +// +// Параметры: +// ЭтаФорма - Форма - Форма, в которой произошел вызов; +// НаборКонстант - КонстантыНабор - Набор констант, хранящий текущие настройки; +// ДатаНачалаСинхронизации - Дата - Дата начала синхронизации. +// +Процедура ВыполнитьПодключениеКСерверу(ЭтаФорма, НаборКонстант, ДатаНачалаСинхронизации) Экспорт + + ЭтоДемоРежим = НРег(НаборКонстант.ПользовательЦентральнойБазы) = "test" + И НРег(НаборКонстант.ПарольПользователя) = "test"; + + ОбщегоНазначенияВызовСервера.УстановитьДемоРежим(ЭтоДемоРежим); + + Если Не ЭтоДемоРежим Тогда + Если НРег(НаборКонстант.АдресЦентральнойБазы) = "https://" + Или НРег(НаборКонстант.АдресЦентральнойБазы) = "http://" + Или НаборКонстант.АдресЦентральнойБазы = "" Тогда + + ЗаголовокПредупреждения = НСтр("ru = 'Подключение'; en = 'Connection'"); + ТекстПредупреждения = НСтр("ru = 'Не указан адрес сервера.'; + |en = 'The server address is not specified'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ЗаголовокПредупреждения); + + Возврат; + + КонецЕсли; + КонецЕсли; + + ДатаНачалаСинхронизации = ТекущаяДата(); + + ОбщегоНазначенияВызовСервера.ОчиститьОчередьСообщенияИПолученныеДанныеНаСервере(); + + ПараметрыОбработчика = Новый Структура; + ПараметрыОбработчика.Вставить("ЭтаФорма", ЭтаФорма); + ПараметрыОбработчика.Вставить("ДатаНачалаСинхронизации", ДатаНачалаСинхронизации); + + ОбработчикЗавершения = Новый ОписаниеОповещения("ПодключитьсяЗавершение", ОбменКлиент, + ПараметрыОбработчика); + + Форма = ОткрытьФорму("ОбщаяФорма.Синхронизация",, + ЭтаФорма,,,, + ОбработчикЗавершения, + РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + ПараметрыВызова = Новый Структура; + ПараметрыВызова.Вставить("РежимСинхронизации", "ПодключитьНовоеУстройство"); + ПараметрыВызова.Вставить("ДатаНачалаСинхронизации", ДатаНачалаСинхронизации); + + Форма.ВыполнитьСинхронизацию(ПараметрыВызова); + +КонецПроцедуры + +// Выполняет действия после завершения синхронизации. +// +// Параметры: +// Результат - Произвольный - Результат выполнения синхронизации; +// ДатаНачалаСинхронизации - ДатаВремя - Дата начала процесса синхронизации. +// +Процедура ПодключитьсяЗавершение(Результат, ДатаНачалаСинхронизации) Экспорт + + ЕстьОшибкиПриПодключении = Результат; + + Если ЕстьОшибкиПриПодключении = Ложь Тогда + Оповестить("ВыполненоПодключениеКЦентральнойБазе", ДатаНачалаСинхронизации); + КонецЕсли; + +КонецПроцедуры + +// Показывает пользователю сообщения с ошибками обмена. +// +// Возвращаемое значение: +// Булево - Истина, если есть ошибки для показа. +// +Функция НайтиИПоказатьОшибкиПриСинхронизации() Экспорт + + ЕстьОшибки = Ложь; + МоментыВремениСобытий = + ОбщегоНазначенияВызовСервера.ПолучитьОтметкиВремениНепоказанныеОшибок(Ложь); + + Если МоментыВремениСобытий.Количество() > 0 Тогда + + ПараметрыФормы = Новый Структура("МоментыВремениСобытий", МоментыВремениСобытий); + ОткрытьФорму("РегистрСведений.ПротоколСобытий.Форма.ФормаСпискаСобытий", ПараметрыФормы); + + ЕстьОшибки = Истина; + + КонецЕсли; + + Возврат ЕстьОшибки; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьПодписьКДатеОбновленияИНаличиеДанныхДляОтправки() + + ТекущаяДата = ТекущаяДата(); + ДатаПоследнегоОбновления = Дата(1,1,1); + ЕстьДанныеДляОтправки = Ложь; + + ОбщегоНазначенияВызовСервера.ПолучитьДатуПоследнегоОбновленияИНаличиеДанныхДляОтправки( + ДатаПоследнегоОбновления, ЕстьДанныеДляОтправки); + + Если Не ЗначениеЗаполнено(ДатаПоследнегоОбновления) Тогда + + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Не настроено подключение'; en = 'Check connection settings'"); + + СтруктураВозврата = Новый Структура; + СтруктураВозврата.Вставить("ОписаниеПоследнегоОбновления", ОписаниеПоследнегоОбновления); + СтруктураВозврата.Вставить("ЕстьНеотправленныеДанные" , Ложь); + + Иначе + + Период = (ТекущаяДата - ДатаПоследнегоОбновления)/60; + ОписаниеПоследнегоОбновления = + ПолучитьОписаниеПоследнегоОбновления(Период, ТекущаяДата, ДатаПоследнегоОбновления); + + СтруктураВозврата = Новый Структура; + СтруктураВозврата.Вставить("ОписаниеПоследнегоОбновления", ОписаниеПоследнегоОбновления); + СтруктураВозврата.Вставить("ЕстьНеотправленныеДанные" , ЕстьДанныеДляОтправки); + + КонецЕсли; + + Возврат СтруктураВозврата; + +КонецФункции + +Функция ПолучитьОписаниеПоследнегоОбновления(Период, ТекущаяДата, ДатаПоследнегоОбновления) + + ОписаниеПоследнегоОбновления = ""; + + Если Период < 1 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено только что'; en = 'Updated just now'"); + + ИначеЕсли Период < 2 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено минуту назад'; en = 'Updated a minute ago'"); + + ИначеЕсли Период < 3 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 2 минуты назад'; en = 'Updated 2 minutes ago'"); + + ИначеЕсли Период < 4 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 3 минуты назад'; en = 'Updated 3 minutes ago'"); + + ИначеЕсли Период < 5 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 4 минуты назад'; en = 'Updated 4 minutes ago'"); + + ИначеЕсли Период < 6 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 5 минуты назад'; en = 'Updated 5 minutes ago'"); + + ИначеЕсли Период < 15 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 15 минут назад'; en = 'Updated 15 minutes ago'"); + + ИначеЕсли Период < 30 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено 30 минут назад'; en = 'Updated 30 minutes ago'"); + + ИначеЕсли Период < 60 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено менее часа назад' + |; en = 'Updated less than an hour ago'"); + + ИначеЕсли Период < 120 Тогда + ОписаниеПоследнегоОбновления = + НСтр("ru = 'Обновлено менее 2 часов назад' + |; en = 'Updated less than an 2 hours ago'"); + + ИначеЕсли ДатаПоследнегоОбновления < КонецДня(ТекущаяДата) + И ДатаПоследнегоОбновления > НачалоДня(ТекущаяДата) Тогда + ОписаниеПоследнегоОбновления = + СтрШаблон( + НСтр("ru = 'Обновлено сегодня в %1'; en = 'Updated today at %1'"), + Формат(ДатаПоследнегоОбновления, "ДФ='HH:mm'")); + + ИначеЕсли ДатаПоследнегоОбновления < НачалоДня(ТекущаяДата) + И ДатаПоследнегоОбновления > НачалоДня(ТекущаяДата - 24*60*60) Тогда + ОписаниеПоследнегоОбновления = + СтрШаблон( + НСтр("ru = 'Обновлено вчера в %1'; en = 'Updated yesterday at %1'"), + Формат(ДатаПоследнегоОбновления, "ДФ='HH:mm'")); + + Иначе + ОписаниеПоследнегоОбновления = + СтрШаблон( + НСтр("ru = 'Обновлено %1'; en = 'Updated %1'"), + Формат(ДатаПоследнегоОбновления, "ДФ='dd.MM.yyyy HH:mm'")); + КонецЕсли; + + Возврат ОписаниеПоследнегоОбновления; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..c97e176 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + ОбменКлиентСервер + + + ru + Обмен клиент сервер + + + + false + true + true + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..83a07f5 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,57 @@ + +/////////////////////////////////////////////////////////////////////////////// +// СУЩНОСТИ ОБМЕНА + +#Область СущностиОбмена + +// Справочники + +Функция Сущность_Город() Экспорт + + Возврат "Город"; + +КонецФункции + +Функция Сущность_ОбъектСтроительства() Экспорт + + Возврат "Объект"; + +КонецФункции + +Функция Сущность_Контрагент() Экспорт + + Возврат "Контрагент"; + +КонецФункции + +Функция Сущность_СтатьяРасходов() Экспорт + + Возврат "СтатьяРасходов"; + +КонецФункции + +// Документы + +Функция Сущность_СписаниеДенежныхСредств() Экспорт + + Возврат "СписаниеДенежныхСредств"; + +КонецФункции + +Функция Сущности() Экспорт + + Результат = Новый Массив(); + + // Справочники + Результат.Добавить(Сущность_Город()); + Результат.Добавить(Сущность_ОбъектСтроительства()); + Результат.Добавить(Сущность_Контрагент()); + + // Документы + Результат.Добавить(Сущность_СписаниеДенежныхСредств()); + + Возврат Результат; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271.xml" new file mode 100644 index 0000000..168212e --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271.xml" @@ -0,0 +1,23 @@ + + + + + ОбменОбработкаСообщений + + + ru + Обмен обработка сервер + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271/Ext/Module.bsl" new file mode 100644 index 0000000..0c2a6c9 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271/Ext/Module.bsl" @@ -0,0 +1,206 @@ + +#Область ПрограммныйИнтерфейс + +// Выполняет предварительный анализ данных полученного сообщения обмена. +// +// Параметры: +// Сообщение - Структура - Описание сообщения обмена; +// * ИмяФайла - Строка - Имя файла сообщения; +// * ИдентификаторСообщения - УУИД - Уникальный идентификатор сообщения в регистре; +// СведенияОЗагруженныхДанных - Структура - Описание загруженных данных. +// +// Возвращаемое значение: +// Число - Число объектов в файле. +// +Функция ПросмотретьСообщение(Сообщение, СведенияОЗагруженныхДанных) Экспорт + + ДатаПоследнейСинхронизации = Константы.ДатаПоследнегоОбновления.Получить(); + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Ссылка = Неопределено; + Значение = Неопределено; + + Если Сообщение.Данные.Свойство("LogRecord") Тогда + LogRecord = Сообщение.Данные.LogRecord; + ТипЗаписи = LogRecord.RecordType; + Если ТипЗаписи = "Error" Тогда + СведенияОЗагруженныхДанных.ЕстьОшибки = Истина; + КонецЕсли; + КонецЕсли; + + Если Сообщение.Данные.Свойство("Objects") Тогда + Для Каждого Объект Из Сообщение.Данные.Objects Цикл + Ссылка = ОбменВызовСервераПовтИсп.ПолучитьСсылкуПоТипу(Объект.Тип, Объект.UUID); + + ОбновитьСчетчикиКоллекций(Ссылка, Объект.Тип, СведенияОЗагруженныхДанных); + ОбменВызовСервера.УвеличитьСчетчикиПоТипамОбъектов(СведенияОЗагруженныхДанных, Объект.Тип); + КонецЦикла; + КонецЕсли; + + Возврат СведенияОЗагруженныхДанных.ПоказателиОбмена.СчетчикиОбъектов.Количество() > 0 + ИЛИ СведенияОЗагруженныхДанных.ЕстьОшибки; + +КонецФункции + +// Выполняет запись данных полученного сообщения обмена. +// +// Параметры: +// Сообщение - Структура - Описание сообщения обмена; +// * ИмяФайла - Строка - Имя файла сообщения; +// * ИдентификаторСообщения - УУИД - Уникальный идентификатор сообщения в регистре; +// СведенияОЗагруженныхДанных - Структура - Описание загруженных данных. +// +Процедура ОбработатьСообщение(Сообщение, СведенияОЗагруженныхДанных) Экспорт + + Попытка + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + СведенияОЗагруженныхДанных.ПоказателиОбмена.КоличествоОбработанныхОбъектов = + СведенияОЗагруженныхДанных.ПоказателиОбмена.КоличествоОбработанныхОбъектов + 1; + + СсылкаНаЗагруженныйОбъект = Неопределено; + + Попытка + ВыполнитьОбработку( + Сообщение.Данные, СсылкаНаЗагруженныйОбъект, СведенияОЗагруженныхДанных); + Исключение + Инфо = ИнформацияОбОшибке(); + Если Сообщение.Свойство("LogRecord") Тогда + ОбщееОписаниеОшибки = + НСтр("ru = 'Сервер сообщил об ошибке обработки данных.' + |; en = 'An error occured on server while procesing data'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + // От сервера поступило сообщение об ошибке - необходимо корректно завершить + // обработку сообщения. + РегистрыСведений.ПолученныеДанныеОбмена.УдалитьСообщение(Сообщение.ИдентификаторСообщения); + Иначе + ОбщееОписаниеОшибки = + НСтр("ru = 'Произошла ошибка при обработке сообщения от сервера.' + |; en = 'An error occured while procesing server messages'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + КонецЕсли; + ВызватьИсключение ТекстОшибки; + КонецПопытки; + + // Для загруженных объектов удаляется регистрация изменений, чтобы они не передавались + // обратно на сервер. + Если Не СсылкаНаЗагруженныйОбъект = Неопределено + Или ТипЗнч(СсылкаНаЗагруженныйОбъект) = Тип("УдалениеОбъекта") Тогда + + Попытка + МетаданныеОбъекта = СсылкаНаЗагруженныйОбъект.Метаданные(); + Исключение + МетаданныеОбъекта = Неопределено; + КонецПопытки; + + Если Не Метаданные = Неопределено + И Не Метаданные.ПланыОбмена.ОбменССервером.Состав.Найти(МетаданныеОбъекта) = Неопределено Тогда + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена, СсылкаНаЗагруженныйОбъект); + КонецЕсли; + КонецЕсли; + + Исключение + Инфо = ИнформацияОбОшибке(); + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(Инфо.Описание); + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Выполняет инициацию загрузки конкретного объекта данных. +// +// Параметры: +// СтруктураДанныхОбъекта - Соответствие - Список значений реквизитов объекта; +// СсылкаНаЗагруженныйОбъект - Ссылка - Ссылка на загружаемый объект; +// СведенияОЗагруженныхДанных - Структура - Кэш данных загруженных объектов. +// +Процедура ВыполнитьОбработку(Сообщение, СсылкаНаЗагруженныйОбъект, + СведенияОЗагруженныхДанных) + + СсылкаНаЗагруженныйОбъект = Неопределено; + МоментВремени = Неопределено; + + ОбменИмпорт.ЗаписатьОбъект(Сообщение, СведенияОЗагруженныхДанных, МоментВремени); + + Если МоментВремени <> Неопределено Тогда + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + КонецЕсли; + +КонецПроцедуры + +// Обновляет счетчики коллекций при загрузке данных. +// +// Параметры: +// Ссылка - Ссылка - Ссылка на загружаемый объект; +// Значение - Объект - Загружаемый объект, Неопределено, если он новый; +// ИмяТипа - Строка - Имя типа загружаемого объекта; +// СведенияОЗагруженныхДанных - Структура - Временные данные о текущей операции обмена. +// * УдаляемыеДанные - Соответствие - Список данных, которые будут удалены; +// * НовыеДанные - Соответствие - Список данных, которые будут загружены в первый раз; +// * ПоказателиОбмена - Структура - Статистические показатели текущей сессии обмена. +// +Процедура ОбновитьСчетчикиКоллекций(Ссылка, Знач Тип, СведенияОЗагруженныхДанных) + + // todo + Значение = Неопределено; + + Если Не Ссылка = Неопределено И Не Ссылка.Пустая() Тогда + СсылкаПодлежитУдалению = + СведенияОЗагруженныхДанных.УдаляемыеДанные.Получить(Ссылка.УникальныйИдентификатор()) <> Неопределено; + + Если СсылкаПодлежитУдалению Тогда + Возврат; + КонецЕсли; + + // Добавим объект в список новых данных которые будут загружены + СведенияОЗагруженныхДанных.НовыеДанные.Вставить( + Ссылка, ?(Значение = Неопределено, Ссылка, Значение)); + + // Обновляем счетчики новых объектов для информирования пользователя + Коллекция = Неопределено; + Тип = НРег(Тип); + + // Справочники + Если Тип = НРег(ОбменКлиентСервер.Сущность_Город()) Тогда + Коллекция = "НовыеГорода"; + + ИначеЕсли Тип = НРег(ОбменКлиентСервер.Сущность_Контрагент()) Тогда + Коллекция = "НовыеКонтрагенты"; + + ИначеЕсли Тип = НРег(ОбменКлиентСервер.Сущность_ОбъектСтроительства()) Тогда + Коллекция = "НовыеОбъектыСтроительства"; + + ИначеЕсли Тип = НРег(ОбменКлиентСервер.Сущность_СтатьяРасходов()) Тогда + Коллекция = "НовыеСтатьиРасходов"; + + // Документы + ИначеЕсли Тип = НРег(ОбменКлиентСервер.Сущность_СписаниеДенежныхСредств()) Тогда + Коллекция = "НовыеСписанияДенежныхСредств"; + + КонецЕсли; + + Объект = Ссылка.ПолучитьОбъект(); + Если НЕ Коллекция = Неопределено И Объект = Неопределено Тогда + СведенияОЗагруженныхДанных.ПоказателиОбмена[Коллекция] = + СведенияОЗагруженныхДанных.ПоказателиОбмена[Коллекция] + 1; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..e20627b --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + ОбменФормированиеDMXСервер + + + ru + Обмен формирование DMX сервер + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..5387555 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265DMX\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,1274 @@ + +#Область ПрограммныйИнтерфейс + +// Инициирует запись команды подключения нового устройства в XML в зависимости от указанной версии. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных XML; +// Версия - Строка - Желаемая версия формата данных. +// +Процедура ЗаписатьВXMLКомандуПодключенияУстройства(ЗаписьXML, Версия) Экспорт + + ВыгрузитьСообщениеДляПодключенияУстройства(ЗаписьXML, Версия); + +КонецПроцедуры + +// Инициирует запись команды отключения устройства в XML в зависимости от указанной версии. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных XML; +// Версия - Строка - Желаемая версия формата данных. +// +Процедура ЗаписатьВXMLКомандуОтключенияУстройства(ЗаписьXML, Версия) Экспорт + + Если Версия >= "206" Тогда + ВыгрузитьСообщениеДляОтключенияУстройстваПоВерсии206(ЗаписьXML, Версия); + КонецЕсли; + +КонецПроцедуры + +// Инициирует запись запроса файла с сервера в XML в зависимости от указанной версии. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных XML; +// Версия - Строка - Желаемая версия формата данных; +// ФайлСсылка - СправочникСсылка.Файлы - Ссылка на запрашиваемый файл. +// +Процедура ЗаписатьВXMLКомандуПолученияОдногоФайла(ЗаписьXML, Версия, ФайлСсылка) Экспорт + + Если Версия >= "206" Тогда + ВыгрузитьСообщениеДляПолученияОдногоФайлаПоВерсии206(ЗаписьXML, Версия, ФайлСсылка); + КонецЕсли; + +КонецПроцедуры + +// Инициирует запись данных информации о клиентском устройстве в XML в зависимости от указанной версии. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных XML; +// Версия - Строка - Желаемая версия формата данных. +// +Процедура ЗаписатьВXMLИнформациюОКлиенте(ЗаписьXML, Версия) Экспорт + + ВыгрузитьИнформациюОКлиентеПоВерсии206(ЗаписьXML); + +КонецПроцедуры + +// Записывает указанный объект в виде XML для передачи на сервер. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных XML; +// ВерсияСервиса - Строка - Желаемая версия формата данных; +// Объект - Произвольный - Объект, передаваемый на сервер (Ссылка или НаборЗаписей). +// +Процедура ЗаписатьОбъектВXML(ЗаписьXML, ВерсияСервиса, Объект) Экспорт + + Если ТипЗнч(Объект) = Тип("УдалениеОбъекта") Тогда + + ЗаписатьВXMLУдалениеОбъекта(ЗаписьXML, ВерсияСервиса, Объект); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.АдресатыПочтовыхСообщений") Тогда + + ЗаписатьВXMLАдресата(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.ЗаписиРабочегоКалендаря") Тогда + + ЗаписатьВXMLЗаписьРабочегоКалендаря(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.Контроль") Тогда + + ЗаписатьВXMLКонтрольнуюКарточку(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.ПроцессыИсполнение") Тогда + + ЗаписатьВXMLПроцессИсполнение(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.Файлы") Тогда + + ЗаписатьВXMLФайл(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникОбъект.ШаблоныТекстовПисем") Тогда + + ЗаписатьВXMLШаблоныТекстов(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("ДокументОбъект.ИсходящееПисьмо") Тогда + + ЗаписатьВXMLИсходящееПисьмо(ЗаписьXML, ВерсияСервиса, Объект.Ссылка); + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ЗадачиПринятыеНаИсполнение") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLПринятиеЗадачиНаИсполнение(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ИзмененныеНастройкиСинхронизации") Тогда + + Для Каждого Запись Из Объект Цикл + + Если Запись.ВидНастройки = Перечисления.ВидыНастроекОбмена.СинхронизацияПапокПисем Тогда + ЗаписатьВXMLНастройкуСинхронизацииПапокПисем(ЗаписьXML, ВерсияСервиса); + + ИначеЕсли Запись.ВидНастройки = Перечисления.ВидыНастроекОбмена.СрокУстареванияДанных Тогда + ЗаписатьВXMLНастройкуСрокаУстаревания(ЗаписьXML, ВерсияСервиса); + + ИначеЕсли Запись.ВидНастройки = Перечисления.ВидыНастроекОбмена.МаксимальныйРазмерФайла Тогда + ЗаписатьВXMLНастройкуМаксРазмераФайла(ЗаписьXML, ВерсияСервиса); + + ИначеЕсли Запись.ВидНастройки = Перечисления.ВидыНастроекОбмена.ШаблоныТекстовПисем Тогда + ЗаписатьВXMLНастройкиШаблоновПисем(ЗаписьXML, ВерсияСервиса); + + КонецЕсли; + + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ПапкиОбъектов") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLЗаписьПапкиОбъекта(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ПеренаправлениеЗадач") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLПеренаправлениеЗадачи(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ПротоколСобытий") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLЗаписьПротоколаСобытий(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.РезультатыВыполненияЗадач") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLРезультатыВыполненияЗадачи(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.СведенияОПрочтенииОбъектов") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLЗаписьОПрочтенииОбъекта(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.ФлагиОбъектов") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLФлагОбъекта(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + ИначеЕсли ТипЗнч(Объект) = Тип("РегистрСведенийНаборЗаписей.СостоянияПроцессов") Тогда + + Для Каждого Запись Из Объект Цикл + ЗаписатьВXMLЗаписьСостоянияПроцессов(ЗаписьXML, ВерсияСервиса, Запись); + КонецЦикла; + + Иначе + + Описание = СтрШаблон( + НСтр("ru = 'Пропущен объект (%1, %2)'; en = 'object skipped (%1, %2)'"), + ТипЗнч(Объект), + Строка(Объект)); + + РегистрыСведений.ПротоколСобытий.ДобавитьПредупреждение(Описание); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Процедура - Записать заголовок элемента данных. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи; +// ИмяТипаОбъекта - Строка - Строковое представление типа выгружаемого объекта; +// ВерсияФормата - Строка - Использованная при выгрузке версия формата. +// +Процедура ЗаписатьЗаголовокОбъекта(ЗаписьXML, ИмяТипаОбъекта, ВерсияФормата) Экспорт + + ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяТипаОбъекта); + ЗаписьXML.ЗаписатьАтрибут("Version", ВерсияФормата); + +КонецПроцедуры + +// Выполняет проверку, получение и запись идентификатора объекта. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи; +// ИмяЭлемента - Строка - Имя записываемого элемента; +// ЗначениеЭлемента - Ссылка - Ссылка на объект выгружаемый на сервер. +// +Процедура ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, ИмяЭлемента, ЗначениеЭлемента) + + Если Не ЗначениеЗаполнено(ЗначениеЭлемента) Тогда + Возврат; + КонецЕсли; + + УИД = ЗначениеЭлемента.УникальныйИдентификатор(); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, ИмяЭлемента, УИД); + +КонецПроцедуры + +// Записывает значение элемента данных в поток XML. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи; +// ИмяЭлемента - Строка - имя типа выгружаемого элемента; +// ЗначениеЭлемента - Произвольный - выгружаемый объект; +// УдалитьНедопустимыеСимволы - Булево - Признак, что для выгружаемого значения нужно удалить недопустимые символы. +// +Процедура ЗаписатьЭлементОбъектаДанных(ЗаписьXML, ИмяЭлемента, ЗначениеЭлемента) Экспорт + + Если Не ЗначениеЗаполнено(ЗначениеЭлемента) Тогда + Возврат; + КонецЕсли; + + ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяЭлемента); + ЗаписьXML.ЗаписатьТекст(XMLСтрока(ЗначениеЭлемента)); + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +// Выгружает XML представление ссылки на объект. +// +// Параметры: +// ВерсияКлиента - Строка - Версия формата запрошенная клиентом; +// ЭлементДанных - ДокументСсылка.ВходящееПисьмо - Выгружаемый элемент данных. +// +// Возвращаемое значение: +// Строка - XML представление ссылки на объект. +// +Процедура ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, ИмяЭлемента, ЭлементДанных) + + Если Не ЗначениеЗаполнено(ЭлементДанных) Тогда + Возврат; + КонецЕсли; + + // Записываем в поток открывающий тег + ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяЭлемента); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Type", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеТипаПоСсылке(ЭлементДанных)); + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЭлементДанных); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработкаКоманд + +Процедура ВыгрузитьСообщениеДляПодключенияУстройства(ЗаписьXML, Версия) + + // Записываем данные в пакет + ЗаписатьВXMLНастройкуСрокаУстаревания(ЗаписьXML, Версия); + ЗаписатьВXMLНастройкуМаксРазмераФайла(ЗаписьXML, Версия); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "Connect", "001"); + + // Записываем данные в пакет + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ClientCode", Константы.КодУстройства.Получить()); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "InitialPeriod", Константы.ПериодПервичнойЗагрузкиДанных.Получить()); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + + ЗаписатьВXMLИнформациюОКлиенте(ЗаписьXML, Версия); + +КонецПроцедуры + +Процедура ВыгрузитьСообщениеДляОтключенияУстройстваПоВерсии206(ЗаписьXML, Версия) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "Disconnect", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Client", Константы.КодУстройства.Получить()); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +Процедура ВыгрузитьСообщениеДляПолученияОдногоФайлаПоВерсии206(ЗаписьXML, Версия, ФайлСсылка) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "GetFile", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ФайлСсылка); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ПроцедурыИФункцииВыгрузкиДанных + +#Область ИнформацияОКлиенте + +Процедура ВыгрузитьИнформациюОКлиентеПоВерсии206(ЗаписьXML) + + СистемнаяИнформация = Новый СистемнаяИнформация; + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ClientInfo", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "AppVersion", + Константы.ВерсияАренды.Получить()); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "OS", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(СистемнаяИнформация.ВерсияОС)); + + РазмерПамяти = СистемнаяИнформация.ОперативнаяПамять; + РазмерПамяти = ?(РазмерПамяти = 0, 64, РазмерПамяти); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RAM", РазмерПамяти); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DeviceName", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ИмяКомпьютера())); + + РазмерЭкрана = ЭкранКлиентСервер.ДиагональЭкрана(); + РазмерЭкрана = ?(ЗначениеЗаполнено(РазмерЭкрана), РазмерЭкрана, 4); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ScreenSize", + Формат(РазмерЭкрана,"ЧЦ=3; ЧДЦ=1; ЧРД=.; ЧГ=")); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область УдалениеОбъекта + +// Определяет какую версию объекта нужно использовать для удаления объекта. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи XML файла; +// ВерсияСервиса - Строка - Версия протокола обмена заявленная клиентом; +// ЭлементДанных - Ссылка, Набор, УдалениеОбъекта - Элемент выгружаемых данных. +// +Процедура ЗаписатьВXMLУдалениеОбъекта(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + // Выбираем версию выгрузки в зависимости от используемой версии клиента + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьУдалениеОбъектаДляВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +// Выгружает входящее письмо в терминах версии 206. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи XML файла; +// ЭлементДанных - Ссылка, Набор, УдалениеОбъекта - Элемент выгружаемых данных. +// +Процедура ВыгрузитьУдалениеОбъектаДляВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ObjectDeletion", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Type", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеТипаПоСсылке(ЭлементДанных.Ссылка)); + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЭлементДанных.Ссылка); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + + +#Область АдресатыПочтовыхСообщений + +Процедура ЗаписатьВXMLАдресата(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьАдресатаПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьАдресатаПоВерсии206(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,Наименование,Адрес"); + + Если Не ЗначениеЗаполнено(ЗначенияРеквизитов.Ссылка) Тогда + Возврат; + КонецЕсли; + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "Addressee", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Presentation", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Наименование)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Address", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Адрес)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "PhoneNumbers", ""); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ЗаписиРабочегоКалендаря + +Процедура ЗаписатьВXMLЗаписьРабочегоКалендаря(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьЗаписьРабочегоКалендаряПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьЗаписьРабочегоКалендаряПоВерсии206(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,Описание,ВесьДень,ДатаНачала,ДатаОкончания,Цвет,Состояние, + |ТипЗаписиКалендаря,ДатаНачалаПовторения,ДатаОкончанияПовторения,ИнтервалПовторения, + |ПовторениеПоДнямМесяца,ПовторениеПоМесяцам,КоличествоПовторов,ЧастотаПовторения, + |ПравилоОкончанияПовторения,ПовторениеПоДням,ИсключенияПовторения,Отработано,Предмет,Связанная"); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "CalendarEvent", "206"); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЗначенияРеквизитов.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Описание)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DayLong", ЗначенияРеквизитов.ВесьДень); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "StartDate", ЗначенияРеквизитов.ДатаНачала); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "EndDate", ЗначенияРеквизитов.ДатаОкончания); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Color", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеЦвета(ЗначенияРеквизитов.Цвет)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Status", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеСостоянияЗаписиРабочегоКалендаря( + ЗначенияРеквизитов.Состояние)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Type", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеТипаЗаписиКалендаря(ЗначенияРеквизитов.ТипЗаписиКалендаря)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "IsDone", ЗначенияРеквизитов.Отработано); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Linked", ЗначенияРеквизитов.Связанная); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Target", ЗначенияРеквизитов.Предмет); + + Если ЗначенияРеквизитов.ТипЗаписиКалендаря = Перечисления.ТипЗаписиКалендаря.ПовторяющеесяСобытие Тогда + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RecurrenceStartDate", ЗначенияРеквизитов.ДатаНачалаПовторения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RecurrenceEndDate", ЗначенияРеквизитов.ДатаОкончанияПовторения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Interval", ЗначенияРеквизитов.ИнтервалПовторения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ByMonthDay", ЗначенияРеквизитов.ПовторениеПоДнямМесяца); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ByMonth", ЗначенияРеквизитов.ПовторениеПоМесяцам); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Count", ЗначенияРеквизитов.КоличествоПовторов); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Frequency", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеЧастотыПовторений(ЗначенияРеквизитов.ЧастотаПовторения)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "EndRule", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеПравилаОкончанияПовторения( + ЗначенияРеквизитов.ПравилоОкончанияПовторения)); + + ЗаписьXML.ЗаписатьНачалоЭлемента("RecurrenceDays"); + ДниПовторения = ЗначенияРеквизитов.ПовторениеПоДням.Выбрать(); + Пока ДниПовторения.Следующий() Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("RecurrenceDay"); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Day", ДниПовторения.ДеньНедели); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Occurrence", ДниПовторения.НомерВхождения); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); // RecurrenceDays + + ЗаписьXML.ЗаписатьНачалоЭлемента("RecurrenceExceptions"); + ИсключениеПовторения = ЗначенияРеквизитов.ИсключенияПовторения.Выбрать(); + Пока ИсключениеПовторения.Следующий() Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("RecurrenceException"); + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ИсключениеПовторения.ЗаписьИсключения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Date", ИсключениеПовторения.ДатаИсключения); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); // RecurrenceExceptions + + КонецЕсли; + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // CalendarEvent + +КонецПроцедуры + +#КонецОбласти + +#Область Контроль + +Процедура ЗаписатьВXMLКонтрольнуюКарточку(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьКонтрольнуюКарточкуПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьКонтрольнуюКарточкуПоВерсии206(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,Наименование,Описание,Автор,ДатаПостановкиНаКонтроль, + |ДатаСнятияСКонтроля,ПоставленНаКонтроль,СнятСКонтроля,СрокИсполнения,Контролер,Источник, + |Предмет,Исполнители"); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "Control", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЗначенияРеквизитов.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Name", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Наименование)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Описание)); + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Author", ЗначенияРеквизитов.Автор); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ControlStartDate", ЗначенияРеквизитов.ДатаПостановкиНаКонтроль); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ControlEndDate", ЗначенияРеквизитов.ДатаСнятияСКонтроля); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Active", ЗначенияРеквизитов.ПоставленНаКонтроль); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Deactivated", ЗначенияРеквизитов.СнятСКонтроля); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DeadLine", ЗначенияРеквизитов.СрокИсполнения); + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Controller", ЗначенияРеквизитов.Контролер); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Source", ЗначенияРеквизитов.Источник); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Target", ЗначенияРеквизитов.Предмет); + + ЗаписьXML.ЗаписатьНачалоЭлемента("ControlPerformers"); + Исполнитель = ЗначенияРеквизитов.Исполнители.Выбрать(); + Пока Исполнитель.Следующий() Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("ControlPerformer"); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Main", Исполнитель.Ответственный); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "TaskIsExecuted", Исполнитель.Исполнено); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "TaskExecutionDate", Исполнитель.ДатаИсполнения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ControlEndDate", Исполнитель.ДатаКонтроля); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "TaskControlled", Исполнитель.Проконтролировано); + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Performer", Исполнитель.Исполнитель); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Source", Исполнитель.Источник); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); // ControlPerformers + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // Control + +КонецПроцедуры + +#КонецОбласти + +#Область ПроцессИсполнение + +Процедура ЗаписатьВXMLПроцессИсполнение(ЗаписьXML, ВерсияКлиента, ЭлементДанных) + + Если ВерсияКлиента >= "214" Тогда + ВыгрузитьПроцессИсполнениеПоВерсии214(ЗаписьXML, ЭлементДанных); + ИначеЕсли ВерсияКлиента >= "206" Тогда + ВыгрузитьПроцессИсполнениеПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьПроцессИсполнениеПоВерсии206(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,Наименование,Описание,Срок,Важность,ДатаСоздания,ДатаСтарта, + |ДатаЗавершения,ГлавнаяЗадача,Состояние,Исполнители"); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ExecutionProcess", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЗначенияРеквизитов.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Описание)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Name", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Наименование)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DeadLine", ЗначенияРеквизитов.Срок); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Importance", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеВажностиЗадачи(ЗначенияРеквизитов.Важность)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "CreationDate", ЗначенияРеквизитов.ДатаСоздания); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "StartDate", ЗначенияРеквизитов.ДатаСтарта); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "EndDate", ЗначенияРеквизитов.ДатаЗавершения); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ExecutionHistory", ""); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "MainTask", ЗначенияРеквизитов.ГлавнаяЗадача); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "State", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеСостоянияБизнесПроцесса( + ЗначенияРеквизитов.Состояние)); + + ЗаписьXML.ЗаписатьНачалоЭлемента("ExecutionPerformers"); + Исполнитель = ЗначенияРеквизитов.Исполнители.Выбрать(); + Пока Исполнитель.Следующий() Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("ExecutionPerformer"); + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Performer", Исполнитель.Исполнитель); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); // ControlPerformers + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // ExecutionProcess + + ЗаписатьВXMLФайлыОбъекта(ЗаписьXML, "206", ЗначенияРеквизитов.Ссылка); + +КонецПроцедуры + +Процедура ВыгрузитьПроцессИсполнениеПоВерсии214(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,Наименование,Описание,Срок,Важность,ДатаСоздания,ДатаСтарта, + |ДатаЗавершения,ГлавнаяЗадача,Состояние,Исполнители"); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ExecutionProcess", "214"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", + ЗначенияРеквизитов.ВерсияДанныхНаСервере); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Описание)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Name", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Наименование)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DeadLine", ЗначенияРеквизитов.Срок); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Importance", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеВажностиЗадачи(ЗначенияРеквизитов.Важность)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "CreationDate", + ЗначенияРеквизитов.ДатаСоздания); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "StartDate", + ЗначенияРеквизитов.ДатаСтарта); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "EndDate", + ЗначенияРеквизитов.ДатаЗавершения); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ExecutionHistory", ""); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "MainTask", + ЗначенияРеквизитов.ГлавнаяЗадача); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "State", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеСостоянияБизнесПроцесса( + ЗначенияРеквизитов.Состояние)); + + ЗаписьXML.ЗаписатьНачалоЭлемента("ExecutionPerformers"); + Исполнители = ЗначенияРеквизитов.Исполнители.Выбрать(); + Пока Исполнители.Следующий() Цикл + + ЗаписьXML.ЗаписатьНачалоЭлемента("ExecutionPerformer"); + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Performer", + Исполнители.Исполнитель); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ID", + Исполнители.ИдентификаторИсполнителя); + + ЗаписьXML.ЗаписатьКонецЭлемента(); + + КонецЦикла; + ЗаписьXML.ЗаписатьКонецЭлемента(); // ExecutionPerformers + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // ExecutionProcess + + ЗаписатьВXMLФайлыОбъекта(ЗаписьXML, "206", ЗначенияРеквизитов.Ссылка); + +КонецПроцедуры + +#КонецОбласти + +#Область Файлы + +Процедура ЗаписатьВXMLФайлыОбъекта(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("ВладелецФайла", ЭлементДанных.Ссылка); + + ВыборкаФайлы = Справочники.Файлы.Выбрать(,, СтруктураОтбора); + + Пока ВыборкаФайлы.Следующий() Цикл + ЗаписатьВXMLФайл(ЗаписьXML, ВерсияСервиса, ВыборкаФайлы.Ссылка, Истина); + КонецЦикла; + +КонецПроцедуры + +Процедура ЗаписатьВXMLФайл(ЗаписьXML, ВерсияСервиса, ЭлементДанных, ЭтоВложение = Ложь) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьФайлПоВерсии206(ЗаписьXML, ЭлементДанных, ЭтоВложение); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьФайлПоВерсии206(ЗаписьXML, ЭлементДанных, ЭтоВложение = Ложь) + + // Выполним проверки и подготовку данных + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,Наименование,Тип,ТолькоЗаголовок,Данные,Размер,ВладелецФайла,ФайлОснование"); + + // Для задач файлы могут выгружаться индивидуально. + // для писем и процессов исполнение - только как вложения. + Если Не ЭтоВложение + И ТипЗнч(ЗначенияРеквизитов.ВладелецФайла) = Тип("СправочникСсылка.Задачи") Тогда + ТипВладельца = "Task"; + + ИначеЕсли ЭтоВложение + И ТипЗнч(ЗначенияРеквизитов.ВладелецФайла) = Тип("СправочникСсылка.ПроцессыИсполнение") Тогда + ТипВладельца = "ExecutionProcess"; + + ИначеЕсли ЭтоВложение + И ТипЗнч(ЗначенияРеквизитов.ВладелецФайла) = Тип("ДокументСсылка.ВходящееПисьмо") Тогда + ТипВладельца = "IncomingMail"; + + ИначеЕсли ЭтоВложение + И ТипЗнч(ЗначенияРеквизитов.ВладелецФайла) = Тип("ДокументСсылка.ИсходящееПисьмо") Тогда + ТипВладельца = "OutgoingMail"; + + Иначе + Возврат; + КонецЕсли; + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "File", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Owner", ЗначенияРеквизитов.ВладелецФайла); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Name", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Наименование)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Extension", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Тип)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Size", ЗначенияРеквизитов.Размер); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "HeaderOnly", ЗначенияРеквизитов.ТолькоЗаголовок); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "FileData", ЗначенияРеквизитов.Данные); + + Если ЗначениеЗаполнено(ЗначенияРеквизитов.ФайлОснование) Тогда + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "BaseFileID", ЗначенияРеквизитов.ФайлОснование); + КонецЕсли; + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // File + +КонецПроцедуры + +#КонецОбласти + +#Область ШаблоныТекстовПисем + +Процедура ЗаписатьВXMLШаблоныТекстов(ЗаписьXML, ВерсияКлиента, ЭлементДанных) + + Если ВерсияКлиента >= "206" Тогда + ВыгрузитьШаблоныТекстовПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьШаблоныТекстовПоВерсии206(ЗаписьXML, ЭлементДанных) + + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,Наименование,Шаблон"); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "MailTextTemplate", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЭлементДанных.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЭлементДанных.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Presentation", ЭлементДанных.Наименование); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Text", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЭлементДанных.Шаблон)); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + + +#Область ИсходящееПисьмо + +Процедура ЗаписатьВXMLИсходящееПисьмо(ЗаписьXML, ВерсияКлиента, ЭлементДанных) + + Если ВерсияКлиента >= "206" Тогда + ВыгрузитьИсходящееПисьмоПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьИсходящееПисьмоПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Выполним проверки и подготовку данных + ЗначенияРеквизитов = ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта(ЭлементДанных, + "Ссылка,ВерсияДанныхНаСервере,ПодготовленоКОтправке,ПометкаУдаления,ТекстХранилище, + |Тема,Дата,Прочитан,Важность,Папка,УчетнаяЗапись,ИндексСостоянияПисьма,ПисьмоОснование, + |ПолучателиКопий,ПолучателиПисьма,ПолучателиСкрытыхКопий"); + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("ВладелецФайла", ЗначенияРеквизитов.Ссылка); + + ВыборкаФайлы = Справочники.Файлы.Выбрать(,, СтруктураОтбора); + + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "OutgoingMail", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЗначенияРеквизитов.Ссылка); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЗначенияРеквизитов.ВерсияДанныхНаСервере); + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Folder", ЗначенияРеквизитов.Папка); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Account", ЗначенияРеквизитов.УчетнаяЗапись); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Subject", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЗначенияРеквизитов.Тема)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Importance", + ОбщегоНазначенияВызовСервера.ИмяЗначенияПеречисления(ЗначенияРеквизитов.Важность)); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "CreationDate", ЗначенияРеквизитов.Дата); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ReadyToBeSent", ЗначенияРеквизитов.ПодготовленоКОтправке); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "MarkedForDeletion", ЗначенияРеквизитов.ПометкаУдаления); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Body", ЗначенияРеквизитов.ТекстХранилище); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "WasSent", Ложь); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "WasRead", ЗначенияРеквизитов.Прочитан); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "WasAnswered", + ЗначенияРеквизитов.ИндексСостоянияПисьма = 1); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "WasForwarded", + ЗначенияРеквизитов.ИндексСостоянияПисьма = 2 Или ЭлементДанных.ИндексСостоянияПисьма = 3); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "HasAnswer", + ЗначенияРеквизитов.ИндексСостоянияПисьма = 4); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "HasAttachment", ВыборкаФайлы.Следующий()); + + Если ЗначениеЗаполнено(ЭлементДанных.ПисьмоОснование) Тогда + + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "BaseMail", ЭлементДанных.ПисьмоОснование); + + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "AnswerType", + ОбщегоНазначенияВызовСервера.ИмяЗначенияПеречисления(ЭлементДанных.ТипОтвета)); + + КонецЕсли; + + ЗаписатьЭлементОбъектаДанных( + ЗаписьXML, "TO", ЗначенияРеквизитов.ПолучателиПисьма); + + ЗаписатьЭлементОбъектаДанных( + ЗаписьXML, "CC", ЗначенияРеквизитов.ПолучателиКопий); + + ЗаписатьЭлементОбъектаДанных( + ЗаписьXML, "BCC", ЗначенияРеквизитов.ПолучателиСкрытыхКопий); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); // OutgoingMail + + ЗаписатьВXMLФайлыОбъекта(ЗаписьXML, "206", ЭлементДанных.Ссылка); + +КонецПроцедуры + +#КонецОбласти + + +#Область ЗадачиПринятыеНаИсполнение + +Процедура ЗаписатьВXMLПринятиеЗадачиНаИсполнение(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьПринятиеЗадачиНаИсполнениеПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьПринятиеЗадачиНаИсполнениеПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "TaskAcception", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЭлементДанных.Объект); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "AcceptDate", ЭлементДанных.ДатаПринятия); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Accepted", ЭлементДанных.ПринятаКИсполнению); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЭлементДанных.Объект.ВерсияДанныхНаСервере); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Executor", ЭлементДанных.Исполнитель); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область НастройкаСрокаУстаревания + +Процедура ЗаписатьВXMLНастройкуСрокаУстаревания(ЗаписьXML, ВерсияКлиента) + + ВыгрузитьНастройкуСрокаУстаревания(ЗаписьXML); + +КонецПроцедуры + +Процедура ВыгрузитьНастройкуСрокаУстаревания(ЗаписьXML) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "DataExpirationSettings", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataExpirationPeriod", Константы.ПериодПервичнойЗагрузкиДанных.Получить()); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область НастройкаМаксРазмераФайла + +Процедура ЗаписатьВXMLНастройкуМаксРазмераФайла(ЗаписьXML, ВерсияКлиента) + + ВыгрузитьНастройкуМаксРазмерФайла(ЗаписьXML); + +КонецПроцедуры + +Процедура ВыгрузитьНастройкуМаксРазмерФайла(ЗаписьXML) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "MaxFileSizeToDownloadSetting", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "FileSize", Константы.МаксимальныйРазмерФайла.Получить()); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область НастройкаСинхронизацииПапок + +Процедура ЗаписатьВXMLНастройкуСинхронизацииПапокПисем(ЗаписьXML, ВерсияКлиента) + + Если ВерсияКлиента >= "206" Тогда + ВыгрузитьНастройкуСинхронизацииПапокПисемПоВерсии206(ЗаписьXML); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьНастройкуСинхронизацииПапокПисемПоВерсии206(ЗаписьXML) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "MailFolderSynchronizationSettings", "206"); + + // Записываем данные + ЗаписьXML.ЗаписатьНачалоЭлемента("FolderList"); + + Выборка = Справочники.ПапкиПисем.Выбрать(); + + Пока Выборка.Следующий() Цикл + + Если Выборка.Предопределенный Тогда + Продолжить; + КонецЕсли; + + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Folder", Выборка.Ссылка); + + КонецЦикла; + + ЗаписьXML.ЗаписатьКонецЭлемента(); // FolderList + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область НастройкиШаблоновПисем + +Процедура ЗаписатьВXMLНастройкиШаблоновПисем(ЗаписьXML, ВерсияКлиента) + + Если ВерсияКлиента >= "206" Тогда + ВыгрузитьНастройкиШаблоновПисемПоВерсии206(ЗаписьXML); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьНастройкиШаблоновПисемПоВерсии206(ЗаписьXML) + + // Подготавливаем данные + ПодписьДляНовыхПисем = Константы.ПодписьДляНовыхПисем.Получить(); + ПодписьДляОтвета = Константы.ПодписьПриОтветеИПересылке.Получить(); + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "MailFooterSettings", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "NewMailFooter", ПодписьДляНовыхПисем); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ResponseMailFooter", ПодписьДляОтвета); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ПапкиОбъектов + +Процедура ЗаписатьВXMLЗаписьПапкиОбъекта(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьЗаписьПапкиПисемПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьЗаписьПапкиПисемПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ObjectInFolder", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Folder", ЭлементДанных.Папка); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Object", ЭлементДанных.Объект); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ПеренаправлениеЗадачи + +Процедура ЗаписатьВXMLПеренаправлениеЗадачи(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьПеренаправлениеЗадачиПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьПеренаправлениеЗадачиПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "TaskRedirection", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Task", ЭлементДанных.Объект); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЭлементДанных.Объект.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Type", "ExecutionProcess"); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Comment", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЭлементДанных.Комментарий)); + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "NewPerformer", ЭлементДанных.НовыйИсполнитель); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ПротоколСобытий + +Процедура ЗаписатьВXMLЗаписьПротоколаСобытий(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если Не ЗначениеЗаполнено(СокрЛП(ЭлементДанных.Описание)) Тогда + Возврат; + КонецЕсли; + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьЗаписьПротоколаСобытийПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьЗаписьПротоколаСобытийПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "JournalRecord", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RecordType", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеТипаСобытияПротокола(ЭлементДанных.ТипСобытия)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ObjectType", ЭлементДанных.ТипОбъекта); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "ObjectID", ЭлементДанных.ИдентификаторОбъекта); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЭлементДанных.Описание)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RecordDate", ЭлементДанных.Период); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "RecordMSecs", ЭлементДанных.МоментВремени); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область РезультатыВыполненияЗадачи + +Процедура ЗаписатьВXMLРезультатыВыполненияЗадачи(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьРезультатыВыполненияЗадачиПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьРезультатыВыполненияЗадачиПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "TaskExecution", "206"); + + // Записываем данные + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "ID", ЭлементДанных.Объект); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЭлементДанных.Объект.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Date", ЭлементДанных.ДатаВыполнения); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Result", ЭлементДанных.Результат); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Comment", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЭлементДанных.Комментарий)); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область СведенияОПрочтенииОбъекта + +Процедура ЗаписатьВXMLЗаписьОПрочтенииОбъекта(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьЗаписьОПрочтенииОбъектаПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьЗаписьОПрочтенииОбъектаПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ObjectReadState", "206"); + + // Записываем данные + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Object", ЭлементДанных.Объект); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "WasRead", ЭлементДанных.Прочтено); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область ФлагОбъекта + +Процедура ЗаписатьВXMLФлагОбъекта(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + // Сам процесс передавать не нужно - изменение будет передано с задачей. + Если ТипЗнч(ЭлементДанных.Объект) = Тип("СправочникСсылка.ПроцессыИсполнение") Тогда + Возврат; + КонецЕсли; + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьФлагОбъектаПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьФлагОбъектаПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ObjectFlag", "206"); + + // Записываем данные + ЗаписатьСсылкуНаЭлементДанных(ЗаписьXML, "Object", ЭлементДанных.Объект); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Flag", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеЦвета(ЭлементДанных.Флаг)); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#Область СостояниеПроцессов + +Процедура ЗаписатьВXMLЗаписьСостоянияПроцессов(ЗаписьXML, ВерсияСервиса, ЭлементДанных) + + Если ВерсияСервиса >= "206" Тогда + ВыгрузитьЗаписьСостоянияПроцессовПоВерсии206(ЗаписьXML, ЭлементДанных); + КонецЕсли; + +КонецПроцедуры + +Процедура ВыгрузитьЗаписьСостоянияПроцессовПоВерсии206(ЗаписьXML, ЭлементДанных) + + // Записываем в поток открывающий тег и версию протокола + ЗаписатьЗаголовокОбъекта(ЗаписьXML, "ProcessStateChange", "206"); + + // Записываем данные + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Type", "ExecutionProcess"); + ЗаписатьИдентификаторЭлементаДанных(ЗаписьXML, "Process", ЭлементДанных.Процесс); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "DataVersion", ЭлементДанных.Процесс.ВерсияДанныхНаСервере); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Comment", + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ЭлементДанных.Комментарий)); + ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "NewState", + ОбменВызовСервераПовтИсп.ПолучитьПредставлениеСостоянияБизнесПроцесса(ЭлементДанных.Состояние)); + + // Записываем закрывающий тег + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..0a5dbd3 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбменФормированиеСообщенийВызовСервера + + + ru + Обмен формирование сообщений вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..9c1c302 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,218 @@ + +#Область ПрограммныйИнтерфейс + +// Создает сообщение для подключения нового устройства. +// +// Параметры: +// ВерсияСервиса - Строка - Версия используемого формата обмена. +// +Процедура СоздатьСообщениеДляПодключенияУстройства(ВерсияСервиса) Экспорт + + СброситьФлагНеобходимостиПоказаСтарыхПредупреждений(); + + // Установим код устройства чтобы избежать чтения пакетов которые были подготовлены заранее, + // но не загружены на устройство. Например, при начальной синхронизации произошел обрыв связи. + + ЦентральныйУзелОбмена = ПланыОбмена.ОбменССервером.НайтиПоКоду(Константы.КодУстройства.Получить()); + + Если Не ЦентральныйУзелОбмена.Пустая() Тогда + НовыйКодУстройства = Новый УникальныйИдентификатор(); + + Константы.КодУстройства.Установить(НовыйКодУстройства); + + УзелОбъект = ЦентральныйУзелОбмена.ПолучитьОбъект(); + УзелОбъект.Код = НовыйКодУстройства; + УзелОбъект.Записать(); + КонецЕсли; + + Сообщение = Неопределено; + ОбменЭкспорт.СообщениеДляПодключенияУстройства(Сообщение); + + // Записываем сообщение + ВыполнитьЗаписьЭлементаОчередиСообщения(ВерсияСервиса, Сообщение); + +КонецПроцедуры + +// Создает сообщение для отключения устройства от базы на сервере. +// +// Параметры: +// ВерсияСервиса - Строка - Версия используемого формата обмена. +// +Процедура СоздатьСообщениеДляОтключенияУстройства(ВерсияСервиса) Экспорт + + Сообщение = Неопределено; + ОбменЭкспорт.СообщениеДляОтключенияУстройства(Сообщение); + + ВыполнитьЗаписьЭлементаОчередиСообщения(ВерсияСервиса, Сообщение); + +КонецПроцедуры + +// Создает сообщение, в котором содержится выгрузка всех измененных на клиенте данных. +// +// Параметры: +// ВерсияСервиса - Строка - Версия используемого формата обмена; +// ЕстьНеотправленныеДанные - Булево - Признак наличия неотправленных данных. +// +Процедура СоздатьСообщениеДляВыгрузкиВсехИзмененныхДанных(ВерсияСервиса, + ЕстьНеотправленныеДанные) Экспорт + + СброситьФлагНеобходимостиПоказаСтарыхПредупреждений(); + + Сообщение = Неопределено; + ОбменЭкспорт.СообщениеДляВыгрузкиИзмененныхДанных(Сообщение); + +КонецПроцедуры + +// Создает сообщение для передачи сообщения о проблеме на сервер +// +// Параметры: +// ВерсияСервиса - Строка - Версия используемого формата обмена; +// Текст - Строка - Текст сообщения о проблеме. +// +Процедура СоздатьСообщениеДляПередачиСообщенияОПроблеме(ВерсияСервиса, Текст) Экспорт + + Сообщение = Неопределено; + ОбменЭкспорт.СообщениеДляПередачиДанныхПроблемах(Сообщение); + + ВыполнитьЗаписьЭлементаОчередиСообщения(ВерсияСервиса, Сообщение); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Процедура - Выполнить запись элемента очереди сообщения +// +// Параметры: +// ВерсияСервиса - Строка - Используемая версия обмена; +// ИмяФайлаСообщенияОбмена - Строка - Имя сформированного файла с данными. +// +Процедура ВыполнитьЗаписьЭлементаОчередиСообщения(ВерсияСервиса, Сообщение) Экспорт + + СтрокаВЖурнал = НСтр("ru = 'Попытка записи элемента очереди сообщений обмена'; + |en = 'Attempt to write down the message queue item'"); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(СтрокаВЖурнал); + + ДанныеОбмена = Новый ХранилищеЗначения(Сообщение, Новый СжатиеДанных(9)); + + НовыйЭлементОчереди = РегистрыСведений.ОчередьСообщенийНаСервер.СоздатьМенеджерЗаписи(); + + НовыйЭлементОчереди.Данные = ДанныеОбмена; + НовыйЭлементОчереди.МоментВремени = ТекущаяУниверсальнаяДатаВМиллисекундах(); + НовыйЭлементОчереди.Идентификатор = Новый УникальныйИдентификатор(); + + НовыйЭлементОчереди.Записать(); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Записан элемент очереди сообщений для сервера (версия %1)'"), ВерсияСервиса)); + +КонецПроцедуры + +// Устанавливает признак необходимости показа еще не показанных ошибок в Ложь. +// +Процедура СброситьФлагНеобходимостиПоказаСтарыхПредупреждений() + + // Для всех сообщений которые еще не выведены сбрасываем флаг - они больше не нужны. + СтруктураОтбора = Новый Структура("НеобходимоОтобразитьПослеСинхронизации", Истина); + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(,, СтруктураОтбора); + Пока Выборка.Следующий() Цикл + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + Выборка.МоментВремени, Ложь); + КонецЦикла; + +КонецПроцедуры + +// Процедура - Записать в поток обмена записи протокола +// +// Параметры: +// ВерсияСервиса - Строка - Используемая версия формата обмена; +// ЗаписьXML - ЗаписьXML - Объект записи данных в файл; +// +// Возвращаемое значение: +// Булево - Истина, если записи протокола выгружены. +// +Функция ЗаписатьВПотокОбменаЗаписиПротокола(ВерсияСервиса, ЗаписьXML) + + ЕстьДанныеДляВыгрузки = Ложь; + + // Выходим, если нет необходимости передавать записи на сервер. + Если Не Константы.ВыгружатьПротоколСобытийНаСервер.Получить() Тогда + Возврат ЕстьДанныеДляВыгрузки; + КонецЕсли; + + // Определяем границу переданных записей протокола. + ГраницаВыборки = Константы.ПоследняяОтправленнаяНаСерверЗаписьПротокола.Получить(); + + // Получаем еще не переданные записи протокола. + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("ГраницаВыборки", ГраницаВыборки); + Запрос.Текст = + "ВЫБРАТЬ + | ПротоколСобытий.Период, + | ПротоколСобытий.МоментВремени КАК МоментВремени + |ИЗ + | РегистрСведений.ПротоколСобытий КАК ПротоколСобытий + |ГДЕ + | ПротоколСобытий.МоментВремени > &ГраницаВыборки + | + |УПОРЯДОЧИТЬ ПО + | МоментВремени"; + + ПротоколВыборка = Запрос.Выполнить().Выбрать(); + + // Помещаем записи в файл + Пока ПротоколВыборка.Следующий() Цикл + + НаборЗаписей = РегистрыСведений.ПротоколСобытий.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Период.Установить(ПротоколВыборка.Период); + НаборЗаписей.Отбор.МоментВремени.Установить(ПротоколВыборка.МоментВремени); + НаборЗаписей.Прочитать(); + + Если ВерсияСервиса >= "206" Тогда + + ОбменФормированиеDMXСервер.ЗаписатьОбъектВXML(ЗаписьXML, ВерсияСервиса, НаборЗаписей); + + КонецЕсли; + + // Сдвигаем границу переданных данных вперед. + ГраницаВыборки = ПротоколВыборка.МоментВремени; + ЕстьДанныеДляВыгрузки = Истина; + + КонецЦикла; + + // Запоминаем границу переданных данных. + Константы.ПоследняяОтправленнаяНаСерверЗаписьПротокола.Установить(ГраницаВыборки); + + Возврат ЕстьДанныеДляВыгрузки; + +КонецФункции + +// Записывает произошедшую ошибку в протокол и помечает ее как требующую показа после обмена. +// +// Параметры: +// ЗаписьXML - ЗаписьXML - Объект записи данных в файл; +// ИмяФайлаСообщенияОбмена - Строка - Имя файла, в который будут записаны данные; +// Инфо - ИнформацияОбОшибке - Описание произошедшей ошибки. +// +Процедура ОбработатьОшибкуПриФормированиеВыгрузкиВсехИзмененныхДанных(Инфо) Экспорт + + ОбщееОписаниеОшибки = + НСтр("ru = 'При подготовке сообщения для сервера произошла ошибка.' + |; en = 'An error occured while preparing message for server'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(ТекстОшибки); + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации( + МоментВремени, Истина); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202.xml" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202.xml" new file mode 100644 index 0000000..b89cc09 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОбменЭкспорт + + + ru + Обмен экспорт + + + + false + false + true + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..1a7b079 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Ext/Module.bsl" @@ -0,0 +1,452 @@ + +Процедура СообщениеДляПодключенияУстройства(Сообщение) Экспорт + + Если Сообщение = Неопределено Тогда + Сообщение = Новый Структура(); + КонецЕсли; + + ЗаписатьНастройкуСрокаУстаревания(Сообщение); + ЗаписатьНастройкуМаксРазмераФайла(Сообщение); + + Сообщение.Вставить("Connect", + Новый Структура("ClientCode, InitialPeriod", + Константы.КодУстройства.Получить(), Константы.ПериодПервичнойЗагрузкиДанных.Получить())); + + ИнформацияОКлиенте(Сообщение); + +КонецПроцедуры + +Процедура СообщениеДляОтключенияУстройства(Сообщение) Экспорт + + Если Сообщение = Неопределено Тогда + Сообщение = Новый Структура(); + КонецЕсли; + + Сообщение.Вставить("Disconnect", + Новый Структура("ClientCode", Константы.КодУстройства.Получить())); + +КонецПроцедуры + +Процедура ЗаписатьНастройкуСрокаУстаревания(Сообщение) + + Сообщение.Вставить("DataExpirationSettings", + Новый Структура("DataExpirationPeriod", Константы.ПериодПервичнойЗагрузкиДанных.Получить())); + +КонецПроцедуры + +Процедура ЗаписатьНастройкуМаксРазмераФайла(Сообщение) + + Сообщение.Вставить("MaxFileSizeToDownloadSetting", + Новый Структура("FileSize", Константы.МаксимальныйРазмерФайла.Получить())); + +КонецПроцедуры + +Функция ИнформацияОКлиенте(Сообщение) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + + Сообщение.Вставить("ClientInfo", + Новый Структура("AppVersion, OS, RAM, DeviceName, ScreenSize")); + + Сообщение.ClientInfo.AppVersion = Константы.ВерсияАренды.Получить(); + + Сообщение.ClientInfo.OS = + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(СистемнаяИнформация.ВерсияОС); + + РазмерПамяти = СистемнаяИнформация.ОперативнаяПамять; + РазмерПамяти = ?(РазмерПамяти = 0, 64, РазмерПамяти); + Сообщение.ClientInfo.RAM = РазмерПамяти; + + Сообщение.ClientInfo.DeviceName = + ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(ИмяКомпьютера()); + + РазмерЭкрана = ЭкранКлиентСервер.ДиагональЭкрана(); + РазмерЭкрана = ?(ЗначениеЗаполнено(РазмерЭкрана), РазмерЭкрана, 4); + Сообщение.ClientInfo.ScreenSize = + Формат(РазмерЭкрана,"ЧЦ=3; ЧДЦ=1; ЧРД=.; ЧГ="); + +КонецФункции + + +Функция СообщениеДляПередачиДанныхПроблемах(Сообщение) Экспорт + + // todo + + //// Записываем в файл заголовок объекта. + //ОбменФормированиеDMXСервер.ЗаписатьЗаголовокОбъекта( + // ЗаписьXML, "ProblemReportFromUser", ВерсияСервиса); + + //// Записываем описание произошедшей проблемы. + //ОбменФормированиеDMXСервер.ЗаписатьЭлементОбъектаДанных(ЗаписьXML, "Description", + // ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(Текст)); + + //// Дополняем описание проблемы записями за последнюю неделю. + //ЗаписьXML.ЗаписатьНачалоЭлемента("JournalRecords"); + + //ГраницаВыборки = ТекущаяДата() - 7 * 24 * 60 * 60; + + //ПротоколВыборка = РегистрыСведений.ПротоколСобытий.Выбрать(ГраницаВыборки); + //Пока ПротоколВыборка.Следующий() Цикл + + // ПротоколНаборЗаписей = РегистрыСведений.ПротоколСобытий.СоздатьНаборЗаписей(); + // ПротоколНаборЗаписей.Отбор.Период.Установить(ПротоколВыборка.Период); + // ПротоколНаборЗаписей.Отбор.МоментВремени.Установить(ПротоколВыборка.МоментВремени); + // ПротоколНаборЗаписей.Прочитать(); + + // ОбменФормированиеDMXСервер.ЗаписатьОбъектВXML( + // ЗаписьXML, ВерсияСервиса, ПротоколНаборЗаписей); + + //КонецЦикла; + + //// Закрываем контейнер JournalRecords + //ЗаписьXML.ЗаписатьКонецЭлемента(); + + //// Закрываем контейнер ProblemReportFromUser + //ЗаписьXML.ЗаписатьКонецЭлемента(); + + //// Закрываем файл с данными + //ЗакончитьЗаписьВXML(ЗаписьXML); + +КонецФункции + + +/////////////////////////////////////////////////////////////////////////////// +// ЭКСПОРТ ИЗМЕНЕННЫХ ДАННЫХ + +#Область ЭкспортИзмененныхДанных + +Функция СообщениеДляВыгрузкиИзмененныхДанных(Сообщение) Экспорт + + Если Сообщение = Неопределено Тогда + Сообщение = Новый Структура(); + КонецЕсли; + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Попытка + // Выбираются все измененные данные + ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения( + ЦентральныйУзелОбмена, + ЦентральныйУзелОбмена.НомерОтправленного); + + Сообщение.Вставить("Objects", Новый Массив()); + + ЕстьДанныеДляВыгрузки = Ложь; + Пока ВыборкаИзменений.Следующий() Цикл + + Если Не ЕстьДанныеДляВыгрузки Тогда + ОбменЭкспорт.ИнформацияОКлиенте(Сообщение); + ЕстьДанныеДляВыгрузки = Истина; + КонецЕсли; + + ДобавитьОбъект(Сообщение, ВыборкаИзменений.Получить()); + КонецЦикла; + + Если ЕстьДанныеДляВыгрузки Тогда + ОбменФормированиеСообщенийВызовСервера.ВыполнитьЗаписьЭлементаОчередиСообщения( + Неопределено, Сообщение); + + ОбменВызовСервера.УдалитьРегистрациюИзмененийОтправленныхДанных(); + КонецЕсли; + + Возврат Истина; + + Исключение + ОбменФормированиеСообщенийВызовСервера.ОбработатьОшибкуПриФормированиеВыгрузкиВсехИзмененныхДанных( + ИнформацияОбОшибке()); + Возврат Ложь; + КонецПопытки; + +КонецФункции + +Процедура ДобавитьОбъект(Сообщение, ЭлементДанных) + + Если Не Сообщение.Свойство("Objects") Тогда + Сообщение.Вставить("Objects", Новый Массив()); + КонецЕсли; + + РезультатОбъект = Неопределено; + + Если ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.ЗаявкаНаОбслуживание") + ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ЗаявкаНаОбслуживание") Тогда + РезультатОбъект = ВыгрузитьЗаявкуНаОбслуживание(ЭлементДанных.Ссылка); + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.ЗаключениеДоговораАренды") + ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ЗаключениеДоговораАренды") Тогда + РезультатОбъект = ВыгрузитьЗаключениеДоговораАренды(ЭлементДанных.Ссылка); + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.ДополнительноеСоглашение") + ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.ДополнительноеСоглашение") Тогда + РезультатОбъект = ВыгрузитьДополнительноеСоглашение(ЭлементДанных.Ссылка); + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.РасторжениеДоговораАренды") + ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.РасторжениеДоговораАренды") Тогда + РезультатОбъект = ВыгрузитьРасторжениеДоговораАренды(ЭлементДанных.Ссылка); + + ИначеЕсли ТипЗнч(ЭлементДанных) = Тип("ДокументСсылка.СчетНаАренду") + ИЛИ ТипЗнч(ЭлементДанных) = Тип("ДокументОбъект.СчетНаАренду") Тогда + РезультатОбъект = ВыгрузитьСчетНаАренду(ЭлементДанных.Ссылка); + + Иначе + ВызватьИсключение СтрШаблон( + НСтр("ru = 'Отсутствует обработчик для типа (%1)'"), ТипЗнч(ЭлементДанных)); + КонецЕсли; + + Сообщение.Objects.Добавить(РезультатОбъект); + +КонецПроцедуры + +// Документы + +Функция ВыгрузитьЗаявкуНаОбслуживание(ЭлементДанных) + + СтруктураДанных = Новый Структура( + "Тип, + |UUID, + |Дата, + |Номер, + |Организация, + |Контрагент, + |ДоговорКонтрагента, + |ОбъектАренды, + |ЭлементОбъекта, + |ОписаниеЗаявки, + |СтатусЗаявки, + |Комментарий, + |ДатаВыполненияРабот, + |РучнаяКорректировка, + |Ответственный"); + + СтруктураДанных.Тип = ОбменКлиентСервер.Сущность_ЗаявкаНаОбслуживание(); + СтруктураДанных.UUID = XMLСтрока(ЭлементДанных); + СтруктураДанных.Дата = ЭлементДанных.Дата; + СтруктураДанных.Номер = ЭлементДанных.Номер; + + СтруктураДанных.Организация = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Организация(), + XMLСтрока(ЭлементДанных.Организация), + ЭлементДанных.Организация.Код, + ЭлементДанных.Организация.Наименование); + + СтруктураДанных.Контрагент = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Контрагент(), + XMLСтрока(ЭлементДанных.Контрагент), + ЭлементДанных.Контрагент.Код, + ЭлементДанных.Контрагент.Наименование); + + СтруктураДанных.ДоговорКонтрагента = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ДоговорКонтрагента(), + XMLСтрока(ЭлементДанных.ДоговорКонтрагента), + ЭлементДанных.ДоговорКонтрагента.Код, + ЭлементДанных.ДоговорКонтрагента.Наименование); + + СтруктураДанных.ОбъектАренды = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ОбъектАренды(), + XMLСтрока(ЭлементДанных.ОбъектАренды), + ЭлементДанных.ОбъектАренды.Код, + ЭлементДанных.ОбъектАренды.Наименование); + + СтруктураДанных.ЭлементОбъекта = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ЭлементОбъектовАренды(), + XMLСтрока(ЭлементДанных.ЭлементОбъекта), + ЭлементДанных.ЭлементОбъекта.Код, + ЭлементДанных.ЭлементОбъекта.Наименование); + + СтруктураДанных.ОписаниеЗаявки = ЭлементДанных.ОписаниеЗаявки; + СтруктураДанных.СтатусЗаявки = XMLСтрока(ЭлементДанных.СтатусЗаявки); + СтруктураДанных.Комментарий = ЭлементДанных.Комментарий; + СтруктураДанных.ДатаВыполненияРабот = ЭлементДанных.ДатаВыполненияРабот; + СтруктураДанных.РучнаяКорректировка = ЭлементДанных.РучнаяКорректировка; + + // todo: синхронизация пользователей? Пока просто строка + СтруктураДанных.Ответственный = ЭлементДанных.Ответственный; + + Возврат СтруктураДанных; + +КонецФункции + +// Функционал не используется для арендатора, +// для подключения необходимо разрешить регистрацию в плане обмена "ОбменССервером" + +Функция ВыгрузитьЗаключениеДоговораАренды(ЭлементДанных) + + СтруктураДанных = Новый Структура( + "Тип, + |UUID, + |Дата, + |Номер, + |Организация, + |Контрагент, + |ДоговорКонтрагента, + |ДатаЗаключенияДоговора, + |ДатаОкончанияДоговора, + |Комментарий, + |Ответственный"); + + СтруктураДанных.Тип = ОбменКлиентСервер.Сущность_ЗаключениеДоговораАренды(); + СтруктураДанных.UUID = XMLСтрока(ЭлементДанных); + СтруктураДанных.Дата = XMLСтрока(ЭлементДанных.Дата); + СтруктураДанных.Номер = XMLСтрока(ЭлементДанных.Номер); + + СтруктураДанных.Организация = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Организация(), + XMLСтрока(ЭлементДанных.Организация), + ЭлементДанных.Организация.Код, + ЭлементДанных.Организация.Наименование); + + СтруктураДанных.Контрагент = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Контрагент(), + XMLСтрока(ЭлементДанных.Контрагент), + ЭлементДанных.Контрагент.Код, + ЭлементДанных.Контрагент.Наименование); + + СтруктураДанных.ДоговорКонтрагента = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ДоговорКонтрагента(), + XMLСтрока(ЭлементДанных.ДоговорКонтрагента), + ЭлементДанных.ДоговорКонтрагента.Код, + ЭлементДанных.ДоговорКонтрагента.Наименование); + + СтруктураДанных.ДатаЗаключенияДоговора = ЭлементДанных.ДатаЗаключенияДоговора; + СтруктураДанных.ДатаОкончанияДоговора = ЭлементДанных.ДатаОкончанияДоговора; + + СтруктураДанных.Комментарий = ЭлементДанных.Комментарий; + + // todo: синхронизация пользователей? Пока просто строка + СтруктураДанных.Ответственный = Строка(ЭлементДанных.Ответственный); + + Возврат СтруктураДанных; + +КонецФункции + +Функция ВыгрузитьДополнительноеСоглашение(ЭлементДанных) + + СтруктураДанных = Новый Структура( + "Тип, + |UUID, + |Дата, + |Номер, + |ДокументОснование, + |Организация, + |Контрагент, + |ДоговорКонтрагента, + |ДатаЗаключенияДоговора, + |ДатаОкончанияДоговора, + |Комментарий, + |Ответственный"); + + СтруктураДанных.Тип = ОбменКлиентСервер.Сущность_ДополнительноеСоглашение(); + СтруктураДанных.UUID = XMLСтрока(ЭлементДанных); + СтруктураДанных.Дата = XMLСтрока(ЭлементДанных.Дата); + СтруктураДанных.Номер = XMLСтрока(ЭлементДанных.Номер); + + СтруктураДанных.ДокументОснование = Новый Структура("Тип, UUID, Дата, Номер", + ОбменКлиентСервер.Сущность_ЗаключениеДоговораАренды(), + XMLСтрока(ЭлементДанных.ДокументОснование), + ЭлементДанных.ДокументОснование.Дата, + ЭлементДанных.ДокументОснование.Номер); + + СтруктураДанных.Организация = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Организация(), + XMLСтрока(ЭлементДанных.Организация), + ЭлементДанных.Организация.Код, + ЭлементДанных.Организация.Наименование); + + СтруктураДанных.Контрагент = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Контрагент(), + XMLСтрока(ЭлементДанных.Контрагент), + ЭлементДанных.Контрагент.Код, + ЭлементДанных.Контрагент.Наименование); + + СтруктураДанных.ДоговорКонтрагента = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ДоговорКонтрагента(), + XMLСтрока(ЭлементДанных.ДоговорКонтрагента), + ЭлементДанных.ДоговорКонтрагента.Код, + ЭлементДанных.ДоговорКонтрагента.Наименование); + + СтруктураДанных.ДатаЗаключенияДоговора = ЭлементДанных.ДатаЗаключенияДоговора; + СтруктураДанных.ДатаОкончанияДоговора = ЭлементДанных.ДатаОкончанияДоговора; + + СтруктураДанных.Комментарий = ЭлементДанных.Комментарий; + + // todo: синхронизация пользователей? Пока просто строка + СтруктураДанных.Ответственный = Строка(ЭлементДанных.Ответственный); + + Возврат СтруктураДанных; + +КонецФункции + +Функция ВыгрузитьРасторжениеДоговораАренды(ЭлементДанных) + + СтруктураДанных = Новый Структура( + "Тип, + |UUID, + |Дата, + |Номер, + |ДокументОснование, + |Организация, + |Контрагент, + |ДоговорКонтрагента, + |СуммаЗалога, + |ДатаОкончанияДоговора, + |Комментарий, + |Ответственный"); + + СтруктураДанных.Тип = ОбменКлиентСервер.Сущность_РасторжениеДоговораАренды(); + СтруктураДанных.UUID = XMLСтрока(ЭлементДанных); + СтруктураДанных.Дата = XMLСтрока(ЭлементДанных.Дата); + СтруктураДанных.Номер = XMLСтрока(ЭлементДанных.Номер); + + СтруктураДанных.ДокументОснование = Новый Структура("Тип, UUID, Дата, Номер", + ОбменКлиентСервер.Сущность_ЗаключениеДоговораАренды(), + XMLСтрока(ЭлементДанных.ДокументОснование), + ЭлементДанных.ДокументОснование.Дата, + ЭлементДанных.ДокументОснование.Номер); + + СтруктураДанных.Организация = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Организация(), + XMLСтрока(ЭлементДанных.Организация), + ЭлементДанных.Организация.Код, + ЭлементДанных.Организация.Наименование); + + СтруктураДанных.Контрагент = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_Контрагент(), + XMLСтрока(ЭлементДанных.Контрагент), + ЭлементДанных.Контрагент.Код, + ЭлементДанных.Контрагент.Наименование); + + СтруктураДанных.ДоговорКонтрагента = Новый Структура("Тип, UUID, Код, Наименование", + ОбменКлиентСервер.Сущность_ДоговорКонтрагента(), + XMLСтрока(ЭлементДанных.ДоговорКонтрагента), + ЭлементДанных.ДоговорКонтрагента.Код, + ЭлементДанных.ДоговорКонтрагента.Наименование); + + СтруктураДанных.СуммаЗалога = ЭлементДанных.СуммаЗалога; + СтруктураДанных.ДатаОкончанияДоговора = ЭлементДанных.ДатаОкончанияДоговора; + + СтруктураДанных.Комментарий = ЭлементДанных.Комментарий; + + // todo: синхронизация пользователей? Пока просто строка + СтруктураДанных.Ответственный = Строка(ЭлементДанных.Ответственный); + + Возврат СтруктураДанных; + +КонецФункции + +Функция ВыгрузитьСчетНаАренду(ЭлементДанных) + + СтруктураДанных = Новый Структура( + "Тип, + |UUID, + |Дата, + |Номер"); + + СтруктураДанных.Тип = ОбменКлиентСервер.Сущность_СчетНаАренду(); + СтруктураДанных.UUID = XMLСтрока(ЭлементДанных); + СтруктураДанных.Дата = XMLСтрока(ЭлементДанных.Дата); + СтруктураДанных.Номер = XMLСтрока(ЭлементДанных.Номер); + + Возврат СтруктураДанных; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..0265120 --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбновлениеИнформационнойБазыВызовСервера + + + ru + Обновление информационной базы вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..29f1cbb --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,326 @@ + +#Область ПрограммныйИнтерфейс + +// Определяет необходимость запуска обработчиков обновления. +// +// Возвращаемое значение: +// Булево - Признак того, что необходимо выполнить обновление ИБ. +// +Функция НеобходимоВыполнитьОбновление() Экспорт + + ВерсияИБ = Метаданные.Версия; + + Возврат НеобходимоЗапуститьОбработчик(ВерсияИБ); + +КонецФункции + +// Выполняет обновление ИБ. +// +// Параметры: +// СтраницыЧтоНового - Массив - Массив имен страниц для показа в форме "Что нового"; +// ЕстьОшибкиПриОбновлении - Булево - Признак того, что обновление не выполнено. +// В этом случае будет показана форма со списком ошибок. +// +Процедура ВыполнитьОбновлениеИБ(СтраницыЧтоНового, ЕстьОшибкиПриОбновлении) Экспорт + + Попытка + ВыполнитьОбновление(СтраницыЧтоНового); + Исключение + + Инфо = ИнформацияОбОшибке(); + + ОбщееОписаниеОшибки = + НСтр("ru = 'При обновлении данных приложения на новую версию произошла ошибка. + |Для дальнейшей корректной работы необходима переустановка приложения и повторное подключение к серверу. + |'; en = 'An error occurred while updating program data. + | Perform reinstallation programm and reconnect to the server. '"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(Инфо)); + + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(ТекстОшибки); + + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации(МоментВремени, Истина); + + ЕстьОшибкиПриОбновлении = Истина; + + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +//////////////////////////////////////////////////////////////////////////////// +// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Выполняет запуск необходимых обработчиков обновления, исходя из того, +// на какую версию ранее уже производилось обновление. +// +Процедура ВыполнитьОбновление(СтраницыЧтоНового) + + Если Метаданные.Версия = Константы.ВерсияАренды.Получить() Тогда + Возврат; + КонецЕсли; + + ВерсияПриложения = "1.0.0.2"; + Если НеобходимоЗапуститьОбработчик(ВерсияПриложения) Тогда + ПерейтиНаВерсию_1_0_0_2(); + КонецЕсли; + + Константы.ВерсияАренды.Установить(Метаданные.Версия); + +КонецПроцедуры + +// Проверяет необходимость запуска обработки обновления для указанной версии. +// +// Параметры: +// ВерсияСравнения - Строка - Номер версии для которой нужно выполнить проверку. +// +// Возвращаемое значение: +// Истина - Если нужно запустить обработку обновления, Ложь в противном случае. +// +Функция НеобходимоЗапуститьОбработчик(ВерсияСравнения) + + ВерсияДокументооборота = Константы.ВерсияАренды.Получить(); + РазрядыВерсииДокументооборота = СтрРазделить(ВерсияДокументооборота, "."); + РазрядыВерсииСравнения = СтрРазделить(ВерсияСравнения, "."); + + Если ВерсияДокументооборота = ВерсияСравнения Тогда + Возврат Ложь; + КонецЕсли; + + Для Счетчик = 1 По 4 Цикл + + ЛевоеЗначение = Число(РазрядыВерсииДокументооборота[Счетчик - 1]); + ПравоеЗначение = Число(РазрядыВерсииСравнения[Счетчик - 1]); + + Если ЛевоеЗначение = ПравоеЗначение Тогда + Продолжить; + + ИначеЕсли ЛевоеЗначение < ПравоеЗначение Тогда + Возврат Истина; + + Иначе + Возврат Ложь; + КонецЕсли; + + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +// Записывает информацию о успешном обновлении на новую версию. +// +// Параметры: +// Версия - Строка - новая версия программы. +// +Процедура ЗаписатьИнформациюОУспешномОбновленииНаНовуюВерсию(Версия) + + ТекстИнформации = СтрШаблон( + НСтр("ru = 'Выполнен переход на версию %1'; en = 'Successfully updated to the version %1'"), + Версия); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(ТекстИнформации); + СборСтатистикиКлиентСервер.СобратьДанныеСтатистикиПриОбновлении(); + +КонецПроцедуры + +#Область ОбработчикиОбновления + +Процедура ПерейтиНаВерсию_1_0_0_2() + + НачатьТранзакцию(); + + Попытка + Константы.ПоддерживаемыеВерсииФорматаОбмена.Установить("001"); + ЗаписатьИнформациюОУспешномОбновленииНаНовуюВерсию("1.0.0.2"); + ЗафиксироватьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + +КонецПроцедуры + +Процедура ПерезаполнитьДатыАктуальностиПисем() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ВходящееПисьмо.Ссылка КАК ПисьмоСсылка, + | ВходящееПисьмо.Дата + |ИЗ + | Документ.ВходящееПисьмо КАК ВходящееПисьмо + | + |ОБЪЕДИНИТЬ ВСЕ + | + |ВЫБРАТЬ + | ИсходящееПисьмо.Ссылка, + | ИсходящееПисьмо.Дата + |ИЗ + | Документ.ИсходящееПисьмо КАК ИсходящееПисьмо"; + + Выборка = Запрос.Выполнить().Выбрать(); + + Пока Выборка.Следующий() Цикл + + РегистрыСведений.ДатыЗагрузкиОбъектов.ОбновитьДатуПоследнегоИзмененияОбъекта(Выборка.ПисьмоСсылка, Выборка.Дата); + + КонецЦикла; + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(НСтр("ru = 'При переходе на версию 2.1.8.2 перезаполнены даты актуальности писем'; en = 'Due to 2.1.8.2 update dates of actuality were rewrited for incoming and outgoing letters'")); + +КонецПроцедуры + +Процедура ОчиститьСправочникАдресатов() + + Узел = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Выборка = Справочники.АдресатыПочтовыхСообщений.Выбрать(); + Пока Выборка.Следующий() Цикл + + Ссылка = Выборка.Ссылка; + + Адресат = Выборка.ПолучитьОбъект(); + Адресат.Удалить(); + + ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Ссылка); + + КонецЦикла; + +КонецПроцедуры + +Процедура ВыполнитьЗаменуСсылокАдресатовНаСтрокиВСправочнике(ИмяМетаданных) + + Запрос = Новый Запрос(); + Запрос.Текст = + "ВЫБРАТЬ + | ОбрабатываемыйСправочник.Ссылка, + | АдресатыПочтовыхСообщений.Адрес, + | АдресатыПочтовыхСообщений.Наименование + |ИЗ + | Справочник.%1 КАК ОбрабатываемыйСправочник + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АдресатыПочтовыхСообщений КАК АдресатыПочтовыхСообщений + | ПО ОбрабатываемыйСправочник.Адресат = АдресатыПочтовыхСообщений.Ссылка"; + + Запрос.Текст = СтрШаблон(Запрос.Текст, ИмяМетаданных); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + ЗаписатьАдресатаВРегистр(Выборка.Адрес, Выборка.Наименование); + + ЭлементОбъект = Выборка.Ссылка.ПолучитьОбъект(); + ЭлементОбъект.Адресат = Неопределено; + ЭлементОбъект.Записать(); + + КонецЦикла; + +КонецПроцедуры + +Процедура ВыполнитьЗаменуСсылокАдресатовНаСтрокиВДокументах(ИмяМетаданных) + + // Получаем письма которые на момент обновления изменены и не выгружены на сервер. + Запрос = Новый Запрос(); + Запрос.Текст = СтрШаблон( + "ВЫБРАТЬ + | ИзмененныеПисьма.Ссылка + |ИЗ + | Документ.%1.Изменения КАК ИзмененныеПисьма", ИмяМетаданных); + + ИзмененныеОбъекты = Запрос.Выполнить().Выгрузить(); + Узел = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Выборка = Документы[ИмяМетаданных].Выбрать(); + Пока Выборка.Следующий() Цикл + + // Инициируем списки адресатов + Кому = Новый Массив(); + Копии = Новый Массив(); + Скрытые = Новый Массив(); + + // Получаем всех адресатов по выбранному объекту + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("Ссылка", Выборка.Ссылка); + Запрос.Текст = + "ВЫБРАТЬ + | АдресатыВПисьмах.Роль, + | АдресатыВПисьмах.Адресат, + | АдресатыПочтовыхСообщений.Наименование КАК Представление, + | АдресатыПочтовыхСообщений.Адрес + |ИЗ + | РегистрСведений.АдресатыВПисьмах КАК АдресатыВПисьмах + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.АдресатыПочтовыхСообщений КАК АдресатыПочтовыхСообщений + | ПО АдресатыВПисьмах.Адресат = АдресатыПочтовыхСообщений.Ссылка + |ГДЕ + | АдресатыВПисьмах.Письмо = &Ссылка"; + + // Перебираем адресатов + Адресаты = Запрос.Выполнить().Выбрать(); + Пока Адресаты.Следующий() Цикл + + // Относим адресата в нужный список + Если Адресаты.Роль = Перечисления.РолиАдресатовВПисьме.Получатель Тогда + Кому.Добавить(Адресаты.Представление); + + ИначеЕсли Адресаты.Роль = Перечисления.РолиАдресатовВПисьме.ПолучательКопии Тогда + Копии.Добавить(Адресаты.Представление); + + ИначеЕсли Адресаты.Роль = Перечисления.РолиАдресатовВПисьме.ПолучательСкрытойКопии Тогда + Скрытые.Добавить(Адресаты.Представление); + + КонецЕсли; + + // Записываем уникального адресата в регистр + ЗаписатьАдресатаВРегистр(Адресаты.Адрес, Адресаты.Представление); + + КонецЦикла; + + // Проверяем что письмо на момент обработки уже ждет выгрузку на сервер. + ОбъектНеИзменен = ИзмененныеОбъекты.Найти(Выборка.Ссылка, "Ссылка") = Неопределено; + + // Изменяем письмо + ПисьмоОбъект = Выборка.Ссылка.ПолучитьОбъект(); + ПисьмоОбъект.ПолучателиПисьма = СтрСоединить(Кому, ";"); + ПисьмоОбъект.ПолучателиКопий = СтрСоединить(Копии, ";"); + ПисьмоОбъект.ПолучателиСкрытыхКопий = СтрСоединить(Скрытые, ";"); + + // Для входящих писем дополнительно преобразуем адресата + Если СтрСравнить(ИмяМетаданных, "ВходящееПисьмо") = 0 Тогда + ПисьмоОбъект.Отправитель = Строка(ПисьмоОбъект.ОтправительАдресат); + ПисьмоОбъект.ОтправительАдресат = Неопределено; + КонецЕсли; + + // Сохраняем изменения + ПисьмоОбъект.Записать(); + + // Если объект на момент изменения не ждет выгрузку - удаляем его регистрацию. + Если ОбъектНеИзменен Тогда + ПланыОбмена.УдалитьРегистрациюИзменений(Узел, Выборка.Ссылка); + КонецЕсли; + + // Удаляем записи по письму. + Набор = РегистрыСведений.АдресатыВПисьмах.СоздатьНаборЗаписей(); + Набор.Отбор.Письмо.Установить(Выборка.Ссылка); + Набор.Записать(Истина); + + КонецЦикла; + +КонецПроцедуры + +Процедура ЗаписатьАдресатаВРегистр(Адрес, Представление) + + Запись = РегистрыСведений.АдресатыПисем.СоздатьМенеджерЗаписи(); + Запись.Адресат = Адрес; + Запись.Представление = Представление; + Запись.Записать(Истина); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти diff --git "a/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..ad559bd --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОбновлениеИнформационнойБазыКлиент + + + ru + Обновление информационной базы клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..2a4d77c --- /dev/null +++ "b/CommonModules/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,57 @@ + +#Область ПрограммныйИнтерфейс + +// Выполняет обновление информационной базы после обновления конфигурации, если была поднята версия. +// +// Параметры: +// СтраницыЧтоНового - Массив - Список имен страниц для отображения в форме "что нового"; +// ЕстьОшибкиПриОбновлении - Булево - Признак наличия ошибок при выполнении обновления. +// +Процедура ВыполнитьОбновлениеИнформационнойБазы(СтраницыЧтоНового, ЕстьОшибкиПриОбновлении) Экспорт + + // Открываем форму с пояснением о том, что идет процесс обновления. + ОткрытьФорму("ОбщаяФорма.ОбновлениеИБ",,,,,,, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + // Выполняем обновление данных. + ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИБ( + СтраницыЧтоНового, ЕстьОшибкиПриОбновлении); + + // Оповещаем все заинтересованные объекты, что обновление завершено. + Оповестить("ОбновлениеЗавершено"); + +КонецПроцедуры + +// Обработчик завершения показа формы "Что нового". +// +// Параметры: +// Результат - Произвольный - Результат закрытия формы; +// ДополнительныеПараметры - Структура, Неопределено - Дополнительные параметры. +// +Процедура ОбработатьПоказФормыЧтоНового(Результат, ДополнительныеПараметры) Экспорт + + ОбработчикЗавершения = Новый ОписаниеОповещения("ОбработатьЗавершениеПоказаФормыЧтоНового", + ОбновлениеИнформационнойБазыКлиент); + + ТекстЗаголовка = НСтр("ru = 'Обновление данных'; en = 'Updating'"); + ТекстПредупреждения = НСтр("ru = 'Данные успешно обновлены. Можно продолжить работу.'; en = 'Data are successfully updated.'"); + + // Покажем сообщение о том, что все обновлено. + ПоказатьПредупреждение(ОбработчикЗавершения, ТекстПредупреждения, , ТекстЗаголовка); + +КонецПроцедуры + +// Обработчик закрытия предупреждения о выполнении обновления ИБ. +// +// Параметры: +// Результат - Произвольный - Результат закрытия окна предупреждения. +// +Процедура ОбработатьЗавершениеПоказаФормыЧтоНового(Результат) Экспорт + + Оповестить("ВыполненЗапускСистемы"); + +КонецПроцедуры + +#КонецОбласти + + + diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..7522b71 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбщегоНазначенияВызовСервера + + + ru + Общего назначения вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..160b419 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,744 @@ + +#Область ПрограммныйИнтерфейс + +// Обновляет повторно используемые значения после синхронизации. +// +Процедура ОбновитьПовторноИспользуемыеЗначенияСервер() Экспорт + + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + +// Устанавливает параметры сеанса отвечающие за уведомления. +// +Процедура УстановитьПараметрыСеанса() Экспорт + + ПараметрыСеанса.ВерсияСервиса = ""; + +КонецПроцедуры + +// Устанавливает настройки по умолчанию на устройстве. +// +// Параметры: +// ИмяКаталогаВременныхФайлов - Строка - Путь к каталогу временных файлов. +// +// Возвращаемое значение: +// Структура - Параметры запуска базы. +// * ЭтоЧистаяБаза - Булево - Признак того, что в базе нет данных; +// * ТекущийРаздел - Строка - Текущий используемый раздел приложения. +// +Функция УстановитьПервоначальныеНастройки(ИмяКаталогаВременныхФайлов) Экспорт + + ПараметрыСеанса.ИспользоватьЛокальныеУведомления = Константы.ИспользоватьЛокальныеУведомления.Получить(); + ПараметрыСеанса.ПутьКаталогаФайлов = ИмяКаталогаВременныхФайлов; + УстановитьПараметрыСеанса(); + + ОбменВызовСервера.УстановитьТекущуюСессияСинхронизации(); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Запуск приложения'; en = 'Program started'")); + + ТекстИнформации = + СтрШаблон( + "Current language: %1 + |System language: %2 + |Locale code: %3", + ТекущийЯзык(), ТекущийЯзыкСистемы(), ТекущийКодЛокализации()); + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(ТекстИнформации); + + ТекущийРаздел = ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ТекущийРаздел"); + + ВозвращаемоеЗначение = Новый Структура(); + ВозвращаемоеЗначение.Вставить("ЭтоЧистаяБаза", Ложь); + ВозвращаемоеЗначение.Вставить("ТекущийРаздел", ТекущийРаздел); + + Если ЗначениеЗаполнено(Константы.ДатаПоследнегоОбновления.Получить()) Тогда + + ПараметрыСеанса.ЭтоЧистаяБаза = Ложь; + + Возврат ВозвращаемоеЗначение; + + КонецЕсли; + + УстановитьКодУстройства(); + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Диагональ = 10; + + // Вычисление параметров данного устройства + + #Если МобильноеПриложениеСервер Тогда + + Диагональ = ЭкранКлиентСервер.ПараметрыЭкрана()[0].Диагональ; + + Константы.ДиагональЭкрана.Установить(Диагональ); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию(СтрШаблон( + НСтр("ru = 'Диагональ экрана определена как %1 дюймов(а)'; + |en = 'The diagonal of the screen is determined as %1 inches'"), + Формат(Диагональ, "ЧЦ=10; ЧДЦ=1"))); + + #КонецЕсли + + СистемнаяИнформация = Новый СистемнаяИнформация; + ВерсияОС = СистемнаяИнформация.ВерсияОС; + ИмяОС = "Android"; + + Если СтрНайти(НРег(ВерсияОС), "ios") > 0 Тогда + ИмяОС = "iOS"; + + ИначеЕсли СтрНайти(НРег(ВерсияОС), "android") > 0 Тогда + ИмяОС = "Android"; + + ИначеЕсли СтрНайти(НРег(ВерсияОС), "windows") > 0 Тогда + ИмяОС = "Windows"; + + КонецЕсли; + + Константы.ИмяОперационнойСистемы.Установить(ИмяОС); + Константы.ПомечатьПрочтеннымиПриОткрытии.Установить(Истина); + + Если Не ЗначениеЗаполнено(Константы.ДатаПоследнегоОбновления.Получить()) Тогда + Константы.ВключатьВложенияПриПересылке.Установить(Истина); + КонецЕсли; + + УстановитьЗначениеКонстантыПоУмолчанию("СрокУстареванияДанных", 7); + УстановитьЗначениеКонстантыПоУмолчанию("ПериодПервичнойЗагрузкиДанных", 7); + + УстановитьЗначениеКонстантыПоУмолчанию("АдресЦентральнойБазы", "https://"); + УстановитьЗначениеКонстантыПоУмолчанию("ПользовательЦентральнойБазы", ""); + УстановитьЗначениеКонстантыПоУмолчанию("ПарольПользователя", ""); + + + Константы.МаксимальныйРазмерФайла.Установить(500); // Загружаем только заголовки + Константы.ВерсияАренды.Установить(Метаданные.Версия); + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + // todo + //Константы.ПоказыватьПредпросмотрВСпискеЗадач.Установить(Истина); + //Константы.ПоказыватьПредпросмотрВСпискеПисем.Установить(Истина); + КонецЕсли; + + Константы.ИспользоватьФоновуюСинхронизацию.Установить(Истина); + Константы.ИспользоватьТолькоWiFi.Установить(Истина); + + Константы.ВыгружатьПротоколСобытийНаСервер.Установить(Истина); + Константы.ИспользоватьЛокальныеУведомления.Установить(Истина); + Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Установить(УникальныйИдентификаторПустой()); + Константы.СессияСинхронизации.Установить(0); + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Установить(0); + + Константы.ПоддерживаемыеВерсииФорматаОбмена.Установить("001"); + Константы.ИспользуемаяВерсияФорматаОбмена.Установить("001"); + + Константы.ИспользоватьПароль.Установить(Ложь); + Константы.ХешПароля.Установить(0); + + ПараметрыСеанса.ЭтоЧистаяБаза = Истина; + ВозвращаемоеЗначение.ЭтоЧистаяБаза = Истина; + + Возврат ВозвращаемоеЗначение; + +КонецФункции + +Функция ИнициированаОчисткаБазы() Экспорт + + Возврат Константы.ИнициированаОчисткаБазы.Получить(); + +КонецФункции + +// Возвращает признак того что база готова для начала работы. +// +// Возвращаемое значение: +// Булево - Признак того, что в базе нет данных. +// +Функция ЭтоЧистаяБаза() Экспорт + + Возврат ПараметрыСеанса.ЭтоЧистаяБаза; + +КонецФункции + +// Удаляет все исходящие сообщения на сервере. +// +Процедура ОчиститьОчередьСообщенийДляСервера() Экспорт + + РегистрыСведений.ОчередьСообщенийНаСервер.ОчиститьОчередьСообщенияДляСервера(); + +КонецПроцедуры + +// Очищает очередь отправленных и полученных сообщений. +// +Процедура ОчиститьОчередьСообщенияИПолученныеДанныеНаСервере() Экспорт + + РегистрыСведений.ОчередьСообщенийНаСервер.ОчиститьОчередьСообщенияДляСервера(); + РегистрыСведений.ПолученныеДанныеОбмена.ОчиститьРегистр(); + +КонецПроцедуры + + +// Устанавливает признак использования демо-режима. +// +// Параметры: +// Флаг - Булево - Значение использования демо-режима. +// +Процедура УстановитьДемоРежим(Флаг) Экспорт + + Константы.ЭтоДемоРежим.Установить(Флаг); + + ОбновитьПовторноИспользуемыеЗначения(); + +КонецПроцедуры + + +// Устанавливает указанное значение у указанной константы. +// +// Параметры: +// ИмяКонстанты - Строка - Имя константы; +// ЗначениеКонстанты - Произвольный - Устанавливаемое значение константы.. +// +Процедура УстановитьЗначениеКонстанты(ИмяКонстанты, ЗначениеКонстанты) Экспорт + + Константы[ИмяКонстанты].Установить(ЗначениеКонстанты); + +КонецПроцедуры + +// Возвращает значение указанной константы. +// +// Параметры: +// ИмяКонстанты - Строка - Имя константы. +// +// Возвращаемое значение: +// Произвольный - Значение константы. +// +Функция ПолучитьЗначениеКонстанты(ИмяКонстанты) Экспорт + + Возврат Константы[ИмяКонстанты].Получить(); + +КонецФункции + +// Получает значение реквизита у ссылки на объект. +// +// Параметры: +// Ссылка - Ссылка - Ссылка на объект; +// ИмяРеквизита - Строка - Имя получаемого реквизита. +// +// Возвращаемое значение: +// Произвольный - Значение реквизита объекта. +// +Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт + + Возврат Ссылка[ИмяРеквизита]; + +КонецФункции + +// Возвращает структуру, содержащую значения реквизитов прочитанные из информационной базы +// по ссылке на объект. +// +// Если доступа к одному из реквизитов нет, возникнет исключение прав доступа. +// Если необходимо зачитать реквизит независимо от прав текущего пользователя, +// то следует использовать предварительный переход в привилегированный режим. +// +// Функция не предназначена для получения значений реквизитов пустых ссылок. +// +// Параметры: +// Ссылка - ЛюбаяСсылка - объект, значения реквизитов которого необходимо получить. +// +// Реквизиты - Строка - имена реквизитов, перечисленные через запятую, в формате +// требований к свойствам структуры. +// Например, "Код, Наименование, Родитель". +// - Структура, ФиксированнаяСтруктура - в качестве ключа передается +// псевдоним поля для возвращаемой структуры с результатом, а в качестве +// значения (опционально) фактическое имя поля в таблице. +// Если значение не определено, то имя поля берется из ключа. +// - Массив, ФиксированныйМассив - имена реквизитов в формате требований +// к свойствам структуры. +// +// Возвращаемое значение: +// Структура - содержит имена (ключи) и значения затребованных реквизитов. +// Если строка затребованных реквизитов пуста, то возвращается пустая структура. +// Если в качестве объекта передана пустая ссылка, то все реквизиты вернутся со значением Неопределено. +// +Функция ЗначенияРеквизитовОбъекта(Ссылка, Реквизиты) Экспорт + + Если ТипЗнч(Реквизиты) = Тип("Строка") Тогда + + Если ПустаяСтрока(Реквизиты) Тогда + Возврат Новый Структура; + КонецЕсли; + + Реквизиты = СтрРазделить(Реквизиты, ","); + + КонецЕсли; + + СтруктураРеквизитов = Новый Структура; + Если ТипЗнч(Реквизиты) = Тип("Структура") + Или ТипЗнч(Реквизиты) = Тип("ФиксированнаяСтруктура") Тогда + + СтруктураРеквизитов = Реквизиты; + + ИначеЕсли ТипЗнч(Реквизиты) = Тип("Массив") + Или ТипЗнч(Реквизиты) = Тип("ФиксированныйМассив") Тогда + + Для Каждого Реквизит Из Реквизиты Цикл + СтруктураРеквизитов.Вставить(СтрЗаменить(Реквизит, ".", ""), Реквизит); + КонецЦикла; + + Иначе + ВызватьИсключение СтрШаблон( + НСтр("ru = 'Неверный тип второго параметра Реквизиты: %1'; en = 'Wrong parameter type: %1'"), + Строка(ТипЗнч(Реквизиты))); + + КонецЕсли; + + ТекстПолей = ""; + Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл + + ИмяПоля = ?(ЗначениеЗаполнено(КлючИЗначение.Значение), + СокрЛП(КлючИЗначение.Значение), СокрЛП(КлючИЗначение.Ключ)); + + Псевдоним = СокрЛП(КлючИЗначение.Ключ); + ТекстПолей = ТекстПолей + ?(ПустаяСтрока(ТекстПолей), "", ",") + " + | " + ИмяПоля + " КАК " + Псевдоним; + + КонецЦикла; + + Запрос = Новый Запрос; + Запрос.УстановитьПараметр("Ссылка", Ссылка); + Запрос.Текст = + "ВЫБРАТЬ + |" + ТекстПолей + " + |ИЗ + | " + Ссылка.Метаданные().ПолноеИмя() + " КАК ПсевдонимЗаданнойТаблицы + |ГДЕ + | ПсевдонимЗаданнойТаблицы.Ссылка = &Ссылка + |"; + + Выборка = Запрос.Выполнить().Выбрать(); + Выборка.Следующий(); + + Результат = Новый Структура; + Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл + Результат.Вставить(КлючИЗначение.Ключ); + КонецЦикла; + + ЗаполнитьЗначенияСвойств(Результат, Выборка); + + Возврат Результат; + +КонецФункции + +// Получает имя значения перечисления как объекта метаданных. +// +// Параметры: +// Значение - ЗначениеПеречисления - для которого необходимо получить имя перечисления. +// +// Возвращаемое значение: +// Строка - имя значения перечисления как объекта метаданных. +// +Функция ИмяЗначенияПеречисления(Значение) Экспорт + + ОбъектМетаданных = Значение.Метаданные(); + ИндексЗначения = Перечисления[ОбъектМетаданных.Имя].Индекс(Значение); + + Возврат ОбъектМетаданных.ЗначенияПеречисления[ИндексЗначения].Имя; + +КонецФункции + + +// Удаляет из строки символы, недопустимые к использованию в XML. +// +// Параметры: +// Текст - Строка - Анализируемый текст. +// +// Возвращаемое значение: +// Строка - Текст, из которого удалены недопустимые для XML символы. +// +Функция УдалитьНедопустимыеСимволыXML(Знач Текст) Экспорт + + #Если Не ВебКлиент Тогда + + ПозицияНачала = 1; + + Пока Истина Цикл + + Если ПозицияНачала > СтрДлина(Текст) Тогда + Прервать; + КонецЕсли; + + Позиция = НайтиНедопустимыеСимволыXML(Текст, ПозицияНачала); + + Если Позиция = 0 Тогда + Прервать; + КонецЕсли; + + // Если возвращаемая позиция, больше чем должна быть, то корректируем ее. + Если Позиция > 1 Тогда + НедопустимыйСимвол = Сред(Текст, Позиция - 1, 1); + Если НайтиНедопустимыеСимволыXML(НедопустимыйСимвол) > 0 Тогда + Текст = СтрЗаменить(Текст, НедопустимыйСимвол, ""); + КонецЕсли; + КонецЕсли; + + НедопустимыйСимвол = Сред(Текст, Позиция, 1); + Если НайтиНедопустимыеСимволыXML(НедопустимыйСимвол) > 0 Тогда + Текст = СтрЗаменить(Текст, НедопустимыйСимвол, ""); + КонецЕсли; + + ПозицияНачала = Макс(1, Позиция - 1); + + КонецЦикла; + + #КонецЕсли + + Возврат Текст; + +КонецФункции + +// Получает имя временного файла для открытия ссылки на файл. +// +// Параметры: +// Ссылка - СправочникСсылка.Файлы - Ссылка на открываемый файл. +// +// Возвращаемое значение: +// Строка - Имя временного файла. +// +Функция ПолучитьИмяВременногоФайлаДляВложения(Ссылка) Экспорт + + ИмяВременнойПапки = ПараметрыСеанса.ПутьКаталогаФайлов; + Если НайтиФайлы(ИмяВременнойПапки).Количество() = 0 Тогда + СоздатьКаталог(ИмяВременнойПапки); + КонецЕсли; + + Если ТипЗнч(Ссылка) = Тип("СправочникСсылка.Файлы") Тогда + + ДанныеФайла = Ссылка.Данные.Получить(); + + Если ДанныеФайла = Неопределено Тогда + Если ЗначениеЗаполнено(Ссылка.ФайлОснование) Тогда + Возврат ПолучитьИмяВременногоФайлаДляВложения(Ссылка.ФайлОснование); + Иначе + Возврат ""; + КонецЕсли; + КонецЕсли; + + Если ЗначениеЗаполнено(Ссылка.Тип) Тогда + ИмяФайла = ПолучитьИмяВременногоФайла(Ссылка.Тип); + Иначе + ИмяФайла = ПолучитьИмяВременногоФайла(" "); + КонецЕсли; + + ИначеЕсли ТипЗнч(Ссылка) = Тип("СправочникСсылка.ПредметыПроцессов") Тогда + + ДанныеФайла = Ссылка.Детали.Получить(); + + Если ДанныеФайла = Неопределено Тогда + Возврат ""; + КонецЕсли; + + ИмяФайла = ПолучитьИмяВременногоФайла(Ссылка.ТипФайлаСДеталями); + + Иначе + Возврат ""; + + КонецЕсли; + + МассивПодстрок = СтрРазделить(ИмяФайла, "."); + Расширение = МассивПодстрок[МассивПодстрок.Количество()-1]; + ИмяФайла = Строка(Ссылка); + + УдалитьЗапрещенныеСимволы(ИмяФайла); + НовоеИмяФайла = ИмяВременнойПапки + "/" + ИмяФайла; + НовоеИмяФайла = СтрЗаменить(НовоеИмяФайла, "." + Расширение, ""); + + Если НайтиФайлы(НовоеИмяФайла + "." + Расширение).Количество() > 0 Тогда + Счетчик = 1; + Пока НайтиФайлы(НовоеИмяФайла + " (" + Строка(Счетчик) + ")." + Расширение).Количество() > 0 Цикл + Счетчик = Счетчик + 1; + КонецЦикла; + НовоеИмяФайла = НовоеИмяФайла + " (" + Строка(Счетчик) + ")." + Расширение; + Иначе + НовоеИмяФайла = НовоеИмяФайла + "." + Расширение; + КонецЕсли; + + ДанныеФайла.Записать(НовоеИмяФайла); + + Возврат НовоеИмяФайла; + +КонецФункции + +// Получает список моментов времени ошибок, у которых установлен флаг +// "НеобходимоОтобразитьПослеСинхронизации". +// +// Параметры: +// ЕстьКритическиеОшибки - Булево - Признак наличия критических ошибок. +// +// Возвращаемое значение: +// Массив - Массив не показанных ошибок. +// +Функция ПолучитьОтметкиВремениНепоказанныеОшибок(ЕстьКритическиеОшибки) Экспорт + + МоментыВремениСобытий = Новый Массив; + СтруктураОтбора = Новый Структура; + + СтруктураОтбора.Вставить("НеобходимоОтобразитьПослеСинхронизации", Истина); + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(,,СтруктураОтбора); + Пока Выборка.Следующий() Цикл + + МоментыВремениСобытий.Добавить(Выборка.МоментВремени); + Если Выборка.ТипСобытия = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + ЕстьКритическиеОшибки = Истина; + КонецЕсли; + + КонецЦикла; + + Возврат МоментыВремениСобытий; + +КонецФункции + +// Получает признаки необходимости данных для отправки. +// +// Параметры: +// ДатаПоследнегоОбновления - Дата - Дата последнего удачного подключения к серверу; +// ЕстьДанныеДляОтправки - Булево - Признак наличия данных для отправки. +// +Процедура ПолучитьДатуПоследнегоОбновленияИНаличиеДанныхДляОтправки(ДатаПоследнегоОбновления, ЕстьДанныеДляОтправки) Экспорт + + ДатаПоследнегоОбновления = Константы.ДатаПоследнегоОбновления.Получить(); + ЕстьДанныеДляОтправки = Константы.ЕстьНеотправленныеДанные.Получить(); + +КонецПроцедуры + +// Формирует табличный документ 1С из файла на диске устройства. +// +// Параметры: +// ИмяФайла - Строка - Имя открываемого файла в формате MXL. +// +// Возвращаемое значение: +// ТабличныйДокумент - Прочитанный табличный документ. +// +Функция ПолучитьТабличныйДокументИзФайлаНаСервере(ИмяФайла) Экспорт + + ТабличныйДокумент = Новый ТабличныйДокумент(); + ТабличныйДокумент.Прочитать(ИмяФайла); + ТабличныйДокумент.ТолькоПросмотр = Истина; + ТабличныйДокумент.АвтоМасштаб = Истина; + ТабличныйДокумент.ОтображатьСетку = Ложь; + ТабличныйДокумент.ОтображатьЗаголовки = Ложь; + + Возврат ТабличныйДокумент; + +КонецФункции + + +// Получает все файлы вложения по указанному объекту. +// +// Параметры: +// Владелец - СправочникСсылка, ДокументСсылка - Объект-владелец файлов. +// +// Возвращаемое значение: +// Массив - Массив найденных вложений. +// +Функция ПолучитьВложения(Владелец) Экспорт + + Вложения = Новый Массив; + + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("ВладелецФайла", Владелец); + Запрос.Текст = + "ВЫБРАТЬ + | Файлы.Ссылка, + | Файлы.ТолькоЗаголовок, + | Файлы.Представление, + | Файлы.Размер, + | Файлы.Тип, + | Файлы.ФайлОснование + |ИЗ + | Справочник.Файлы КАК Файлы + |ГДЕ + | Файлы.ВладелецФайла = &ВладелецФайла"; + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + Вложение = Новый Структура(); + Вложение.Вставить("Ссылка",Выборка.Ссылка); + Вложение.Вставить("ТолькоЗаголовок",Выборка.ТолькоЗаголовок); + Вложение.Вставить("Представление",Выборка.Представление); + Вложение.Вставить("Размер",Выборка.Размер); + Вложение.Вставить("Тип",Выборка.Тип); + Вложение.Вставить("ФайлОснование",Выборка.ФайлОснование); + Вложение.Вставить("ИндексКартинки", + ОбщегоНазначенияКлиентСервер.ПолучитьИндексПиктограммыФайла(Выборка.Тип)); + + Вложения.Добавить(Вложение); + + КонецЦикла; + + Возврат Вложения; + +КонецФункции + +// Удаляет все файлы вложения по указанному объекту. +// +// Параметры: +// Владелец - СправочникСсылка, ДокументСсылка - Объект-владелец файлов. +// +Процедура УдалитьФайлыВложений(Владелец) Экспорт + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("ВладелецФайла", Владелец); + + ВыборкаФайлы = Справочники.Файлы.Выбрать(,, СтруктураОтбора); + Пока ВыборкаФайлы.Следующий() Цикл + + УдалениеОбъект = Новый УдалениеОбъекта(ВыборкаФайлы.Ссылка); + УдалениеОбъект.Записать(); + + // Удаляем регистрацию, т.к. в противном случае файл будет удален на сервере + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена, УдалениеОбъект); + + КонецЦикла; + +КонецПроцедуры + + +// Помечает, что настройки размеров передаваемых файлов нужно выгрузить на сервер. +// +Процедура ОтразитьФактИзмененияНастройкиМаксимальногоРазмераФайла() Экспорт + + РегистрыСведений.ИзмененныеНастройкиСинхронизации.ДобавитьЗапись( + Перечисления.ВидыНастроекОбмена.МаксимальныйРазмерФайла); + +КонецПроцедуры + +// Помечает, что настройки шаблонов нужно выгрузить на сервер. +// +Процедура ОтразитьФактИзмененияНастроекПодписи() Экспорт + + РегистрыСведений.ИзмененныеНастройкиСинхронизации.ДобавитьЗапись( + Перечисления.ВидыНастроекОбмена.ШаблоныТекстовПисем); + +КонецПроцедуры + +// Копирует полученный файл данных обмена для последующего анализа и отладки. +// +// Параметры: +// ИмяФайлаСообщенияОбмена - Строка - Имя копируемого исходного файла; +// Направление - Строка - Параметр указывающий входящий это файл, или исходящий. +// +Процедура СкопироватьФайлДанных(ИмяФайлаСообщенияОбмена, Направление) Экспорт + + #Если НЕ МобильноеПриложениеСервер Тогда + + Каталог = "C:\1C_SOURCE\" + Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd")+"\"; + + Файл = Новый Файл(Каталог); + Если Не Файл.Существует() Тогда + СоздатьКаталог(Каталог); + КонецЕсли; + + ИмяФайлаНазначения = Каталог + Формат(ТекущаяДата(), "ДФ=yyyy-MM-dd-HH-mm-ss") + + Направление +"client-"+ ТекущаяУниверсальнаяДатаВМиллисекундах()+ ".xml"; + + Попытка + КопироватьФайл(ИмяФайлаСообщенияОбмена, ИмяФайлаНазначения); + Исключение + + Инфо = ОписаниеОшибки(); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку( + СтрШаблон( + НСтр("ru = 'Не удалось скопировать файл данных (%1) + |по причине: %2'; + |en = 'Can''t copy data file (%1) + |by reason: %2'"), + ИмяФайлаСообщенияОбмена, ПодробноеПредставлениеОшибки(Инфо))); + + КонецПопытки; + + #КонецЕсли + +КонецПроцедуры + + +// Формирует список разделов в окне настроек. +// +// Параметры: +// СписокРазделов - ТаблицаЗначений - Таблица разделов в форме настроек. +// +Процедура ЗаполнитьСписокРазделовНастроек(СписокРазделов) Экспорт + + СписокРазделов.Очистить(); + + СтрокаРаздел = СписокРазделов.Добавить(); + СтрокаРаздел.Раздел = "Подключение"; + СтрокаРаздел.Описание = НСтр("ru = 'Подключение'; en = 'Connection'"); + + СтрокаРаздел = СписокРазделов.Добавить(); + СтрокаРаздел.Раздел = "Сервис"; + СтрокаРаздел.Описание = НСтр("ru = 'Сервис'; en = 'Service'"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Устанавливает указанное значение если текущее значение константы пустое или не заполненное. +// +// Параметры: +// ИмяКонстанты - Строка - Имя устанавливаемой константы; +// ЗначениеПоУмолчанию - Произвольный - Устанавливаемое значение. +// +Процедура УстановитьЗначениеКонстантыПоУмолчанию(ИмяКонстанты, ЗначениеПоУмолчанию) + + ТекущееЗначение = Константы[ИмяКонстанты].Получить(); + + Если Не ЗначениеЗаполнено(ТекущееЗначение) Тогда + Константы[ИмяКонстанты].Установить(ЗначениеПоУмолчанию); + КонецЕсли; + +КонецПроцедуры + +// Устанавливает уникальный код устройства для однозначной идентификации устройства в центральной базе. +// +Процедура УстановитьКодУстройства() + + Код = Константы.КодУстройства.Получить(); + + Если Код = Неопределено Или ПустаяСтрока(Код) Тогда + + Код = Строка(Новый УникальныйИдентификатор()); + + Константы.КодУстройства.Установить(Код); + + КонецЕсли; + +КонецПроцедуры + +// Удаляет из указанного имени файла запрещенные символы. +// +// Параметры: +// ИмяФайла - Строка - Имя файла проверяемое на наличие запрещенных символов. +// +Процедура УдалитьЗапрещенныеСимволы(ИмяФайла) + + ИмяФайла = СтрЗаменить(ИмяФайла, """", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "/", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "\", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "[", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "]", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, ":", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, ";", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "=", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "?", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "*", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, "<", "_"); + ИмяФайла = СтрЗаменить(ИмяФайла, ">", "_"); + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..2ebbfdb --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОбщегоНазначенияГлобальныйВызовСервера + + + ru + Общего назначения глобальный вызов сервера + + + + true + true + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..64809f0 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,26 @@ + +#Область ПрограммныйИнтерфейс + +// Возвращает пустой уникальный идентификатор. +// +// Возвращаемое значение: +// Строка - Пустой уникальный идентификатор. +// +Функция УникальныйИдентификаторПустой() Экспорт + + Возврат Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"); + +КонецФункции + +// Возвращает признак большой диагонали экрана у устройства. +// +// Возвращаемое значение: +// Истина - Если экран устройства имеет диагональ больше 7 дюймов. +// +Функция ЭтоУстройствоСБольшимЭкраном() Экспорт + + Возврат ЭкранКлиентСервер.УстройствоИмеетЭкранБольшеСемиДюймов(); + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..a603fb9 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОбщегоНазначенияКлиент + + + ru + Общего назначения клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..b319571 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,186 @@ + +#Область ПрограммныйИнтерфейс + +// Выполняет первоначальную настройку окружения системы. +// +// Параметры: +// ЭтоЧистаяБаза - Булево - Признак того, что база пуста. +// ТекущийРаздел - Строка - Текущий активный раздел. +// +Процедура ВыполнитьДействияПриЗапускеСистемы(ЭтоЧистаяБаза, ТекущийРаздел) Экспорт + + Если ЭтоЧистаяБаза + Или ОбновлениеИнформационнойБазыВызовСервера.НеобходимоВыполнитьОбновление() Тогда + + Если ЭтоЧистаяБаза Тогда + СборСтатистикиВызовСервера.УдалитьВсеСобранныеПоказатели(); + КонецЕсли; + + СтраницыЧтоНового = Новый Массив(); + ЕстьОшибкиПриОбновлении = Ложь; + + ОбновлениеИнформационнойБазыКлиент.ВыполнитьОбновлениеИнформационнойБазы( + СтраницыЧтоНового, ЕстьОшибкиПриОбновлении); + + ОбновитьИнтерфейс(); + + Если ЕстьОшибкиПриОбновлении Тогда + + // Наличие ошибок означает, что обновление не выполнено. + // Будет открыта форма, на которой будет написано, что обновление данных + // не выполнено из-за ошибки. + МоментыВремениОшибок = + ОбщегоНазначенияВызовСервера.ПолучитьОтметкиВремениНепоказанныеОшибок(Ложь); + + ПараметрыФормы = Новый Структура(); + ПараметрыФормы.Вставить("МоментыВремениСобытий", МоментыВремениОшибок); + ПараметрыФормы.Вставить("КнопкаПовторить", Ложь); + ПараметрыФормы.Вставить("Заголовок", + НСтр("ru = 'Ошибки обновления'; en = 'Update error'")); + + ОткрытьФорму("РегистрСведений.ПротоколСобытий.Форма.ФормаСпискаСобытий", + ПараметрыФормы,,,,,, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + ИначеЕсли Не СтраницыЧтоНового.Количество() = 0 Тогда + + ОбработчикЗавершения = + Новый ОписаниеОповещения("ОбработатьПоказФормыЧтоНового", + ОбновлениеИнформационнойБазыКлиент, ОбновлениеИнформационнойБазыКлиент); + + Параметры = Новый Структура(); + Параметры.Вставить("Страницы", СтраницыЧтоНового); + + ОткрытьФорму("ОбщаяФорма.ЧтоНового", Параметры,,,,, ОбработчикЗавершения, + РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + КонецЕсли; + + Иначе + + Если ЗначениеЗаполнено(ТекущийРаздел) Тогда + + Попытка + ПерейтиПоНавигационнойСсылке(ТекущийРаздел); + Исключение + // Очистим текущий раздел, т.к. он все равно ошибочный + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты("ТекущийРаздел", ""); + КонецПопытки; + + КонецЕсли; + + КонецЕсли; + + ЛокальныеУведомленияКлиент.ПодключитьОбработкуДоставляемыхУведомлений(); + Оповестить("ВыполненЗапускСистемы"); + +КонецПроцедуры + +// Обрабатывает результат ввода PIN-кода если он установлен +// +// Параметры: +// Результат - Булево - Признак успешного ввода PIN-кода. +// ДопПараметры - Структура, Неопределено - Доп. параметры передаваемые в процедуру. +// +Процедура ОбработчикЗакрытияФормыВводаPINКода(Результат, ДопПараметры) Экспорт + + Если Результат = Истина Тогда + ВыполнитьДействияПриЗапускеСистемы(ДопПараметры.ЭтоЧистаяБаза, ДопПараметры.ТекущийРаздел); + Иначе + ЗавершитьРаботуСистемы(Ложь, Истина); + КонецЕсли; + +КонецПроцедуры + +#Область ГлобальныеКоманды + +// Выполняет открытие раздела "Списание денежных средств" +// +// Параметры: +// ПараметрыВыполненияКоманды - ПараметрыВыполненияКоманды - Структура параметров общей команды. +// +Процедура ОткрытьРазделСписанияДенежныхСредств(ПараметрыВыполненияКоманды) Экспорт + + ИмяФормы = "Документ.СписаниеДенежныхСредств.Форма.ФормаСпискаТелефон"; + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ИмяФормы = "Документ.СписаниеДенежныхСредств.Форма.ФормаСпискаПланшет"; + Иначе + ИмяФормы = "Документ.СписаниеДенежныхСредств.Форма.ФормаСпискаТелефон"; + КонецЕсли; + + ОбщегоНазначенияВызовСервера.УстановитьЗначениеКонстанты( + "ТекущийРаздел", ПараметрыВыполненияКоманды.НавигационнаяСсылка); + + ОткрытьФорму(ИмяФормы,, + ПараметрыВыполненияКоманды.Источник, + ПараметрыВыполненияКоманды.Уникальность, + ПараметрыВыполненияКоманды.Окно, + ПараметрыВыполненияКоманды.НавигационнаяСсылка); + +КонецПроцедуры + +#КонецОбласти + +// Настраивает список выбора возможного срока окончания задачи или контроля. +// +// Параметры: +// СписокВыбора - СписокЗначений - Настраиваемый список выбора. +// ЗначениеЗаполнено - Булево - Признак, что значение в поле заполнено. +// +Процедура НастроитьСписокВыбораВариантовСрока(СписокВыбора, ЗначениеЗаполнено = Ложь) Экспорт + + ДатаСегодня = Формат(ТекущаяДата() , "ДФ='dd MMM'"); + ДатаЗавтра = Формат(ТекущаяДата() + 24*60*60 , "ДФ='dd MMM'"); + ДатаПослезавтра = Формат(ТекущаяДата() + 2*24*60*60, "ДФ='dd MMM'"); + ДатаЧерез2дня = Формат(ТекущаяДата() + 3*24*60*60, "ДФ='dd MMM'"); + ДатаДоКонцаНедели = Формат(КонецНедели(ТекущаяДата()), "ДФ='dd MMM'"); + + СписокВыбора.Очистить(); + + СписокВыбора.Добавить("Сегодня" , + СтрШаблон( + НСтр("ru = 'До конца дня, %1'; en = 'Until the end of day, %1'"), ДатаСегодня)); + + СписокВыбора.Добавить("Завтра", + СтрШаблон( + НСтр("ru = 'Завтра, %1'; en = 'Tomorrow, %1'"), ДатаЗавтра)); + + СписокВыбора.Добавить("Послезавтра", + СтрШаблон( + НСтр("ru = 'Послезавтра, %1'; en = 'The day after tomorrow, %1'"), ДатаПослезавтра)); + + СписокВыбора.Добавить("Через3дня", + СтрШаблон( + НСтр("ru = 'Через 3 дня, %1'; en = 'In 3 days, %1'"), ДатаЧерез2дня)); + + СписокВыбора.Добавить("ДоКонцаНедели", + СтрШаблон( + НСтр("ru = 'До конца недели, %1'; en = 'Before the end of week, %1'"), ДатаДоКонцаНедели)); + +КонецПроцедуры + +// Открывает переопределенную формы выбора даты. +// +// Параметры: +// ФормаВладелец - Форма - Форма вызвавшая процедуру; +// ИмяЭлемента - Строка - Имя элемента поля формы, из которого произошел вызов; +// СтандартнаяОбработка - Булево - Флаг стандартной обработки; +// Дата - Дата - Начальное значение даты передаваемое в форму; +// СписокСобытий - Булево - Признак показа дополнительного списка событий в форме. +// +Процедура ОткрытьФормыВыбораДаты( + ФормаВладелец, ИмяЭлемента, СтандартнаяОбработка, Дата, СписокСобытий = Ложь) Экспорт + + СтандартнаяОбработка = Ложь; + + ПараметрыОткрытия = Новый Структура(); + ПараметрыОткрытия.Вставить("ТекущаяДата", Дата); + ПараметрыОткрытия.Вставить("Элемент", ИмяЭлемента); + ПараметрыОткрытия.Вставить("СписокСобытий", СписокСобытий); + + ОткрытьФорму("ОбщаяФорма.ВыборДаты", ПараметрыОткрытия, ФормаВладелец,,,,, + РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..7d77796 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + ОбщегоНазначенияКлиентСервер + + + ru + Общего назначения клиент сервер + + + + false + true + true + true + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..c89c679 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,321 @@ + +#Область ПрограммныйИнтерфейс + +// Добавление элемента компоновки в контейнер элементов компоновки. +// +// Параметры: +// ОбластьДобавления - Отбор - например Список.Отбор или группа в отборе; +// ИмяПоля - Строка - Имя для поля компоновки данных; +// ВидСравнения - ВидСравненияКомпоновкиДанных - Вид сравнения; +// ПравоеЗначение - Произвольный - Значение сравнения для элемента; +// Представление - Строка - Представление элемента компоновки данных; +// Использование - Булево - Использование элемента. +// +// Возвращаемое значение: +// Элемент - Созданный и настроенный элемент компоновки данных. +// +Функция ДобавитьЭлементКомпоновки(ОбластьДобавления, + знач ИмяПоля, + знач ВидСравнения, + знач ПравоеЗначение = Неопределено, + знач Представление = Неопределено, + знач Использование = Неопределено) Экспорт + + Элемент = ОбластьДобавления.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); + Элемент.ВидСравнения = ВидСравнения; + + Если ПравоеЗначение <> Неопределено Тогда + Элемент.ПравоеЗначение = ПравоеЗначение; + КонецЕсли; + + Если Представление <> Неопределено Тогда + Элемент.Представление = Представление; + КонецЕсли; + + Если Использование <> Неопределено Тогда + Элемент.Использование = Использование; + КонецЕсли; + + Возврат Элемент; + +КонецФункции + +// Формирует и выводит сообщение, которое может быть связано с элементом +// управления формы. +// +// Параметры +// ТекстСообщенияПользователю - Строка - текст сообщения. +// КлючДанных - Любая ссылка на объект информационной базы. +// Ссылка на объект информационной базы, к которому это сообщение относится, +// или ключ записи. +// Поле - Строка - наименование реквизита формы +// ПутьКДанным - Строка - путь к данным (путь к реквизиту формы) +// Отказ - Булево - Выходной параметр +// Всегда устанавливается в значение Истина. +// +// Примеры использования: +// +// 1. Для вывода сообщения у поля управляемой формы, связанного с реквизитом объекта: +// ОбщегоНазначенияКлиентСервер.СообщитьПользователю( +// НСтр("ru = 'Сообщение об ошибке.'"), , +// "ПолеВРеквизитеФормыОбъект", +// "Объект"); +// +// Альтернативный вариант использования в форме объекта: +// ОбщегоНазначенияКлиентСервер.СообщитьПользователю( +// НСтр("ru = 'Сообщение об ошибке.'"), , +// "Объект.ПолеВРеквизитеФормыОбъект"); +// +// 2. Для вывода сообщения рядом с полем управляемой формы, связанным с реквизитом формы: +// ОбщегоНазначенияКлиентСервер.СообщитьПользователю( +// НСтр("ru = 'Сообщение об ошибке.'"), , +// "ИмяРеквизитаФормы"); +// +// 3. Для вывода сообщения связанного с объектом информационной базы +// ОбщегоНазначенияКлиентСервер.СообщитьПользователю( +// НСтр("ru = 'Сообщение об ошибке.'"), ОбъектИнформационнойБазы, "Ответственный",,Отказ); +// +// 4. Для вывода сообщения по ссылке на объект информационной базы +// ОбщегоНазначенияКлиентСервер.СообщитьПользователю( +// НСтр("ru = 'Сообщение об ошибке.'"), Ссылка, , , Отказ); +// +// Случаи некорректного использования: +// 1. Передача одновременно параметров КлючДанных и ПутьКДанным +// 2. Передача в параметре КлючДанных значения типа отличного от допустимых +// 3. Установка ссылки без установки поля (и/или пути к данным). +// +Процедура СообщитьПользователю( + Знач ТекстСообщенияПользователю, + Знач КлючДанных = Неопределено, + Знач Поле = "", + Знач ПутьКДанным = "", + Отказ = Ложь) Экспорт + + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = ТекстСообщенияПользователю; + Сообщение.Поле = Поле; + + ЭтоОбъект = Ложь; + + #Если Не (ТонкийКлиент Или ВебКлиент) Тогда + + Если КлючДанных <> Неопределено + И XMLТипЗнч(КлючДанных) <> Неопределено Тогда + + ТипЗначенияСтрокой = XMLТипЗнч(КлючДанных).ИмяТипа; + ЭтоОбъект = СтрНайти(ТипЗначенияСтрокой, "Object.") > 0; + + КонецЕсли; + + #КонецЕсли + + Если ЭтоОбъект Тогда + Сообщение.УстановитьДанные(КлючДанных); + Иначе + Сообщение.КлючДанных = КлючДанных; + КонецЕсли; + + Если Не ПустаяСтрока(ПутьКДанным) Тогда + Сообщение.ПутьКДанным = ПутьКДанным; + КонецЕсли; + + Сообщение.Сообщить(); + + Отказ = Истина; + +КонецПроцедуры + +// Получается индекс пиктограммы файла - индекс в картинке КоллекцияПиктограммФайлов. +// +// Параметры: +// РасширениеФайла - Строка - расширение файла строкой. +// +// Возвращаемое значение: +// Число - Индекс картинки в общей картинке КоллекцияСтрокПиктограммФайлов. +// +Функция ПолучитьИндексПиктограммыФайла(Знач РасширениеФайла) Экспорт + + Если ТипЗнч(РасширениеФайла) <> Тип("Строка") + Или ПустаяСтрока(РасширениеФайла) Тогда + Возврат 10; + КонецЕсли; + + РасширениеФайла = РасширениеБезТочки(РасширениеФайла); + + Расширение = "." + НРег(РасширениеФайла) + ";"; + + Если СтрНайти(".mxl;",Расширение) <> 0 Тогда + Возврат 6; // Текстовый Файл. + + ИначеЕсли СтрНайти(".txt;.log;.ini;", Расширение) <> 0 Тогда + Возврат 10; // Текстовый Файл. + + ИначеЕсли СтрНайти(".ico;.wmf;.emf;",Расширение) <> 0 Тогда + Возврат 14; // Картинки. + + ИначеЕсли СтрНайти(".htm;.html;.url;.mht;.mhtml;",Расширение) <> 0 Тогда + Возврат 17; // HTML. + + ИначеЕсли СтрНайти(".doc;.dot;.rtf;",Расширение) <> 0 Тогда + Возврат 18; // Файл Microsoft Word. + + ИначеЕсли СтрНайти(".xls;",Расширение) <> 0 Тогда + Возврат 20; // Файл Microsoft Excel. + + ИначеЕсли СтрНайти(".ppt;.pptx;",Расширение) <> 0 Тогда + Возврат 22; // Файл Microsoft PowerPoint + + ИначеЕсли СтрНайти(".jpg;.jpeg;.jp2;.jpe;",Расширение) <> 0 Тогда + Возврат 42; // jpg. + + ИначеЕсли СтрНайти(".bmp;.dib;",Расширение) <> 0 Тогда + Возврат 44; // bmp. + + ИначеЕсли СтрНайти(".tif;.tiff;",Расширение) <> 0 Тогда + Возврат 46; // tif. + + ИначеЕсли СтрНайти(".gif;",Расширение) <> 0 Тогда + Возврат 48; // gif. + + ИначеЕсли СтрНайти(".png;",Расширение) <> 0 Тогда + Возврат 50; // png. + + ИначеЕсли СтрНайти(".pdf;",Расширение) <> 0 Тогда + Возврат 52; // pdf. + + ИначеЕсли СтрНайти(".odt;",Расширение) <> 0 Тогда + Возврат 54; // Open Office writer + + ИначеЕсли СтрНайти(".odf;",Расширение) <> 0 Тогда + Возврат 56; // Open Office math + + ИначеЕсли СтрНайти(".odp;",Расширение) <> 0 Тогда + Возврат 58; // Open Office Impress + + ИначеЕсли СтрНайти(".odg;",Расширение) <> 0 Тогда + Возврат 60; // Open Office draw + + ИначеЕсли СтрНайти(".ods;",Расширение) <> 0 Тогда + Возврат 62; // Open Office calc + + ИначеЕсли СтрНайти(".docx;",Расширение) <> 0 Тогда + Возврат 68; // Файл Microsoft Word docx. + + ИначеЕсли СтрНайти(".xlsx;",Расширение) <> 0 Тогда + Возврат 70; // Файл Microsoft Excel xlsx. + + Иначе + Возврат 76; + КонецЕсли; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Преобразует расширение файла в нижний регистр без точки. +// +// Параметры: +// Расширение - Строка. Расширение для преобразования. +// +// Возвращаемое значение: +// Строка. +// +Функция РасширениеБезТочки(Знач Расширение) + + Расширение = НРег(СокрЛП(Расширение)); + + Если Сред(Расширение, 1, 1) = "." Тогда + Расширение = Сред(Расширение, 2); + КонецЕсли; + + Возврат Расширение; + +КонецФункции + +// Разбирает строку URI на составные части и возвращает в виде структуры. +// На основе RFC 3986. +// +// Параметры: +// СтрокаURI - Строка - ссылка на ресурс в формате: +// <схема>://<логин>:<пароль>@<хост>:<порт>/<путь>?<параметры>#<якорь>. +// +// Возвращаемое значение: +// Структура - составные части URI согласно формату: +// * Схема - Строка. +// * Логин - Строка. +// * Пароль - Строка. +// * ИмяСервера - Строка - часть <хост>:<порт> входного параметра. +// * Хост - Строка. +// * Порт - Строка. +// * ПутьНаСервере - Строка - часть <путь>?<параметры>#<якорь> входного параметра. +// +Функция СтруктураURI(Знач СтрокаURI) Экспорт + + СтрокаURI = СокрЛП(СтрокаURI); + + // схема + Схема = ""; + Позиция = СтрНайти(СтрокаURI, "://"); + Если Позиция > 0 Тогда + Схема = НРег(Лев(СтрокаURI, Позиция - 1)); + СтрокаURI = Сред(СтрокаURI, Позиция + 3); + КонецЕсли; + + // Строка соединения и путь на сервере. + СтрокаСоединения = СтрокаURI; + ПутьНаСервере = ""; + Позиция = СтрНайти(СтрокаСоединения, "/"); + Если Позиция > 0 Тогда + ПутьНаСервере = Сред(СтрокаСоединения, Позиция + 1); + СтрокаСоединения = Лев(СтрокаСоединения, Позиция - 1); + КонецЕсли; + + // Информация пользователя и имя сервера. + СтрокаАвторизации = ""; + ИмяСервера = СтрокаСоединения; + Позиция = СтрНайти(СтрокаСоединения, "@"); + Если Позиция > 0 Тогда + СтрокаАвторизации = Лев(СтрокаСоединения, Позиция - 1); + ИмяСервера = Сред(СтрокаСоединения, Позиция + 1); + КонецЕсли; + + // логин и пароль + Логин = СтрокаАвторизации; + Пароль = ""; + Позиция = СтрНайти(СтрокаАвторизации, ":"); + Если Позиция > 0 Тогда + Логин = Лев(СтрокаАвторизации, Позиция - 1); + Пароль = Сред(СтрокаАвторизации, Позиция + 1); + КонецЕсли; + + // хост и порт + Хост = ИмяСервера; + Порт = ""; + Позиция = СтрНайти(ИмяСервера, ":"); + Если Позиция > 0 Тогда + Хост = Лев(ИмяСервера, Позиция - 1); + Порт = Сред(ИмяСервера, Позиция + 1); + Если Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Порт) Тогда + Порт = ""; + КонецЕсли; + КонецЕсли; + + Результат = Новый Структура; + Результат.Вставить("Схема", Схема); + Результат.Вставить("Логин", Логин); + Результат.Вставить("Пароль", Пароль); + Результат.Вставить("ИмяСервера", ИмяСервера); + Результат.Вставить("Хост", Хост); + Результат.Вставить("Порт", ?(ПустаяСтрока(Порт), Неопределено, Число(Порт))); + Результат.Вставить("ПутьНаСервере", ПутьНаСервере); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + + diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..0042db6 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + ОбщегоНазначенияСервер + + + ru + Общего назначения сервер + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..1e2c0f6 --- /dev/null +++ "b/CommonModules/\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,107 @@ + +#Область ПрограммныйИнтерфейс + +// Формирует список команд раздела Сервис в окне настроек +// +// Параметры: +// ТаблицаКоманд - ТаблицаЗначений - Таблица команд в форме. +// * Команда - Строка - Идентификатор команды; +// * Представление - Строка - Представление команды; +// * Пояснение - Строка - Краткая подсказка-пояснение для пользователя. +// +Процедура ЗаполнитьСписокКомандВРазделеСервис(ТаблицаКоманд) Экспорт + + ТаблицаКоманд.Очистить(); + + // todo + //Если Константы.ХранитьПисьмаВТечениеПериода.Получить() > 0 + // Или Константы.ХранитьЗаписиКалендаряВТечениеПериода.Получить() > 0 Тогда + + // Стр = ТаблицаКоманд.Добавить(); + // Стр.Команда = "ОчиститьСтарые"; + // Стр.Представление = НСтр("ru = 'Очистить от старых данных'; en = 'Clear old data'"); + // Стр.Пояснение = НСтр("ru = 'Старые данные будут удалены в соответствии с настройками времени хранения данных на данном устройстве.'; + // |en = 'Old data will be removed according to settings of a storage time of data on this device.'"); + + //КонецЕсли; + + Стр = ТаблицаКоманд.Добавить(); + Стр.Команда = "УдалитьВсе"; + Стр.Представление = НСтр("ru = 'Удалить все данные'; en = 'Remove all data'"); + Стр.Пояснение = НСтр("ru = 'Будет выполнено удаление всех загруженных данных. Клиент будет отключен от сервера. '; + |en = 'All data will be removed. The client will be disconnected from the server.'"); + + Стр = ТаблицаКоманд.Добавить(); + Стр.Команда = "ОткрытьПротокол"; + Стр.Представление = НСтр("ru = 'Открыть протокол'; en = 'Open the event log'"); + Стр.Пояснение = НСтр("ru = 'Будет открыт протокол событий работы мобильного клиента.'; + |en = 'Events protocol of the mobile client will be open.'"); + +КонецПроцедуры + +// Формирует список команд о синхронизации в разделе почта +// +// Параметры: +// ТаблицаКоманд - ТаблицаЗначений - Таблица команд в форме. +// * Команда - Строка - Идентификатор команды; +// * Представление - Строка - Представление команды; +// * Пояснение - Строка - Краткая подсказка-пояснение для пользователя. +// +Процедура ЗаполнитьСписокКомандВРазделеПочта(ТаблицаКоманд) Экспорт + + ТаблицаКоманд.Очистить(); + + Стр = ТаблицаКоманд.Добавить(); + Стр.Команда = "СинхронизацияПапок"; + Стр.Представление = НСтр("ru = 'Синхронизация папок писем...'; en = 'Setting up folders'"); + Стр.Пояснение = НСтр("ru = 'Настройка состава синхронизируемых папок писем.'; + |en = 'Control of structure of synchronizable folders.'"); + +КонецПроцедуры + +#КонецОбласти + + +/////////////////////////////////////////////////////////////////////////////// +// JSON <> Объект + +Функция ОбъектИзJSON(СтрокаJSON, ИменаСвойствСоЗначениемДата = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(СтрокаJSON) Тогда + Возврат Неопределено; + КонецЕсли; + + Если ИменаСвойствСоЗначениемДата = Неопределено Тогда + ИменаСвойствСоЗначениемДата = Новый Массив(); + КонецЕсли; + + ЧтениеJSON = Новый ЧтениеJSON(); + ЧтениеJSON.УстановитьСтроку(СтрокаJSON); + + Результат = ПрочитатьJSON( + ЧтениеJSON, + , + ИменаСвойствСоЗначениемДата + ); + + ЧтениеJSON.Закрыть(); + + Возврат Результат; + +КонецФункции + +Функция ОбъектВJSON(Объект, ПереносСтрок = Истина) Экспорт + + ЗаписьJSON = Новый ЗаписьJSON(); + ЗаписьJSON.ПроверятьСтруктуру = Ложь; + ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( + ?(ПереносСтрок, ПереносСтрокJSON.Авто, ПереносСтрокJSON.Нет), + " "); + + ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); + ЗаписатьJSON(ЗаписьJSON, Объект); + РезультатJSON = ЗаписьJSON.Закрыть(); + + Возврат РезультатJSON; + +КонецФункции diff --git "a/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..c726b6e --- /dev/null +++ "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ОчисткаБазыДанныхВызовСервера + + + ru + Очистка базы данных вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..3306cb0 --- /dev/null +++ "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,357 @@ + +#Область ПрограммныйИнтерфейс + +// Удаляет все данные на устройстве, приводя базу в исходное состояние. +// +Процедура УдалитьВсеДанные() Экспорт + + //Перед запуском удаления всех данных необходимо отменить + //задание очистки от устаревших данных, если оно активно + ОчисткаБазыДанныхВызовСервера.ПрерватьОчисткуОтСтарыхДанныхВФоне(); + + Константы.ИнициированаОчисткаБазы.Установить(Истина); + + Для Каждого Эл Из Метаданные.Справочники Цикл + + Выборка = Справочники[Эл.Имя].Выбрать(); + Пока Выборка.Следующий() Цикл + + Если Выборка.Предопределенный Тогда + Продолжить; + КонецЕсли; + + УдалитьОбъект(Выборка.ПолучитьОбъект()); + + КонецЦикла; + + КонецЦикла; + + Для Каждого Эл Из Метаданные.Документы Цикл + + Выборка = Документы[Эл.Имя].Выбрать(); + Пока Выборка.Следующий() Цикл + УдалитьОбъект(Выборка.ПолучитьОбъект()); + КонецЦикла; + + КонецЦикла; + + Для Каждого Эл Из Метаданные.РегистрыСведений Цикл + НаборЗаписей = РегистрыСведений[Эл.Имя].СоздатьНаборЗаписей(); + НаборЗаписей.Записать(); + КонецЦикла; + + // todo: delete + //ПапкаОбъект = Справочники.ПапкиПисем.ВсеВходящие.ПолучитьОбъект(); + //ПапкаОбъект.Наименование = НСтр("ru = 'Все входящие'; en = 'All incoming'"); + //ПапкаОбъект.КоличествоПисем = 0; + //ПапкаОбъект.КоличествоНепрочитанныхПисем = 0; + //ПапкаОбъект.Записать(); + + //ПапкаОбъект = Справочники.ПапкиПисем.ВсеНепрочитанные.ПолучитьОбъект(); + //ПапкаОбъект.Наименование = НСтр("ru = 'Все непрочитанные'; en = 'All unread'"); + //ПапкаОбъект.КоличествоПисем = 0; + //ПапкаОбъект.КоличествоНепрочитанныхПисем = 0; + //ПапкаОбъект.Записать(); + + //ВыборкаГруппыЗадач = Справочники.ГруппыЗадач.Выбрать(); + //Пока ВыборкаГруппыЗадач.Следующий() Цикл + + // Если ВыборкаГруппыЗадач.ПометкаУдаления Тогда + // Продолжить; + // КонецЕсли; + + // ГруппаЗадачОбъект = ВыборкаГруппыЗадач.ПолучитьОбъект(); + // ГруппаЗадачОбъект.КоличествоВсего = 0; + // ГруппаЗадачОбъект.Записать(); + + //КонецЦикла; + + //ВыборкаГруппыИсполнений = Справочники.ГруппыИсполнений.Выбрать(); + //Пока ВыборкаГруппыИсполнений.Следующий() Цикл + + // Если ВыборкаГруппыИсполнений.ПометкаУдаления Тогда + // Продолжить; + // КонецЕсли; + + // ГруппаИсполненийОбъект = ВыборкаГруппыИсполнений.ПолучитьОбъект(); + // ГруппаИсполненийОбъект.КоличествоВсего = 0; + // ГруппаИсполненийОбъект.Записать(); + + //КонецЦикла; + + Для Каждого Эл Из Метаданные.ПланыОбмена Цикл + + ЭтотУзел = ПланыОбмена[Эл.Имя].ЭтотУзел(); + + Выборка = ПланыОбмена[Эл.Имя].Выбрать(); + Пока Выборка.Следующий() Цикл + + Если Выборка.Ссылка = ЭтотУзел Тогда + Продолжить; + КонецЕсли; + + УдалитьОбъект(Выборка.ПолучитьОбъект()); + + КонецЦикла; + + КонецЦикла; + + Если Константы.ЭтоДемоРежим.Получить() Тогда + + Константы.АдресЦентральнойБазы.Установить("https://"); + Константы.ПользовательЦентральнойБазы.Установить(""); + Константы.ПарольПользователя.Установить(""); + Константы.СрокУстареванияДанных.Установить(7); + Константы.ПериодПервичнойЗагрузкиДанных.Установить(7); + Константы.МаксимальныйРазмерФайла.Установить(500); + Константы.ЭтоДемоРежим.Установить(Ложь); + + КонецЕсли; + + Константы.ДатаПоследнегоОбновления.Установить(Дата(1, 1, 1)); + Константы.ЕстьНеотправленныеДанные.Установить(Ложь); + Константы.КодУстройства.Установить(Строка(Новый УникальныйИдентификатор())); + Константы.СессияСинхронизации.Установить(0); + Константы.ПоследняяОтправленнаяНаСерверЗаписьПротокола.Установить(0); + + Константы.ТекущийРаздел.Установить(""); + // Константы.ОсновнаяУчетнаяЗапись.Установить(Справочники.УчетныеЗаписи.ПустаяСсылка()); + //Константы.ТекущаяПапкаПисем.Установить(Справочники.ПапкиПисем.ВсеВходящие); + + // Константы.ПодписьДляНовыхПисем.Установить(Справочники.ШаблоныТекстовПисем.ПустаяСсылка()); + // Константы.ПодписьПриОтветеИПересылке.Установить(Справочники.ШаблоныТекстовПисем.ПустаяСсылка()); + Константы.ИспользоватьЛокальныеУведомления.Установить(Истина); + Константы.ИспользуемаяВерсияФорматаОбмена.Установить(""); + + ОбменВызовСервера.СброситьСостояниеЗагрузкиЧастейСообщений(); + ОбновитьПовторноИспользуемыеЗначения(); + + Константы.ИнициированаОчисткаБазы.Установить(Ложь); + +КонецПроцедуры + +// Выполняет очистку базы от данных находящихся за границами устаревания. +// +Процедура ВыполнитьОчисткуОтСтарыхДанных() Экспорт + + // todo + Возврат; + + Попытка + УдалитьФайлы(ПараметрыСеанса.ПутьКаталогаФайлов); + Исключение + + Инфо = ИнформацияОбОшибке(); + + ТекстПредупреждения = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + НСтр("ru = 'При удалении временных файлов произошла ошибка.' + |; en = 'Cannot delete temporary files.'"), + ПодробноеПредставлениеОшибки(Инфо)); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьПредупреждение(ТекстПредупреждения); + + КонецПопытки; + + Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Установить(УникальныйИдентификаторПустой()); + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Установить(0); + + ЦентральныйУзелОбмена = ОбменВызовСервераПовтИсп.ПолучитьЦентральныйУзелОбмена(); + + Если Константы.ХранитьПисьмаВТечениеПериода.Получить() > 0 Тогда + + ДатаОкончанияХранения = ТекущаяДата() - Константы.ХранитьПисьмаВТечениеПериода.Получить(); + + Выборка = РегистрыСведений.ДатыЗагрузкиОбъектов.Выбрать(, ДатаОкончанияХранения); + Пока Выборка.Следующий() Цикл + + Если ТипЗнч(Выборка.Объект) = Тип("ДокументСсылка.ВходящееПисьмо") + Или ТипЗнч(Выборка.Объект) = Тип("ДокументСсылка.ИсходящееПисьмо") Тогда + + // Выполним проверку - не является ли письмо предметом задачи. + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("Предмет", Выборка.Объект); + Запрос.Текст = + "ВЫБРАТЬ + | ЗадачиПредметы.Ссылка + |ИЗ + | Справочник.Задачи.Предметы КАК ЗадачиПредметы + |ГДЕ + | ЗадачиПредметы.Предмет = &Предмет"; + + Если Запрос.Выполнить().Пустой() Тогда + + // Письмо не является предметом - удаляем с устройства. + УдалитьОбъектПоИстечениюСрокаХранения(ЦентральныйУзелОбмена, Выборка.Объект); + + Иначе + + // Письмо является предметом - удалить нельзя, т.к. если задача активна, то + // у пользователя будет битая ссылка в представлении задачи. + + // Очищаем папку письма - оно пропадет в списке, но будет видно в задаче. + ПисьмоОбъект = Выборка.Объект.ПолучитьОбъект(); + ПисьмоОбъект.Папка = Неопределено; + ПисьмоОбъект.Записать(); + + // Изменения на сервер передавать не нужно. + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена, Выборка.Объект); + + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + Если Константы.ХранитьЗаписиКалендаряВТечениеПериода.Получить() > 0 Тогда + + ДатаОкончанияХранения = ТекущаяДата() - Константы.ХранитьЗаписиКалендаряВТечениеПериода.Получить(); + + Выборка = РегистрыСведений.ДатыЗагрузкиОбъектов.Выбрать(, ДатаОкончанияХранения); + + Пока Выборка.Следующий() Цикл + + Если ТипЗнч(Выборка.Объект) = Тип("СправочникСсылка.ЗаписиРабочегоКалендаря") Тогда + + УдалитьОбъектПоИстечениюСрокаХранения(ЦентральныйУзелОбмена, Выборка.Объект); + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + +КонецПроцедуры + +// Запускает очистку базы от устаревших данных в фоновом режиме +// +Функция ЗапуститьОчисткуОтСтарыхДанныхВФоне() Экспорт + + ИмяФоновогоЗадания = "ВыполнитьОчисткуОтСтарыхДанных"; + + // Проверим наличие активного задания синхронизации. + ОтборЗаданий = Новый Структура(); + ОтборЗаданий.Вставить("Наименование", ИмяФоновогоЗадания); + ОтборЗаданий.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + + Задания = ФоновыеЗадания.ПолучитьФоновыеЗадания(ОтборЗаданий); + Если Не Задания.Количество() = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Задание = ФоновыеЗадания.Выполнить("ОчисткаБазыДанныхВызовСервера.ВыполнитьОчисткуОтСтарыхДанных", , , ИмяФоновогоЗадания); + + Возврат Истина + +КонецФункции + +// Прерывает очистку базы от устаревших данных в фоновом режиме +Процедура ПрерватьОчисткуОтСтарыхДанныхВФоне() Экспорт + + ИмяФоновогоЗадания = "ВыполнитьОчисткуОтСтарыхДанных"; + + // Проверим наличие активного задания синхронизации. + ОтборЗаданий = Новый Структура(); + ОтборЗаданий.Вставить("Наименование", ИмяФоновогоЗадания); + ОтборЗаданий.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + + Задания = ФоновыеЗадания.ПолучитьФоновыеЗадания(ОтборЗаданий); + Для Каждого Задание Из Задания Цикл + Задание.Отменить(); + КонецЦикла; + +КонецПроцедуры + +// Очищает регистр загруженных частей сообщений. +// +Процедура ОчиститьПринятыеДанные() Экспорт + + НаборЗаписей = РегистрыСведений.ПолученныеДанныеОбмена.СоздатьНаборЗаписей(); + НаборЗаписей.Записать(); + +КонецПроцедуры + +// Дожидается окончания процесса отключения от сервера +// +// Параметры: +// ИмяЗадания - Строка - Имя фонового задания. +// +Процедура ДождатьсяОкончанияПроцессаОтключенияОтСервера(ИмяЗадания) Экспорт + + Отбор = Новый Структура("Наименование", ИмяЗадания); + + // Находим задание. + // Т.к. оно к этому моменту может и не запуститься, ждем начала его работы. + + ЗаданиеЗавершено = Ложь; + Пока Не ЗаданиеЗавершено Цикл + + Задания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор); + + Если Не Задания.Количество() = 0 + И Не Задания[0].Состояние = СостояниеФоновогоЗадания.Активно Тогда + + ЗаданиеЗавершено = Истина; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Удаляет непосредственное удаление объекта из базы данных. +// +// Параметры: +// Объект - Ссылка - Ссылка на удаляемый объект. +// +Процедура УдалитьОбъект(Объект) + + Попытка + Объект.ДополнительныеСвойства.Вставить("ОчисткаБазы"); + Объект.Удалить(); + Исключение + // Ситуация ошибочная, и такого быть не должно, но ничего не делаем. + Инфо = ИнформацияОбОшибке(); + КонецПопытки; + +КонецПроцедуры + +// Удалить объект по истечению срока хранения +// +// Параметры: +// ЦентральныйУзелОбмена - ПланОбменаСсылка.Мобильный - Ссылка на узел обмена с сервером; +// Объект - Ссылка - Ссылка на удаляемый объект. +// +Процедура УдалитьОбъектПоИстечениюСрокаХранения(ЦентральныйУзелОбмена, Объект) + + Идентификатор = Объект.УникальныйИдентификатор(); + ТипОбъекта = ТипЗнч(Объект); + + Попытка + + УдалениеДанных = Новый УдалениеОбъекта(Объект); + УдалениеДанных.Записать(); + + ПланыОбмена.УдалитьРегистрациюИзменений(ЦентральныйУзелОбмена, УдалениеДанных); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьЗаписьРасширенногоПротокола(Объект, + НСтр("ru = 'Объект подвержен процедуре очистки от старых данных' + |; en = 'The object is subject to procedure of cleaning of old data'")); + + Исключение + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформациюПоОбъекту( + НСтр("ru = 'Не удалось удалить объект'; en = 'Can''t delete the object'"), + ТипОбъекта, Идентификатор); + + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..2ed8dc4 --- /dev/null +++ "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ОчисткаБазыДанныхКлиент + + + ru + Очистка базы данных клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..2f4e816 --- /dev/null +++ "b/CommonModules/\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,200 @@ + +#Область ПрограммныйИнтерфейс + +// Начинает процедуру очистки базы данных от всей информации. +// +// Параметры: +// ЭтаФорма - Форма - Форма, в которой начался процесс. +// +Процедура НачатьОчисткуБазыДанных(ЭтаФорма) Экспорт + + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("ЭтаФорма", ЭтаФорма); + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеПервыйВопросОбУдаленииДанных", + ОчисткаБазыДанныхКлиент, ДопПараметры); + + ЗаголовокВопроса = + НСтр("ru = 'Удаление всех данных'; + |en = 'Erase all content and settings'"); + + ТекстВопроса = + НСтр("ru = 'Все данные этого приложения будут полностью удалены. + |Продолжить удаление?'; + |en = 'All content and settings will be erased + |Continue?'"); + + ВариантыВыбора = РежимДиалогаВопрос.ДаНет; + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора,, + ВариантПоУмолчанию, ЗаголовокВопроса); + +КонецПроцедуры + +// Обработчик решения пользователя на первое предупреждение, что все данные будут удалены. +// +// Параметры: +// ОтветПользователя - КодВозвратаДиалога - Ответ пользователя на первый вопрос об удалении. +// ДопПараметры - Структура, Неопределено - Доп. параметры передаваемые в процедуру. +// +Процедура ОбработатьРешениеПервыйВопросОбУдаленииДанных(ОтветПользователя, ДопПараметры) Экспорт + + Если ОтветПользователя = КодВозвратаДиалога.Таймаут + Или ОтветПользователя = КодВозвратаДиалога.Нет Тогда + Возврат; + КонецЕсли; + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеВторойВопросОбУдаленииДанных", + ОчисткаБазыДанныхКлиент, ДопПараметры); + + ЗаголовокВопроса = + НСтр("ru = 'Удаление всех данных'; + |en = 'Erase all content and settings'"); + ТекстВопроса = + НСтр("ru = 'Внимание! Все данные этого приложения будут безвозвратно удалены. + |Продолжить удаление?'; + |en = 'All contents and settings will be irrevocably erased + |continue?'"); + + ВариантыВыбора = РежимДиалогаВопрос.ДаНет; + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора,, + ВариантПоУмолчанию, ЗаголовокВопроса); + +КонецПроцедуры + +// Обработчик решения пользователя на второе предупреждение, что все данные будут удалены. +// +// Параметры: +// ОтветПользователя - КодВозвратаДиалога - Ответ пользователя на второй вопрос об удалении. +// ДопПараметры - Структура, Неопределено - Доп. параметры передаваемые в процедуру. +// +Процедура ОбработатьРешениеВторойВопросОбУдаленииДанных(ОтветПользователя, ДопПараметры) Экспорт + + Если ОтветПользователя = КодВозвратаДиалога.Таймаут + Или ОтветПользователя = КодВозвратаДиалога.Нет Тогда + Возврат; + КонецЕсли; + + ОчисткаБазыДанныхВызовСервера.ОчиститьПринятыеДанные(); + + РежимСинхронизации = "ОтключитьУстройство"; + ПараметрыЗапуска = Новый Структура(); + ПараметрыЗапуска.Вставить("РежимСинхронизации", РежимСинхронизации); + + Оповестить("НачатьСинхронизацию", ПараметрыЗапуска); + + ОчисткаБазыДанныхВызовСервера.ДождатьсяОкончанияПроцессаОтключенияОтСервера( + РежимСинхронизации); + + ОчисткаБазыДанныхВызовСервера.УдалитьВсеДанные(); + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Полная очистка'; en = 'Full cleaning'")); + + ОбработчикПредупрежденияПользователя = + Новый ОписаниеОповещения("ОбработатьПредупреждениеОбОкончанииПолногоУдаления", + ОчисткаБазыДанныхКлиент, ДопПараметры); + + ЗаголовокПредупреждения = + НСтр("ru = 'Удаление всех данных'; + |en = 'Erase all content and settings'"); + ТекстПредупреждения = + НСтр("ru = 'Все данные успешно удалены.'; + |en = 'All data are successfully cleared'"); + + ПоказатьПредупреждение(ОбработчикПредупрежденияПользователя, + ТекстПредупреждения,, ЗаголовокПредупреждения); + +КонецПроцедуры + +// Завершающие действия после удаления всех данных в базе. +// +// Параметры: +// ДопПараметры - Структура, Неопределено - Доп. параметры передаваемые в процедуру. +// +Процедура ОбработатьПредупреждениеОбОкончанииПолногоУдаления(ДопПараметры) Экспорт + + ЭтаФорма = ДопПараметры.ЭтаФорма; + + Оповестить("ВыполненоПолноеУдаление"); + + ЭтаФорма.ПодключитьОбработчикОжидания("ЗакрытьФорму", 0.5, Истина); + ОбменКлиент.ПоказатьФормуНастройкиПодключения(); + +КонецПроцедуры + + +Процедура ПродолжитьОчисткуБазыДанных() Экспорт + + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеВопросОПродолженииУдаленияДанных", + ОчисткаБазыДанныхКлиент); + + ЗаголовокВопроса = + НСтр("ru = 'Удаление всех данных'; + |en = 'Erase all content and settings'"); + + ТекстВопроса = + НСтр("ru = 'Процесс удаления данных был прерван. + |До завершения процесса работа в программе невозможна. + |Продолжить удаление?'; + |en = 'Data deletion process has been interrupted. + |The app is unable to use until the process is finished. + |Continue?'"); + + ВариантыВыбора = РежимДиалогаВопрос.ДаНет; + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора,, + ВариантПоУмолчанию, ЗаголовокВопроса); + +КонецПроцедуры + +// Обработчик решения пользователя на второе предупреждение, что все данные будут удалены. +// +// Параметры: +// ОтветПользователя - КодВозвратаДиалога - Ответ пользователя на второй вопрос об удалении. +// ДопПараметры - Структура, Неопределено - Доп. параметры передаваемые в процедуру. +// +Процедура ОбработатьРешениеВопросОПродолженииУдаленияДанных(ОтветПользователя, ДопПараметры = Неопределено) Экспорт + + Если ОтветПользователя = КодВозвратаДиалога.Таймаут + Или ОтветПользователя = КодВозвратаДиалога.Нет Тогда + ЗавершитьРаботуСистемы(Ложь); + Возврат; + КонецЕсли; + + ОчисткаБазыДанныхВызовСервера.ОчиститьПринятыеДанные(); + + РежимСинхронизации = "ОтключитьУстройство"; + ПараметрыЗапуска = Новый Структура(); + ПараметрыЗапуска.Вставить("РежимСинхронизации", РежимСинхронизации); + + Оповестить("НачатьСинхронизацию", ПараметрыЗапуска); + + ОчисткаБазыДанныхВызовСервера.ДождатьсяОкончанияПроцессаОтключенияОтСервера( + РежимСинхронизации); + + ОчисткаБазыДанныхВызовСервера.УдалитьВсеДанные(); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьИнформацию( + НСтр("ru = 'Полная очистка'; en = 'Full cleaning'")); + + ЗаголовокПредупреждения = + НСтр("ru = 'Удаление всех данных'; + |en = 'Erase all content and settings'"); + ТекстПредупреждения = + НСтр("ru = 'Все данные успешно удалены.'; + |en = 'All data are successfully cleared'"); + + ОбменКлиент.ПоказатьФормуНастройкиПодключения(); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ЗаголовокПредупреждения); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" new file mode 100644 index 0000000..7e525a6 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСHTMLВызовСервераПовтИсп + + + ru + Работа СHTMLВызов сервера повт исп + + + + false + false + true + false + false + true + false + DuringSession + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" new file mode 100644 index 0000000..7d912d4 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -0,0 +1,698 @@ + +#Область ПрограммныйИнтерфейс + +// Возвращает соответствие для замены спецсимволов. +// +// Возвращаемое значение: +// Соответствие - Соответствие кодов и имен спецсимволов. +// +Функция ПолучитьСпецСимволыВВидеПарыКодПредставление() Экспорт + + Результат = Новый Соответствие; + + Результат.Вставить(193 , "Aacute"); + Результат.Вставить(225 , "aacute"); + Результат.Вставить(226 , "acirc"); + Результат.Вставить(194 , "Acirc"); + Результат.Вставить(180 , "acute"); + Результат.Вставить(230 , "aelig"); + Результат.Вставить(198 , "AElig"); + Результат.Вставить(192 , "Agrave"); + Результат.Вставить(224 , "agrave"); + Результат.Вставить(8501, "alefsym"); + Результат.Вставить(913 , "Alpha"); + Результат.Вставить(945 , "alpha"); + Результат.Вставить(8743, "and"); + Результат.Вставить(8736, "ang"); + Результат.Вставить(229 , "aring"); + Результат.Вставить(197 , "Aring"); + Результат.Вставить(8776, "asymp"); + Результат.Вставить(195 , "Atilde"); + Результат.Вставить(227 , "atilde"); + Результат.Вставить(196 , "Auml"); + Результат.Вставить(228 , "auml"); + + Результат.Вставить(8222, "bdquo"); + Результат.Вставить(914 , "Beta"); + Результат.Вставить(946 , "beta"); + Результат.Вставить(166 , "brvbar"); + Результат.Вставить(8226, "bull"); + + Результат.Вставить(8745, "cap"); + Результат.Вставить(199 , "Ccedil"); + Результат.Вставить(231 , "ccedil"); + Результат.Вставить(184 , "cedil"); + Результат.Вставить(162 , "cent"); + Результат.Вставить(967 , "chi"); + Результат.Вставить(935 , "Chi"); + Результат.Вставить(710 , "circ"); + Результат.Вставить(9827, "clubs"); + Результат.Вставить(8773, "cong"); + Результат.Вставить(169 , "copy"); + Результат.Вставить(8629, "crarr"); + Результат.Вставить(8746, "cup"); + Результат.Вставить(164 , "curren"); + + Результат.Вставить(8224, "dagger"); + Результат.Вставить(8225, "Dagger"); + Результат.Вставить(8659, "dArr"); + Результат.Вставить(8595, "darr"); + Результат.Вставить(176 , "deg"); + Результат.Вставить(916 , "Delta"); + Результат.Вставить(948 , "delta"); + Результат.Вставить(9830, "diams"); + Результат.Вставить(247 , "divide"); + + Результат.Вставить(233 , "eacute"); + Результат.Вставить(201 , "Eacute"); + Результат.Вставить(202 , "Ecirc"); + Результат.Вставить(234 , "ecirc"); + Результат.Вставить(232 , "egrave"); + Результат.Вставить(200 , "Egrave"); + Результат.Вставить(8709, "empty"); + Результат.Вставить(8195, "emsp"); + Результат.Вставить(8194, "ensp"); + Результат.Вставить(949 , "epsilon"); + Результат.Вставить(917 , "Epsilon"); + Результат.Вставить(8801, "equiv"); + Результат.Вставить(919 , "Eta"); + Результат.Вставить(951 , "eta"); + Результат.Вставить(240 , "eth"); + Результат.Вставить(208 , "ETH"); + Результат.Вставить(235 , "euml"); + Результат.Вставить(203 , "Euml"); + Результат.Вставить(8364, "euro"); + Результат.Вставить(8707, "exist"); + + Результат.Вставить(402 , "fnof"); + Результат.Вставить(8704, "forall"); + Результат.Вставить(189 , "frac12"); + Результат.Вставить(188 , "frac14"); + Результат.Вставить(190 , "frac34"); + Результат.Вставить(8260, "frasl"); + + Результат.Вставить(915 , "Gamma"); + Результат.Вставить(947 , "gamma"); + Результат.Вставить(8805, "ge"); + Результат.Вставить(62 , "gt"); + + Результат.Вставить(8660, "hArr"); + Результат.Вставить(8596, "harr"); + Результат.Вставить(9829, "hearts"); + Результат.Вставить(8230, "hellip"); + + Результат.Вставить(237 , "iacute"); + Результат.Вставить(205 , "Iacute"); + Результат.Вставить(238 , "icirc"); + Результат.Вставить(206 , "Icirc"); + Результат.Вставить(161 , "iexcl"); + Результат.Вставить(204 , "Igrave"); + Результат.Вставить(236 , "igrave"); + Результат.Вставить(8465, "image"); + Результат.Вставить(8734, "infin"); + Результат.Вставить(8747, "int"); + Результат.Вставить(921 , "Iota"); + Результат.Вставить(953 , "iota"); + Результат.Вставить(191 , "iquest"); + Результат.Вставить(8712, "isin"); + Результат.Вставить(207 , "Iuml"); + Результат.Вставить(239 , "iuml"); + + Результат.Вставить(922 , "Kappa"); + Результат.Вставить(954 , "kappa"); + + Результат.Вставить(955 , "lambda"); + Результат.Вставить(923 , "Lambda"); + Результат.Вставить(9001, "lang"); + Результат.Вставить(171 , "laquo"); + Результат.Вставить(8592, "larr"); + Результат.Вставить(8656, "lArr"); + Результат.Вставить(8968, "lceil"); + Результат.Вставить(8220, "ldquo"); + Результат.Вставить(8804, "le"); + Результат.Вставить(8970, "lfloor"); + Результат.Вставить(8727, "lowast"); + Результат.Вставить(9674, "loz"); + Результат.Вставить(8206, "lrm"); + Результат.Вставить(8249, "lsaquo"); + Результат.Вставить(8216, "lsquo"); + Результат.Вставить(60 , "lt"); + + Результат.Вставить(175 , "macr"); + Результат.Вставить(8212, "mdash"); + Результат.Вставить(181 , "micro"); + Результат.Вставить(183 , "middot"); + Результат.Вставить(8722, "minus"); + Результат.Вставить(924 , "Mu"); + Результат.Вставить(956 , "mu"); + + Результат.Вставить(8711, "nabla"); + Результат.Вставить(160 , "nbsp"); + Результат.Вставить(8211, "ndash"); + Результат.Вставить(8800, "ne"); + Результат.Вставить(8715, "ni"); + Результат.Вставить(172 , "not"); + Результат.Вставить(8713, "notin"); + Результат.Вставить(8836, "nsub"); + Результат.Вставить(241 , "ntilde"); + Результат.Вставить(209 , "Ntilde"); + Результат.Вставить(925 , "Nu"); + Результат.Вставить(957 , "nu"); + + Результат.Вставить(243 , "oacute"); + Результат.Вставить(211 , "Oacute"); + Результат.Вставить(212 , "Ocirc"); + Результат.Вставить(244 , "ocirc"); + Результат.Вставить(338 , "OElig"); + Результат.Вставить(339 , "oelig"); + Результат.Вставить(242 , "ograve"); + Результат.Вставить(210 , "Ograve"); + Результат.Вставить(8254, "oline"); + Результат.Вставить(969 , "omega"); + Результат.Вставить(937 , "Omega"); + Результат.Вставить(927 , "Omicron"); + Результат.Вставить(959 , "omicron"); + Результат.Вставить(8853, "oplus"); + Результат.Вставить(8744, "or"); + Результат.Вставить(170 , "ordf"); + Результат.Вставить(186 , "ordm"); + Результат.Вставить(216 , "Oslash"); + Результат.Вставить(248 , "oslash"); + Результат.Вставить(213 , "Otilde"); + Результат.Вставить(245 , "otilde"); + Результат.Вставить(8855, "otimes"); + Результат.Вставить(214 , "Ouml"); + Результат.Вставить(246 , "ouml"); + + Результат.Вставить(182 , "para"); + Результат.Вставить(8706, "part"); + Результат.Вставить(8240, "permil"); + Результат.Вставить(8869, "perp"); + Результат.Вставить(966 , "phi"); + Результат.Вставить(934 , "Phi"); + Результат.Вставить(928 , "Pi"); + Результат.Вставить(960 , "pi"); + Результат.Вставить(982 , "piv"); + Результат.Вставить(177 , "plusmn"); + Результат.Вставить(163 , "pound"); + Результат.Вставить(8243, "Prime"); + Результат.Вставить(8242, "prime"); + Результат.Вставить(8719, "prod"); + Результат.Вставить(8733, "prop"); + Результат.Вставить(968 , "psi"); + Результат.Вставить(936 , "Psi"); + + Результат.Вставить(34 , "quot"); + + Результат.Вставить(8730, "radic"); + Результат.Вставить(9002, "rang"); + Результат.Вставить(187 , "raquo"); + Результат.Вставить(8658, "rArr"); + Результат.Вставить(8594, "rarr"); + Результат.Вставить(8969, "rceil"); + Результат.Вставить(8221, "rdquo"); + Результат.Вставить(8476, "real"); + Результат.Вставить(174 , "reg"); + Результат.Вставить(8971, "rfloor"); + Результат.Вставить(929 , "Rho"); + Результат.Вставить(961 , "rho"); + Результат.Вставить(8207, "rlm"); + Результат.Вставить(8250, "rsaquo"); + Результат.Вставить(8217, "rsquo"); + + Результат.Вставить(8218, "sbquo"); + Результат.Вставить(352 , "Scaron"); + Результат.Вставить(353 , "scaron"); + Результат.Вставить(8901, "sdot"); + Результат.Вставить(167 , "sect"); + Результат.Вставить(173 , "shy"); + Результат.Вставить(931 , "Sigma"); + Результат.Вставить(963 , "sigma"); + Результат.Вставить(962 , "sigmaf"); + Результат.Вставить(8764, "sim"); + Результат.Вставить(9824, "spades"); + Результат.Вставить(8834, "sub"); + Результат.Вставить(8838, "sube"); + Результат.Вставить(8721, "sum"); + Результат.Вставить(8835, "sup"); + Результат.Вставить(185 , "sup1"); + Результат.Вставить(178 , "sup2"); + Результат.Вставить(179 , "sup3"); + Результат.Вставить(8839, "supe"); + Результат.Вставить(223 , "szlig"); + + Результат.Вставить(932 , "Tau"); + Результат.Вставить(964 , "tau"); + Результат.Вставить(8756, "there4"); + Результат.Вставить(920 , "Theta"); + Результат.Вставить(952 , "theta"); + Результат.Вставить(977 , "thetasym"); + Результат.Вставить(8201, "thinsp"); + Результат.Вставить(222 , "THORN"); + Результат.Вставить(254 , "thorn"); + Результат.Вставить(732 , "tilde"); + Результат.Вставить(215 , "times"); + Результат.Вставить(8482, "trade"); + + Результат.Вставить(250 , "uacute"); + Результат.Вставить(218 , "Uacute"); + Результат.Вставить(8657, "uArr"); + Результат.Вставить(8593, "uarr"); + Результат.Вставить(251 , "ucirc"); + Результат.Вставить(219 , "Ucirc"); + Результат.Вставить(217 , "Ugrave"); + Результат.Вставить(249 , "ugrave"); + Результат.Вставить(168 , "uml"); + Результат.Вставить(978 , "upsih"); + Результат.Вставить(965 , "upsilon"); + Результат.Вставить(933 , "Upsilon"); + Результат.Вставить(252 , "uuml"); + Результат.Вставить(220 , "Uuml"); + + Результат.Вставить(8472, "weierp"); + + Результат.Вставить(958 , "xi"); + Результат.Вставить(926 , "Xi"); + + Результат.Вставить(253 , "yacute"); + Результат.Вставить(221 , "Yacute"); + Результат.Вставить(165 , "yen"); + Результат.Вставить(255 , "yuml"); + Результат.Вставить(376 , "Yuml"); + + Результат.Вставить(918 , "Zeta"); + Результат.Вставить(950 , "zeta"); + Результат.Вставить(8205, "zwj"); + Результат.Вставить(8204, "zwnj"); + + Возврат Результат; + +КонецФункции + +// Возвращает соответствие для обратной замены спецсимволов. +// +// Возвращаемое значение: +// Соответствие - Соответствие имен спецсимволов и их кодов. +// +Функция ПолучитьОбратноеСоответствиеСпецСимволов() Экспорт + + Результат = Новый Соответствие; + + Результат.Вставить("Aacute" , 193); + Результат.Вставить("aacute" , 225); + Результат.Вставить("acirc" , 226); + Результат.Вставить("Acirc" , 194); + Результат.Вставить("acute" , 180); + Результат.Вставить("aelig" , 230); + Результат.Вставить("AElig" , 198); + Результат.Вставить("Agrave" , 192); + Результат.Вставить("agrave" , 224); + Результат.Вставить("alefsym", 8501); + Результат.Вставить("Alpha" , 913); + Результат.Вставить("alpha" , 945); + Результат.Вставить("and" , 8743); + Результат.Вставить("ang" , 8736); + Результат.Вставить("aring" , 229); + Результат.Вставить("Aring" , 197); + Результат.Вставить("asymp" , 8776); + Результат.Вставить("Atilde" , 195); + Результат.Вставить("atilde" , 227); + Результат.Вставить("Auml" , 196); + Результат.Вставить("auml" , 228); + + Результат.Вставить("bdquo" , 8222); + Результат.Вставить("Beta" , 914); + Результат.Вставить("beta" , 946); + Результат.Вставить("brvbar", 166); + Результат.Вставить("bull" , 8226); + + Результат.Вставить("cap" , 8745); + Результат.Вставить("Ccedil", 199); + Результат.Вставить("ccedil", 231); + Результат.Вставить("cedil" , 184); + Результат.Вставить("cent" , 162); + Результат.Вставить("chi" , 967); + Результат.Вставить("Chi" , 935); + Результат.Вставить("circ" , 710); + Результат.Вставить("clubs" , 9827); + Результат.Вставить("cong" , 8773); + Результат.Вставить("copy" , 169); + Результат.Вставить("crarr" , 8629); + Результат.Вставить("cup" , 8746); + Результат.Вставить("curren", 164); + + Результат.Вставить("dagger", 8224); + Результат.Вставить("Dagger", 8225); + Результат.Вставить("dArr" , 8659); + Результат.Вставить("darr" , 8595); + Результат.Вставить("deg" , 176); + Результат.Вставить("Delta" , 916); + Результат.Вставить("delta" , 948); + Результат.Вставить("diams" , 9830); + Результат.Вставить("divide", 247); + + Результат.Вставить("eacute" , 233); + Результат.Вставить("Eacute" , 201); + Результат.Вставить("Ecirc" , 202); + Результат.Вставить("ecirc" , 234); + Результат.Вставить("egrave" , 232); + Результат.Вставить("Egrave" , 200); + Результат.Вставить("empty" , 8709); + Результат.Вставить("emsp" , 8195); + Результат.Вставить("ensp" , 8194); + Результат.Вставить("epsilon", 949); + Результат.Вставить("Epsilon", 917); + Результат.Вставить("equiv" , 8801); + Результат.Вставить("Eta" , 919); + Результат.Вставить("eta" , 951); + Результат.Вставить("eth" , 240); + Результат.Вставить("ETH" , 208); + Результат.Вставить("euml" , 235); + Результат.Вставить("Euml" , 203); + Результат.Вставить("euro" , 8364); + Результат.Вставить("exist" , 8707); + + Результат.Вставить("fnof" , 402); + Результат.Вставить("forall", 8704); + Результат.Вставить("frac12", 189); + Результат.Вставить("frac14", 188); + Результат.Вставить("frac34", 190); + Результат.Вставить("frasl" , 8260); + + Результат.Вставить("Gamma", 915); + Результат.Вставить("gamma", 947); + Результат.Вставить("ge" , 8805); + Результат.Вставить("gt" , 62); + + Результат.Вставить("hArr" , 8660); + Результат.Вставить("harr" , 8596); + Результат.Вставить("hearts", 9829); + Результат.Вставить("hellip", 8230); + + Результат.Вставить("iacute", 237); + Результат.Вставить("Iacute", 205); + Результат.Вставить("icirc" , 238); + Результат.Вставить("Icirc" , 206); + Результат.Вставить("iexcl" , 161); + Результат.Вставить("Igrave", 204); + Результат.Вставить("igrave", 236); + Результат.Вставить("image" , 8465); + Результат.Вставить("infin" , 8734); + Результат.Вставить("int" , 8747); + Результат.Вставить("Iota" , 921); + Результат.Вставить("iota" , 953); + Результат.Вставить("iquest", 191); + Результат.Вставить("isin" , 8712); + Результат.Вставить("Iuml" , 207); + Результат.Вставить("iuml" , 239); + Результат.Вставить("Kappa" , 922); + Результат.Вставить("kappa" , 954); + + Результат.Вставить("lambda", 955); + Результат.Вставить("Lambda", 923); + Результат.Вставить("lang" , 9001); + Результат.Вставить("laquo" , 171); + Результат.Вставить("larr" , 8592); + Результат.Вставить("lArr" , 8656); + Результат.Вставить("lceil" , 8968); + Результат.Вставить("ldquo" , 8220); + Результат.Вставить("le" , 8804); + Результат.Вставить("lfloor", 8970); + Результат.Вставить("lowast", 8727); + Результат.Вставить("loz" , 9674); + Результат.Вставить("lrm" , 8206); + Результат.Вставить("lsaquo", 8249); + Результат.Вставить("lsquo" , 8216); + Результат.Вставить("lt" , 60); + + Результат.Вставить("macr" , 175); + Результат.Вставить("mdash" , 8212); + Результат.Вставить("micro" , 181); + Результат.Вставить("middot", 183); + Результат.Вставить("minus" , 8722); + Результат.Вставить("Mu" , 924); + Результат.Вставить("mu" , 956); + + Результат.Вставить("nabla" , 8711); + Результат.Вставить("nbsp" , 160); + Результат.Вставить("ndash" , 8211); + Результат.Вставить("ne" , 8800); + Результат.Вставить("ni" , 8715); + Результат.Вставить("not" , 172); + Результат.Вставить("notin" , 8713); + Результат.Вставить("nsub" , 8836); + Результат.Вставить("ntilde", 241); + Результат.Вставить("Ntilde", 209); + Результат.Вставить("Nu" , 925); + Результат.Вставить("nu" , 957); + + Результат.Вставить("oacute" , 243); + Результат.Вставить("Oacute" , 211); + Результат.Вставить("Ocirc" , 212); + Результат.Вставить("ocirc" , 244); + Результат.Вставить("OElig" , 338); + Результат.Вставить("oelig" , 339); + Результат.Вставить("ograve" , 242); + Результат.Вставить("Ograve" , 210); + Результат.Вставить("oline" , 8254); + Результат.Вставить("omega" , 969); + Результат.Вставить("Omega" , 937); + Результат.Вставить("Omicron", 927); + Результат.Вставить("omicron", 959); + Результат.Вставить("oplus" , 8853); + Результат.Вставить("or" , 8744); + Результат.Вставить("ordf" , 170); + Результат.Вставить("ordm" , 186); + Результат.Вставить("Oslash" , 216); + Результат.Вставить("oslash" , 248); + Результат.Вставить("Otilde" , 213); + Результат.Вставить("otilde" , 245); + Результат.Вставить("otimes" , 8855); + Результат.Вставить("Ouml" , 214); + Результат.Вставить("ouml" , 246); + + Результат.Вставить("para" , 182); + Результат.Вставить("part" , 8706); + Результат.Вставить("permil", 8240); + Результат.Вставить("perp" , 8869); + Результат.Вставить("phi" , 966); + Результат.Вставить("Phi" , 934); + Результат.Вставить("Pi" , 928); + Результат.Вставить("pi" , 960); + Результат.Вставить("piv" , 982); + Результат.Вставить("plusmn", 177); + Результат.Вставить("pound" , 163); + Результат.Вставить("Prime" , 8243); + Результат.Вставить("prime" , 8242); + Результат.Вставить("prod" , 8719); + Результат.Вставить("prop" , 8733); + Результат.Вставить("psi" , 968); + Результат.Вставить("Psi" , 936); + + Результат.Вставить("quot" , 34); + + Результат.Вставить("radic" , 8730); + Результат.Вставить("rang" , 9002); + Результат.Вставить("raquo" , 187); + Результат.Вставить("rArr" , 8658); + Результат.Вставить("rarr" , 8594); + Результат.Вставить("rceil" , 8969); + Результат.Вставить("rdquo" , 8221); + Результат.Вставить("real" , 8476); + Результат.Вставить("reg" , 174); + Результат.Вставить("rfloor", 8971); + Результат.Вставить("Rho" , 929); + Результат.Вставить("rho" , 961); + Результат.Вставить("rlm" , 8207); + Результат.Вставить("rsaquo", 8250); + Результат.Вставить("rsquo" , 8217); + + Результат.Вставить("sbquo" , 8218); + Результат.Вставить("Scaron", 352); + Результат.Вставить("scaron", 353); + Результат.Вставить("sdot" , 8901); + Результат.Вставить("sect" , 167); + Результат.Вставить("shy" , 173); + Результат.Вставить("Sigma" , 931); + Результат.Вставить("sigma" , 963); + Результат.Вставить("sigmaf", 962); + Результат.Вставить("sim" , 8764); + Результат.Вставить("spades", 9824); + Результат.Вставить("sub" , 8834); + Результат.Вставить("sube" , 8838); + Результат.Вставить("sum" , 8721); + Результат.Вставить("sup" , 8835); + Результат.Вставить("sup1" , 185); + Результат.Вставить("sup2" , 178); + Результат.Вставить("sup3" , 179); + Результат.Вставить("supe" , 8839); + Результат.Вставить("szlig" , 223); + + Результат.Вставить("Tau" , 932); + Результат.Вставить("tau" , 964); + Результат.Вставить("there4" , 8756); + Результат.Вставить("Theta" , 920); + Результат.Вставить("theta" , 952); + Результат.Вставить("thetasym", 977); + Результат.Вставить("thinsp" , 8201); + Результат.Вставить("THORN" , 222); + Результат.Вставить("thorn" , 254); + Результат.Вставить("tilde" , 732); + Результат.Вставить("times" , 215); + Результат.Вставить("trade" , 8482); + + Результат.Вставить("uacute" , 250); + Результат.Вставить("Uacute" , 218); + Результат.Вставить("uArr" , 8657); + Результат.Вставить("uarr" , 8593); + Результат.Вставить("ucirc" , 251); + Результат.Вставить("Ucirc" , 219); + Результат.Вставить("Ugrave" , 217); + Результат.Вставить("ugrave" , 249); + Результат.Вставить("uml" , 168); + Результат.Вставить("upsih" , 978); + Результат.Вставить("upsilon", 965); + Результат.Вставить("Upsilon", 933); + Результат.Вставить("uuml" , 252); + Результат.Вставить("Uuml" , 220); + + Результат.Вставить("weierp", 8472); + + Результат.Вставить("xi", 958); + Результат.Вставить("Xi", 926); + + Результат.Вставить("yacute", 253); + Результат.Вставить("Yacute", 221); + Результат.Вставить("yen" , 165); + Результат.Вставить("yuml" , 255); + Результат.Вставить("Yuml" , 376); + + Результат.Вставить("Zeta", 918); + Результат.Вставить("zeta", 950); + Результат.Вставить("zwj" , 8205); + Результат.Вставить("zwnj", 8204); + + Возврат Результат; + +КонецФункции + +// Возвращает список допустимых в URI спецсимволов. +// +// Возвращаемое значение: +// СписокЗначений - Список допустимых спецсимволов. +// +Функция ДопустимыеВURIСпецСимволы() Экспорт + + СписокДопустимыхСпецСимволов = Новый СписокЗначений; + + СписокДопустимыхСпецСимволов.Добавить("amp"); + СписокДопустимыхСпецСимволов.Добавить("quot"); + СписокДопустимыхСпецСимволов.Добавить("gt"); + СписокДопустимыхСпецСимволов.Добавить("lt"); + + Возврат СписокДопустимыхСпецСимволов; + +КонецФункции + +// Возвращает список значимых в URI спецсимволов. +// +// Возвращаемое значение: +// СписокЗначений - Список допустимых спецсимволов. +// +Функция ЗначимыеВURIСпецСимволы() Экспорт + + СписокДопустимыхСпецСимволов = Новый СписокЗначений; + + СписокДопустимыхСпецСимволов.Добавить("quot"); + + Возврат СписокДопустимыхСпецСимволов; + +КонецФункции + +// Возвращает список ограничителей, используемых в URI. +// +// Возвращаемое значение: +// СписокЗначений - Список ограничителей URI. +// +Функция СписокОграничителейURI() Экспорт + + СписокОграничителейURI = Новый СписокЗначений; + + // Основные разделители + СписокОграничителейURI.Добавить(":"); + СписокОграничителейURI.Добавить("?"); + СписокОграничителейURI.Добавить("#"); + СписокОграничителейURI.Добавить("["); + СписокОграничителейURI.Добавить("]"); + СписокОграничителейURI.Добавить("@"); + + // Побочные разделители + СписокОграничителейURI.Добавить("!"); + СписокОграничителейURI.Добавить("$"); + СписокОграничителейURI.Добавить("&"); + СписокОграничителейURI.Добавить("'"); + СписокОграничителейURI.Добавить("("); + СписокОграничителейURI.Добавить(")"); + СписокОграничителейURI.Добавить("*"); + СписокОграничителейURI.Добавить("+"); + СписокОграничителейURI.Добавить(","); + СписокОграничителейURI.Добавить(";"); + СписокОграничителейURI.Добавить("="); + + // Незарезервированные символы + СписокОграничителейURI.Добавить("-"); + СписокОграничителейURI.Добавить("."); + СписокОграничителейURI.Добавить("_"); + СписокОграничителейURI.Добавить("~"); + + // Кодирующий символ + СписокОграничителейURI.Добавить("%"); + + // Дополнительный символ + СписокОграничителейURI.Добавить("|"); + СписокОграничителейURI.Добавить("^"); + + Возврат СписокОграничителейURI; + +КонецФункции + +// Список ограничений HTML, которые могут стоять перед ссылкой +// > - закрытие какого-либо тега перед ссылкой. +// +// Возвращаемое значение: +// СписокЗначений - Список допустимых имен. +// +Функция СписокДопустимыхВСсылкеТегов() Экспорт + + СписокДопустимыхВСсылкеТегов = Новый СписокЗначений; + + СписокДопустимыхВСсылкеТегов.Добавить("FONT"); + СписокДопустимыхВСсылкеТегов.Добавить("SPAN"); + СписокДопустимыхВСсылкеТегов.Добавить("STRONG"); + СписокДопустимыхВСсылкеТегов.Добавить("EM"); + СписокДопустимыхВСсылкеТегов.Добавить("B"); + СписокДопустимыхВСсылкеТегов.Добавить("I"); + СписокДопустимыхВСсылкеТегов.Добавить("U"); + + Возврат СписокДопустимыхВСсылкеТегов; + +КонецФункции + +// Возвращает все списки со специальными символами за один вызов сервера. +// +// Возвращаемое значение: +// Структура - Структура, содержащая списки специальных символов. +// +Функция ПолучитьСпискиСимволов() Экспорт + + Списки = Новый Структура(); + Списки.Вставить("ДопустимыеВURIСпецСимволы", ДопустимыеВURIСпецСимволы()); + Списки.Вставить("ЗначимыеВURIСпецСимволы", ЗначимыеВURIСпецСимволы()); + Списки.Вставить("ОбратноеСоответствиеСпецСимволов", ПолучитьОбратноеСоответствиеСпецСимволов()); + Списки.Вставить("СписокДопустимыхВСсылкеТегов", СписокДопустимыхВСсылкеТегов()); + + Возврат Списки; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..438c579 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСHTMLКлиент + + + ru + Работа СHTMLКлиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..1c76225 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,45 @@ + +#Область ПрограммныйИнтерфейс + +// Обработчик открытия гиперссылки в тексте письма. +// +// Параметры: +// Гиперссылка - Строка - Анализируемая гиперссылка; +// СтандартнаяОбработка - Булево - Признак стандартной обработки; +// Объект - СправочникСсылка.Файлы - Ссылка на открываемый файл. +// +Процедура ОткрытьСсылку(Гиперссылка, СтандартнаяОбработка, Объект = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(Гиперссылка) Тогда + Возврат; + КонецЕсли; + + СтандартнаяОбработка = Ложь; + + СхемаСсылки = РаботаСHTMLКлиентСервер.ОпределитьСхемуСсылки(Гиперссылка); + + Если СхемаСсылки = "v8doc:" + И СтрНайти(Гиперссылка, "mailattachment") > 0 Тогда + + ЧастиСсылки = СтрРазделить(Гиперссылка, "/"); + НомерВложения = Число(ЧастиСсылки[ЧастиСсылки.Количество()-1]); + ИмяФайла = ОбщегоНазначенияВызовСервера.ПолучитьИмяВременногоФайлаДляВложения(Объект); + + РаботаСФайламиИПредметамиКлиент.ЗапуститьПриложениеПоИмениФайла(ИмяФайла); + + ИначеЕсли СхемаСсылки = "http://" + Или СхемаСсылки = "https://" + Или СхемаСсылки = "ftp://" Тогда + + ЗапуститьПриложение(Гиперссылка); + + ИначеЕсли СхемаСсылки = "mailto:" Тогда + // РаботаСПочтойКлиент.СоздатьПисьмоНаОснованииСсылкиMailto(Гиперссылка); + + Иначе + СтандартнаяОбработка = Истина; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..0da1fcc --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСHTMLКлиентСервер + + + ru + Работа СHTMLКлиент сервер + + + + false + true + true + true + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..a9051bc --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241HTML\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,1350 @@ + +#Область ПрограммныйИнтерфейс + +// Определяет схему ссылки. +// +// Параметры: +// Href - Строка - Проверяемая ссылка. +// +// Возвращаемое значение: +// Строка - Схема ссылки. +// +Функция ОпределитьСхемуСсылки(Href) Экспорт + + Если СтрокаНачинаетсяСПодстроки(Href, "v8doc:") Тогда + Возврат "v8doc:"; + + ИначеЕсли СтрокаНачинаетсяСПодстроки(Href, "http://") Тогда + Возврат "http://"; + + ИначеЕсли СтрокаНачинаетсяСПодстроки(Href, "https://") Тогда + Возврат "https://"; + + ИначеЕсли СтрокаНачинаетсяСПодстроки(Href, "ftp://") Тогда + Возврат "ftp://"; + + ИначеЕсли СтрокаНачинаетсяСПодстроки(Href, "mailto:") Тогда + Возврат "mailto:"; + + Иначе + Возврат ""; + + КонецЕсли; + +КонецФункции + +// Заменяет в строке все спецсимволы на соответствующие им имена, +// Возвращает измененную строку. +// +// Параметры: +// Строка - Строка - Анализируемая строка; +// СпецСимволыСоотв - Соответствие - Список спец символов, которые нужно заменить. +// +// Возвращаемое значение: +// Строка - Преобразованная исходная строка. +// +Функция ЗаменитьСпецСимволыHTML(Строка, СпецСимволыСоотв = Неопределено) Экспорт + + СоответствиеСпецСимволов = РаботаСHTMLВызовСервераПовтИсп.ПолучитьСпецСимволыВВидеПарыКодПредставление(); + + ЗаменитьСпецСимволHTML(Строка, 38, "amp"); + + НоваяСтрока = Строка; + Для Каждого Пара Из СоответствиеСпецСимволов Цикл + НоваяСтрока = СтрЗаменить(Строка, Пара.Ключ, "&" + Пара.Значение + ";"); + КонецЦикла; + + Строка = НоваяСтрока; + + Возврат Строка; + +КонецФункции + +// Заменяет в строке все имена спецсимволов на соответствующие им спецсимволы, +// Возвращает измененную строку. +// +// Параметры: +// Строка - Строка - Анализируемая строка; +// СпецСимволыСоотв - Соответствие - Список спец символов, которые нужно заменить. +// +// Возвращаемое значение: +// Строка - Преобразованная исходная строка. +// +Функция ЗаменитьСпецСимволыHTMLОбратно(Строка, СпецСимволыСоотв = Неопределено) Экспорт + + ОбратноеСоответствиеСпецСимволов = + РаботаСHTMLВызовСервераПовтИсп.ПолучитьСпецСимволыВВидеПарыКодПредставление(); + + ЗаменитьСпецСимволHTMLОбратно(Строка, 38, "amp"); + + Для Каждого СпецСимвол Из ОбратноеСоответствиеСпецСимволов Цикл + Строка = СтрЗаменить(Строка, "&" + СпецСимвол.Значение + ";", Символ(СпецСимвол.Ключ)); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Заменяет символы табуляции и пробелов на символ неразрывного пробела +// +// Параметры: +// Строка - Строка - Изменяемая строка HTML текста. +// +Процедура ЗаменитьТабуляцииИПробелы(Строка) Экспорт + + Строка = СтрЗаменить(Строка, Символы.ВТаб, " "); + Строка = СтрЗаменить(Строка, Символы.Таб, " "); + Строка = СтрЗаменить(Строка, " ", Символы.НПП + " "); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + Строка = СтрЗаменить(Строка, Символы.НПП + " " + Символы.НПП, Символы.НПП + Символы.НПП + Символы.НПП); + +КонецПроцедуры + +// Добавляет теги ко всем ссылкам, находящимся в строке. +// Обрабатываются следующие схемы обращения к ресурсу: +// http://, https://, ftp://, mailto:, file://, file:, e1c://, e1cib/ +// Кроме того обрабатываются с использованием схемы http:// ссылки начинающиеся с www. без схемы. +// +// Параметры: +// ТекстHTML - Строка - Преобразуемый HTML текст. +// +Процедура ДобавитьТегиКСсылкам(ТекстHTML) Экспорт + + // Ссылки со схемой + ДобавитьТегиКСсылкамСоСхемой(ТекстHTML, "http://"); + ДобавитьТегиКСсылкамСоСхемой(ТекстHTML, "https://"); + ДобавитьТегиКСсылкамСоСхемой(ТекстHTML, "ftp://"); + + // Ссылки без схемы + ДобавитьТегиКСсылкамСоСхемой(ТекстHTML, "www.", "http://www."); + ДобавитьТегиКСсылкамСоСхемой(ТекстHTML, "mailto:"); + + // Заполнить title у ссылок + ЗаполнитьСвойствоTitleУСсылок(ТекстHTML); + +КонецПроцедуры + +// Проверяет нахождение переданной позиции внутри тега (в параметрах или содержании) +// Если тег не закрыт, то проверяет только в параметрах тега. +// +// Параметры: +// ТекстHTML - Строка - Анализируемый HTML текст; +// НазваниеЭлемента - Строка - Название искомого элемента; +// Позиция - Число - Начальная позиция, с которой необходимо искать тег; +// Тег - Строка - HTML тег. +// +// Возвращаемое значение: +// Булево - Истина, если искомая позиция находится по тексту внутри указанного тега. +// +Функция ПозицияНаходитсяВТеге(ТекстHTML, НазваниеЭлемента, Позиция, Тег = Неопределено) Экспорт + + НачалоОткрывающегоТега = "<" + НРег(НазваниеЭлемента); + ДлинаОткрывающегоТега = СтрДлина(НачалоОткрывающегоТега); + ПозицияНаходитсяВТеге = Ложь; + + НачалоТекстаHTML = Лев(НРег(ТекстHTML), Позиция - 1); + НайденнаяПозицияНачалаОткрывающегоТега = 0; + ПозицияОкончанияОткрывающегоТега = 0; + + ПозицияНачалаОткрывающегоТега = СтрНайти(НачалоТекстаHTML, НачалоОткрывающегоТега); + Пока ПозицияНачалаОткрывающегоТега <> 0 Цикл + + НачалоТекстаHTML = Сред(НачалоТекстаHTML, ПозицияНачалаОткрывающегоТега + 1); + НайденнаяПозицияНачалаОткрывающегоТега = + НайденнаяПозицияНачалаОткрывающегоТега + + ПозицияОкончанияОткрывающегоТега + + ПозицияНачалаОткрывающегоТега; + + ПозицияОкончанияОткрывающегоТега = СтрНайти(НачалоТекстаHTML, ">"); + Если ПозицияОкончанияОткрывающегоТега <> 0 Тогда + НачалоТекстаHTML = Сред(НачалоТекстаHTML, ПозицияОкончанияОткрывающегоТега + 1); + КонецЕсли; + + ПозицияНачалаОткрывающегоТега = СтрНайти(НачалоТекстаHTML, НачалоОткрывающегоТега); + + КонецЦикла; + + Если НайденнаяПозицияНачалаОткрывающегоТега <> 0 Тогда + + // Если есть незакрытый открывающий тег до искомой позиции, ищем тег в исходном тексте HTML. + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, НазваниеЭлемента, НайденнаяПозицияНачалаОткрывающегоТега); + + Если ЗаполненаСтруктураТега(Тег) Тогда + + Если Позиция > Тег.ПозицияНачалаТега И Позиция < Тег.ПозицияОкончанияТега Тогда + ПозицияНаходитсяВТеге = Истина; + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Возврат ПозицияНаходитсяВТеге; + +КонецФункции + +// Возвращает пустое HTML представление. +// +// Возвращаемое значение: +// Строка - Пустой HTML документ. +// +Функция ПолучитьПустоеHTMLПредставление() Экспорт + + Возврат ""; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Проверяет, содержит ли ссылка схему +// +Функция СтрокаНачинаетсяСПодстроки(Строка, Подстрока) + + Возврат (Найти(НРег(СокрЛ(Строка)), НРег(Подстрока)) = 1); + +КонецФункции + +Процедура ЗаменитьСпецСимволHTML(Строка, КодСимвола, ИмяСимвола) + + Строка = СтрЗаменить(Строка, Символ(КодСимвола), "&" + ИмяСимвола + ";"); + +КонецПроцедуры + +Процедура ЗаменитьСпецСимволHTMLОбратно(Строка, КодСимвола, ИмяСимвола) + + Строка = СтрЗаменить(Строка, "&" + ИмяСимвола + ";", Символ(КодСимвола)); + +КонецПроцедуры + +// Добавляет тег в конкретную позицию. Меняет значение Строка и Смещение. +// +Процедура ДобавитьТегСсылки( + Строка, + НачальнаяПозиция, + КонечнаяПозиция, + Схема, + НовоеЗначениеСхемы, + Смещение, + ОбрезатьГраничныеСимволыСсылки = Ложь, + СимволПередСсылкой = "", + СимволКонцаСсылки = "") + + НачалоСтроки = Лев(Строка, Смещение + НачальнаяПозиция - 1); + + ЕстьИмяСсылка = Ложь; + Если СтрЗаканчиваетсяНа(НачалоСтроки, "Ссылка: ") Тогда + НачалоСтроки = Лев(НачалоСтроки, СтрДлина(НачалоСтроки)-8); + ЕстьИмяСсылка = Истина; + КонецЕсли; + + // Обрезание граничных символов + Если ОбрезатьГраничныеСимволыСсылки Тогда + Ссылка = Сред(Строка, + Смещение + НачальнаяПозиция + СтрДлина(СимволПередСсылкой), + КонечнаяПозиция - НачальнаяПозиция - СтрДлина(СимволПередСсылкой) - СтрДлина(СимволКонцаСсылки)); + Иначе + Ссылка = Сред(Строка, Смещение + НачальнаяПозиция, КонечнаяПозиция - НачальнаяПозиция); + КонецЕсли; + + Если ЕстьИмяСсылка Тогда + ПредставлениеСсылки = НСтр("ru = 'Ссылка'; en = 'Tap here'"); + Иначе + ПредставлениеСсылки = Ссылка; + КонецЕсли; + КонецСтроки = Прав(Строка, СтрДлина(Строка) - (Смещение + КонечнаяПозиция - 1)); + + // Замены схемы в ссылке при необходимости, например "www." => "http://www." + Если ЗначениеЗаполнено(НовоеЗначениеСхемы) Тогда + + ДлинаСхемы = СтрДлина(Схема); + СхемаВСсылке = Лев(Ссылка, ДлинаСхемы); + + Если НРег(Схема) = НРег(СхемаВСсылке) Тогда + Ссылка = НовоеЗначениеСхемы + Сред(Ссылка, ДлинаСхемы + 1); + КонецЕсли; + + КонецЕсли; + + // Удаление тегов из ссылки + ПозицияНачалаОткрывающегоТега = СтрНайти(Ссылка, "<"); + Пока ПозицияНачалаОткрывающегоТега <> 0 Цикл + + СтруктураТега = ПолучитьТегВТекстеHTML(Ссылка, , ПозицияНачалаОткрывающегоТега); + Если ЗаполненаСтруктураТега(СтруктураТега) Тогда + + Ссылка = Лев(Ссылка, СтруктураТега.ПозицияНачалаОткрывающегоТега - 1) + Сред(Ссылка, СтруктураТега.ПозицияОкончанияОткрывающегоТега + 1); + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТега - 1; + + КонецЕсли; + + ПозицияНачалаОткрывающегоТега = СтрНайти(Ссылка, "<",, ПозицияНачалаОткрывающегоТега); + + КонецЦикла; + + Если Не СтрНайти(Строка, """") Тогда + СсылкаСТегом = "" + ПредставлениеСсылки + ""; + + ИначеЕсли Не СтрНайти(Строка, "'") Тогда + СсылкаСТегом = "" + ПредставлениеСсылки + ""; + + Иначе + РаботаСHTMLКлиентСервер.ЗаменитьСпецСимволыHTMLОбратно(Ссылка); + РаботаСHTMLКлиентСервер.ЗаменитьСпецСимволыHTML(Ссылка); + + СсылкаСТегом = "" + ПредставлениеСсылки + ""; + + КонецЕсли; + + Строка = НачалоСтроки + СсылкаСТегом + КонецСтроки; + Смещение = СтрДлина(НачалоСтроки + СсылкаСТегом) + 1; + +КонецПроцедуры + +// Добавляет теги ко всем ссылкам, находящимся в строке и соответствующим указанной схеме. +Процедура ДобавитьТегиКСсылкамСоСхемой(ТекстHTML,Схема, НовоеЗначениеСхемы = "") + + СхемаПоиска = НРег(Схема); + ТекстHTMLПоиска = НРег(ТекстHTML); + Длина = СтрДлина(ТекстHTML); + НоваяСтрока = ""; + Смещение = 0; + КонецТега = ">"; + ДлинаКонцаТега = СтрДлина(КонецТега); + ЯвляетсяТегомЯкоря = Ложь; + ЗакрывающийТегЯкоря = ""; + НазваниеЭлементаСсылки = "a"; + ДлинаЗакрывающегоТегаЯкоря = СтрДлина(ЗакрывающийТегЯкоря); + + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + СписокОграничителейURI = РаботаСHTMLВызовСервераПовтИсп.СписокОграничителейURI(); + + Пока НачалоСсылки <> 0 Цикл + + // Проверять что позиция не в параметрах какого-либо тега + Если ПозицияНаходитсяВПараметреТега(ТекстHTMLПоиска, НачалоСсылки, НазваниеЭлементаСсылки, ЯвляетсяТегомЯкоря) Тогда + + ПозицияОкончанияОткрывающегоТега = 0; + + Если ЯвляетсяТегомЯкоря Тогда + + // Если тег является якорем - ищем + ПозицияОкончанияОткрывающегоТега = СтрНайти(ТекстHTMLПоиска, ЗакрывающийТегЯкоря,, НачалоСсылки); + ПозицияОкончанияОткрывающегоТега = ПозицияОкончанияОткрывающегоТега + ДлинаЗакрывающегоТегаЯкоря; + ДлинаСмещения = ДлинаЗакрывающегоТегаЯкоря; + + КонецЕсли; + + Если ПозицияОкончанияОткрывающегоТега = 0 Тогда + + ПозицияОкончанияОткрывающегоТега = СтрНайти(ТекстHTMLПоиска, КонецТега,, НачалоСсылки); + + Если ПозицияОкончанияОткрывающегоТега = 0 Тогда + + // Если нет окончания тега - не выделяем больше ссылок + Прервать; + + КонецЕсли; + + ПозицияОкончанияОткрывающегоТега = ПозицияОкончанияОткрывающегоТега + ДлинаКонцаТега; + ДлинаСмещения = ДлинаКонцаТега; + + КонецЕсли; + + // Если есть окончание тега - выделяем ссылки после тега + Смещение = Смещение + (ПозицияОкончанияОткрывающегоТега - 1); + ТекстHTMLПоиска = Сред(ТекстHTMLПоиска, ПозицияОкончанияОткрывающегоТега); + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + + Продолжить; + + КонецЕсли; + + Если ПозицияНаходитсяВТеге(ТекстHTMLПоиска, НазваниеЭлементаСсылки, НачалоСсылки) Тогда + + ПозицияЗакрывающегоТегаЯкоря = СтрНайти(ТекстHTMLПоиска, ЗакрывающийТегЯкоря,, НачалоСсылки); + + Если ПозицияЗакрывающегоТегаЯкоря = 0 Тогда + + // Если нет закрывающего "якорь" тега - не выделяем больше ссылок + Прервать; + + КонецЕсли; + + ПозицияЗакрывающегоТегаЯкоря = ПозицияЗакрывающегоТегаЯкоря + ДлинаЗакрывающегоТегаЯкоря; + + // Если есть закрывающий "якорь" тег - выделяем ссылки после закрывающего тега + Смещение = Смещение + (ПозицияЗакрывающегоТегаЯкоря - 1); + ТекстHTMLПоиска = Сред(ТекстHTMLПоиска, ПозицияЗакрывающегоТегаЯкоря); + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + + Продолжить; + + КонецЕсли; + + Если НачалоСсылки = 1 Тогда + СимволПередСсылкой = ""; + + Иначе + + СимволПередСсылкой = Сред(ТекстHTMLПоиска, НачалоСсылки - 1, 1); + + Если СимволПередСсылкой = ";" Тогда + + ЗакодированныеКавычки = """; + ДлинаКавычек = СтрДлина(ЗакодированныеКавычки); + + Если НачалоСсылки - ДлинаКавычек > 0 Тогда + ВозможныеКавычки = Сред(ТекстHTMLПоиска, НачалоСсылки - ДлинаКавычек, ДлинаКавычек); + + Если ВозможныеКавычки = ЗакодированныеКавычки Тогда + СимволПередСсылкой = ЗакодированныеКавычки; + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Если СписокОграничителейURI.НайтиПоЗначению(СимволПередСсылкой) <> Неопределено Тогда + СимволПередСсылкой = ""; + + ИначеЕсли СимволПередСсылкой = ">" Тогда + СимволПередСсылкой = ""; // Тег перед ссылкой + + КонецЕсли; + + КонецЕсли; + + Если ПустаяСтрока(СимволПередСсылкой) Тогда + + КонецСсылки = НайтиКонецСсылки(ТекстHTMLПоиска, НачалоСсылки + СтрДлина(СхемаПоиска), СписокОграничителейURI); + + // Добавляем теги к оригинальному тексту, т.к. текст поиска в нижнем регистре + ДобавитьТегСсылки( + ТекстHTML, + НачалоСсылки, + КонецСсылки, + Схема, + НовоеЗначениеСхемы, + Смещение); + + ТекстHTMLПоиска = Сред(ТекстHTMLПоиска, КонецСсылки + 1); + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + + Продолжить; + + ИначеЕсли СимволПередСсылкой = """" Или СимволПередСсылкой = """ Тогда + + СимволКонцаСсылки = """"; + КонецСсылки = НайтиКонецСсылки(ТекстHTMLПоиска, НачалоСсылки + СтрДлина(СхемаПоиска), СписокОграничителейURI, Истина, СимволКонцаСсылки); + + // Добавляем теги к оригинальному тексту, т.к. текст поиска в нижнем регистре + ДобавитьТегСсылки( + ТекстHTML, + НачалоСсылки - СтрДлина(СимволПередСсылкой), // Включаем открывающие кавычки в ссылку + КонецСсылки, + Схема, + НовоеЗначениеСхемы, + Смещение, + Истина, + СимволПередСсылкой, + СимволКонцаСсылки); + + ТекстHTMLПоиска = Сред(ТекстHTMLПоиска, КонецСсылки + 1); + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + + Продолжить; + + КонецЕсли; + + Смещение = Смещение + НачалоСсылки; + ТекстHTMLПоиска = Сред(ТекстHTMLПоиска, НачалоСсылки + 1); + НачалоСсылки = СтрНайти(ТекстHTMLПоиска, СхемаПоиска); + + КонецЦикла; + +КонецПроцедуры + +// Возвращает позицию конца ссылки в строке - первый незначащий символ +Функция НайтиКонецСсылки(ТекстHTML, НачальнаяПозиция, СписокНезначащихСимволов, + РазрешитьПробелВСсылке = Ложь, СимволКонцаСсылки = Неопределено) + + Списки = РаботаСHTMLВызовСервераПовтИсп.ПолучитьСпискиСимволов(); + + НайденНезначащийСимвол = Ложь; + ОбрабатываемаяСтрока = Сред(ТекстHTML, НачальнаяПозиция); + ПоложениеПервогоНезначащегоСимвола = 0; + + Пока Не НайденНезначащийСимвол Цикл + + ПервыйСимвол = Лев(ОбрабатываемаяСтрока, 1); + + Если ЗначениеЗаполнено(СимволКонцаСсылки) И ПервыйСимвол = СимволКонцаСсылки Тогда + + НайденНезначащийСимвол = Истина; + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + 1; + + Прервать; + + ИначеЕсли ЗначениеЗаполнено(СимволКонцаСсылки) И ПервыйСимвол = "&" Тогда + + ВозможныйСпецСимвол = ПолучитьВозможныйСпецСимвол(ОбрабатываемаяСтрока); + СпецСимвол = Списки.ОбратноеСоответствиеСпецСимволов.Получить(ВозможныйСпецСимвол); + + Если СпецСимвол <> Неопределено И Символ(СпецСимвол) = СимволКонцаСсылки Тогда + + НайденНезначащийСимвол = Истина; + СимволКонцаСсылки = "&" + ВозможныйСпецСимвол + ";"; + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + СтрДлина(СимволКонцаСсылки); + + Прервать; + + КонецЕсли; + + КонецЕсли; + + Если ПервыйСимвол = "&" Тогда + + ВозможныйСпецСимвол = ПолучитьВозможныйСпецСимвол(ОбрабатываемаяСтрока); + ДлинаВозможногоСпецСимвола = СтрДлина(ВозможныйСпецСимвол); + + Если Списки.ЗначимыеВURIСпецСимволы.НайтиПоЗначению(ВозможныйСпецСимвол) <> Неопределено Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, ДлинаВозможногоСпецСимвола + 3); + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + ДлинаВозможногоСпецСимвола + 2; + + Продолжить; + + ИначеЕсли Списки.ДопустимыеВURIСпецСимволы.НайтиПоЗначению(ВозможныйСпецСимвол) <> Неопределено Тогда + + ЕстьЗначимыйСимволДоКонцаСсылки = ЕстьЗначимыйСимволДоКонцаСсылки( + ОбрабатываемаяСтрока, + СписокНезначащихСимволов, + РазрешитьПробелВСсылке, + ДлинаВозможногоСпецСимвола + 2); + + Если ЕстьЗначимыйСимволДоКонцаСсылки Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, ДлинаВозможногоСпецСимвола + 3); + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + ДлинаВозможногоСпецСимвола + 2; + + Продолжить; + + Иначе + ПервыйСимвол = ""; + + КонецЕсли; + + ИначеЕсли Списки.ОбратноеСоответствиеСпецСимволов.Получить(ВозможныйСпецСимвол) <> Неопределено Тогда + ПервыйСимвол = ""; + + КонецЕсли; + + КонецЕсли; + + Если ПервыйСимвол = "<" Тогда + + СтруктураТега = ПолучитьТегВТекстеHTML(ОбрабатываемаяСтрока); + Если ЗаполненаСтруктураТега(СтруктураТега) Тогда + + Если СтруктураТега.ПозицияНачалаОткрывающегоТега = 1 Тогда + + Если ТегСодержитсяВСписке(СтруктураТега, Списки.СписокДопустимыхВСсылкеТегов) Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, + СтруктураТега.ПозицияОкончанияОткрывающегоТега + 1); + + ПоложениеПервогоНезначащегоСимвола = + ПоложениеПервогоНезначащегоСимвола + СтруктураТега.ПозицияОкончанияОткрывающегоТега; + + Продолжить; + + Иначе + ПервыйСимвол = ""; + + КонецЕсли; + + Иначе + ПервыйСимвол = ""; + + КонецЕсли; + + Иначе + ПервыйСимвол = ""; + + КонецЕсли; + + КонецЕсли; + + Если СписокНезначащихСимволов.НайтиПоЗначению(ПервыйСимвол) <> Неопределено + И Не ЕстьЗначимыйСимволДоКонцаСсылки(ОбрабатываемаяСтрока, СписокНезначащихСимволов, РазрешитьПробелВСсылке) Тогда + ПервыйСимвол = ""; + + КонецЕсли; + + Если ПервыйСимвол = " " И РазрешитьПробелВСсылке Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, 2); + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + 1; + + Продолжить; + + КонецЕсли; + + Если ПустаяСтрока(ПервыйСимвол) Тогда + + НайденНезначащийСимвол = Истина; + + Прервать; + + КонецЕсли; + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, 2); + ПоложениеПервогоНезначащегоСимвола = ПоложениеПервогоНезначащегоСимвола + 1; + + КонецЦикла; + + // Если не был найден не значащий символ - все равно возвращаем - позиция конца строки. + Возврат НачальнаяПозиция + ПоложениеПервогоНезначащегоСимвола; + +КонецФункции + +// Проверяет наличие значащего символа до конца ссылки. +// Концом ссылки считаются стандартные незначащие символы. +Функция ЕстьЗначимыйСимволДоКонцаСсылки(Строка, СписокНезначащихСимволов, + РазрешитьПробелВСсылке = Ложь, НачальнаяПозиция = 0) + + ОбратноеСоответствиеСпецСимволов = РаботаСHTMLВызовСервераПовтИсп.ПолучитьОбратноеСоответствиеСпецСимволов(); + ДопустимыеВURIСпецСимволы = РаботаСHTMLВызовСервераПовтИсп.ДопустимыеВURIСпецСимволы(); + ЗначимыеВURIСпецСимволы = РаботаСHTMLВызовСервераПовтИсп.ЗначимыеВURIСпецСимволы(); + СписокДопустимыхВСсылкеТегов = РаботаСHTMLВызовСервераПовтИсп.СписокДопустимыхВСсылкеТегов(); + + ОбрабатываемаяСтрока = Сред(Строка, НачальнаяПозиция + 1); + НайденЗначащийСимвол = Ложь; + + Пока Не НайденЗначащийСимвол Цикл + + ПервыйСимвол = Лев(ОбрабатываемаяСтрока, 1); + + Если ПервыйСимвол = " " И РазрешитьПробелВСсылке Тогда + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, 2); + + ИначеЕсли ПустаяСтрока(ПервыйСимвол) Тогда + Прервать; + + ИначеЕсли ПервыйСимвол = "&" Тогда + + ВозможныйСпецСимвол = ПолучитьВозможныйСпецСимвол(ОбрабатываемаяСтрока); + ДлинаВозможногоСпецСимвола = СтрДлина(ВозможныйСпецСимвол); + + Если ЗначимыеВURIСпецСимволы.НайтиПоЗначению(ВозможныйСпецСимвол) <> Неопределено Тогда + НайденЗначащийСимвол = Истина; + + ИначеЕсли ДопустимыеВURIСпецСимволы.НайтиПоЗначению(ВозможныйСпецСимвол) <> Неопределено + Или ОбратноеСоответствиеСпецСимволов.Получить(ВозможныйСпецСимвол) <> Неопределено Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, ДлинаВозможногоСпецСимвола + 3); + + Иначе + + НайденЗначащийСимвол = Истина; + + КонецЕсли; + + ИначеЕсли ПервыйСимвол = "<" Тогда + + СтруктураТега = ПолучитьТегВТекстеHTML(ОбрабатываемаяСтрока); + Если ЗаполненаСтруктураТега(СтруктураТега) Тогда + + Если СтруктураТега.ПозицияНачалаОткрывающегоТега = 1 Тогда + + Если ТегСодержитсяВСписке(СтруктураТега, СписокДопустимыхВСсылкеТегов) Тогда + + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, СтруктураТега.ПозицияОкончанияОткрывающегоТега + 1); + Продолжить; + + Иначе + Прервать; + КонецЕсли; + + Иначе + Прервать; + КонецЕсли; + + Иначе + Прервать; + КонецЕсли; + + ИначеЕсли СписокНезначащихСимволов.НайтиПоЗначению(ПервыйСимвол) <> Неопределено Тогда + ОбрабатываемаяСтрока = Сред(ОбрабатываемаяСтрока, 2); + + Иначе + НайденЗначащийСимвол = Истина; + + КонецЕсли; + + КонецЦикла; + + Возврат НайденЗначащийСимвол; + +КонецФункции + +// Возвращает спецсимвол HTML (&СпецСимвол;), если он присутствует. +// Возвращает Неопределено, если нет возможных спецсимволов. +Функция ПолучитьВозможныйСпецСимвол(Строка, ПозицияСпецСимвола = 0) + + ОбрабатываемаяСтрока = Сред(Строка, ПозицияСпецСимвола + 1); + ПервыйСимвол = Лев(ОбрабатываемаяСтрока, 1); + + Если ПервыйСимвол = "&" Тогда + + КонецСпецСимвола = СтрНайти(ОбрабатываемаяСтрока, ";"); + + Если КонецСпецСимвола <> 0 Тогда + + СпецСимвол = Сред(ОбрабатываемаяСтрока, 2, КонецСпецСимвола - 2); + + Возврат СпецСимвол; + + КонецЕсли; + + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +// Возвращает структуру первого тега данного элемента в тексте HTML. +// Если не указано название элемента то возвращает первый встреченный тег. +// Поиск тега ведется с переданной начальной позиции. +// +// Структура тега: +// НазваниеЭлемента - название элемента найденного тега; +// ПараметрыОткрывающегоТега - строка, содержащая параметры открывающего тега; +// Содержание - стока, содержащие данные, находящие между открывающим и закрывающим тегом; +// ПозицияНачалаОткрывающегоТега - позиция символа "<" открывающего тега; +// ПозицияОкончанияОткрывающегоТега - позиция символа ">" открывающего тега; +// ПозицияНачалаЗакрывающегоТега - позиция символа "<" закрывающего тега; +// ПозицияОкончанияЗакрывающегоТега - позиция символа ">" закрывающего тега; +// ПозицияНачалаТега - позиция символа "<" открывающего тега; +// ПозицияОкончанияТега - если есть закрывающий тег, то позиция символа ">" закрывающего тега; +// если нет закрывающего тега, то позиция символа ">" открывающего тега. +// +Функция ПолучитьТегВТекстеHTML(ТекстHTML, НазваниеЭлемента = "", НачальнаяПозиция = 1) + + Если Не ЗначениеЗаполнено(НазваниеЭлемента) Тогда + + НачалоОткрывающегоТега = "<"; + НазваниеТега = ""; + ОбрабатываемыйТекстHTML = ТекстHTML; + + ПозицияНачалаОткрывающегоТега = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега); + Пока ПозицияНачалаОткрывающегоТега <> 0 Цикл + + ОбрабатываемыйТекстHTML = Сред(ОбрабатываемыйТекстHTML, ПозицияНачалаОткрывающегоТега + 1); + ПервыйСимволНазванияТега = Лев(ОбрабатываемыйТекстHTML, 1); + + Если ЗначениеЗаполнено(ПервыйСимволНазванияТега) Тогда + ОчереднойСимволНазванияТега = ПервыйСимволНазванияТега; + + Пока ЗначениеЗаполнено(ОчереднойСимволНазванияТега) + И ОчереднойСимволНазванияТега <> ">" Цикл + + НазваниеТега = НазваниеТега + ОчереднойСимволНазванияТега; + ОбрабатываемыйТекстHTML = Сред(ОбрабатываемыйТекстHTML, 2); + ОчереднойСимволНазванияТега = Лев(ОбрабатываемыйТекстHTML, 1); + + КонецЦикла; + + ПозицияНачалаОткрывающегоТега = 0; + + Иначе + + ПозицияНачалаОткрывающегоТега = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега); + + КонецЕсли; + + КонецЦикла; + + Если ЗначениеЗаполнено(НазваниеТега) Тогда + + НазваниеЭлемента = НазваниеТега; + + КонецЕсли; + + КонецЕсли; + + ПараметрыОткрывающегоТега = ""; + Содержание = ""; + ПозицияНачалаОткрывающегоТега = 0; + ПозицияОкончанияОткрывающегоТега = 0; + ПозицияНачалаЗакрывающегоТега = 0; + ПозицияОкончанияЗакрывающегоТега = 0; + ПозицияНачалаТега = 0; + ПозицияОкончанияТега = 0; + + НачалоОткрывающегоТега = "<" + НРег(НазваниеЭлемента); + КонецОткрывающегоТега = ">"; + ЗакрывающийТег = ""; + ОбрабатываемыйТекстHTML = Сред(НРег(ТекстHTML), НачальнаяПозиция); + + Смещение = НачальнаяПозиция - 1; + + ПозицияНачалаОткрывающегоТегаСПараметрами = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега + " "); + ПозицияНачалаОткрывающегоТегаСПараметрамиПС = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега + Символы.ПС); + ПозицияНачалаОткрывающегоТегаБезПараметров = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега + КонецОткрывающегоТега); + ПозицияНачалаОткрывающегоТегаСЗакрытием = СтрНайти(ОбрабатываемыйТекстHTML, НачалоОткрывающегоТега + "/>"); + + Если ПозицияНачалаОткрывающегоТегаСПараметрами <> 0 Тогда + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + ПозицияНачалаОткрывающегоТега = Мин(ПозицияНачалаОткрывающегоТега, ПозицияНачалаОткрывающегоТегаСПараметрами); + Иначе + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТегаСПараметрами; + КонецЕсли; + КонецЕсли; + + Если ПозицияНачалаОткрывающегоТегаСПараметрамиПС <> 0 Тогда + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + ПозицияНачалаОткрывающегоТега = Мин(ПозицияНачалаОткрывающегоТега, ПозицияНачалаОткрывающегоТегаСПараметрамиПС); + Иначе + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТегаСПараметрамиПС; + КонецЕсли; + КонецЕсли; + + Если ПозицияНачалаОткрывающегоТегаБезПараметров <> 0 Тогда + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + ПозицияНачалаОткрывающегоТега = Мин(ПозицияНачалаОткрывающегоТега, ПозицияНачалаОткрывающегоТегаБезПараметров); + Иначе + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТегаБезПараметров; + КонецЕсли; + КонецЕсли; + + Если ПозицияНачалаОткрывающегоТегаСЗакрытием <> 0 Тогда + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + ПозицияНачалаОткрывающегоТега = Мин(ПозицияНачалаОткрывающегоТега, ПозицияНачалаОткрывающегоТегаСЗакрытием); + Иначе + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТегаСЗакрытием; + КонецЕсли; + КонецЕсли; + + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + + ОбрабатываемыйТекстHTML = Сред(ОбрабатываемыйТекстHTML, ПозицияНачалаОткрывающегоТега + СтрДлина(НачалоОткрывающегоТега)); + Смещение = Смещение + ПозицияНачалаОткрывающегоТега + СтрДлина(НачалоОткрывающегоТега) - 1; + + ПозицияОкончанияОткрывающегоТега = СтрНайти(ОбрабатываемыйТекстHTML, КонецОткрывающегоТега); + Если ПозицияОкончанияОткрывающегоТега <> 0 Тогда + + ПараметрыОткрывающегоТега = Сред(ТекстHTML, Смещение + 1, ПозицияОкончанияОткрывающегоТега - 1); + ОбрабатываемыйТекстHTML = Сред(ОбрабатываемыйТекстHTML, ПозицияОкончанияОткрывающегоТега + СтрДлина(КонецОткрывающегоТега)); + Смещение = Смещение + ПозицияОкончанияОткрывающегоТега + СтрДлина(КонецОткрывающегоТега) - 1; + + Иначе + + ПозицияНачалаОткрывающегоТега = 0; + + КонецЕсли; + + ПозицияНачалаЗакрывающегоТега = СтрНайти(ОбрабатываемыйТекстHTML, ЗакрывающийТег); + Если ПозицияНачалаЗакрывающегоТега <> 0 Тогда + Содержание = Сред(ТекстHTML, Смещение + 1, ПозицияНачалаЗакрывающегоТега - 1); + + КонецЕсли; + + КонецЕсли; + + Если ПозицияНачалаОткрывающегоТега <> 0 Тогда + ПозицияНачалаОткрывающегоТега = ПозицияНачалаОткрывающегоТега + (НачальнаяПозиция - 1); + ПозицияНачалаТега = ПозицияНачалаОткрывающегоТега; + КонецЕсли; + + Если ПозицияОкончанияОткрывающегоТега <> 0 Тогда + ПозицияОкончанияОткрывающегоТега = ПозицияОкончанияОткрывающегоТега + (СтрДлина(НачалоОткрывающегоТега) - 1) + ПозицияНачалаОткрывающегоТега; + КонецЕсли; + + Если ПозицияНачалаЗакрывающегоТега <> 0 Тогда + ПозицияНачалаЗакрывающегоТега = ПозицияНачалаЗакрывающегоТега + ПозицияОкончанияОткрывающегоТега; + ПозицияОкончанияЗакрывающегоТега = ПозицияНачалаЗакрывающегоТега + (СтрДлина(ЗакрывающийТег) - 1); + КонецЕсли; + + Если ПозицияОкончанияЗакрывающегоТега <> 0 Тогда + ПозицияОкончанияТега = ПозицияОкончанияЗакрывающегоТега; + ИначеЕсли ПозицияОкончанияОткрывающегоТега <> 0 Тогда + ПозицияОкончанияТега = ПозицияОкончанияОткрывающегоТега; + КонецЕсли; + + СтруктураТега = Новый Структура(); + СтруктураТега.Вставить("НазваниеЭлемента", НазваниеЭлемента); + СтруктураТега.Вставить("ПараметрыОткрывающегоТега", ПараметрыОткрывающегоТега); + СтруктураТега.Вставить("Содержание", Содержание); + СтруктураТега.Вставить("ПозицияНачалаОткрывающегоТега", ПозицияНачалаОткрывающегоТега); + СтруктураТега.Вставить("ПозицияОкончанияОткрывающегоТега", ПозицияОкончанияОткрывающегоТега); + СтруктураТега.Вставить("ПозицияНачалаЗакрывающегоТега", ПозицияНачалаЗакрывающегоТега); + СтруктураТега.Вставить("ПозицияОкончанияЗакрывающегоТега", ПозицияОкончанияЗакрывающегоТега); + СтруктураТега.Вставить("ПозицияНачалаТега", ПозицияНачалаТега); + СтруктураТега.Вставить("ПозицияОкончанияТега", ПозицияОкончанияТега); + + Возврат СтруктураТега; + +КонецФункции + +// Проверяет наличие название элемента тега в списке значений +Функция ТегСодержитсяВСписке(СтруктураТега, СписокЗначений) + + Если Не ЗаполненаСтруктураТега(СтруктураТега) Тогда + Возврат Ложь; + КонецЕсли; + + НазваниеЭлемента = НРег(СтруктураТега.НазваниеЭлемента); + + Для Каждого ЭлементСписка Из СписокЗначений Цикл + + ЗначениеЭлементаСписка = ЭлементСписка.Значение; + Если ТипЗнч(ЗначениеЭлементаСписка) = Тип("Строка") Тогда + + ЗначениеЭлементаСписка = НРег(ЗначениеЭлементаСписка); + ЗначениеЗакрывающегоЭлементаСписка = "/" + ЗначениеЭлементаСписка; + + Если НазваниеЭлемента = ЗначениеЭлементаСписка + Или НазваниеЭлемента = ЗначениеЗакрывающегоЭлементаСписка Тогда + + Возврат Истина; + + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +// Проверяет заполненность структуры тега: +// - наличие всех необходимых тегу свойств в структуре; +// - заполненность позиции начала и окончания тега. +Функция ЗаполненаСтруктураТега(СтруктураТега) + + Если (Не СтруктураТега.Свойство("НазваниеЭлемента")) + Или (Не СтруктураТега.Свойство("ПараметрыОткрывающегоТега")) + Или (Не СтруктураТега.Свойство("Содержание")) + Или (Не СтруктураТега.Свойство("ПозицияНачалаОткрывающегоТега")) + Или (Не СтруктураТега.Свойство("ПозицияОкончанияОткрывающегоТега")) + Или (Не СтруктураТега.Свойство("ПозицияНачалаЗакрывающегоТега")) + Или (Не СтруктураТега.Свойство("ПозицияОкончанияЗакрывающегоТега")) + Или (Не СтруктураТега.Свойство("ПозицияНачалаТега")) + Или (Не СтруктураТега.Свойство("ПозицияОкончанияТега")) Тогда + + Возврат Ложь; + + КонецЕсли; + + Если ЗначениеЗаполнено(СтруктураТега.ПозицияНачалаТега) + И ЗначениеЗаполнено(СтруктураТега.ПозицияОкончанияТега) Тогда + + Возврат Истина; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +// Проверяет нахождение внутри параметров открывающего тега (возможно, который не закрыт). +// +Функция ПозицияНаходитсяВПараметреТега(ТекстHTML, Позиция, НужныйТег = "", ЯвляетсяНужнымТегом = Ложь) + + НачалоТега = "<"; + КонецТега = ">"; + ОткрытТег = Ложь; + + ЯвляетсяНужнымТегом = Ложь; + НачалоТекстаHTML = Лев(НРег(ТекстHTML), Позиция - 1); + + НайденнаяПозицияНачалаОткрывающегоТега = 0; + ПозицияНачалаОткрывающегоТега = СтрНайти(НачалоТекстаHTML, НачалоТега); + + Пока ПозицияНачалаОткрывающегоТега <> 0 Цикл + + НачалоТекстаHTML = Сред(НачалоТекстаHTML, ПозицияНачалаОткрывающегоТега + 1); + ПервыйСимволНазванияТега = Сред(НачалоТекстаHTML, 1, 1); + ПозицияНужногоТега = СтрНайти(НачалоТекстаHTML, НужныйТег + " "); + + Если ПозицияНужногоТега = 0 Тогда + ПозицияНужногоТега = СтрНайти(НачалоТекстаHTML, НужныйТег + ">"); + КонецЕсли; + + Если ЗначениеЗаполнено(ПервыйСимволНазванияТега) Тогда + + ПозицияОкончанияОткрывающегоТега = СтрНайти(НачалоТекстаHTML, КонецТега); + Если ПозицияОкончанияОткрывающегоТега <> 0 Тогда + НачалоТекстаHTML = Сред(НачалоТекстаHTML, ПозицияОкончанияОткрывающегоТега + 1); + + Иначе + + Если ПозицияНужногоТега = 1 Тогда + ЯвляетсяНужнымТегом = Истина; + КонецЕсли; + + ОткрытТег = Истина; + + Прервать; + + КонецЕсли; + + КонецЕсли; + + ПозицияНачалаОткрывающегоТега = СтрНайти(НачалоТекстаHTML, НачалоТега); + + КонецЦикла; + + Возврат ОткрытТег; + +КонецФункции + +// Дописывать значение из href в свойство title ссылок и картинок. +// +Процедура ЗаполнитьСвойствоTitleУСсылок(ТекстHTML) + + // Для отображения подсказки к относительным ссылкам используется упрощенный + // метод определения относительной ссылки и работы с тегом BASE, для самых частотных случаев. + // Ссылка считается относительной, если в нет не присутствует ":". + // К представлению относительных ссылок дописывается текст тега Base. + ТегBody = ПолучитьТегВТекстеHTML(ТекстHTML, "body"); + ТегBase = ПолучитьТегВТекстеHTML(ТекстHTML, "base"); + ТекстBase = ПолучитьЗначениеПараметраТега(ТегBase, "href"); + + Если ТекстBase = Неопределено + Или (ЗаполненаСтруктураТега(ТегBody) И ТегBase.ПозицияОкончанияТега > ТегBody.ПозицияНачалаТега) Тогда + ТекстBase = ""; + КонецЕсли; + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "a"); + + Пока ЗаполненаСтруктураТега(Тег) <> 0 Цикл + + СимволОграниченияHref = Неопределено; + СимволОграниченияTitle = Неопределено; + Смещение = 0; + НачалоTitle = 0; + КонецTitle = 0; + ТекстHref = ПолучитьЗначениеПараметраТега(Тег, "href", СимволОграниченияHref); + + // Считаем ссылку относительной, если в ней нет символа ":" + Если ТекстBase <> "" И СтрНайти(ТекстHref, ":") = 0 Тогда + + Если (Не СтрНачинаетсяС(ТекстHref, "\") И Не СтрНачинаетсяС(ТекстHref, "/")) + И (Не СтрЗаканчиваетсяНа(ТекстBase, "\") И Не СтрЗаканчиваетсяНа(ТекстBase, "/")) Тогда + + // Нет "/" в тексте ссылки и Base + ТекстHref = "/" + ТекстHref; + + ИначеЕсли (СтрНачинаетсяС(ТекстHref, "\") Или СтрНачинаетсяС(ТекстHref, "/")) + И (СтрЗаканчиваетсяНа(ТекстBase, "\") Или СтрЗаканчиваетсяНа(ТекстBase, "/")) Тогда + + // Есть "/" в тексте ссылки и Base + ТекстHref = Сред(ТекстHref, 2); + + КонецЕсли; + + ТекстHref = ТекстBase + ТекстHref; + + КонецЕсли; + + Если ТекстHref = Неопределено Тогда + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "a", Тег.ПозицияОкончанияТега + 1); + Продолжить; + КонецЕсли; + + ТекстTitle = ПолучитьЗначениеПараметраТега(Тег, "title", СимволОграниченияTitle, НачалоTitle, КонецTitle); + + Если ТекстTitle = Неопределено Тогда + + ТекстTitle = СтрШаблон( + "title=%1%2%1", СимволОграниченияHref, ТекстHref); + Смещение = Смещение + СтрДлина(ТекстTitle) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%3 %2>", Тег.НазваниеЭлемента, ТекстTitle, Тег.ПараметрыОткрывающегоТега); + + ИначеЕсли СтрНайти(ТекстTitle, ТекстHref) = 0 Тогда + + ТекстДоTitle = Лев(Тег.ПараметрыОткрывающегоТега, НачалоTitle - 1); + ТекстПослеTitle = Сред(Тег.ПараметрыОткрывающегоТега, КонецTitle + 1); + + Если СимволОграниченияTitle <> СимволОграниченияHref Тогда + Если СимволОграниченияTitle = """" Тогда + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + ИначеЕсли СимволОграниченияTitle = "'" Тогда + ТекстHref = СтрЗаменить(ТекстHref, "'", """"); + КонецЕсли; + КонецЕсли; + + Если СимволОграниченияTitle = "" Тогда + ТекстTitle = СтрЗаменить(ТекстTitle, """", "'"); + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + СимволОграниченияTitle = """"; + КонецЕсли; + + ТекстTitle = СтрШаблон( + "title=%1%2%3%1", СимволОграниченияTitle, ТекстTitle, Символы.ПС + ТекстHref); + + Смещение = Смещение + СтрДлина(ТекстHref) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%2%3%4>", Тег.НазваниеЭлемента, ТекстДоTitle, ТекстTitle, ТекстПослеTitle); + + Иначе + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "a", Тег.ПозицияОкончанияТега + Смещение + 1); + Продолжить; + + КонецЕсли; + + ТекстHTML = + Лев(ТекстHTML, Тег.ПозицияНачалаОткрывающегоТега - 1) + + НовыйОткрывающийТег + + Сред(ТекстHTML, Тег.ПозицияОкончанияОткрывающегоТега + 1); + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "a", Тег.ПозицияОкончанияТега + Смещение + 1); + + КонецЦикла; + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "img"); + + Пока ЗаполненаСтруктураТега(Тег) <> 0 Цикл + + СимволОграниченияHref = Неопределено; + СимволОграниченияTitle = Неопределено; + Смещение = 0; + ВнешнийТегСсылки = Неопределено; + НачалоTitle = 0; + КонецTitle = 0; + + Если Не ПозицияНаходитсяВТеге(ТекстHTML, "a", Тег.ПозицияНачалаТега, ВнешнийТегСсылки) Тогда + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "img", Тег.ПозицияОкончанияТега + Смещение + 1); + Продолжить; + КонецЕсли; + + ТекстHref = ПолучитьЗначениеПараметраТега(ВнешнийТегСсылки, "href", СимволОграниченияHref); + Если ТекстHref = Неопределено Тогда + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "img", Тег.ПозицияОкончанияТега + Смещение + 1); + Продолжить; + КонецЕсли; + + ТекстTitle = ПолучитьЗначениеПараметраТега(Тег, "title", СимволОграниченияTitle, НачалоTitle, КонецTitle); + Если ТекстTitle = Неопределено Тогда + + ТекстTitle = СтрШаблон( + "title=%1%2%1", СимволОграниченияHref, ТекстHref); + + Смещение = Смещение + СтрДлина(ТекстTitle) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%3 %2>", Тег.НазваниеЭлемента, ТекстTitle, Тег.ПараметрыОткрывающегоТега); + + ИначеЕсли СтрНайти(ТекстTitle, ТекстHref) = 0 Тогда + + ТекстДоTitle = Лев(Тег.ПараметрыОткрывающегоТега, НачалоTitle - 1); + ТекстПослеTitle = Сред(Тег.ПараметрыОткрывающегоТега, КонецTitle + 1); + + Если СимволОграниченияTitle <> СимволОграниченияHref Тогда + + Если СимволОграниченияTitle = """" Тогда + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + + ИначеЕсли СимволОграниченияTitle = "'" Тогда + ТекстHref = СтрЗаменить(ТекстHref, "'", """"); + + ИначеЕсли СимволОграниченияTitle = "" Тогда + + ТекстTitle = СтрЗаменить(ТекстHref, """", "'"); + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + СимволОграниченияTitle = """"; + + КонецЕсли; + + КонецЕсли; + + ТекстTitle = СтрШаблон( + "title=%1%2%3%1", СимволОграниченияTitle, ТекстTitle, Символы.ПС + ТекстHref); + + Смещение = Смещение + СтрДлина(ТекстHref) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%2%3%4>", Тег.НазваниеЭлемента, ТекстДоTitle, ТекстTitle, ТекстПослеTitle); + + Иначе + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "img", Тег.ПозицияОкончанияТега + Смещение + 1); + Продолжить; + + КонецЕсли; + + ТекстHTML = + Лев(ТекстHTML, Тег.ПозицияНачалаОткрывающегоТега - 1) + + НовыйОткрывающийТег + + Сред(ТекстHTML, Тег.ПозицияОкончанияОткрывающегоТега + 1); + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "img", Тег.ПозицияОкончанияТега + Смещение + 1); + + КонецЦикла; + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "area"); + + Пока ЗаполненаСтруктураТега(Тег) <> 0 Цикл + + СимволОграниченияHref = Неопределено; + СимволОграниченияTitle = Неопределено; + Смещение = 0; + НачалоTitle = 0; + КонецTitle = 0; + ТекстHref = ПолучитьЗначениеПараметраТега(Тег, "href", СимволОграниченияHref); + + Если ТекстHref = Неопределено Тогда + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "area", Тег.ПозицияОкончанияТега + 1); + Продолжить; + КонецЕсли; + + ТекстTitle = ПолучитьЗначениеПараметраТега(Тег, "title", СимволОграниченияTitle, НачалоTitle, КонецTitle); + + Если ТекстTitle = Неопределено Тогда + + ТекстTitle = СтрШаблон( + "title=%1%2%1", СимволОграниченияHref, ТекстHref); + + Смещение = Смещение + СтрДлина(ТекстTitle) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%3 %2>", Тег.НазваниеЭлемента, ТекстTitle, Тег.ПараметрыОткрывающегоТега); + + ИначеЕсли СтрНайти(ТекстTitle, ТекстHref) = 0 Тогда + + ТекстДоTitle = Лев(Тег.ПараметрыОткрывающегоТега, НачалоTitle - 1); + ТекстПослеTitle = Сред(Тег.ПараметрыОткрывающегоТега, КонецTitle + 1); + + Если СимволОграниченияTitle <> СимволОграниченияHref Тогда + + Если СимволОграниченияTitle = """" Тогда + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + + ИначеЕсли СимволОграниченияTitle = "'" Тогда + ТекстHref = СтрЗаменить(ТекстHref, "'", """"); + + ИначеЕсли СимволОграниченияTitle = "" Тогда + + ТекстTitle = СтрЗаменить(ТекстTitle, """", "'"); + ТекстHref = СтрЗаменить(ТекстHref, """", "'"); + СимволОграниченияTitle = """"; + + КонецЕсли; + + КонецЕсли; + + ТекстTitle = СтрШаблон( + "title=%1%2%3%1", СимволОграниченияTitle, ТекстTitle, Символы.ПС + ТекстHref); + + Смещение = Смещение + СтрДлина(ТекстHref) + 1; + + НовыйОткрывающийТег = СтрШаблон( + "<%1%2%3%4>", Тег.НазваниеЭлемента, ТекстДоTitle, ТекстTitle, ТекстПослеTitle); + + Иначе + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "area", Тег.ПозицияОкончанияТега + Смещение + 1); + Продолжить; + + КонецЕсли; + + ТекстHTML = + Лев(ТекстHTML, Тег.ПозицияНачалаОткрывающегоТега - 1) + + НовыйОткрывающийТег + + Сред(ТекстHTML, Тег.ПозицияОкончанияОткрывающегоТега + 1); + + Тег = ПолучитьТегВТекстеHTML(ТекстHTML, "area", Тег.ПозицияОкончанияТега + Смещение + 1); + + КонецЦикла; + +КонецПроцедуры + +// Возвращает значение свойства параметра тега +Функция ПолучитьЗначениеПараметраТега(Тег, Параметр, + СимволОграничения = Неопределено, НачалоПараметра = Неопределено, КонецПараметра = Неопределено) + + Если Не ЗаполненаСтруктураТега(Тег) Тогда + Возврат Неопределено; + КонецЕсли; + + ПараметрыДляПоиска = НРег(Тег.ПараметрыОткрывающегоТега); + ПараметрДляПоиска = НРег(Параметр); + ПозицияПараметра = СтрНайти(ПараметрыДляПоиска, ПараметрДляПоиска); + + Если ПозицияПараметра = 0 Тогда + Возврат Неопределено; + КонецЕсли; + + НачалоПараметра = СтрНайти(ПараметрыДляПоиска, ПараметрДляПоиска + "="""); + Если НачалоПараметра <> 0 Тогда + СимволОграничения = """"; + Иначе + НачалоПараметра = СтрНайти(ПараметрыДляПоиска, ПараметрДляПоиска + "='"); + Если НачалоПараметра <> 0 Тогда + СимволОграничения = "'"; + Иначе + НачалоПараметра = СтрНайти(ПараметрыДляПоиска, ПараметрДляПоиска + "="); + Если НачалоПараметра <> 0 Тогда + СимволОграничения = ""; + КонецЕсли; + КонецЕсли; + КонецЕсли; + + Если НачалоПараметра = 0 Тогда + Возврат Неопределено; + КонецЕсли; + + Если СимволОграничения = "" Тогда + + ЗакрывающийСимволОграничения = " "; + КонецПараметра = СтрНайти(ПараметрыДляПоиска, ЗакрывающийСимволОграничения,, + НачалоПараметра + СтрДлина(ПараметрДляПоиска + "=" + СимволОграничения)); + + Если КонецПараметра = 0 Тогда + + ЗакрывающийСимволОграничения = Символы.ПС; + КонецПараметра = СтрНайти(ПараметрыДляПоиска, ЗакрывающийСимволОграничения,, + НачалоПараметра + СтрДлина(ПараметрДляПоиска + "=" + СимволОграничения)); + + Если КонецПараметра = 0 Тогда + КонецПараметра = СтрДлина(ПараметрыДляПоиска) + 1; + КонецЕсли; + + КонецЕсли; + + Иначе + + КонецПараметра = СтрНайти(ПараметрыДляПоиска, СимволОграничения,, + НачалоПараметра + СтрДлина(ПараметрДляПоиска + "=" + СимволОграничения)); + + Если КонецПараметра = 0 Тогда + Возврат Неопределено; + КонецЕсли; + + КонецЕсли; + + Если КонецПараметра = 0 Тогда + Возврат Неопределено; + КонецЕсли; + + ЗначениеПараметраТега = Сред(Тег.ПараметрыОткрывающегоТега, НачалоПараметра + СтрДлина(Параметр + "=" + СимволОграничения), + КонецПараметра - (НачалоПараметра + СтрДлина(Параметр + "=" + СимволОграничения))); + + Возврат ЗначениеПараметраТега; + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..cc605e3 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСПротоколомСобытийВызовСервера + + + ru + Работа с протоколом событий вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..afda134 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,176 @@ + +#Область ПрограммныйИнтерфейс + +// Добавляет запись протокола с видом "предупреждение" для конкретного объекта. +// +// Параметры: +// Описание - Строка - Описание произошедшего события. +// ТипОбъекта - Строка - Тип объекта, для которого добавляется запись. +// ИдентификаторОбъекта - УникальныйИдентификатор - идентификатор объекта, для которого +// добавляется запись. +// +// Возвращаемое значение: +// МоментВремени - Момент времени, в который добавлена запись протокола. +// +Функция ДобавитьИнформациюПоОбъекту(Описание, ТипОбъекта, ИдентификаторОбъекта) Экспорт + + Возврат РегистрыСведений.ПротоколСобытий.ДобавитьИнформациюПоОбъекту( + Описание, + ТипОбъекта, + ИдентификаторОбъекта); + +КонецФункции + +// Добавляет запись протокола с видом "информация". +// +// Параметры: +// Описание - Строка - Описание произошедшего события. +// +// Возвращаемое значение: +// МоментВремени - Момент времени, в который добавлена запись протокола. +// +Функция ДобавитьИнформацию(Описание) Экспорт + + Возврат РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию(Описание); + +КонецФункции + +// Добавляет запись протокола с видом "ошибка". +// +// Параметры: +// Описание - Строка - Описание произошедшего события. +// +// Возвращаемое значение: +// МоментВремени - Момент времени, в который добавлена запись протокола. +// +Функция ДобавитьОшибку(Описание) Экспорт + + МоментВремени = РегистрыСведений.ПротоколСобытий.ДобавитьОшибку(Описание); + + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации(МоментВремени, Истина); + + Возврат МоментВремени; + +КонецФункции + +// Добавляет запись протокола с видом "предупреждение". +// +// Параметры: +// Описание - Строка - Описание произошедшего события. +// +// Возвращаемое значение: +// МоментВремени - Момент времени, в который добавлена запись протокола. +// +Функция ДобавитьПредупреждение(Описание) Экспорт + + Возврат РегистрыСведений.ПротоколСобытий.ДобавитьПредупреждение(Описание); + +КонецФункции + +// Формирует текст протокола по указанным параметрам. +// +// Параметры: +// Период - Число - Количество секунд назад от текущей даты . +// ТолькоОшибки - Булево - Включить в выборку только ошибки. +// +// Возвращаемое значение: +// Строка - Сформированный по указанным параметрам текст протокола. +// +Функция ПолучитьТекстПротокола(Период = Неопределено, ТолькоОшибки = Ложь) Экспорт + + Если Период = Неопределено Тогда + + // По-умолчанию за последнюю неделю + Период = 7*24*60*60; + + КонецЕсли; + + Текст = ""; + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(ТекущаяДата() - Период,,, "МоментВремени Убыв"); + Пока Выборка.Следующий() Цикл + + Если ТолькоОшибки И Не Выборка.ТипСобытия = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + Продолжить; + КонецЕсли; + + НомерСессии = ""; + Если Не Выборка.СессияСинхронизации = 0 Тогда + НомерСессии = "("+Выборка.СессияСинхронизации+")"; + КонецЕсли; + + Текст = Текст + + СтрШаблон( + "%1 %2 + |%3 + | ", + Выборка.Период, НомерСессии, Выборка.Описание) + + "__________________" + Символы.ПС; + + КонецЦикла; + + Возврат Текст; + +КонецФункции + +// Устанавливает признак необходимости показа сообщения в окне ошибок после +// окончания обмена с сервером. +// +// Параметры: +// МоментВремени - Число - Момент, когда произошла ошибка. +// +Процедура УстановитьПризнакПоказаСобытияПослеСинхронизации(МоментВремени) Экспорт + + РегистрыСведений.ПротоколСобытий.УстановитьНеобходимостьОтображенияПослеСинхронизации(МоментВремени, Истина); + +КонецПроцедуры + +// Записывает информацию в протокол если включено расширенное протоколирование. +// +// Параметры: +// СсылкаНаОбъект - Ссылка, Строка - Ссылка на объект или уникальный идентификатор объекта; +// Информация - Строка - Описание события. +// +Процедура ДобавитьЗаписьРасширенногоПротокола(СсылкаНаОбъект, Информация) Экспорт + + Если Не ОбменВызовСервераПовтИсп.ИспользоватьРасширенноеПротоколированиеОпераций() Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда + Возврат; + КонецЕсли; + + ТипОбъекта = ТипЗнч(СсылкаНаОбъект); + + Если ТипОбъекта = Тип("Строка") + Или ТипОбъекта = Тип("УникальныйИдентификатор") Тогда + РегистрыСведений.ПротоколСобытий.ДобавитьИнформациюПоОбъекту(Информация, "", СсылкаНаОбъект); + + ИначеЕсли ТипОбъекта = Тип("ДокументСсылка.ВходящееПисьмо") + Или ТипОбъекта = Тип("ДокументСсылка.ИсходящееПисьмо") + Или ТипОбъекта = Тип("СправочникСсылка.АдресатыПочтовыхСообщений") + Или ТипОбъекта = Тип("СправочникСсылка.ВеткиПереписки") + Или ТипОбъекта = Тип("СправочникСсылка.ГруппыЗадач") + Или ТипОбъекта = Тип("СправочникСсылка.ГруппыИсполнений") + Или ТипОбъекта = Тип("СправочникСсылка.Задачи") + Или ТипОбъекта = Тип("СправочникСсылка.ЗаписиРабочегоКалендаря") + Или ТипОбъекта = Тип("СправочникСсылка.Контроль") + Или ТипОбъекта = Тип("СправочникСсылка.ПапкиПисем") + Или ТипОбъекта = Тип("СправочникСсылка.Пользователи") + Или ТипОбъекта = Тип("СправочникСсылка.ПредметыПроцессов") + Или ТипОбъекта = Тип("СправочникСсылка.ПроцессыИсполнение") + Или ТипОбъекта = Тип("СправочникСсылка.РолиИсполнителей") + Или ТипОбъекта = Тип("СправочникСсылка.УчетныеЗаписи") + Или ТипОбъекта = Тип("СправочникСсылка.Файлы") + Или ТипОбъекта = Тип("СправочникСсылка.ШаблоныТекстовПисем") Тогда + РегистрыСведений.ПротоколСобытий.ДобавитьИнформациюПоОбъекту(Информация, + Строка(ТипОбъекта), СсылкаНаОбъект.УникальныйИдентификатор()); + + Иначе + РегистрыСведений.ПротоколСобытий.ДобавитьИнформациюПоОбъекту(Информация, "", ""); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..765d570 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСПротоколомСобытийСервер + + + ru + Работа с протоколом событий сервер + + + + false + false + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..64ef3e3 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\276\320\274\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,18 @@ + +#Область ПрограммныйИнтерфейс + +// Возвращает признак наличия ошибок произошедших во время обмена с сервером. +// +// Параметры: +// НомерСессии - Число - Номер текущей сессии обмена. +// +// Возвращаемое значение: +// Истина - если во время синхронизации произошли ошибки. +// +Функция ЕстьОшибкиВСессииОбмена(НомерСессии = Неопределено) Экспорт + + Возврат РегистрыСведений.ПротоколСобытий.ЕстьОшибкиВСессииОбмена(НомерСессии); + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..b2047a5 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСФайламиИПредметамиКлиент + + + ru + Работа с файлами и предметами клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..c1a007c --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\237\321\200\320\265\320\264\320\274\320\265\321\202\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,420 @@ + +#Область ПрограммныйИнтерфейс + +// Выполняет получение файла с сервера загруженного по ссылке. +// +// Параметры: +// Представление - Строка - Представление файла; +// СсылкаНаФайл - СправочникСсылка.Файлы - Ссылка на файл. +// +// Возвращаемое значение: +// Булево - Признак удачного окончания операции. +// +Функция ЗагрузитьФайлССервера(Представление, СсылкаНаФайл) Экспорт + + Результат = Ложь; + + ОбменВызовСервера.ОтправитьИПолучитьДанные(ТекущаяДата(), "ЗагрузитьФайлССервера", Ложь, СсылкаНаФайл); + + Если ОбменКлиент.НайтиИПоказатьОшибкиПриСинхронизации() Тогда + Представление = Строка(СсылкаНаФайл); + + Иначе + Результат = Истина; + + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Начинает процедуру обработки выбора вложения в форме. +// +// Параметры: +// ЭтаФорма - Форма - Формы в которой произошел вызов; +// ТекущиеДанные - СтрокаДереваЗначений - Выбранная строка дерева вложений; +// СтандартнаяОбработка - Булево - Признак стандартной обработки. +// ИспользоватьОбработчикФормы - Булево - Признак использования обработчика из формы. +// +Процедура ОбработатьВыборСтрокиВДеревеВложений(ЭтаФорма, ТекущиеДанные, + СтандартнаяОбработка, ИспользоватьОбработчикФормы = Ложь) ЭКспорт + + СтандартнаяОбработка = Ложь; + + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ВходящееПисьмо") + Или ТипЗнч(ТекущиеДанные.Ссылка) = Тип("ДокументСсылка.ИсходящееПисьмо") Тогда + ПоказатьЗначение(,ТекущиеДанные.Ссылка); + Возврат; + КонецЕсли; + + Если ТекущиеДанные.ТолькоЗаголовок Тогда + ЗадатьВопросОЗагрузкеФайла( + ТекущиеДанные, ЭтаФорма, ИспользоватьОбработчикФормы); + + Иначе + ОткрытьФайлНаКлиенте(ТекущиеДанные); + + КонецЕсли; + +КонецПроцедуры + +// Выполняет получение мультимедиа данных от устройства. +// +// Параметры: +// ТипДанных - Строка- Идентификатор данных: "Фото", "Видео" или "Аудио". +// +// Возвращаемое значение: +// ДанныеМультимедиа или Строка - Полученные данные мультимедиа. +// +Функция ПолучитьМультимедиаДанные(ТипДанных) Экспорт + + Снимок = Неопределено; + + #Если МобильноеПриложениеКлиент Тогда + + Если ТипДанных = "Фото" + И СредстваМультимедиа.ПоддерживаетсяФотоснимок() Тогда + Снимок = СредстваМультимедиа.СделатьФотоснимок(); + + ИначеЕсли ТипДанных = "Видео" + И СредстваМультимедиа.ПоддерживаетсяВидеозапись() Тогда + Снимок = СредстваМультимедиа.СделатьВидеозапись(); + + ИначеЕсли ТипДанных = "Аудио" + И СредстваМультимедиа.ПоддерживаетсяАудиозапись() Тогда + Снимок = СредстваМультимедиа.СделатьАудиозапись(); + + КонецЕсли; + + #Иначе + + ФильтрДиалога = НСтр("ru = 'Все файлы'; en = 'All files'") + "(*.*)|*.*"; + ЗаголовокДиалога = НСтр("ru = 'Выберите файл'; en = 'Choose the file'"); + + ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ДиалогВыбораФайла.Заголовок = ЗаголовокДиалога; + ДиалогВыбораФайла.ПолноеИмяФайла = ""; + ДиалогВыбораФайла.Фильтр = ФильтрДиалога; + ДиалогВыбораФайла.МножественныйВыбор = Ложь; + + Если ДиалогВыбораФайла.Выбрать() Тогда + Снимок = ДиалогВыбораФайла.ПолноеИмяФайла; + КонецЕсли; + + #КонецЕсли + + Возврат Снимок; + +КонецФункции + +// Возвращает структуру описание файла мультимедиа. +// +// Параметры: +// Мультимедиа - ДанныеМультимедиа, Строка - Сведения о файле. +// +// Возвращаемое значение: +// Структура - Описание параметров файла мультимедиа. +// * Ссылка - УникальныйИдентификатор - Идентификатор нового файла; +// * АдресВременногоФайла - Строка - Путь к файлу на диске; +// * Тип - Строка - Тип файла (расширение); +// * Размер - Строка - Представление размера файла; +// * ИндексКартинки - Число - Индекс картинки в коллекции КоллекцияСтрокПиктограммФайлов; +// * Представление - Строка - Представление файла (имя). +// +Функция ПолучитьПараметрыФайла(Мультимедиа) Экспорт + + Если Мультимедиа = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Если ТипЗнч(Мультимедиа) = Тип("Строка") Тогда + + Файл = Новый Файл(Мультимедиа); + Если Не Файл.Существует() Тогда + Возврат Неопределено; + КонецЕсли; + + Расширение = Сред(Файл.Расширение, 2); + РазмерДанных = Файл.Размер(); + ИмяВременногоФайла = Мультимедиа; + + Иначе + + Расширение = Мультимедиа.РасширениеФайла; + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); + + ДвоичныеДанные = Мультимедиа.ПолучитьДвоичныеДанные(); + ДвоичныеДанные.Записать(ИмяВременногоФайла); + + РазмерДанных = ДвоичныеДанные.Размер(); + + КонецЕсли; + + РазмерФайла = Формат(РазмерДанных / 1024, "ЧЦ=15; ЧГ=" ) + " кб"; + Наименование = Формат(ТекущаяДата(), "ДФ=yyyyMMddHHmmss") + "." + Расширение; + + ВозвращаемоеЗначение = Новый Структура(); + ВозвращаемоеЗначение.Вставить("Ссылка", Новый УникальныйИдентификатор()); + ВозвращаемоеЗначение.Вставить("Представление", Наименование); + ВозвращаемоеЗначение.Вставить("Тип", Расширение); + ВозвращаемоеЗначение.Вставить("Размер", РазмерФайла); + ВозвращаемоеЗначение.Вставить("АдресВременногоФайла", ИмяВременногоФайла); + ВозвращаемоеЗначение.Вставить("ИндексКартинки", + ОбщегоНазначенияКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение)); + + Возврат ВозвращаемоеЗначение; + +КонецФункции + +// Открывает предмет. +// +// Параметры: +// ЭтаФорма - Форма - Форма, откуда произошел вызов; +// СтандартнаяОбработка - Булево - Признак стандартной обработки в форме; +// Предмет - СправочникСсылка.Файлы - Ссылка на файл; +// ИспользоватьОбработчикФормы - Булево - Признак использования обработчика из формы. +// +Процедура ОткрытьПредмет(ЭтаФорма, СтандартнаяОбработка, Предмет, ИспользоватьОбработчикФормы = Ложь) Экспорт + + СтандартнаяОбработка = Ложь; + + ПараметрыОткрытия = Новый Структура("Ключ", Предмет); + + Если ТипЗнч(Предмет) = Тип("ДокументСсылка.ВходящееПисьмо") Тогда + + ОткрытьФорму("Документ.ВходящееПисьмо.Форма.ФормаВходящего", + ПараметрыОткрытия, ЭтаФорма,,,,, + РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + + ИначеЕсли ТипЗнч(Предмет) = Тип("ДокументСсылка.ИсходящееПисьмо") Тогда + + ОткрытьФорму("Документ.ИсходящееПисьмо.Форма.ФормаИсходящего", + ПараметрыОткрытия, ЭтаФорма,,,,, + РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + + ИначеЕсли ТипЗнч(Предмет) = Тип("СправочникСсылка.Задачи") Тогда + + ОткрытьФорму("Справочник.Задачи.Форма.ФормаЗадачиТелефон", + ПараметрыОткрытия, ЭтаФорма,,,,, + РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + + ИначеЕсли ТипЗнч(Предмет) = Тип("СправочникСсылка.ПроцессыИсполнение") Тогда + + ОткрытьФорму("Справочник.ПроцессыИсполнение.Форма.ФормаПроцессаТелефон", + ПараметрыОткрытия, ЭтаФорма,,,,, + РежимОткрытияОкнаФормы.БлокироватьОкноВладельца); + + ИначеЕсли ТипЗнч(Предмет) = Тип("СправочникСсылка.ПредметыПроцессов") Тогда + + ТекущиеДанные = + ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта( + Предмет, "Ссылка"); + + ОткрытьФайлНаКлиенте(ТекущиеДанные); + + ИначеЕсли ТипЗнч(Предмет) = Тип("СправочникСсылка.Файлы") Тогда + + ТекущиеДанные = + ОбщегоНазначенияВызовСервера.ЗначенияРеквизитовОбъекта( + Предмет, "ТолькоЗаголовок, Представление, Размер, Ссылка"); + + Если ТекущиеДанные.ТолькоЗаголовок Тогда + ЗадатьВопросОЗагрузкеФайла(ТекущиеДанные, ЭтаФорма, ИспользоватьОбработчикФормы); + + Иначе + ОткрытьФайлНаКлиенте(ТекущиеДанные); + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +// Показывает содержимое файла на устройстве. +// +// Параметры: +// ИмяФайла - Строка - Имя запускаемого файла. +// +Процедура ЗапуститьПриложениеПоИмениФайла(ИмяФайла) Экспорт + + Файл = Новый Файл(ИмяФайла); + + Если ВРег(Файл.Расширение) = ".MXL" Тогда + + ТабличныйДокумент = ОбщегоНазначенияВызовСервера.ПолучитьТабличныйДокументИзФайлаНаСервере(ИмяФайла); + ТабличныйДокумент.Показать(Файл.Имя); + + Возврат; + + ИначеЕсли ЗначениеЗаполнено(ИмяФайла) Тогда + + ЗапуститьПриложение(ИмяФайла); + + Возврат; + + КонецЕсли; + +КонецПроцедуры + +// Задает вопрос о загрузке файла. +// +// Параметры: +// ТекущиеДанные - ДанныеФормыЭлементКоллекции - текущие данные строки дерева вложений. +// ЭтаФорма - Форма - Форма в которой будет осуществлен вызов; +// ИспользоватьОбработчикФормы - Булево - Признак использования обработчика из формы. +// +Процедура ЗадатьВопросОЗагрузкеФайла(ТекущиеДанные, ЭтаФорма, ИспользоватьОбработчикФормы = Ложь) Экспорт + + Если НЕ ТекущиеДанные.ТолькоЗаголовок Тогда + Возврат; + КонецЕсли; + + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("ТекущиеДанные", ТекущиеДанные); + ДопПараметры.Вставить("ЭтаФорма", ЭтаФорма); + + ОбработчикВыбораПользователя = + ПолучитьОбработчикРешенияОЗагрузке(ЭтаФорма, ДопПараметры, ИспользоватьОбработчикФормы); + + ЗаголовокВопроса = ПолучитьТекстЗаголовкаВопросаОЗагрузкеФайла(); + ТекстВопроса = ПолучитьТекстВопросаОЗагрузкеФайла(ТекущиеДанные); + ВариантыВыбора = ПолучитьКнопкиВариантовЗагрузкиФайла(); + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + ВариантПоУмолчанию, ЗаголовокВопроса, ); + +КонецПроцедуры + +// Начинает загрузку файла если пользователь согласился его загрузить. +// +// Параметры: +// ОтветПользователя - КодВозвратаДиалога - Решение пользователя о загрузке файла; +// ДопПараметры - Произвольный - Доп параметры вызова метода. +// +Процедура ОбработатьРешениеВопросЗагрузкаФайла(ОтветПользователя, ДопПараметры) Экспорт + + Если ОтветПользователя = КодВозвратаДиалога.Таймаут + Или ОтветПользователя = КодВозвратаДиалога.Нет Тогда + Возврат; + КонецЕсли; + + ЭтаФорма = ДопПараметры.ЭтаФорма; + + ДопПараметры.ТекущиеДанные.Представление = + УстановитьПредставлениеТекущейСтрокиПриЗагрузке( + ДопПараметры.ТекущиеДанные.Ссылка); + + ЭтаФорма.ПодключитьОбработчикОжидания("ЗагрузитьИОткрытьТекущееВложение", 0.2, Истина); + +КонецПроцедуры + +// Выполняет открытие файла на устройстве. +// +// Параметры: +// ТекущиеДанные - ДанныеФормыЭлементКоллекции - текущие данные строки дерева вложений. +// +Процедура ОткрытьФайлНаКлиенте(ТекущиеДанные) Экспорт + + Вложение = ТекущиеДанные.Ссылка; + ИмяФайла = ОбщегоНазначенияВызовСервера.ПолучитьИмяВременногоФайлаДляВложения(Вложение); + + ЗапуститьПриложениеПоИмениФайла(ИмяФайла); + +КонецПроцедуры + +// Функция - Установить представление текущей строки при загрузке. +// +// Параметры: +// Ссылка - Ссылка - Ссылка на загружаемый файл или предмет. +// +// Возвращаемое значение: +// Строка - представление файла во время загрузки с сервера. +// +Функция УстановитьПредставлениеТекущейСтрокиПриЗагрузке(Ссылка) Экспорт + + Возврат СтрШаблон("%1 %2", + Строка(Ссылка), + НСтр("ru = '(загрузка...)'; en = '(downloading...)'")); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Получает кнопки вариантов загрузки файла. +// +// Возвращаемое значение: +// СписокЗначений - список вариантов для вопроса о загрузке файла. +// +Функция ПолучитьКнопкиВариантовЗагрузкиФайла() + + ВариантыВыбора = Новый СписокЗначений; + + ВариантыВыбора.Добавить(КодВозвратаДиалога.Да , + НСтр("ru = 'Загрузить'; en = 'Download'")); + + ВариантыВыбора.Добавить(КодВозвратаДиалога.Нет, + НСтр("ru = 'Не загружать'; en = 'Cancel'")); + + Возврат ВариантыВыбора; + +КонецФункции + +// Получить текст заголовка вопроса о загрузке файла. +// +// Возвращаемое значение: +// Строка - Текст заголовка к вопросу о загрузке файла. +// +Функция ПолучитьТекстЗаголовкаВопросаОЗагрузкеФайла() + + Возврат НСтр("ru = 'Загрузка файла'; en = 'Downloading file'"); + +КонецФункции + +// Получить текст вопроса о загрузке файла. +// +// Параметры: +// ТекущиеДанные - ДанныеФормыЭлементКоллекции - текущие данные строки дерева вложений. +// +// Возвращаемое значение: +// Строка - Текст вопроса о загрузке файла. +// +Функция ПолучитьТекстВопросаОЗагрузкеФайла(ТекущиеДанные) + + Возврат СтрШаблон( + НСтр("ru = 'Загрузить файл ""%1"" размером %2?'; + |en = 'Download the file ""%1"" with a size of ""%2""?'"), + ТекущиеДанные.Представление, + ТекущиеДанные.Размер); + +КонецФункции + +// Получает обработчик решения о загрузке. +// +// Параметры: +// Форма - Форма - Форма в которой будет вызван обработчик; +// Параметры - Произвольный - Структура доп параметров для обработчика. +// ИспользоватьОбработчикФормы - Булево - Признак использования обработчика из формы. +// +// Возвращаемое значение: +// ОписаниеОповещения - Обработчик решения о загрузке файла. +// +Функция ПолучитьОбработчикРешенияОЗагрузке(Форма, Параметры, ИспользоватьОбработчикФормы = Ложь) + + Если ИспользоватьОбработчикФормы Тогда + ТочкаОбработки = Форма; + Иначе + ТочкаОбработки = РаботаСФайламиИПредметамиКлиент; + КонецЕсли; + + Возврат Новый ОписаниеОповещения("ОбработатьРешениеВопросЗагрузкаФайла", ТочкаОбработки, Параметры); + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..7205c23 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + РаботаСоСтрокамиКлиентСервер + + + ru + Работа со строками клиент сервер + + + + false + true + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..f830fd0 --- /dev/null +++ "b/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\276\320\241\321\202\321\200\320\276\320\272\320\260\320\274\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,327 @@ + +#Область ПрограммныйИнтерфейс + +// Заменяет повторное вхождение символа на одиночное. +// +// Параметры: +// Текст - Строка - Обрабатываемый текст; +// Символ - Строка - Исключаемый символ. +// +// Возвращаемое значение: +// Строка - обработанный текст. +// +Функция СократитьПовторноеВхождениеСимвола(Текст, Символ) Экспорт + + ВременныйТекст = Текст; + ПозицияДвойногоСимвола = СтрНайти(ВременныйТекст, Символ + Символ); + + Пока Не ПозицияДвойногоСимвола = 0 Цикл + ВременныйТекст = СтрЗаменить(ВременныйТекст, Символ + Символ, Символ); + ПозицияДвойногоСимвола = СтрНайти(ВременныйТекст, Символ + Символ); + КонецЦикла; + + Возврат ВременныйТекст; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, НСтр("ru = 'минуту,минуты,минут'")); // Вернет "23 минуты". +// ЧислоЦифрамиПредметИсчисленияПрописью(15, НСтр("ru = 'минуту,минуты,минут'")); // Вернет "15 минут". +// +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,"ЧН=0"); + + МассивПредставлений = Новый Массив; + + Позиция = СтрНайти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + + МассивПредставлений.Добавить(Значение); + + Позиция = СтрНайти(ПараметрыПредметаИсчисления, ","); + + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + " " + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + " " + МассивПредставлений[1]; + Иначе + Результат = Результат + " " + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Возвращает текстовое представление единицы измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// Пример: "минуту,минуты,минут". +// +// Возвращаемое значение: +// Строка - текстовое представление единицы измерения. +// +Функция ПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = ""; + + МассивПредставлений = Новый Массив; + + Позиция = СтрНайти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = СтрНайти(ПараметрыПредметаИсчисления, ","); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = МассивПредставлений[1]; + Иначе + Результат = МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + + +// Проверяет строку на формат адреса электронной почты. Проверка не точная, но основные элементы на месте. +// +// Параметры: +// АдресЭлектроннойПочты - Строка - Адрес электронной почты. +// +// Возвращаемое значение: +// Булево - Истина, если да. +// +Функция ЭтоАдресЭлектроннойПочты(АдресЭлектроннойПочты) Экспорт + + Поз = СтрНайти(АдресЭлектроннойПочты, "@"); + Если Поз = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Если Не СтрЧислоВхождений(АдресЭлектроннойПочты, "@") = 1 Тогда + Возврат Ложь; + КонецЕсли; + + Если СтрЗаканчиваетсяНа(АдресЭлектроннойПочты, ".") + Или СтрНачинаетсяС(АдресЭлектроннойПочты, ".") Тогда + Возврат Ложь; + КонецЕсли; + + Если СтрНайти(АдресЭлектроннойПочты, "..") > 0 Тогда + Возврат Ложь; + КонецЕсли; + + Если Не СтрокаСодержитТолькоДопустимыеСимволы(АдресЭлектроннойПочты) Тогда + Возврат Ложь; + КонецЕсли; + + Пользователь = Лев(АдресЭлектроннойПочты, Поз - 1); + Если СтрДлина(Пользователь) = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Сервер = Сред(АдресЭлектроннойПочты, Поз + 1); + Если СтрДлина(Сервер) = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Если СтрНайти(Сервер, ".") = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +// Принимает строку почтового адреса в виде "name ". +// +// Параметры: +// АдресЭлектроннойПочтыСтр - Строка - Адрес электронной почты. +// +// Возвращаемое значение: +// Результат - (Структура) +// * Адрес - Строка - addr@dom; +// * ОтображаемоеИмя - Строка - name; +// * Пользователь - Строка - addr; +// * Домен - Строка - dom. +// +Функция РазложитьПредставлениеАдресаЭлектроннойПочты(Знач АдресЭлектроннойПочтыСтр) Экспорт + + Результат = Новый Структура(); + Результат.Вставить("Адрес", ""); + Результат.Вставить("ОтображаемоеИмя", ""); + Результат.Вставить("Пользователь", ""); + Результат.Вставить("Домен", ""); + Результат.Вставить("ПолноеИмя", ""); + + АдресЭлектроннойПочтыСтр = СокрЛП(АдресЭлектроннойПочтыСтр); + + Поз = СтрНайти(АдресЭлектроннойПочтыСтр, "@"); + Если Поз = 0 Тогда + Возврат Результат; + КонецЕсли; + + СтрокаАдреса = ""; + ПозицияПервогоСимволаАдреса = 0; + ПозицияПоследнегоСимволаАдреса = 0; + + // Идем влево от @ + Для Индекс = 0 По Поз - 1 Цикл + + ИндексВСтроке = Поз - Индекс; + СтрокаАдресаПроверка = Сред(АдресЭлектроннойПочтыСтр, ИндексВСтроке, 1) + СтрокаАдреса; + + Если СтрокаСодержитТолькоДопустимыеСимволы(СтрокаАдресаПроверка) Тогда + СтрокаАдреса = СтрокаАдресаПроверка; + ПозицияПервогоСимволаАдреса = ИндексВСтроке; + Иначе + Прервать; + КонецЕсли; + + КонецЦикла; + + // Идем вправо от @ + Для ИндексВСтроке = Поз + 1 По СтрДлина(АдресЭлектроннойПочтыСтр) Цикл + + СтрокаАдресаПроверка = СтрокаАдреса + Сред(АдресЭлектроннойПочтыСтр, ИндексВСтроке, 1); + + Если СтрокаСодержитТолькоДопустимыеСимволы(СтрокаАдресаПроверка) Тогда + СтрокаАдреса = СтрокаАдресаПроверка; + ПозицияПоследнегоСимволаАдреса = ИндексВСтроке; + Иначе + Прервать; + КонецЕсли; + + КонецЦикла; + + Результат.Адрес = СтрокаАдреса; + + // Слева от адреса берем представление + Результат.ОтображаемоеИмя = Лев(АдресЭлектроннойПочтыСтр, ПозицияПервогоСимволаАдреса - 2); + Результат.ОтображаемоеИмя = СокрЛП(Результат.ОтображаемоеИмя); + + Если Не РаботаСоСтрокамиКлиентСервер.ЭтоАдресЭлектроннойПочты(Результат.Адрес) Тогда + Результат.Адрес = ""; + + Иначе + Поз = СтрНайти(Результат.Адрес, "@"); + + Результат.Пользователь = Лев(Результат.Адрес, Поз - 1); + Результат.Домен = Сред(Результат.Адрес, Поз + 1); + + КонецЕсли; + + Если ЗначениеЗаполнено(Результат.ОтображаемоеИмя) Тогда + Результат.ПолноеИмя = + СтрШаблон( + "%1 <%2>", Результат.ОтображаемоеИмя, Результат.Адрес); + Иначе + Результат.ПолноеИмя = Результат.Адрес; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Формирует текст ошибки для записи в протокол событий. +// +// Параметры: +// ОбщееОписаниеОшибки - Строка - Общая информация об ошибке; +// ПодробнаяИнформация - Строка - Подробности произошедшего; +// Уточнения - Строка - Дополнительные сведения об ошибке. +// +// Возвращаемое значение: +// Строка - Сформированный текст ошибки. +// +Функция СформироватьПредставлениеОшибки(ОбщееОписаниеОшибки, ПодробнаяИнформация, Уточнения = "") Экспорт + + Шаблон = + "ru = '%1 + | + |#Текст ошибки (для администратора):# + |%2 + | + |Дополнительные сведения: + |%3'; en = '%1 + | + |#Error details (for administrator):# + |%2 + | + |Additional data: + |%3'"; + + Возврат СтрШаблон(НСтр(Шаблон), ОбщееОписаниеОшибки, ПодробнаяИнформация, Уточнения); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция СтрокаСодержитТолькоДопустимыеСимволы(АдресЭлектроннойПочты) + + ДопустимыеСимволы = "-.0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"; + + Для НомерСимвола = 1 По СтрДлина(АдресЭлектроннойПочты) Цикл + + Если СтрНайти(ДопустимыеСимволы, Сред(АдресЭлектроннойПочты, НомерСимвола, 1)) = 0 Тогда + Возврат Ложь; + КонецЕсли; + + КонецЦикла; + + Возврат Истина; + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..5165f3c --- /dev/null +++ "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + СборСтатистикиВызовСервера + + + ru + Сбор статистики вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..7707f6e --- /dev/null +++ "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,134 @@ + +#Область ПрограммныйИнтерфейс + +// Удаляет все собранные показатели статистики +// +Процедура УдалитьВсеСобранныеПоказатели() Экспорт + + Набор = РегистрыСведений.ПоказателиСтатистики.СоздатьНаборЗаписей(); + Набор.Записать(Истина); + +КонецПроцедуры + +// Создает запись статистических данных. +// +// Параметры: +// Показатель - Строка - Имя показателя статистики. +// Значение - Строка, Число, Булево - Значение показателя. +// +Процедура ЗаписатьПоказатель(Показатель, Значение = Неопределено) Экспорт + + Запись = РегистрыСведений.ПоказателиСтатистики.СоздатьМенеджерЗаписи(); + Запись.Показатель = Показатель; + Запись.МоментВремени = ТекущаяУниверсальнаяДатаВМиллисекундах(); + + Если Не Значение = Неопределено Тогда + Запись.Значение = Значение; + КонецЕсли; + + Запись.Записать(); + +КонецПроцедуры + +// Начинает процедуру отправки данных статистики на сервер. +// +Процедура ОтправитьСтатистику() Экспорт + + ИмяФоновогоЗадания = "ОтправкаСтатистики"; + + Отбор = Новый Структура(); + Отбор.Вставить("Наименование", ИмяФоновогоЗадания); + Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); + + МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор); + Если МассивЗаданий.Количество() = 0 Тогда + + Параметры = Новый Массив(); + Параметры.Добавить(ТекущаяУниверсальнаяДатаВМиллисекундах()); + + ФоновыеЗадания.Выполнить("СборСтатистикиВызовСервера.ОтправитьСтатистикуВФоне", + Параметры, Новый УникальныйИдентификатор, ИмяФоновогоЗадания); + + КонецЕсли; + +КонецПроцедуры + +// Отправляет показатели статистики на сервер в фоне. +// +// Параметры: +// МоментВремени - Число - Граница выборки передаваемых данных. +// +Процедура ОтправитьСтатистикуВФоне(МоментВремени) Экспорт + + // Получаем данные показателей до указанной границы + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("МоментВремени", МоментВремени); + Запрос.Текст = + "ВЫБРАТЬ + | ПоказателиСтатистики.МоментВремени, + | ПоказателиСтатистики.Показатель, + | ПоказателиСтатистики.Значение + |ИЗ + | РегистрСведений.ПоказателиСтатистики КАК ПоказателиСтатистики + |ГДЕ + | ПоказателиСтатистики.МоментВремени <= &МоментВремени + | + |УПОРЯДОЧИТЬ ПО + | ПоказателиСтатистики.МоментВремени + |АВТОУПОРЯДОЧИВАНИЕ"; + + // Отправляем каждую полученную пару Показатель-Значение. + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + Попытка + + // Выполняем подключение к серверу и передачу данных. + HTTPСоединение = Новый HTTPСоединение("unf-stat1c-gpt-msk.1c.ru", 80,,,, 120); + ПутьНаСервере = + "/unf-stat1c/hs/analytics/sendstats/" + + СборСтатистикиКлиентСервер.ПолучитьИдентификаторПриложения() + "/" + + СборСтатистикиКлиентСервер.ПолучитьИдентификаторЭкземпляра() + "/" + + Выборка.Показатель; + + HTTPЗапрос = Новый HTTPЗапрос(ПутьНаСервере); + Если ЗначениеЗаполнено(Выборка.Значение) Тогда + HTTPЗапрос.УстановитьТелоИзСтроки(Выборка.Значение); + КонецЕсли; + + Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); + + // Удаляем переданную запись из регистра. + Запись = РегистрыСведений.ПоказателиСтатистики.СоздатьМенеджерЗаписи(); + + Запись.Показатель = Выборка.Показатель; + Запись.МоментВремени = Выборка.МоментВремени; + + Запись.Прочитать(); + + Если Запись.Выбран() Тогда + Запись.Удалить(); + КонецЕсли; + + Исключение + + ОбщееОписаниеОшибки = + НСтр("ru = 'Не удалось отправить данные статистики.'; en = 'Can't send statistics data.'"); + + ТекстОшибки = + РаботаСоСтрокамиКлиентСервер.СформироватьПредставлениеОшибки( + ОбщееОписаниеОшибки, ПодробноеПредставлениеОшибки(ОписаниеОшибки())); + + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ТекстОшибки); + + // В случае ошибки, прерываем передачу, чтобы не было множественных запросов с ошибками. + Прервать; + + КонецПопытки; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + diff --git "a/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..d1038c8 --- /dev/null +++ "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + СборСтатистикиКлиентСервер + + + ru + Сбор статистики клиент сервер + + + + false + true + true + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..b91dc1e --- /dev/null +++ "b/CommonModules/\320\241\320\261\320\276\321\200\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,63 @@ + +#Область ПрограммныйИнтерфейс + +// Возвращает идентификатор приложения в базе статистики. +// +// Возвращаемое значение: +// Строка - Идентификатор приложения в базе статистики. +// +Функция ПолучитьИдентификаторПриложения() Экспорт + + Возврат "135ac50a-c4d0-11e5-1598-0050569f4ccd"; + +КонецФункции + +// Возвращает идентификатор устройства (базы) для сбора статистики. +// +// Возвращаемое значение: +// Строка - Идентификатор устройства. +// +Функция ПолучитьИдентификаторЭкземпляра() Экспорт + + Возврат Строка(ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("КодУстройства")); + +КонецФункции + +// Выполняет сбор статистики для показателей которые собираются в момент старта. +// +Процедура СобратьДанныеСтатистикиПриОбновлении() Экспорт + + СисИнфо = Новый СистемнаяИнформация(); + + // записываем показатели которые должны менять только при изменении + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Окружение.ВерсияОС", СисИнфо.ВерсияОС); + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Окружение.ЯзыкСистемы", ТекущийЯзыкСистемы()); + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Окружение.ДиагональЭкрана", + ЭкранКлиентСервер.ДиагональЭкрана()); + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Приложение.ВерсияКлиента", + ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ВерсияДокументооборота")); + + Если ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ИспользоватьПароль") + И Не ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ХешПароля") = 0 Тогда + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Параметры.УстановленПароль"); + КонецЕсли; + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Параметры.Протокол", ПолучитьТипПодключения()); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьТипПодключения() + + СтрокаПодключения = ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("АдресЦентральнойБазы"); + ПозицияРазделителя = СтрНайти(СтрокаПодключения, ":"); + + Возврат НРег(Лев(СтрокаПодключения, ПозицияРазделителя - 1)); + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..cb604a8 --- /dev/null +++ "b/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + СтроковыеФункцииКлиентСервер + + + ru + Строковые функции клиент сервер + + + + false + true + true + true + true + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..c2109cc --- /dev/null +++ "b/CommonModules/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,1212 @@ +//////////////////////////////////////////////////////////////////////////////// +// Подсистема "Базовая функциональность". +// +//////////////////////////////////////////////////////////////////////////////// + +// #Область ПрограммныйИнтерфейс + +//// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +//// +//// Параметры: +//// Строка - Строка - текст с разделителями; +//// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +//// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +//// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +//// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +//// включаются в результат. +//// - если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +//// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +//// при других разделителях результатом функции будет пустой массив. +//// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +//// +//// Возвращаемое значение: +//// Массив - массив строк. +//// +//// Примеры: +//// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые +//// строки; +//// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +//// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +//// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +//// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +//// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +//// +//// Примечание: +//// В случаях, когда разделителем является строка из одного символа, и не используется параметр СокращатьНепечатаемыеСимволы, +//// рекомендуется использовать функцию платформы СтрРазделить. +//Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт +// +// Результат = Новый Массив; +// +// // Для обеспечения обратной совместимости. +// Если ПропускатьПустыеСтроки = Неопределено Тогда +// ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); +// Если ПустаяСтрока(Строка) Тогда +// Если Разделитель = " " Тогда +// Результат.Добавить(""); +// КонецЕсли; +// Возврат Результат; +// КонецЕсли; +// КонецЕсли; +// // +// +// Позиция = СтрНайти(Строка, Разделитель); +// Пока Позиция > 0 Цикл +// Подстрока = Лев(Строка, Позиция - 1); +// Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда +// Если СокращатьНепечатаемыеСимволы Тогда +// Результат.Добавить(СокрЛП(Подстрока)); +// Иначе +// Результат.Добавить(Подстрока); +// КонецЕсли; +// КонецЕсли; +// Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); +// Позиция = СтрНайти(Строка, Разделитель); +// КонецЦикла; +// +// Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда +// Если СокращатьНепечатаемыеСимволы Тогда +// Результат.Добавить(СокрЛП(Строка)); +// Иначе +// Результат.Добавить(Строка); +// КонецЕсли; +// КонецЕсли; +// +// Возврат Результат; +// +//КонецФункции + +//// Определяет, является ли символ разделителем. +//// +//// Параметры: +//// КодСимвола - Число - код проверяемого символа; +//// РазделителиСлов - Строка - символы разделителей. +//// +//// Возвращаемое значение: +//// Булево - истина, если символ является разделителем. +//// +//Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт +// +// Если РазделителиСлов <> Неопределено Тогда +// Возврат СтрНайти(РазделителиСлов, Символ(КодСимвола)) > 0; +// КонецЕсли; +// +// Диапазоны = Новый Массив; +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" +// Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" +// +// Для Каждого Диапазон Из Диапазоны Цикл +// Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда +// Возврат Ложь; +// КонецЕсли; +// КонецЦикла; +// +// Возврат Истина; +// +//КонецФункции + +//// Разбивает строку на несколько строк, используя заданный набор разделителей. +//// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +//// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +//// +//// Параметры: +//// Строка - Строка - строка, которую необходимо разложить на слова. +//// РазделителиСлов - Строка - строка, содержащая символы-разделители. +//// +//// Возвращаемое значение: +//// массив значений, элементы которого - отдельные слова. +//// +//// Пример: +//// РазложитьСтрокуВМассивСлов("один-@#два2_!три") возвратит массив значений: "один", "два2_", "три"; +//// РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_") возвратит массив значений: "один-", "два2", "три". +//// +//Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт +// +// Слова = Новый Массив; +// +// РазмерТекста = СтрДлина(Строка); +// НачалоСлова = 1; +// Для Позиция = 1 По РазмерТекста Цикл +// КодСимвола = КодСимвола(Строка, Позиция); +// Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда +// Если Позиция <> НачалоСлова Тогда +// Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); +// КонецЕсли; +// НачалоСлова = Позиция + 1; +// КонецЕсли; +// КонецЦикла; +// +// Если Позиция <> НачалоСлова Тогда +// Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); +// КонецЕсли; +// +// Возврат Слова; +// +//КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра"); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк". +// +// Примечание: +// В случаях, когда число используемых параметров в строке совпадает с числом переданных для подстановки параметров, +// рекомендуется использовать функцию платформы СтрШаблон. +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + СтрНайти(Параметр1, "%") + Или СтрНайти(Параметр2, "%") + Или СтрНайти(Параметр3, "%") + Или СтрНайти(Параметр4, "%") + Или СтрНайти(Параметр5, "%") + Или СтрНайти(Параметр6, "%") + Или СтрНайти(Параметр7, "%") + Или СтрНайти(Параметр8, "%") + Или СтрНайти(Параметр9, "%"); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +//// Подставляет параметры в строку. Число параметров в строке не ограничено. +//// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +//// начинается с единицы. +//// +//// Параметры: +//// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%1"); +//// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +//// +//// Возвращаемое значение: +//// Строка - строка с подставленными параметрами. +//// +//// Пример: +//// МассивПараметров = Новый Массив; +//// МассивПараметров = МассивПараметров.Добавить("Вася"); +//// МассивПараметров = МассивПараметров.Добавить("Зоопарк"); +//// +//// Строка = ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), МассивПараметров); +//// +//Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт +// +// СтрокаРезультата = СтрокаПодстановки; +// +// Индекс = МассивПараметров.Количество(); +// Пока Индекс > 0 Цикл +// Значение = МассивПараметров[Индекс-1]; +// Если Не ПустаяСтрока(Значение) Тогда +// СтрокаРезультата = СтрЗаменить(СтрокаРезультата, "%" + Формат(Индекс, "ЧГ="), Значение); +// КонецЕсли; +// Индекс = Индекс - 1; +// КонецЦикла; +// +// Возврат СтрокаРезультата; +// +//КонецФункции + +//// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +//// скобками. +//// +//// Параметры: +//// +//// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +//// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +//// значение - вставляемое значение. +//// +//// Возвращаемое значение: +//// Строка - строка со вставленными значениями. +//// +//// Пример использования: +//// ВставитьПараметрыВСтроку("Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); +//// Возвращает: "Здравствуй, Вася Пупкин". +//Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт +// Результат = ШаблонСтроки; +// Для Каждого Параметр Из ВставляемыеЗначения Цикл +// Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Параметр.Значение); +// КонецЦикла; +// Возврат Результат; +//КонецФункции + +//// Получает значения параметров из строки. +//// +//// Параметры: +//// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +//// фрагмент вида <Имя параметра>=<Значение>, где: +//// Имя параметра - имя параметра; +//// Значение - его значение. +//// Фрагменты отделяются друг от друга символами ';'. +//// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +//// кавычки ("). +//// Например: +//// "File=""c:\InfoBases\Trade""; Usr=""Director"";" +//// Разделитель - Строка - символ, которым фрагменты отделяются друг от друга. +//// +//// Возвращаемое значение: +//// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +//// +//Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров, Знач Разделитель = ";") Экспорт +// Результат = Новый Структура; +// +// ОписаниеПараметра = ""; +// НайденоНачалоСтроки = Ложь; +// НомерПоследнегоСимвола = СтрДлина(СтрокаПараметров); +// Для НомерСимвола = 1 По НомерПоследнегоСимвола Цикл +// Символ =Сред(СтрокаПараметров, НомерСимвола, 1); +// Если Символ = """" Тогда +// НайденоНачалоСтроки = Не НайденоНачалоСтроки; +// КонецЕсли; +// Если Символ <> Разделитель Или НайденоНачалоСтроки Тогда +// ОписаниеПараметра = ОписаниеПараметра + Символ; +// КонецЕсли; +// Если Символ = Разделитель И Не НайденоНачалоСтроки Или НомерСимвола = НомерПоследнегоСимвола Тогда +// Позиция = СтрНайти(ОписаниеПараметра, "="); +// Если Позиция > 0 Тогда +// ИмяПараметра = СокрЛП(Лев(ОписаниеПараметра, Позиция - 1)); +// ЗначениеПараметра = СокрЛП(Сред(ОписаниеПараметра, Позиция + 1)); +// ЗначениеПараметра = СократитьДвойныеКавычки(ЗначениеПараметра); +// Результат.Вставить(ИмяПараметра, ЗначениеПараметра); +// КонецЕсли; +// ОписаниеПараметра = ""; +// КонецЕсли; +// КонецЦикла; +// +// Возврат Результат; +//КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", ""); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = "0" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")) = 0; + +КонецФункции + +////// Проверяет, содержит ли строка только символы кириллического алфавита. +////// +////// Параметры: +////// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +////// ДопустимыеСимволы - строка для проверки. +////// +////// Возвращаемое значение: +////// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +////// Ложь, если строка содержит иные символы. +////// +////Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт +//// +//// Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда +//// Возврат Ложь; +//// КонецЕсли; +//// +//// Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда +//// Возврат Истина; +//// КонецЕсли; +//// +//// КодыДопустимыхСимволов = Новый Массив; +//// КодыДопустимыхСимволов.Добавить(1105); // "ё" +//// КодыДопустимыхСимволов.Добавить(1025); // "Ё" +//// +//// Для Индекс = 1 По СтрДлина(ДопустимыеСимволы) Цикл +//// КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, Индекс, 1))); +//// КонецЦикла; +//// +//// Для Индекс = 1 По СтрДлина(СтрокаПроверки) Цикл +//// КодСимвола = КодСимвола(Сред(СтрокаПроверки, Индекс, 1)); +//// Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) +//// И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) +//// И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда +//// Возврат Ложь; +//// КонецЕсли; +//// КонецЦикла; +//// +//// Возврат Истина; +//// +////КонецФункции + +////// Проверяет, содержит ли строка только символы латинского алфавита. +////// +////// Параметры: +////// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +////// ДопустимыеСимволы - строка для проверки. +////// +////// Возвращаемое значение: +////// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +////// - Ложь, если строка содержит иные символы. +////// +////Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт +//// +//// Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда +//// Возврат Ложь; +//// КонецЕсли; +//// +//// Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда +//// Возврат Истина; +//// КонецЕсли; +//// +//// КодыДопустимыхСимволов = Новый Массив; +//// +//// Для Индекс = 1 По СтрДлина(ДопустимыеСимволы) Цикл +//// КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, Индекс, 1))); +//// КонецЦикла; +//// +//// Для Индекс = 1 По СтрДлина(СтрокаПроверки) Цикл +//// КодСимвола = КодСимвола(Сред(СтрокаПроверки, Индекс, 1)); +//// Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) +//// И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) +//// И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда +//// Возврат Ложь; +//// КонецЕсли; +//// КонецЦикла; +//// +//// Возврат Истина; +//// +////КонецФункции + +////// Удаляет двойные кавычки с начала и конца строки, если они есть. +////// +////// Параметры: +////// Строка - входная строка; +////// +////// Возвращаемое значение: +////// Строка - строка без двойных кавычек. +////// +////Функция СократитьДвойныеКавычки(Знач Строка) Экспорт +//// +//// Пока СтрНачинаетсяС(Строка, """") Цикл +//// Строка = Сред(Строка, 2); +//// КонецЦикла; +//// +//// Пока СтрЗаканчиваетсяНа(Строка, """") Цикл +//// Строка = Лев(Строка, СтрДлина(Строка) - 1); +//// КонецЦикла; +//// +//// Возврат Строка; +//// +////КонецФункции + +////// Удаляет из строки указанное количество символов справа. +////// +////// Параметры: +////// Текст - Строка - строка, в которой необходимо удалить последние символы; +////// ЧислоСимволов - Число - количество удаляемых символов. +////// +////Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт +//// +//// Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); +//// +////КонецПроцедуры + +////// Проверяет, является ли строка уникальным идентификатором. +////// В качестве уникального идентификатора предполагается строка вида +////// "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где X = [0..9,a..f]. +////// +////// Параметры: +////// ИдентификаторСтрока - Строка - проверяемая строка. +////// +////// Возвращаемое значение: +////// Булево - Истина, если переданная строка является уникальным идентификатором. +////Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт +//// +//// Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; +//// +//// Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда +//// Возврат Ложь; +//// КонецЕсли; +//// Для Позиция = 1 По СтрДлина(Строка) Цикл +//// Если КодСимвола(Шаблон, Позиция) = 88 // X +//// И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 +//// И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f +//// И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F +//// Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - +//// Возврат Ложь; +//// КонецЕсли; +//// КонецЦикла; +//// +//// Возврат Истина; + +////КонецФункции + +////// Формирует строку повторяющихся символов заданной длины. +////// +////// Параметры: +////// Символ - Строка - символ, из которого будет формироваться строка. +////// ДлинаСтроки - Число - требуемая длина результирующей строки. +////// +////// Возвращаемое значение: +////// Строка - строка, состоящая из повторяющихся символов. +////// +////Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт +//// +//// Результат = ""; +//// Для Счетчик = 1 По ДлинаСтроки Цикл +//// Результат = Результат + Символ; +//// КонецЦикла; +//// +//// Возврат Результат; +//// +////КонецФункции + +////// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +////// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами "0" (ноль) слева. +////// +////// Параметры: +////// Строка - Строка - исходная строка, которую необходимо дополнить символами; +////// ДлинаСтроки - Число - требуемая результирующая длина строки; +////// Символ - Строка - символ, которым необходимо дополнить строку; +////// Режим - Строка - "Слева" или "Справа" - режим добавления символов к исходной строке. +////// +////// Возвращаемое значение: +////// Строка - строка, дополненная символами. +////// +////// Пример 1: +////// Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" +////// Возврат: "0000001234". +////// +////// Пример 2: +////// Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" +////// Возврат: "1234######". +////// +////Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт +//// +//// // Длина символа не должна превышать единицы. +//// Символ = Лев(Символ, 1); +//// +//// // Удаляем крайние пробелы слева и справа строки. +//// Строка = СокрЛП(Строка); +//// +//// КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); +//// +//// Если КоличествоСимволовНадоДобавить > 0 Тогда +//// +//// СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); +//// +//// Если ВРег(Режим) = "СЛЕВА" Тогда +//// +//// Строка = СтрокаДляДобавления + Строка; +//// +//// ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда +//// +//// Строка = Строка + СтрокаДляДобавления; +//// +//// КонецЕсли; +//// +//// КонецЕсли; +//// +//// Возврат Строка; +//// +////КонецФункции + +////// Удаляет крайние повторяющиеся символы слева или справа в строке. +////// +////// Параметры: +////// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +////// Символ - Строка - искомый символ для удаления; +////// Режим - Строка - "Слева" или "Справа" - режим удаления символов в исходной строке. +////// +////// Возвращаемое значение: +////// Строка - обрезанная строка. +////// +////Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = "Слева") Экспорт +//// +//// Если ВРег(Режим) = "СЛЕВА" Тогда +//// +//// Пока Лев(Строка, 1)= Символ Цикл +//// +//// Строка = Сред(Строка, 2); +//// +//// КонецЦикла; +//// +//// ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда +//// +//// Пока Прав(Строка, 1)= Символ Цикл +//// +//// Строка = Лев(Строка, СтрДлина(Строка) - 1); +//// +//// КонецЦикла; +//// +//// КонецЕсли; +//// +//// Возврат Строка; +////КонецФункции + +////// Выполняет замену символов в строке. +////// +////// Параметры: +////// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +////// Строка - Строка - исходная строка, в которой требуется замена символов; +////// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +////// ЗаменяемыеСимволы. +////// +////// Возвращаемое значение: +////// Строка - строка после замены символов. +////// +////// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +////// символы. +////// +////Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт +//// +//// Результат = Строка; +//// +//// Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл +//// Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); +//// КонецЦикла; +//// +//// Возврат Результат; +//// +////КонецФункции + +////// Выполняет преобразование арабского числа в римское. +////// +////// Параметры: +////// АрабскоеЧисло - число, целое, от 0 до 999; +////// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +////// +////// Возвращаемое значение: +////// Строка - число в римской нотации. +////// +////// Пример: +////// ПреобразоватьЧислоВРимскуюНотацию(17) = "ХVII". +////// +////Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт +//// +//// РимскоеЧисло = ""; +//// АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); +//// +//// Если ИспользоватьКириллицу Тогда +//// c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; +//// +//// Иначе +//// c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; +//// +//// КонецЕсли; +//// +//// Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); +//// Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); +//// Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); +//// +//// РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); +//// РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); +//// РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); +//// +//// Возврат РимскоеЧисло; +//// +////КонецФункции + +////// Выполняет преобразование римского числа в арабское. +////// +////// Параметры: +////// РимскоеЧисло - Строка - число, записанное римскими цифрами; +////// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +////// +////// Возвращаемое значение: +////// Число. +////// +////// Пример: +////// ПреобразоватьЧислоВАрабскуюНотацию("ХVII") = 17. +////// +////Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт +//// +//// АрабскоеЧисло=0; +//// +//// Если ИспользоватьКириллицу Тогда +//// c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; +//// +//// Иначе +//// c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; +//// +//// КонецЕсли; +//// +//// РимскоеЧисло = СокрЛП(РимскоеЧисло); +//// ЧислоСимволов = СтрДлина(РимскоеЧисло); +//// +//// Для Сч=1 По ЧислоСимволов Цикл +//// Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда +//// АрабскоеЧисло = АрабскоеЧисло+1000; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда +//// АрабскоеЧисло = АрабскоеЧисло+500; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда +//// Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда +//// АрабскоеЧисло = АрабскоеЧисло-100; +//// Иначе +//// АрабскоеЧисло = АрабскоеЧисло+100; +//// КонецЕсли; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда +//// АрабскоеЧисло = АрабскоеЧисло+50; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда +//// Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда +//// АрабскоеЧисло = АрабскоеЧисло-10; +//// Иначе +//// АрабскоеЧисло = АрабскоеЧисло+10; +//// КонецЕсли; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда +//// АрабскоеЧисло = АрабскоеЧисло+5; +//// ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда +//// Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда +//// АрабскоеЧисло = АрабскоеЧисло-1; +//// Иначе +//// АрабскоеЧисло = АрабскоеЧисло+1; +//// КонецЕсли; +//// КонецЕсли; +//// КонецЦикла; +//// +//// Возврат АрабскоеЧисло; +//// +////КонецФункции + +////// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +////// +////// Параметры: +////// Число - Число - любое целое число. +////// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +////// для двух и для пяти единиц, разделитель - запятая. +////// +////// Возвращаемое значение: +////// Строка - текстовое представление количества единиц, число записывается цифрами. +////// +////// Примеры: +////// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты"; +////// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут". +////Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления, +//// Знач ДобавлятьЧислоКРезультату = Истина) Экспорт +//// +//// Результат = ?(ДобавлятьЧислоКРезультату, Формат(Число, "ЧН=0") + " ", ""); +//// ПредставленияПредмета = Новый Массив; +//// +//// ПараметрыПредметаИсчисления = СтрРазделить(ПараметрыПредметаИсчисления, ","); +//// Для Каждого Параметр Из ПараметрыПредметаИсчисления Цикл +//// ПредставленияПредмета.Добавить(СокрЛП(Параметр)); +//// КонецЦикла; +//// +//// Число = Число % 100; +//// Если Число > 20 Тогда +//// Число = Число % 10; +//// КонецЕсли; +//// +//// Индекс = ?(Число = 1, 0, ?(Число > 1 И Число < 5, 1, 2)); +//// Результат = Результат + ПредставленияПредмета[Индекс]; +//// +//// Возврат Результат; +//// +////КонецФункции + +////// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +////// +////// Параметры: +////// ИсходныйТекст - Строка - текст в формате HTML. +////// +////// Возвращаемое значение: +////// Строка - текст, очищенный от тегов, скриптов и заголовков. +////// +////Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт +//// Результат = ""; +//// +//// Текст = НРег(ИсходныйТекст); +//// +//// // отрезаем все что не body +//// Позиция = СтрНайти(Текст, " 0 Тогда +//// Текст = Сред(Текст, Позиция + 5); +//// ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); +//// Позиция = СтрНайти(Текст, ">"); +//// Если Позиция > 0 Тогда +//// Текст = Сред(Текст, Позиция + 1); +//// ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); +//// КонецЕсли; +//// КонецЕсли; +//// +//// Позиция = СтрНайти(Текст, ""); +//// Если Позиция > 0 Тогда +//// Текст = Лев(Текст, Позиция - 1); +//// ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); +//// КонецЕсли; +//// +//// // вырезаем скрипты +//// Позиция = СтрНайти(Текст, " 0 Цикл +//// ПозицияЗакрывающегоТега = СтрНайти(Текст, ""); +//// Если ПозицияЗакрывающегоТега = 0 Тогда +//// // Не найден закрывающий тег - вырезаем оставшийся текст. +//// ПозицияЗакрывающегоТега = СтрДлина(Текст); +//// КонецЕсли; +//// Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); +//// ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); +//// Позиция = СтрНайти(Текст, " 0 Цикл +//// ПозицияЗакрывающегоТега = СтрНайти(Текст, ""); +//// Если ПозицияЗакрывающегоТега = 0 Тогда +//// // Не найден закрывающий тег - вырезаем оставшийся текст. +//// ПозицияЗакрывающегоТега = СтрДлина(Текст); +//// КонецЕсли; +//// Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); +//// ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); +//// Позиция = СтрНайти(Текст, " 0 Цикл +//// Результат = Результат + Лев(ИсходныйТекст, Позиция-1); +//// Текст = Сред(Текст, Позиция + 1); +//// ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); +//// Позиция = СтрНайти(Текст, ">"); +//// Если Позиция > 0 Тогда +//// Текст = Сред(Текст, Позиция + 1); +//// ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); +//// КонецЕсли; +//// Позиция = СтрНайти(Текст, "<"); +//// КонецЦикла; +//// Результат = Результат + ИсходныйТекст; +//// МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); +//// Возврат СокрЛП(СтрСоединить(МассивСтрок, Символы.ПС)); +////КонецФункции + +////// Преобразует исходную строку в транслит. +////Функция СтрокаЛатиницей(Знач Строка) Экспорт +//// Результат = ""; +//// +//// Соответствие = СоответствиеКириллицыИЛатиницы(); +//// +//// ПредыдущийСимвол = ""; +//// Для Позиция = 1 По СтрДлина(Строка) Цикл +//// Символ = Сред(Строка, Позиция, 1); +//// СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. +//// Если СимволЛатиницей = Неопределено Тогда +//// // Другие символы остаются "как есть". +//// СимволЛатиницей = Символ; +//// Иначе +//// Если Символ = ВРег(Символ) Тогда +//// СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр +//// КонецЕсли; +//// КонецЕсли; +//// Результат = Результат + СимволЛатиницей; +//// ПредыдущийСимвол = СимволЛатиницей; +//// КонецЦикла; +//// +//// Возврат Результат; +////КонецФункции + +////// Форматирует строку в соответствии с заданным шаблоном. +////// Возможные значения тегов выделения: +////// Строка - выделяет строку жирным шрифтом. +////// Строка +////// +////// Пример: +////// Минимальная версия программы 1.1. Обновите программу. +////// +////// Возвращаемое значение: +////// ФорматированнаяСтрока +////Функция ФорматированнаяСтрока(Знач Строка) Экспорт +//// +//// СтрокиСВыделением = Новый СписокЗначений; +//// Пока СтрНайти(Строка, "") <> 0 Цикл +//// НачалоВыделения = СтрНайти(Строка, ""); +//// СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); +//// СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); +//// СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); +//// КонецВыделения = СтрНайти(СтрокаПослеОткрывающегоТега, ""); +//// ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); +//// СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); +//// СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); +//// Строка = СтрокаПослеВыделения; +//// КонецЦикла; +//// СтрокиСВыделением.Добавить(Строка); +//// +//// СтрокиСоСсылками = Новый СписокЗначений; +//// Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл +//// +//// Строка = ЧастьСтроки.Значение; +//// +//// Если ЧастьСтроки.Пометка Тогда +//// СтрокиСоСсылками.Добавить(Строка,, Истина); +//// Продолжить; +//// КонецЕсли; +//// +//// НачалоВыделения = СтрНайти(Строка, ""); +//// +//// Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); +//// Если СтрНачинаетсяС(Ссылка, """") Тогда +//// Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); +//// КонецЕсли; +//// Если СтрЗаканчиваетсяНа(Ссылка, """") Тогда +//// Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); +//// КонецЕсли; +//// +//// СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); +//// КонецВыделения = СтрНайти(СтрокаПослеСсылки, ""); +//// ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); +//// СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); +//// +//// СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); +//// Строка = СтрокаПослеВыделения; +//// +//// НачалоВыделения = СтрНайти(Строка, " 0 Тогда +//// ДатаСтрока = Лев(ДатаСтрока, ПозицияПробела - 1); +//// КонецЕсли; +//// ДатаСтрока = СокрЛП(СтрЗаменить(ДатаСтрока, ".", "")); +//// ДатаСтрока = Сред(ДатаСтрока, 5) + Сред(ДатаСтрока, 3, 2) + Лев(ДатаСтрока, 2); +//// Если СтрДлина(ДатаСтрока) = 6 Тогда +//// ДатаСтрока = "20" + ДатаСтрока; +//// КонецЕсли; +//// +//// ОписаниеТипа = Новый ОписаниеТипов("Дата"); +//// Результат = ОписаниеТипа.ПривестиЗначение(ДатаСтрока); +//// +//// Возврат Результат; +//// +////КонецФункции + +////#Область УстаревшиеПроцедурыИФункции + +////// Устарела. Следует использовать СтрСоединить. +////// +////// Объединяет строки из массива в строку с разделителями. +////// +////// Параметры: +////// Массив - Массив - массив строк которые необходимо объединить в одну строку; +////// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +////// +////// Возвращаемое значение: +////// Строка - строка с разделителями. +////// +////Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = ",", СокращатьНепечатаемыеСимволы = Ложь) Экспорт +//// +//// Результат = ""; +//// +//// Для Индекс = 0 По Массив.ВГраница() Цикл +//// Подстрока = Массив[Индекс]; +//// +//// Если СокращатьНепечатаемыеСимволы Тогда +//// Подстрока = СокрЛП(Подстрока); +//// КонецЕсли; +//// +//// Если ТипЗнч(Подстрока) <> Тип("Строка") Тогда +//// Подстрока = Строка(Подстрока); +//// КонецЕсли; +//// +//// Если Индекс > 0 Тогда +//// Результат = Результат + Разделитель; +//// КонецЕсли; +//// +//// Результат = Результат + Подстрока; +//// КонецЦикла; +//// +//// Возврат Результат; +//// +////КонецФункции + +////// Устарела. Следует использовать СтрНайти. +////// +////// Осуществляет поиск символа, начиная с конца строки. +////// +////// Параметры: +////// Строка - Строка - строка, в которой осуществляется поиск; +////// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +////// +////// Возвращаемое значение: +////// Число - позиция символа в строке. +////// Если строка не содержит указанного символа, то возвращается 0. +////// +////Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт +//// +//// Для Позиция = -СтрДлина(Строка) По -1 Цикл +//// Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда +//// Возврат -Позиция; +//// КонецЕсли; +//// КонецЦикла; +//// +//// Возврат 0; +//// +////КонецФункции + +////#КонецОбласти + +////#КонецОбласти + +////#Область СлужебныеПроцедурыИФункции + +////// Выполняет преобразование цифры в римскую нотацию. +////// +////// Параметры: +////// Цифра - Число - цифра от 0 до 9. +////// РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка - Строка - символы, соответствующие римским цифрам. +////// +////// Возвращаемое значение +////// Строка - цифра в римской нотации. +////// +////// Пример: +////// ПреобразоватьЦифруВРимскуюНотацию(7,"I","V","X") = "VII". +////// +////Функция ПреобразоватьЦифруВРимскуюНотацию(Цифра, РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка) +//// +//// РимскаяЦифра=""; +//// Если Цифра = 1 Тогда +//// РимскаяЦифра = РимскаяЕдиница +//// ИначеЕсли Цифра = 2 Тогда +//// РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница; +//// ИначеЕсли Цифра = 3 Тогда +//// РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; +//// ИначеЕсли Цифра = 4 Тогда +//// РимскаяЦифра = РимскаяЕдиница + РимскаяПятерка; +//// ИначеЕсли Цифра = 5 Тогда +//// РимскаяЦифра = РимскаяПятерка; +//// ИначеЕсли Цифра = 6 Тогда +//// РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница; +//// ИначеЕсли Цифра = 7 Тогда +//// РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница; +//// ИначеЕсли Цифра = 8 Тогда +//// РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; +//// ИначеЕсли Цифра = 9 Тогда +//// РимскаяЦифра = РимскаяЕдиница + РимскаяДесятка; +//// КонецЕсли; +//// Возврат РимскаяЦифра; +//// +////КонецФункции + +// Вставляет параметры в строку, учитывая, что в параметрах могут использоваться подстановочные слова %1, %2 и т.д. +Функция ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) + + Результат = ""; + Позиция = СтрНайти(СтрокаПодстановки, "%"); + Пока Позиция > 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = ""; + Если СимволПослеПроцента = "1" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = "2" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = "3" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = "4" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = "5" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = "6" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = "7" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = "8" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = "9" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = "" Тогда + Результат = Результат + "%"; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = СтрНайти(СтрокаПодстановки, "%"); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +////Функция СоответствиеКириллицыИЛатиницы() +//// // Транслитерация, используемая в загранпаспортах 1997-2010. +//// Соответствие = Новый Соответствие; +//// Соответствие.Вставить("а","a"); +//// Соответствие.Вставить("б","b"); +//// Соответствие.Вставить("в","v"); +//// Соответствие.Вставить("г","g"); +//// Соответствие.Вставить("д","d"); +//// Соответствие.Вставить("е","e"); +//// Соответствие.Вставить("ё","e"); +//// Соответствие.Вставить("ж","zh"); +//// Соответствие.Вставить("з","z"); +//// Соответствие.Вставить("и","i"); +//// Соответствие.Вставить("й","y"); +//// Соответствие.Вставить("к","k"); +//// Соответствие.Вставить("л","l"); +//// Соответствие.Вставить("м","m"); +//// Соответствие.Вставить("н","n"); +//// Соответствие.Вставить("о","o"); +//// Соответствие.Вставить("п","p"); +//// Соответствие.Вставить("р","r"); +//// Соответствие.Вставить("с","s"); +//// Соответствие.Вставить("т","t"); +//// Соответствие.Вставить("у","u"); +//// Соответствие.Вставить("ф","f"); +//// Соответствие.Вставить("х","kh"); +//// Соответствие.Вставить("ц","ts"); +//// Соответствие.Вставить("ч","ch"); +//// Соответствие.Вставить("ш","sh"); +//// Соответствие.Вставить("щ","shch"); +//// Соответствие.Вставить("ъ",""""); +//// Соответствие.Вставить("ы","y"); +//// Соответствие.Вставить("ь",""); // пропускается +//// Соответствие.Вставить("э","e"); +//// Соответствие.Вставить("ю","yu"); +//// Соответствие.Вставить("я","ya"); +//// +//// Возврат Соответствие; +////КонецФункции + +////#КонецОбласти diff --git "a/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" "b/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" new file mode 100644 index 0000000..dd0645c --- /dev/null +++ "b/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" @@ -0,0 +1,23 @@ + + + + + ТекстыСообщенийКлиентСерверПовтИсп + + + ru + Тексты сообщений клиент сервер повт исп + + + + false + true + true + true + false + false + false + DuringSession + + + \ No newline at end of file diff --git "a/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" new file mode 100644 index 0000000..f07fbb6 --- /dev/null +++ "b/CommonModules/\320\242\320\265\320\272\321\201\321\202\321\213\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -0,0 +1,423 @@ + +#Область ПрограммныйИнтерфейс + +// Формирует заголовок "Заявки на обслужвание" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок.. +// +Функция ЗаголовокСписаниеДенежныхСредств() Экспорт + + Возврат НСтр("ru = 'Списания денежных средств'; en = 'todo'"); + +КонецФункции + + + + + +// Формирует заголовок "Признак ""Прочтено"" для письма..." на языке системы. +// +// Параметры: +// Признак - Булево - Значение реквизита "Прочтено"; +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаИзменениеИзменениеПризнакаПрочтено(Признак) Экспорт + + Возврат СтрШаблон( + НСтр("ru = 'Признак ""Прочтено"" для письма установлен в %1'; + |en = 'Reading mark for email is set as %1'"), + ?(Признак, + НСтр("ru = 'Прочтено'; en = 'Read'"), + НСтр("ru = 'Не прочтено'; en = 'Unread'"))); + +КонецФункции + +// Формирует заголовок "Признак ""На контроле"" для исходящего письма установлен" на языке системы. +// +// Параметры: +// Признак - Булево - Значение реквизита "На контроле"; +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаИзменениеИзменениеПризнакаКонтроля(Признак) Экспорт + + Возврат СтрШаблон( + НСтр("ru = 'Признак ""На контроле"" для исходящего письма установлен в %1'; + |en = '""Monitored"" state for outcoming email is set as %1'"), + ?(Признак, + НСтр("ru = 'Да'; en = 'On'"), + НСтр("ru = 'Нет'; en = 'Off'"))); + +КонецФункции + +// Формирует заголовок "Письмо перемещено в папку" на языке системы. +// +// Параметры: +// НоваяПапка - СправочникСсылка.ПапкиПисем - Новая папка письма; +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаИзменениеПапкиПисьма(НоваяПапка) Экспорт + + Возврат СтрШаблон( + НСтр("ru = 'Письмо перемещено в папку %1'; + |en = 'Email moved to folder %1'"), + НоваяПапка); + +КонецФункции + +// Формирует заголовок "Объект изменен на клиенте" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаОбъектИзмененНаКлиенте() Экспорт + + Возврат НСтр("ru = 'Объект изменен на клиенте'; + |en = 'The object is modified on the client'"); + +КонецФункции + +// Формирует заголовок "Загружено изменение объекта" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаЗагруженоИзменениеОбъекта() Экспорт + + Возврат НСтр("ru = 'Загружено изменение объекта'; + |en = 'The new version is loaded'"); + +КонецФункции + +// Формирует заголовок "Загружен новый объект" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаЗагруженНовыйОбъект() Экспорт + + Возврат НСтр("ru = 'Загружен новый объект'; + |en = 'The new object is loaded'"); + +КонецФункции + +// Формирует заголовок "Создан новый объект" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаСозданНовыйОбъект() Экспорт + + Возврат НСтр("ru = 'Создан новый объект'; + |en = 'The new object is created'"); + +КонецФункции + +// Формирует заголовок " файле обнаружен объект" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаВФайлеОбнаруженОбъект() Экспорт + + Возврат НСтр("ru = 'В файле обнаружен объект'; en = 'Object found'"); + +КонецФункции + +// Формирует заголовок "В файле обнаружен объект, но ссылка не получена" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ТекстПротоколаВФайлеОбнаруженОбъектНоСсылкаНеПолучена() Экспорт + + Возврат НСтр("ru = 'В файле обнаружен объект, но ссылка не получена'; + |en = 'Object found, but the ref isn''t received'"); + +КонецФункции + +// Формирует заголовок "Объект помещен в исходящее сообщение" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок.. +// +Функция ТекстПротоколаОбъектПомещенВСообщение() Экспорт + + Возврат НСтр("ru = 'Объект помещен в исходящее сообщение'; en = 'Object placed in file'"); + +КонецФункции + + +// Формирует заголовок "Календарь" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок.. +// +Функция ЗаголовокКалендарь() Экспорт + + Возврат НСтр("ru = 'Календарь'; en = 'Calendar'"); + +КонецФункции + +// Формирует заголовок "Почта" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокПочта() Экспорт + + Возврат НСтр("ru = 'Почта'; en = 'Mail'"); + +КонецФункции + +// Формирует заголовок "На контроле" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокНаКонтроле() Экспорт + + Возврат НСтр("ru = 'На контроле'; en = 'Monitoring'"); + +КонецФункции + +// Формирует заголовок "Всего задач" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокВсегоЗадач() Экспорт + + Возврат НСтр("ru = 'Всего задач'; en = 'Tasks'"); + +КонецФункции + +// Формирует заголовок "Просрочено" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокПросрочено() Экспорт + + Возврат НСтр("ru = 'Просрочено'; en = 'Expired'"); + +КонецФункции + + +// Формирует заголовок "Продолжить" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыПродолжить() Экспорт + + Возврат НСтр("ru = 'Продолжить'; en = 'Continue'"); + +КонецФункции + +// Формирует заголовок "Остановить" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыОстановить() Экспорт + + Возврат НСтр("ru = 'Остановить'; en = 'Pause'"); + +КонецФункции + +// Формирует заголовок "Сохранить" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыСохранить() Экспорт + + Возврат НСтр("ru = 'Сохранить'; en = 'Save'"); + +КонецФункции + +// Формирует заголовок "Не сохранять" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыНеСохранять() Экспорт + + Возврат НСтр("ru = 'Не сохранять'; en = 'Don't save'"); + +КонецФункции + +// Формирует заголовок "Удалить" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыУдалить() Экспорт + + Возврат НСтр("ru = 'Удалить'; en = 'Delete'"); + +КонецФункции + +// Формирует заголовок "Не удалять" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыНеУдалять() Экспорт + + Возврат НСтр("ru = 'Не удалять'; en = 'Cancel'"); + +КонецФункции + + +// Формирует заголовок "На контроль" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыНаКонтроль() Экспорт + + Возврат НСтр("ru = 'На контроль'; en = 'Monitoring'"); + +КонецФункции + +// Формирует заголовок "Записать в календарь" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыЗаписатьВКалендарь() Экспорт + + Возврат НСтр("ru = 'Записать в календарь'; en = 'Bring in a calendar'"); + +КонецФункции + +// Формирует заголовок "Записать в календарь" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыНаписатьПисьмо() Экспорт + + Возврат НСтр("ru = 'Написать письмо'; en = 'Write email'"); + +КонецФункции + +// Формирует заголовок "Флаг" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыИзменитьФлаг() Экспорт + + Возврат НСтр("ru = 'Флаг'; en = 'Flag'"); + +КонецФункции + +// Формирует заголовок "Принять к исполнению" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыПринятьНаИсполнение() Экспорт + + Возврат НСтр("ru = 'Принять к исполнению'; en = 'Accept task'"); + +КонецФункции + +// Формирует заголовок "Отменить принятие к исполнению" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыОтказатьсяОтИсполнения() Экспорт + + Возврат НСтр("ru = 'Отменить принятие к исполнению'; en = 'Revoke task acceptance'"); + +КонецФункции + +// Формирует заголовок "Красный" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыКрасный() Экспорт + + Возврат НСтр("ru = 'Красный'; en = 'Red'"); + +КонецФункции + +// Формирует заголовок "Синий" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыСиний() Экспорт + + Возврат НСтр("ru = 'Синий'; en = 'Blue'"); + +КонецФункции + +// Формирует заголовок "Желтый" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыЖелтый() Экспорт + + Возврат НСтр("ru = 'Желтый'; en = 'Yellow'"); + +КонецФункции + +// Формирует заголовок "Зеленый" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыЗеленый() Экспорт + + Возврат НСтр("ru = 'Зеленый'; en = 'Green'"); + +КонецФункции + +// Формирует заголовок "Оранжевый" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыОранжевый() Экспорт + + Возврат НСтр("ru = 'Оранжевый'; en = 'Oreange'"); + +КонецФункции + +// Формирует заголовок "Лиловый" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыЛиловый() Экспорт + + Возврат НСтр("ru = 'Лиловый'; en = 'Purple'"); + +КонецФункции + +// Формирует заголовок "Красный" на языке системы. +// +// Возвращаемое значение: +// Строка - Сформированный заголовок. +// +Функция ЗаголовокКомандыОчистить() Экспорт + + Возврат НСтр("ru = 'Очистить'; en = 'Clean'"); + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 0000000..b1ee280 --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + ФлагиОбъектовВызовСервера + + + ru + Флаги объектов вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 0000000..9c7654c --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,96 @@ + +#Область ПрограммныйИнтерфейс + +// Получает флаг указанному объекта +// +// Параметры: +// СсылкаНаОбъект - СправочникСсылка.Задачи - ссылка на задачу; +// - ДокументСсылка.ВходящееПисьмо - Ссылка на входящее письмо; +// - ДокументСсылка.ИсходящееПисьмо - Ссылка на исходящее письмо. +// +// Возвращаемое значение: +// Флаг - ПеречислениеСсылка.ЦветаОбъектов. +// +Функция ПолучитьФлагОбъекта(СсылкаНаОбъект) Экспорт + + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект); + Запрос.Текст = + "ВЫБРАТЬ + | ФлагиОбъектов.Флаг + |ИЗ + | РегистрСведений.ФлагиОбъектов КАК ФлагиОбъектов + |ГДЕ + | ФлагиОбъектов.Объект = &Объект"; + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Флаг = Выборка.Флаг; + Иначе + Флаг = Перечисления.ЦветаОбъектов.ПустаяСсылка(); + КонецЕсли; + + Возврат Флаг; + +КонецФункции + +// Устанавливает указанному объекту флаг. +// +// Параметры: +// Объект - СсылкаНаОбъект - Ссылка на объект; +// Флаг - Перечисление.ФлагиОбъектов - Значение флага объекта. +// +Процедура УстановитьФлагОбъекта(Объект, Флаг) Экспорт + + // Записываем флаг объекта. + Набор = РегистрыСведений.ФлагиОбъектов.СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Объект); + + Запись = Набор.Добавить(); + Запись.Объект = Объект; + Запись.Флаг = Флаг; + + Набор.Записать(Истина); + + // В случае постановки задачи на исполнение самому себе нужно + // сменить флаг у родительского процесса - как в настольном ДО. + ДополнительныйОбъект = Неопределено; + + Если ТипЗнч(Объект) = Тип("СправочникСсылка.Задачи") + И ЗначениеЗаполнено(Объект.ПроцессИсполнение) Тогда + ДополнительныйОбъект = Объект.ПроцессИсполнение; + ИначеЕсли ТипЗнч(Объект) = Тип("СправочникСсылка.ПроцессыИсполнение") Тогда + + Запрос = Новый Запрос(); + Запрос.УстановитьПараметр("Процесс", Объект); + Запрос.Текст = + "ВЫБРАТЬ + | Задачи.Ссылка + |ИЗ + | Справочник.Задачи КАК Задачи + |ГДЕ + | Задачи.ПроцессИсполнение = &Процесс"; + + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + ДополнительныйОбъект = Выборка.Ссылка; + КонецЕсли; + + КонецЕсли; + + Если Не ЗначениеЗаполнено(ДополнительныйОбъект) Тогда + Возврат; + КонецЕсли; + + Набор = РегистрыСведений.ФлагиОбъектов.СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(ДополнительныйОбъект); + + Запись = Набор.Добавить(); + Запись.Объект = ДополнительныйОбъект; + Запись.Флаг = Флаг; + + Набор.Записать(Истина); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202.xml" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 0000000..b166bfc --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,23 @@ + + + + + ФлагиОбъектовКлиент + + + ru + Флаги объектов клиент + + + + false + true + false + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 0000000..ca7de31 --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,136 @@ + +#Область ПрограммныйИнтерфейс + +// Начинает процедуру изменения флага объекта. +// +// Параметры: +// ЭтаФорма - Форма - Вызывающая форма +// Объект - СправочникСсылка.Задачи - Ссылка на объект; +// МодульОбработки - Модуль - Общий модуль; +// ИмяПроцедурыОбработчика - Строка - Имя процедуры обрабатывающей выбор из списка; +// ЦветаИсключения - Массив - Исключения, не добавляемые в список команд. +// +Процедура ИзменитьФлаг(ЭтаФорма, Объект, МодульОбработки, ИмяПроцедурыОбработчика, + ЦветаИсключения = Неопределено) Экспорт + + // Настраиваем список доступных команд + СписокДействийСтроки = Новый СписокЗначений(); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Красный"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыКрасный(), + БиблиотекаКартинок.КомандаЦветКрасный); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Синий"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыСиний(), + БиблиотекаКартинок.КомандаЦветСиний); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Желтый"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыЖелтый(), + БиблиотекаКартинок.КомандаЦветЖелтый); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Зеленый"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыЗеленый(), + БиблиотекаКартинок.КомандаЦветЗеленый); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Оранжевый"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыОранжевый(), + БиблиотекаКартинок.КомандаЦветОранжевый); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Лиловый"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыЛиловый(), + БиблиотекаКартинок.КомандаЦветЛиловый); + + ДобавитьКомандуВСписок(ЦветаИсключения, СписокДействийСтроки, + ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Нет"), + ТекстыСообщенийКлиентСерверПовтИсп.ЗаголовокКомандыОчистить(), + БиблиотекаКартинок.Заглушка); + + // Настраиваем обработчик выбора пользователя + ДопПараметры = Новый Структура(); + ДопПараметры.Вставить("Объект", Объект); + ДопПараметры.Вставить("ЭтаФорма", ЭтаФорма); + + ОбработчикЗавершения = Новый ОписаниеОповещения(ИмяПроцедурыОбработчика, + МодульОбработки, ДопПараметры); + + // Показываем пользователю команды в списке. + ЭтаФорма.ПоказатьВыборИзСписка(ОбработчикЗавершения, СписокДействийСтроки); + +КонецПроцедуры + +// Обработчик выбора пользователя команды "Цвет" в меню "Еще". +// +// Параметры: +// Ответ - Произвольный - Ответ полученный у пользователя; +// ДопПараметры - Произвольный - Дополнительные параметры вызова. +// +Процедура ОбработатьВыборКомандыЦветВМенюЕще(Ответ, ДопПараметры) Экспорт + + Если Ответ = Неопределено Тогда + Возврат; + КонецЕсли; + + Результат = Ответ.Значение; + + ФлагиОбъектовВызовСервера.УстановитьФлагОбъекта(ДопПараметры.Объект, Результат); + + Оповестить("ПоявилисьНеотправленныеДанные"); + Оповестить("УстановленФлаг", ДопПараметры.Объект, ДопПараметры.ЭтаФорма); + +КонецПроцедуры + +// Устанавливает новый флаг у объекта +// +// Параметры: +// Элементы - ЭлементыФормы - Элементы формы инициатора; +// Объект - Объект - Объект у которого устанавливается флаг; +// НовыйФлаг - Строка - Идентификатор значения перечисления; +// Флаг - Перечисление.ЦветаОбъектов - Заданное значение флага. +// +Процедура УстановитьНовыйФлаг(Элементы, Объект, НовыйФлаг, Флаг = Неопределено) Экспорт + + ИмяФлага = СтрШаблон( + "Перечисление.ЦветаОбъектов.%1", НовыйФлаг); + + ЗначениеФлага = ПредопределенноеЗначение(ИмяФлага); + + Если ЗначениеЗаполнено(Объект.Ссылка) Тогда + + ФлагиОбъектовВызовСервера.УстановитьФлагОбъекта(Объект.Ссылка, ЗначениеФлага); + + Оповестить("ПоявилисьНеотправленныеДанные"); + + Иначе + + Флаг = ЗначениеФлага; + + КонецЕсли; + + Элементы.КомандыФлагов.Картинка = ФлагиОбъектовПовтИсп.ПолучитьКартинкуПоФлагу(ЗначениеФлага); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ДобавитьКомандуВСписок(Исключения, Список, Цвет, Заголовок, Картинка) + + Если Не Исключения = Неопределено + И Не Исключения.Найти(Цвет) = Неопределено Тогда + + Возврат; + + КонецЕсли; + + Список.Добавить(Цвет, Заголовок, , Картинка); + +КонецПроцедуры + +#КонецОбласти diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" new file mode 100644 index 0000000..90d1659 --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277.xml" @@ -0,0 +1,23 @@ + + + + + ФлагиОбъектовПовтИсп + + + ru + Флаги объектов повт исп + + + + false + true + true + false + false + false + false + DuringSession + + + \ No newline at end of file diff --git "a/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" new file mode 100644 index 0000000..a0bddbd --- /dev/null +++ "b/CommonModules/\320\244\320\273\320\260\320\263\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -0,0 +1,53 @@ + +#Область ПрограммныйИнтерфейс + +// Получает картинку флага. +// +// Параметры: +// ФлагИлиИдентификатор - Перечисление.ЦветаОбъектов - Значение флага объекта. +// +// Возвращаемое значение: +// Картинка - Картинка соответствующая флагу. +// +Функция ПолучитьКартинкуПоФлагу(ФлагИлиИдентификатор) Экспорт + + Если ТипЗнч(ФлагИлиИдентификатор) = Тип("Строка") Тогда + ИмяФлага = СтрШаблон( + "Перечисление.ЦветаОбъектов.%1", ФлагИлиИдентификатор); + + Флаг = ПредопределенноеЗначение(ИмяФлага); + + Иначе + Флаг = ФлагИлиИдентификатор; + + КонецЕсли; + + Если Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.ПустаяСсылка") + Или Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Нет") Тогда + КартинкаФлага = БиблиотекаКартинок.Заглушка; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Желтый") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветЖелтый; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Зеленый") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветЗеленый; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Красный") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветКрасный; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Лиловый") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветЛиловый; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Оранжевый") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветОранжевый; + + ИначеЕсли Флаг = ПредопределенноеЗначение("Перечисление.ЦветаОбъектов.Синий") Тогда + КартинкаФлага = БиблиотекаКартинок.КомандаЦветСиний; + + КонецЕсли; + + Возврат КартинкаФлага; + +КонецФункции + +#КонецОбласти diff --git "a/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..793aaf3 --- /dev/null +++ "b/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,23 @@ + + + + + ЭкранКлиентСервер + + + ru + Экран клиент сервер + + + + false + true + true + true + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" new file mode 100644 index 0000000..b07afef --- /dev/null +++ "b/CommonModules/\320\255\320\272\321\200\320\260\320\275\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -0,0 +1,67 @@ + +#Область ПрограммныйИнтерфейс + +// Проверяет, что устройство имеет основной экран больше 7 дюймов. +// +// Возвращаемое значение: +// Истина - Если значение константы диагональ больше 7. +// +Функция УстройствоИмеетЭкранБольшеСемиДюймов() Экспорт + + Возврат ДиагональЭкрана() > 7; + +КонецФункции + +// Возвращает диагональ основного экрана устройства. +// +// Возвращаемое значение: +// Число - величина диагонали 1-го экрана мобильного устройства. +// +Функция ДиагональЭкрана() Экспорт + + ПараметрыЭкрана = ПараметрыЭкрана(); + Если ПараметрыЭкрана.Количество() = 0 Тогда + Диагональ = ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ДиагональЭкрана"); + Иначе + Диагональ = ПараметрыЭкрана[0].Диагональ; + КонецЕсли; + + Возврат Диагональ; + +КонецФункции + +// Возвращает массив с структурами параметров каждого экрана устройства. +// +// Возвращаемое значение: +// Массив - Массив параметров всех экранов мобильного устройства. +// +Функция ПараметрыЭкрана() Экспорт + + Инфо = ПолучитьИнформациюЭкрановКлиента(); + + ДанныеОбЭкранах = Новый Массив(); + + Если Не Инфо = Неопределено Тогда + + Для Каждого ДанныеОбЭкране Из Инфо Цикл + + ПараметрыЭкрана = Новый Структура(); + ПараметрыЭкрана.Вставить("Ширина" , ДанныеОбЭкране.Ширина); + ПараметрыЭкрана.Вставить("Высота" , ДанныеОбЭкране.Высота); + ПараметрыЭкрана.Вставить("Разрешение", ДанныеОбЭкране.DPI); + ПараметрыЭкрана.Вставить("СоотношениеСторон" , ДанныеОбЭкране.Высота / ДанныеОбЭкране.Ширина); + ПараметрыЭкрана.Вставить("ПортретнаяОриентация", ДанныеОбЭкране.Высота > ДанныеОбЭкране.Ширина); + ПараметрыЭкрана.Вставить("Диагональ", + Окр(Sqrt(Pow(ДанныеОбЭкране.Ширина,2) + Pow(ДанныеОбЭкране.Высота,2)) / ДанныеОбЭкране.DPI, 0)); + + ДанныеОбЭкранах.Добавить(ПараметрыЭкрана); + + КонецЦикла; + + КонецЕсли; + + Возврат ДанныеОбЭкранах; + +КонецФункции + +#КонецОбласти diff --git "a/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.xml" "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.xml" new file mode 100644 index 0000000..919232f --- /dev/null +++ "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.xml" @@ -0,0 +1,15 @@ + + + + + ДвумерныйШтрихКод + + + ru + Двумерный штрих код + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture.xml" "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture/Picture.png" "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture/Picture.png" new file mode 100644 index 0000000..e6eb7ea Binary files /dev/null and "b/CommonPictures/\320\224\320\262\321\203\320\274\320\265\321\200\320\275\321\213\320\271\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217.xml" "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217.xml" new file mode 100644 index 0000000..b51295c --- /dev/null +++ "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217.xml" @@ -0,0 +1,15 @@ + + + + + ДлительнаяОперация + + + ru + Длительная операция + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture.xml" "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..f4fa3a2 --- /dev/null +++ "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.gif + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture/Picture.gif" "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture/Picture.gif" new file mode 100644 index 0000000..fd636e6 Binary files /dev/null and "b/CommonPictures/\320\224\320\273\320\270\321\202\320\265\320\273\321\214\320\275\320\260\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217/Ext/Picture/Picture.gif" differ diff --git "a/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260.xml" "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260.xml" new file mode 100644 index 0000000..b2a7cb6 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260.xml" @@ -0,0 +1,15 @@ + + + + + Заглушка + + + ru + Заглушка + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture.xml" "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture/Picture.png" "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture/Picture.png" new file mode 100644 index 0000000..7f5479f Binary files /dev/null and "b/CommonPictures/\320\227\320\260\320\263\320\273\321\203\321\210\320\272\320\260/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..a726ee0 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" @@ -0,0 +1,15 @@ + + + + + ЗадачаНеУспешноеВыполнение + + + ru + Задача не успешное выполнение + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" new file mode 100644 index 0000000..4414944 Binary files /dev/null and "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..bc5ed17 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" @@ -0,0 +1,15 @@ + + + + + ЗадачаНейтральноеВыполнение + + + ru + Задача нейтральное выполнение + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" new file mode 100644 index 0000000..9f13306 Binary files /dev/null and "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\235\320\265\320\271\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..cd4ef13 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" @@ -0,0 +1,15 @@ + + + + + ЗадачаПочтиУспешноеВыполнение + + + ru + Задача почти успешное выполнение + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" new file mode 100644 index 0000000..9cad3de Binary files /dev/null and "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\237\320\276\321\207\321\202\320\270\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..1822e61 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265.xml" @@ -0,0 +1,15 @@ + + + + + ЗадачаУспешноеВыполнение + + + ru + Задача успешное выполнение + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" new file mode 100644 index 0000000..f299713 Binary files /dev/null and "b/CommonPictures/\320\227\320\260\320\264\320\260\321\207\320\260\320\243\321\201\320\277\320\265\321\210\320\275\320\276\320\265\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600.xml" new file mode 100644 index 0000000..4d95433 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка0 + + + ru + Кнопка0 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture/Picture.png" new file mode 100644 index 0000000..7681f57 Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2600/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601.xml" new file mode 100644 index 0000000..a63fc80 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка1 + + + ru + Кнопка1 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture/Picture.png" new file mode 100644 index 0000000..76159f5 Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2601/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602.xml" new file mode 100644 index 0000000..dc97268 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка2 + + + ru + Кнопка2 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture/Picture.png" new file mode 100644 index 0000000..0e5765f Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2602/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603.xml" new file mode 100644 index 0000000..6aea479 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка3 + + + ru + Кнопка3 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture/Picture.png" new file mode 100644 index 0000000..87ba03f Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2603/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604.xml" new file mode 100644 index 0000000..ec401e2 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка4 + + + ru + Кнопка4 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture/Picture.png" new file mode 100644 index 0000000..72a0872 Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2604/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605.xml" new file mode 100644 index 0000000..196796c --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка5 + + + ru + Кнопка5 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture/Picture.png" new file mode 100644 index 0000000..e8d7fef Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2605/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606.xml" new file mode 100644 index 0000000..eeb9cd9 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка6 + + + ru + Кнопка6 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture/Picture.png" new file mode 100644 index 0000000..3aecebf Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2606/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607.xml" new file mode 100644 index 0000000..b6bd0fb --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка7 + + + ru + Кнопка7 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture/Picture.png" new file mode 100644 index 0000000..de50abe Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2607/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608.xml" new file mode 100644 index 0000000..0162df5 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка8 + + + ru + Кнопка8 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture/Picture.png" new file mode 100644 index 0000000..62e447c Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2608/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609.xml" new file mode 100644 index 0000000..643cb0a --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609.xml" @@ -0,0 +1,15 @@ + + + + + Кнопка9 + + + ru + Кнопка9 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture/Picture.png" new file mode 100644 index 0000000..d7c50c6 Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\2609/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214.xml" new file mode 100644 index 0000000..53b43b3 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КнопкаСтереть + + + ru + Кнопка стереть + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture/Picture.png" new file mode 100644 index 0000000..3181998 Binary files /dev/null and "b/CommonPictures/\320\232\320\275\320\276\320\277\320\272\320\260\320\241\321\202\320\265\321\200\320\265\321\202\321\214/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275.xml" "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275.xml" new file mode 100644 index 0000000..518b039 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275.xml" @@ -0,0 +1,15 @@ + + + + + КодВведен + + + ru + Код введен + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture/Picture.png" new file mode 100644 index 0000000..033326e Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\264\320\222\320\262\320\265\320\264\320\265\320\275/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271.xml" "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271.xml" new file mode 100644 index 0000000..9e121fd --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КодПустой + + + ru + Код пустой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture/Picture.png" new file mode 100644 index 0000000..668fbbb Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\264\320\237\321\203\321\201\321\202\320\276\320\271/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213.xml" new file mode 100644 index 0000000..1dfeb17 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияРолиИДелегаты + + + ru + Коллекция роли и делегаты + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..48163cb Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\240\320\276\320\273\320\270\320\230\320\224\320\265\320\273\320\265\320\263\320\260\321\202\321\213/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" new file mode 100644 index 0000000..b879972 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСписокСобытийПротокола + + + ru + Коллекция список событий протокола + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ff10aab Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270.xml" new file mode 100644 index 0000000..84cf6ff --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокВариантыВажности + + + ru + Коллекция строк варианты важности + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..4f0771d Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" new file mode 100644 index 0000000..133445e --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокВидыСобытийПротокола + + + ru + Коллекция строк виды событий протокола + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..c16e52c Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260.xml" new file mode 100644 index 0000000..ce597c7 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокКнопка + + + ru + Коллекция строк кнопка + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..60090e7 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" new file mode 100644 index 0000000..02cb703 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокКонтроль + + + ru + Коллекция строк контроль + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..dbce934 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" new file mode 100644 index 0000000..b37e9a4 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокНовоеПисьмо + + + ru + Коллекция строк новое письмо + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..04e639b Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\235\320\276\320\262\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262.xml" new file mode 100644 index 0000000..aeaee75 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокПиктограммФайлов + + + ru + Коллекция строк пиктограмм файлов + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..bdc95a2 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\262/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248.xml" new file mode 100644 index 0000000..d75485b --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокПиктограммФайлов48 + + + ru + Коллекция строк пиктограмм файлов48 + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture/Picture.png" new file mode 100644 index 0000000..f11938e Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\237\320\270\320\272\321\202\320\276\320\263\321\200\320\260\320\274\320\274\320\244\320\260\320\271\320\273\320\276\320\26248/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260.xml" new file mode 100644 index 0000000..581a1aa --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокСкрепка + + + ru + Коллекция строк скрепка + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..42b6cf8 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\272\321\200\320\265\320\277\320\272\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..dbaab52 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияСтрокСостоянийПисем + + + ru + Картинки для отображения состояний писем + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..2a0ecb5 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\241\321\202\321\200\320\276\320\272\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\320\237\320\270\321\201\320\265\320\274/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270.xml" new file mode 100644 index 0000000..6c14181 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияФлаги + + + ru + Коллекция флаги + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..4e6d1a4 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\244\320\273\320\260\320\263\320\270/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202.xml" new file mode 100644 index 0000000..ea097fe --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202.xml" @@ -0,0 +1,15 @@ + + + + + КоллекцияЦвет + + + ru + Коллекция цвет + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..819e4c7 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\246\320\262\320\265\321\202/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276.xml" new file mode 100644 index 0000000..a0033fd --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаДобавитьАудио + + + ru + Команда добавить аудио + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..a0d7d68 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\220\321\203\320\264\320\270\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276.xml" new file mode 100644 index 0000000..291e382 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаДобавитьВидео + + + ru + Команда добавить видео + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..9eab11c Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\265\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" new file mode 100644 index 0000000..78e644d --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" @@ -0,0 +1,15 @@ + + + + + КомандаДобавитьСтроку + + + ru + Команда добавить строку + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" new file mode 100644 index 0000000..f13752e Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276.xml" new file mode 100644 index 0000000..00a3923 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаДобавитьФото + + + ru + Команда добавить фото + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..b067279 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\224\320\276\320\261\320\260\320\262\320\270\321\202\321\214\320\244\320\276\321\202\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260.xml" new file mode 100644 index 0000000..430d178 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КомандаКнопка + + + ru + Команда кнопка + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ed7d066 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\275\320\276\320\277\320\272\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" new file mode 100644 index 0000000..603a562 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КомандаКонтроль + + + ru + Команда контроль + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e83a97b Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217.xml" new file mode 100644 index 0000000..d9eedeb --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаКонтрольБелая + + + ru + Команда контроль белая + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..f6ba9cb Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260.xml" new file mode 100644 index 0000000..37147c4 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КомандаКорзина + + + ru + Команда корзина + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..4b02503 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\232\320\276\321\200\320\267\320\270\320\275\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" new file mode 100644 index 0000000..4480b62 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаНаписатьПисьмо + + + ru + Команда написать письмо + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..28f43fd Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\260\320\277\320\270\321\201\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" new file mode 100644 index 0000000..67c8e4e --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаНепрочтенноеПисьмо + + + ru + Команда непрочтенное письмо + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..845f88c Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260.xml" new file mode 100644 index 0000000..06cf7c6 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КомандаНоваяЗадача + + + ru + Команда новая задача + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ccd4f1f Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\264\320\260\321\207\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" new file mode 100644 index 0000000..93e0287 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаНоваяЗаписьКалендаря + + + ru + Команда новая запись календаря + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e239104 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\235\320\276\320\262\320\260\321\217\320\227\320\260\320\277\320\270\321\201\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265.xml" new file mode 100644 index 0000000..8c43989 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОбновитьВПроцессе + + + ru + Команда обновить в процессе + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..a4938af Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\265/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..e5d4e35 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОбновитьВнимание + + + ru + Команда обновить внимание + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..8af42d0 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\275\320\270\320\274\320\260\320\275\320\270\320\265/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272.xml" new file mode 100644 index 0000000..dce201a --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОбновитьСписок + + + ru + Команда обновить список + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..234c5ee Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\320\261\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\277\320\270\321\201\320\276\320\272/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214.xml" new file mode 100644 index 0000000..db476af --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОтветить + + + ru + Команда ответить + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e938637 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" new file mode 100644 index 0000000..ffdef59 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОтветитьБелая + + + ru + Команда ответить белая + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..11c7731 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..e10579f --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОтветитьВсем + + + ru + Команда ответить всем + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..23e2cf1 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217.xml" new file mode 100644 index 0000000..ec3fcf6 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОтветитьВсемБелая + + + ru + Команда ответить всем белая + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e862489 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\262\320\265\321\202\320\270\321\202\321\214\320\222\321\201\320\265\320\274\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" new file mode 100644 index 0000000..5d5e664 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаОтправитьПисьмо + + + ru + Команда отправить письмо + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..10b11ab Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260.xml" new file mode 100644 index 0000000..1e13547 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПапка + + + ru + Команда папка + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..aa3a968 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\320\277\320\272\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260.xml" new file mode 100644 index 0000000..c40950f --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПауза + + + ru + Команда пауза + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..6945295 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\260\321\203\320\267\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203.xml" new file mode 100644 index 0000000..fc24e42 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПереместитьВПапку + + + ru + Команда переместить в папку + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..7804e27 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217.xml" new file mode 100644 index 0000000..6854f97 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПереместитьВПапкуБелая + + + ru + Команда переместить в папку белая + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..8624c18 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\274\320\265\321\201\321\202\320\270\321\202\321\214\320\222\320\237\320\260\320\277\320\272\321\203\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203.xml" new file mode 100644 index 0000000..fa578ed --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПеренаправитьЗадачу + + + ru + Команда перенаправить задачу + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..f356beb Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\320\275\320\260\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\227\320\260\320\264\320\260\321\207\321\203/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214.xml" new file mode 100644 index 0000000..1add219 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПереслать + + + ru + Команда переслать + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..a5d17b6 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" new file mode 100644 index 0000000..eef1457 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПереслатьБелая + + + ru + Команда переслать белая + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..4344f49 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\320\265\321\200\320\265\321\201\320\273\320\260\321\202\321\214\320\221\320\265\320\273\320\260\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" new file mode 100644 index 0000000..67bceb5 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276.xml" @@ -0,0 +1,15 @@ + + + + + КомандаПрочтенноеПисьмо + + + ru + Команда прочтенное письмо + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..f6876ae Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\320\276\320\265\320\237\320\270\321\201\321\214\320\274\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214.xml" new file mode 100644 index 0000000..544e1a0 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КомандаСменитьУчетнуюЗапись + + + ru + Команда сменить учетную запись + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e57a422 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\274\320\265\320\275\320\270\321\202\321\214\320\243\321\207\320\265\321\202\320\275\321\203\321\216\320\227\320\260\320\277\320\270\321\201\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214.xml" new file mode 100644 index 0000000..15fc0ed --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214.xml" @@ -0,0 +1,15 @@ + + + + + КомандаСоздать + + + ru + Команда создать + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..014f9df Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201.xml" new file mode 100644 index 0000000..4396948 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201.xml" @@ -0,0 +1,15 @@ + + + + + КомандаСоздатьПроцесс + + + ru + Команда создать процесс + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..883c4ed Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\241\320\276\320\267\320\264\320\260\321\202\321\214\320\237\321\200\320\276\321\206\320\265\321\201\321\201/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" new file mode 100644 index 0000000..2e89e41 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203.xml" @@ -0,0 +1,15 @@ + + + + + КомандаУдалитьСтроку + + + ru + Команда удалить строку + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" new file mode 100644 index 0000000..8dbfcb0 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\264\320\260\320\273\320\270\321\202\321\214\320\241\321\202\321\200\320\276\320\272\321\203/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" new file mode 100644 index 0000000..2542ef2 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветЖелтый + + + ru + Команда цвет желтый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..0811cdc Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" new file mode 100644 index 0000000..dd998b6 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветЗеленый + + + ru + Команда цвет зеленый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..d5fa36e Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" new file mode 100644 index 0000000..7beef2f --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветКрасный + + + ru + Команда цвет красный + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..04766e8 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271.xml" new file mode 100644 index 0000000..b5a0711 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветЛиловый + + + ru + Команда цвет лиловый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..424e2a9 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\233\320\270\320\273\320\276\320\262\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" new file mode 100644 index 0000000..5be1b0d --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветОранжевый + + + ru + Команда цвет оранжевый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ea39763 Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" new file mode 100644 index 0000000..32ff0f2 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" @@ -0,0 +1,15 @@ + + + + + КомандаЦветСиний + + + ru + Команда цвет синий + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..3238d5f Binary files /dev/null and "b/CommonPictures/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.xml" "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.xml" new file mode 100644 index 0000000..a943d3c --- /dev/null +++ "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.xml" @@ -0,0 +1,15 @@ + + + + + МногоПользователей + + + ru + Много пользователей + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture.xml" "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..cbba583 Binary files /dev/null and "b/CommonPictures/\320\234\320\275\320\276\320\263\320\276\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265.xml" "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265.xml" new file mode 100644 index 0000000..ea5bbda --- /dev/null +++ "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265.xml" @@ -0,0 +1,15 @@ + + + + + НеПрочитанные + + + ru + Не прочитанные + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture.xml" "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture/Picture.png" "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture/Picture.png" new file mode 100644 index 0000000..535d16a Binary files /dev/null and "b/CommonPictures/\320\235\320\265\320\237\321\200\320\276\321\207\320\270\321\202\320\260\320\275\320\275\321\213\320\265/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265.xml" new file mode 100644 index 0000000..c12f416 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265.xml" @@ -0,0 +1,15 @@ + + + + + РазделЗадачиМне + + + ru + Раздел задачи мне + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture/Picture.zip" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..99ab5d9 Binary files /dev/null and "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\234\320\275\320\265/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217.xml" new file mode 100644 index 0000000..0844037 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217.xml" @@ -0,0 +1,15 @@ + + + + + РазделЗадачиОтМеня + + + ru + Раздел задачи от меня + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ec083a0 Binary files /dev/null and "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\227\320\260\320\264\320\260\321\207\320\270\320\236\321\202\320\234\320\265\320\275\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214.xml" new file mode 100644 index 0000000..f23ffae --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214.xml" @@ -0,0 +1,15 @@ + + + + + РазделКалендарь + + + ru + Раздел календарь + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..0c57a4d Binary files /dev/null and "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" new file mode 100644 index 0000000..d15d7ce --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214.xml" @@ -0,0 +1,15 @@ + + + + + РазделКонтроль + + + ru + Раздел контроль + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..47b3b82 Binary files /dev/null and "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\232\320\276\320\275\321\202\321\200\320\276\320\273\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260.xml" new file mode 100644 index 0000000..72c4ed8 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260.xml" @@ -0,0 +1,15 @@ + + + + + РазделПочта + + + ru + Раздел почта + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture.xml" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture/Picture.zip" "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..b262d05 Binary files /dev/null and "b/CommonPictures/\320\240\320\260\320\267\320\264\320\265\320\273\320\237\320\276\321\207\321\202\320\260/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" new file mode 100644 index 0000000..ae00f5e --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" @@ -0,0 +1,15 @@ + + + + + СтатусВходящий + + + ru + Статус входящий + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..0fc46b2 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..d47351c --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217.xml" @@ -0,0 +1,15 @@ + + + + + СтатусЗнакВосклицания + + + ru + Статус знак восклицания + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..16a0c5d Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\227\320\275\320\260\320\272\320\222\320\276\321\201\320\272\320\273\320\270\321\206\320\260\320\275\320\270\321\217/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732.xml" new file mode 100644 index 0000000..2fd20be --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732.xml" @@ -0,0 +1,15 @@ + + + + + СтатусИнформация32 + + + ru + Информация (32x32) + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..f5e8ecd Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\21732/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" new file mode 100644 index 0000000..805b167 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271.xml" @@ -0,0 +1,15 @@ + + + + + СтатусИсходящий + + + ru + Статус исходящий + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..11dc157 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276.xml" new file mode 100644 index 0000000..7064e8c --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276.xml" @@ -0,0 +1,15 @@ + + + + + СтатусНеудачно + + + ru + Статус неудачно + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e25c439 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\265\321\203\320\264\320\260\321\207\320\275\320\276/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214.xml" new file mode 100644 index 0000000..7caeb69 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214.xml" @@ -0,0 +1,15 @@ + + + + + СтатусНизкаяВажность + + + ru + Статус низкая важность + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..79bd483 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\235\320\270\320\267\320\272\320\260\321\217\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532.xml" new file mode 100644 index 0000000..146690f --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532.xml" @@ -0,0 +1,15 @@ + + + + + СтатусПредупреждение32 + + + ru + Предупреждение + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..0825c42 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\265\320\264\321\203\320\277\321\200\320\265\320\266\320\264\320\265\320\275\320\270\320\26532/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275.xml" new file mode 100644 index 0000000..298aa22 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275.xml" @@ -0,0 +1,15 @@ + + + + + СтатусПроцессОстановлен + + + ru + Статус процесс остановлен + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture/Picture.zip" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..117525e Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\273\320\265\320\275/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.xml" new file mode 100644 index 0000000..5bf44a5 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260.xml" @@ -0,0 +1,15 @@ + + + + + СтатусСостояниеПроцесса + + + ru + Статус состояние процесса + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture.xml" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture.xml" new file mode 100644 index 0000000..6bef125 --- /dev/null +++ "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture/Picture.png" "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture/Picture.png" new file mode 100644 index 0000000..7fd4206 Binary files /dev/null and "b/CommonPictures/\320\241\321\202\320\260\321\202\321\203\321\201\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\260/Ext/Picture/Picture.png" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" new file mode 100644 index 0000000..702c39c --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветЖелтый + + + ru + Цвет желтый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..1fdfec1 Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..244da24 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветЖелтыйСПометкой + + + ru + Цвет желтый с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..0eecbf0 Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\226\320\265\320\273\321\202\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" new file mode 100644 index 0000000..9dd0dd6 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветЗеленый + + + ru + Цвет зеленый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ac4de2e Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..db90693 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветЗеленыйСПометкой + + + ru + Цвет зеленый с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..2af418a Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\227\320\265\320\273\320\265\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" new file mode 100644 index 0000000..e67d0da --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветКрасный + + + ru + Цвет красный + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..ca14445 Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..ee42fd6 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветКрасныйСПометкой + + + ru + Цвет красный с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..a1f620a Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\232\321\200\320\260\321\201\320\275\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" new file mode 100644 index 0000000..b0e0473 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветОранжевый + + + ru + Цвет оранжевый + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..6685eef Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..1af0ff5 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветОранжевыйСПометкой + + + ru + Цвет оранжевый с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..01589ec Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\236\321\200\320\260\320\275\320\266\320\265\320\262\321\213\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216.xml" new file mode 100644 index 0000000..786764d --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216.xml" @@ -0,0 +1,15 @@ + + + + + ЦветПоУмолчанию + + + ru + Цвет по умолчанию + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..f97cb4f Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..7d0eb2b --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветПоУмолчаниюСПометкой + + + ru + Цвет по умолчанию с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..c280b40 Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" new file mode 100644 index 0000000..b4b573b --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветСиний + + + ru + Цвет синий + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..e43678d Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" new file mode 100644 index 0000000..131d45f --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271.xml" @@ -0,0 +1,15 @@ + + + + + ЦветСинийСПометкой + + + ru + Цвет синий с пометкой + + + + + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" new file mode 100644 index 0000000..2198f05 --- /dev/null +++ "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture.xml" @@ -0,0 +1,7 @@ + + + + Picture.zip + false + + \ No newline at end of file diff --git "a/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" new file mode 100644 index 0000000..9595db6 Binary files /dev/null and "b/CommonPictures/\320\246\320\262\320\265\321\202\320\241\320\270\320\275\320\270\320\271\320\241\320\237\320\276\320\274\320\265\321\202\320\272\320\276\320\271/Ext/Picture/Picture.zip" differ diff --git "a/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265.xml" "b/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265.xml" new file mode 100644 index 0000000..9be255a --- /dev/null +++ "b/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265.xml" @@ -0,0 +1,16 @@ + + + + + ДемоДанные + + + ru + Демо данные + + + + BinaryData + + + \ No newline at end of file diff --git "a/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Template.bin" "b/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Template.bin" new file mode 100644 index 0000000..e28dfb7 --- /dev/null +++ "b/CommonTemplates/\320\224\320\265\320\274\320\276\320\224\320\260\320\275\320\275\321\213\320\265/Ext/Template.bin" @@ -0,0 +1,10494 @@ + + + + + a5b9d54c-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFU= + Адвокатское бюро "Аплана" необходимо позвонить + false + 2016-05-05T10:30:00 + 2016-05-05T15:00:00 + green + confirmed + event + false + false + + ActionTarget + 0d73eeb6-342c-11df-a3ff-00055d33dddc + + + + 5fb74ce0-079e-11e0-877b-e0cb4ed5f4b6 + Накладная 00034 по договору №3 (№ 14-ТН от 10.05.2011) + Входящий документ + html +
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
+
+ + 5fb74ce1-079e-11e0-877b-e0cb4ed5f4b6 + Накладная.png + png + 3502 + false + AgFTS2/0iI3BTqDV67a9oKcNs2WAgPe791crKSvpWJgbGpkZGRjoGqdaWuiamKQa +6CZZGhvqJicnGaaYp6Ykm1ia6/ByVRuCCINaXi4QAhmwjhdiUGeAnzsvlxQXkMnr +6eESxMDAxM/AwFjNwQQUuSXzfz+QYiwOcndiWHdO5iWQw5Lu6OvIwLCxn/tPIiuQ +r5DsEeTLwFClxsDQ0MLA8Aso1PCCgaHUgIHhVQIDg9UMBgbxgjm7Am2AFuh4ujiG +VMS9vWrIy2DAw7Jxiv2LLRxVLHMsJ3+9NPeurHsDAyMTyz+m9WJ9IAbHH1Y2ARAt +4MG41UOJH8hQ2JCVyAKiLzBlXXSzAzIcHHRzwNqiHHRvnWAHKV/RygsUb3DgXuEq +/RPIYGDcugFsTAbj1gxleZD2BWJmIHEm3QViuU+aQdqvHGIDmbaA9cqi3hqQ9oao +G2BHbGmI2jKRH6Q9gFsaZFqjWEC32SdHkPasROZRx4w6ZtQxo44ZdcyoY0YdM+qY +UceMOmbUMaOOodQxjdy/D947kbKQE9xP83T1c1nnlNAEAA== + + ActionTarget + 5fb74ce0-079e-11e0-877b-e0cb4ed5f4b6 + + + + a5b9d54d-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFY= + Накладная 00034 по договору №3 (№ 14-ТН от 10.05.2011) + false + 2016-05-02T10:30:00 + 2016-05-02T12:30:00 + green + confirmed + event + false + false + + ActionTarget + 5fb74ce0-079e-11e0-877b-e0cb4ed5f4b6 + + + + 09dffde7-341a-11df-a3ff-00055d33dddc + Фролова Е.М. + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + AAAAAQAAADo= + Зарегистрировать "Ответ на "Претензия на качество поставленных строительных лесов"" + 09dffde7-341a-11df-a3ff-00055d33dddc + normal + 2012-02-28T18:50:00 + AgFTS2/0iI3BTqDV67a9oKcNTVTbbqNWFO1DXzpS/gHRhzw4CTa+O9gS2I6vMdiO +48sb2IeLAePAMRhXlWZSVfPQSFONZlSpqqaq1A9wp007bTqeXzh8SX+hB+zRBAnY +e5+11j7A2rz+/LPo+O/hw1dknzwhGRWaRunoCaMCcYbvXzAmgCKxEE1QJElXA97S +siFJElNrAcECEkWCJCFYQyoknnjaDKrFJB0/0RYa1ETj1JmKBigmMEOFcHkKblaa +i5XKe/rplb8EJEmFHalDS0ayZn7Ueqa5hAN9A0RdZEw5lUVTM/wCa2Pt86jiaBtQ +SKSW63OSLDHLEiOV0A9oi/5A2+A52hYYSioRYSV4iu7R7+hd8Cy4xfE7fO7QW1y/ +De6IY/QmuMXZfXBLoPdoiws/hwRcvMf5Xxj+Yr+A/omE70MZTNgR6APaRckWpw8R +/H3wXfAtcWi0w9xQ5SG4OyyEqOBZ2P34mKGWH3f9PXqLgbvg6WHPv0bkh/0uCfT6 +DP109gj+I174N/hmD2Y0UyEky54BG7/dOH7djj3F0UyEYkEzRQVQQqd2LokOyKRO +tGuO73nxVk2xWHx0+gO1OlBwxIUp2y2z4/Au56i8GlbbA6Pave6m5sOOYnGsd3T0 +5HLOepeVuaCX19q4xnnNi7pL2fHJhlqNLW7d70yFhNMqt7O6QaUdAYPLXh62nIyH +aazPY4mWm/W7xkYb8UCuL8xYVvB1PoZj12zYXLbCckojobtXPX4s9SFsiJYy0VY9 +N1+BuWwsmcAS0oZbN3UfVoVKPp+X5fbI8a+sLuxANZ0WMnRv321qd3wna9qq7sxv +ptzSy3Uyw54nr0KJhb3JwpWdTPP89QVd1wBsmZbTn3TLa7Y15fK6FZsq2ZasNcuj +WssBVxOYE8opStjoIt0Ld8GzfE9PDyU4nRiqMvRpQZZHyZjrVuawel2tCYKRysaE +pppcAV60U36S93N2BYD6KLaR2hssoccyuRgl3XQS1ZosuImYLMdTXiK5XOfdVQO2 +K93LykW3gZ9nsLrMDGm91mA37CjrS+VpvUKPsQT+UAO5NpBouzxkvfD7cc3eIF21 +9aaiKMViOIJAU9T9zH65j/HMfHL+wdIHB6O/Cex7bLxf0Ev06pHxXmKn/4kxkeuD +u4Nb36DfsLmfhzMSvHiEfhVO2Mc5pHNncfqMjidoIpErpOOFeDyCUnjU8TWafCb6 +lZTIr/8H + NotExecuted + Active + 2e7a7d85-61eb-11e1-8bcb-e0cb4ed5f6be + + + 1 + Зарегистрировано + Зарег. + ExecutedPositive + + + 2 + Не зарегистрировано + Не зарег. + ExecutedNegative + + + + + ActionTarget + 698c3ac3-621b-11e1-8bcb-e0cb4ed5f6be + + + + + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + false + + + 698c3ac3-621b-11e1-8bcb-e0cb4ed5f6be + Ответ на "Претензия на качество поставленных строительных лесов" (№ 1 от 28.02.2012) + Входящий документ + html +
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 +OuWW86Tm5JVYBL/uRN9/ov8p4j8=
+
+ + 698c3ac6-621b-11e1-8bcb-e0cb4ed5f6be + Сканирование 001.png + png + 3502 + false + AgFTS2/0iI3BTqDV67a9oKcNs2WAgPe791crKSvpWJgbGpkZGRjoGqdaWuiamKQa +6CZZGhvqJicnGaaYp6Ykm1ia6/ByVRuCCINaXi4QAhmwjhdiUGeAnzsvlxQXkMnr +6eESxMDAxM/AwFjNwQQUuSXzfz+QYiwOcndiWHdO5iWQw5Lu6OvIwLCxn/tPIiuQ +r5DsEeTLwFClxsDQ0MLA8Aso1PCCgaHUgIHhVQIDg9UMBgbxgjm7Am2AFuh4ujiG +VMS9vWrIy2DAw7Jxiv2LLRxVLHMsJ3+9NPeurHsDAyMTyz+m9WJ9IAbHH1Y2ARAt +4MG41UOJH8hQ2JCVyAKiLzBlXXSzAzIcHHRzwNqiHHRvnWAHKV/RygsUb3DgXuEq +/RPIYGDcugFsTAbj1gxleZD2BWJmIHEm3QViuU+aQdqvHGIDmbaA9cqi3hqQ9oao +G2BHbGmI2jKRH6Q9gFsaZFqjWEC32SdHkPasROZRx4w6ZtQxo44ZdcyoY0YdM+qY +UceMOmbUMaOOodQxjdy/D947kbKQE9xP83T1c1nnlNAEAA== + + ActionTarget + 698c3ac3-621b-11e1-8bcb-e0cb4ed5f6be + + + + a5b9d54e-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFc= + Зарегистрировать "Ответ на "Претензия на качество поставленных строительных лесов"" + false + 2016-05-02T15:30:00 + 2016-05-02T17:30:00 + blue + confirmed + event + false + false + + Task + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + + + + 8084fb32-b63c-11e1-b64a-e0cb4ed5f6be + Претензия на сроки доставки готовой продукции (№ 3 - 06\12 от 14.06.2012) + Исходящий документ + html +
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 +Lfv/AQ==
+
+ + 8084fb37-b63c-11e1-b64a-e0cb4ed5f6be + Рекламация.doc + doc + 32768 + false + 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 +mR4bJlyj/R9dPe//YuwYled1t1Z1UHHuse+Q44tyfee/K28v3+tqvPxX+2MuLk/v +1e16YO785/OiVrK1VhOSk8bk9Oq55G6IStQDeSWLIXFWXZ3irKdEZ0YsDDJtYzRj +3c8BO4uXubdKSUn/Rrtj7yy5OKcx3q4O3fhDtC7FqVenB60In3B9lfg6srEbpmym +uD124KGDW7Y4TEsLuhI0Z39U8LbBRkWTg7vuWC3mp1h5e++vDfPStdqkOaN9Gy8f +9bKap206yZ6++MvJurtdHsnmjM07HjVFe47G1qXeyX7WvpOtw6k4rfZnlepGjf09 +qbWVbY/13y+o2uq1QvGw4uwatRub6xT1uuu2X1d1NbOy4zjlVQVepUe9niZ96909 +M9FVs/dq55nrM29MQskJbsVTFqe1n5Qya7pBh27qF7tdTVJOWNh7zYMFYZn5S+XP +L46bs39H19G0p/Dc1ZXyO0ovKp44ptpKV1+nevBs2yvOW3QuLJ2QX2bp9nD+4uPr +0k/fS6zI3De+fIZWxrjIhIq/zwktd94MdDY58JvNhrZrdy0cMEBBp/e5mrjN+b6b +Sj0X7XjmNLqjyjVTfoRzUd22qC0xg9c8WRSzZf+pBxE69wo3uZ8/lZDW8ccjB3QX +fB+k12+f/fA9B6wiJoUp/NWrWHnqvCy7fj+WTu6ucGXEuZsdv6ULFrtNXKWyQtGh +k9/QCrPkeX3o/qcn9FTIia21OJSxzUpv0qjQrOkDU/IKnrsFbSj9a1SSm/mwm5MU +dH7/i7pRME9h0HElvx6RVwIOqh8e114cuvrkr8t+mj78l0d2ZV26ePgM803bO9lG +TLsJ9qXmdLjitdZzt5usRVn5uE3JcRoa7TIeKM1Uilu0VFg26ti+FZETZ1dO2WKX +eqFb5kxnamHFhtzCeWF/aZf5tVu6bfNB4dX1t7b7zV6vtLBXn/K6mfEhcTtsv5n2 ++M6Q1faBj7KzZm21SbUwGztdLXPrSQs6jHeh87O+Zwpd1s3x/ck//5tDSglT85TK +NU/XWMg5pNBtA1YHa507KVhbpj503c8hjxatnTj42CE0//bavL0laka7i3+RfXpC +2VRLKXPt/V1HV4dfPru/8Kf7iw2WtHv8pF+W8l7rSbV3B8gm/zmgZGDGbfk/edVn +Czcd6bHJbrlnTvFFkW3RjG/UrhZevKN2pPvZEt+O/okCf7tHOze6X5weN8xm7+y/ +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 +qNDoRDNb9NBufZx0ufWvg/8D + + ActionTarget + 8084fb32-b63c-11e1-b64a-e0cb4ed5f6be + + + + a5b9d54f-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFg= + Перепроверить документ "Претензия на сроки доставки готовой продукции (№ 3 - 06\12 от 14.06.2012)" + false + 2016-05-04T15:00:00 + 2016-05-04T18:00:00 + green + confirmed + event + false + false + + ActionTarget + 8084fb32-b63c-11e1-b64a-e0cb4ed5f6be + + + + 353af559-3417-11df-a3ff-00055d33dddc + Великанова Л.А. + velikanova@mercury-pro.ru + + + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + AAAAAQAAAM4= + Подготовить список видов документов по всем подразделениям + 353af559-3417-11df-a3ff-00055d33dddc + 2011-05-20T23:59:59 + normal + 2011-05-15T17:14:52 + AgFTS2/0iI3BTqDV67a9oKcNTZHfSgJBFMaju4JeIYa5Vtddk2gdF6JHqBdYdcSB +Xd10UrcI1C66KFAk6CIoegMrLfHvK5x5kl6hs6OGezF/zn6/75s5c7i7o7/f6fKG +ntMYZSXpe87BPitxt4DzHvO5dEnZ9XmW0rrgjaBSlZSSfKUseVmSLKFU8qY0IjDW +EAVZyqasZEyUhRSuF6/lXY9nTSRKUgZxfnkl6uh0tsLjF2HAKTWiRGMdyXKVQqij +C6JOajL0uE4pIhIvur7wQvu0it4ZXamJa26bR0EzQ6nDAoflHHiGAQxhoO5hYDMj +5xB4gwVWvmChOrj6hLHqqEei2rDEZRtLExJVUYN/iZ4m6g5mMIL5CiEoXaAI1SOY +6R0MVQuTflA+gmkkRbMuzJgRbE7SQwBx1Vqfo6+VY5ggN9cnGRB4SUAvsQW9oy3m +rxArmUimE1bSNImVstMnW7o+mnxHNqodXWcd8Qof6gGvPscGdLfUT7jvbBpipv9d +zWNsn522tNTAnuOon4DpN3Xo7R8= + NotExecuted + Active + + + 1 + Выполнено + Выполнено + ExecutedPositive + + + + + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + a5b9d550-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFk= + Подготовить список видов документов по всем подразделениям + false + 2016-05-03T12:00:00 + 2016-05-03T14:30:00 + red + confirmed + event + false + false + + Task + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + + + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + a5b9d551-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFo= + Перезвонить Савельев П.М. + false + 2016-05-05T15:30:00 + 2016-05-05T17:00:00 + none + confirmed + event + false + false + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + + 09dffde4-341a-11df-a3ff-00055d33dddc + Петров И.С. + petrov@mercury-pro.ru + + + e9a0beb2-7ec0-11df-a464-00055d33dddc + AAAAAQAAAMw= + Зарегистрировать "Рекламные материалы" + 09dffde4-341a-11df-a3ff-00055d33dddc + normal + 2011-03-20T16:20:19 + AgFTS2/0iI3BTqDV67a9oKcNTZBLSgNBEIZ1qeAdmt5kk3klIjjpDIhH0AtMkg7T +MDMZkzYPRYjZuEhAEUFXPm4Qo5FgTNy6rD6JV7CmM0Iauruo+v/6ivrZ3NDnd/59 +To9onrJARqG3s80C7tfw32IRlz6J/YiXKW0L3kkaTUkpqTZiyWNJyoRSybvSSo35 +jqjJoFws2HkRCyn80GhV/ZCXHXQEUiYGPzkVbex0uLIbx72EU2qlRCtDskqj1tPo +mmiTluyFXFPqaDHqfiTCnnvQxN4lnWmJM+46u0m3RKnHEo9VPLiHMbzDWF3B2GVW +xSNpRvVhCm8wU5dqgPEM7xImmB+oEcnBM1Y/YY7OL1ioIUwJBliEaSrG9FwNc8xK +/hk3MMHiUvUzwhMKB6ueBB5MeDHXxLfo/4AFylP4KLM8wqsa4pAL5Fyvqe80Nxu9 +YJt20SzYjkOcPbdgu86+llq4HXz1spjevkcv/gA= + NotExecuted + Active + + + 1 + Зарегистрировано + Зарег. + ExecutedPositive + + + 2 + Не зарегистрировано + Не зарег. + ExecutedNegative + + + + + ActionTarget + e9a0beae-7ec0-11df-a464-00055d33dddc + + + + + e9a0beb2-7ec0-11df-a464-00055d33dddc + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + e9a0beae-7ec0-11df-a464-00055d33dddc + Рекламные материалы (№ 7 - 03\11 от 20.03.2011) + Исходящий документ + html +
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 +g1+eZxCmecHZad+TlL/9yiOEb5e5r5u5/3vnHw==
+
+ + e9a0beaf-7ec0-11df-a464-00055d33dddc + Письмо.doc + doc + 10752 + false + AgFTS2/0iI3BTqDV67a9oKcN7VrPbxNHFP5md+3YpkmMoSmgqDUm7QERN04CcSqo +DAluBATahopDU6n4F8St49QJiiqKBKrUop5y6LEqRaISl0ppDxzKgfwH5MQ5SBxb +FRAXDmT75seSzbKuDUJqU88nz7zZNzvfvH1v1rtv7AOQ+OvmrfOJXYk96aFU/77+ +vr7egeJwundwsNjXmxseSPXm87lUYahYyA8OD+1pj5xP8arvQnuEfwTDbkm0fHvz +ytVfd9yFB+/CxKodRtClY1Q2OwdRIKZ0q7ZtKxVsjQ2FP35ewmGELQpd7JaMbEzU +pGFUOpAr58qHVg6t4BmErS68/goQ/46JwvDPsO3Ohm0Hn4h6UlFy6W7Xk1tdDDOs +sSTj8ZWSjn7EAG6Q/F4dv6gMEQ99EDHkcTOyh+Rjko+I40/yfomOk3T8qo83Jz3z +edHIvqSa93odf3p5veOv15G8P+LDM+njHz9449Qo7l4+bsenLnscOP3e8S8Kh8+Z +/7KzjlAuPLxxk3mv40fll3rX/e+gHRotDfU9r9GSYE78n2hftF7sXfHXaM010I03 +Fpffji+uHNi5GGpLUNm18FOgh8qbi9o9Ghr/b8TQSVkJw8ckncSEstDMA9sQ2WgQ +x1FFDRWcxueQGa2FyljYOgae8Rs4xncCMIYinVHAFKZxBnGkxH4QQ7CHbbl2H1uv +7UfmLbyGvaFLI0e6cXSsGyeOGPiAymdj9yxkiYmzZX3Z+gWbsZ6NxTjbvtAlN1Ea +puBJ+/IMCB5zPY9hcp51XtmPg5mH9lWSQBdGiaVEPOfIA3PE8j61a1TOiHoGZ0mX +JS9NU6/fQ9aSiaHYG3Oet6br3dtytQNqHO9vc7Vsm3u+E+N0LXmat4pZKiVhz4iI +0AyS6Kb2O5iks74k/Sjp82R1heznts1Sz7zwxbwYUSAvJanmZ9kZXFxLiJcef8T8 +0mMj6rqsDOWyvOIGvte1QCrDCJoBK2CY1reeJPeKkidpem7OLJl3nOQ8yQ/JAL68 +pql/b3SBGQgEmMHagkagbW2z8Sku8mqCLrCCHI3ki3IgIWbfFLQMDsv0CQLHQbro +KbWQE+TxB6HL24BlsvWsOOWHicg3V6jIMWwdgwzk19FntY6mx9RfJy8DtSgP+HZa +mKD65UAuR9uOefSNbqhG/RoaGhoaGhoaGhobCky9HJsyBRX5Z1Dlnvx/HWHIXy03 +QSax/PfCDvHiLPufUFl1FY2NBZ58V0VSc1jsEdQosQZ++b39fnOlCwHmcPF1FAzL +VGtJLq+saI/ap/kv4kt3siUut6gsno9P4SQl5DlKyYvPNa9TOmCI+U21v9LMmJDa +UuDtU2onxLtX0qwtO2h+hrX/PTUzBq75mUgmK5RMniAvlJ/bBzG6e93xrDufB2U4 +88v7WKM1wSj6ZkSuX++9u42q8al8rTpbLc3FT1VrhfhoNX+uUpyeE8+E8QmuI5XY +n+PtpNOfTOPR8G9f6Ofrfx1/Aw== + + ActionTarget + e9a0beae-7ec0-11df-a464-00055d33dddc + + + + a5b9d552-ad47-11e5-b551-0050568bd071 + AAAAAQAAAFs= + Зарегистрировать "Рекламные материалы" + false + 2016-05-02T10:30:00 + 2016-05-02T12:30:00 + blue + confirmed + event + false + false + + Task + e9a0beb2-7ec0-11df-a464-00055d33dddc + + + + a5b9d5b5-ad47-11e5-b551-0050568bd071 + AAAAAQAAAL4= + Адвокатское бюро "Аплана" необходимо позвонить + false + 2016-05-12T10:30:00 + 2016-05-12T15:00:00 + orange + confirmed + event + false + false + + ActionTarget + 0d73eeb6-342c-11df-a3ff-00055d33dddc + + + + a5b9d5b6-ad47-11e5-b551-0050568bd071 + AAAAAQAAAL8= + Накладная 00034 по договору №3 (№ 14-ТН от 10.05.2011) + false + 2016-05-09T10:30:00 + 2016-05-09T12:30:00 + red + confirmed + event + false + false + + ActionTarget + 5fb74ce0-079e-11e0-877b-e0cb4ed5f4b6 + + + + a5b9d5b7-ad47-11e5-b551-0050568bd071 + AAAAAQAAAMA= + Зарегистрировать "Ответ на "Претензия на качество поставленных строительных лесов"" + false + 2016-05-09T15:30:00 + 2016-05-09T17:30:00 + none + confirmed + event + false + false + + Task + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + + + + a5b9d5b8-ad47-11e5-b551-0050568bd071 + AAAAAQAAAME= + Перепроверить документ "Претензия на сроки доставки готовой продукции (№ 3 - 06\12 от 14.06.2012)" + false + 2016-05-11T15:00:00 + 2016-05-11T18:00:00 + blue + confirmed + event + false + false + + ActionTarget + 8084fb32-b63c-11e1-b64a-e0cb4ed5f6be + + + + a5b9d5b9-ad47-11e5-b551-0050568bd071 + AAAAAQAAAMI= + Подготовить список видов документов по всем подразделениям + false + 2016-05-10T12:00:00 + 2016-05-10T14:30:00 + red + confirmed + event + false + false + + Task + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + + + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + a5b9d5ba-ad47-11e5-b551-0050568bd071 + AAAAAQAAAMM= + Перезвонить Савельев П.М. + false + 2016-05-12T15:30:00 + 2016-05-12T17:00:00 + red + confirmed + event + false + false + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + + a5b9d5bb-ad47-11e5-b551-0050568bd071 + AAAAAQAAAMQ= + Зарегистрировать "Рекламные материалы" + false + 2016-05-09T10:30:00 + 2016-05-09T12:30:00 + green + confirmed + event + false + false + + Task + e9a0beb2-7ec0-11df-a464-00055d33dddc + + + + abb20870-ad47-11e5-b551-0050568bd071 + AAAAAQAAASc= + Адвокатское бюро "Аплана" необходимо позвонить + false + 2016-05-19T10:30:00 + 2016-05-19T15:00:00 + orange + confirmed + event + false + false + + ActionTarget + 0d73eeb6-342c-11df-a3ff-00055d33dddc + + + + abb20871-ad47-11e5-b551-0050568bd071 + AAAAAQAAASg= + Накладная 00034 по договору №3 (№ 14-ТН от 10.05.2011) + false + 2016-05-16T10:30:00 + 2016-05-16T12:30:00 + orange + confirmed + event + false + false + + ActionTarget + 5fb74ce0-079e-11e0-877b-e0cb4ed5f4b6 + + + + abb20872-ad47-11e5-b551-0050568bd071 + AAAAAQAAASk= + Зарегистрировать "Ответ на "Претензия на качество поставленных строительных лесов"" + false + 2016-05-16T15:30:00 + 2016-05-16T17:30:00 + none + confirmed + event + false + false + + Task + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + + + + abb20873-ad47-11e5-b551-0050568bd071 + AAAAAQAAASo= + Перепроверить документ "Претензия на сроки доставки готовой продукции (№ 3 - 06\12 от 14.06.2012)" + false + 2016-05-18T15:00:00 + 2016-05-18T18:00:00 + green + confirmed + event + false + false + + ActionTarget + 8084fb32-b63c-11e1-b64a-e0cb4ed5f6be + + + + abb20874-ad47-11e5-b551-0050568bd071 + AAAAAQAAASs= + Подготовить список видов документов по всем подразделениям + false + 2016-05-17T12:00:00 + 2016-05-17T14:30:00 + orange + confirmed + event + false + false + + Task + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + + + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + f96df851-ad47-11e5-b551-0050568bd071 + AAAAAwAABG0= + Перезвонить Савельев П.М. + false + 2016-12-29T15:30:00 + 2016-12-29T17:00:00 + green + confirmed + event + false + false + + ActionTarget + 0d73eec5-342c-11df-a3ff-00055d33dddc + + + + f96df852-ad47-11e5-b551-0050568bd071 + AAAAAwAABG4= + Зарегистрировать "Рекламные материалы" + false + 2016-12-26T10:30:00 + 2016-12-26T12:30:00 + none + confirmed + event + false + false + + Task + e9a0beb2-7ec0-11df-a464-00055d33dddc + + + + 0ac9b835-ad4c-11e5-b551-0050568bd071 + Отпуск - Фролова Е.М. - с 15 ноября по 19 ноября + Отсутствие + html +
AgFTS2/0iI3BTqDV67a9oKcN7VfdbuNEFOa6UnmGwSu4Wsc/SZrUiSOljkUjZdOS +zLLqpWNPEgvHjhyXNkRI/bnYG0QlBEJCiBUSD1DKVlS72/YVxk/CK3DGPwUHJd1l +C1xQK/F4zs/Md+Y758RR34mv315ez7gH3MNySZLXZFHk82S9zBcKROR763mJN82e +ZJWIZRbWSw9XV2YSu4mfr66wD1ug+O7NQtX3Glsa3tnW0SZ+1ELbjzdaTQ1xvCA8 +yWuC0MCNWFHIiQj7hjuxA9tzDUcQ9DZXW12pMm006vUGGx/puA4ueJvXP3rc/Fjl +NM8NiBvweDomHNK22lhvY5ULyH4gDIORU0HaZr3T1bG6G/T5MiewVXATt/RaVYhH +EHTxTktHDGjiak4mbP+eZ03RDPUM85OB7+26loIe9KOrgkaGP7BdBYkV1AcQfN8Y +2c5UQXXfNpxENrE/Iwoqj4N0HkwdELieP2I2cGKBn+uIMzQk9mAYKEgqjvdv5NIf +cjkjR4EFdw30t+wsFRZtzaLkDcceQAQmHCDx/7K8PFtmJS8ALUfepdcAV16KzSKm +5xssHRQEB098x3YJmtumzLYZG5ZluwPeIX0Ac4PF6DkEzaKBd4yptwvKvr1PrErq +EXGX9ZaZ96fED2zTcJLIe14QeKMK6nk+wOBNz3GM8YQo6UNlz7aCIRyDKL7/drlg +odlt2DwA13e8PWVoWxZxI7+qEOUvS2QhLZSNrcYOisQq90+lb1ShuL4BpRNpVC4+ +ifggkuwQGWqoTL3V6m7XtWb7Q1VkftpWCz1pNvCmKhWz8/xadl7Mz83n9YXsfC2/ +fF4W39A+Wh93kNaqd7tqJ3LHjVoV4mlDF0kG3Pifyj9we5NxJRUIuJM9Lmm5e2LG +sX7GGjjLkrYqiTX6Q3gUHobH0f2IntELeo7CQ3oFgoPwmD6nlyB6QU8R/Sk8oFf0 +JXzP2PSbHP0+92fgi6DJ90y+CZPybUym5EmxSdp/9oZ2QPjJ2DCJ4np7vjGujIx9 +Pm4WrD9wNfrjPK9KDCbLbSJLCM7s/6+i/Q7g/AJIU0BX2VSFKM7DoySC8DAepWJi +fAnmJ/RnCPYkkVzTq8RmfZGNLEpr/2XEz4CGi/ApMHO5KGrQn6SsQe3Sa1Ad0heL +UN/X3p3WXtJFS5ku+jeI/pae0leQvozSC/ieQ+1dKG+degm88lyTl3IISv8V7HTA +cp6eIfpVjn6dQzy6gwae2fY+o+6GMvoMCv8pFP0xYv0AUuQ0/BIBf6f0V8QIfA45 +cxl+seQXWIheGqMn9p4av7jG//R+Bw==
+
+ + 02d9d6a9-0c4d-11e6-b551-0050568bd071 + AAAAAwAABKQ= + Отпуск +Почту читаю раз в день. + true + 2016-11-15T00:00:00 + 2016-11-19T23:59:59 + none + confirmed + event + false + true + + ActionTarget + 0ac9b835-ad4c-11e5-b551-0050568bd071 + + + + 0ac9b83e-ad4c-11e5-b551-0050568bd071 + Отпуск - Фролова Е.М. - с 21 декабря по 23 декабря + Отсутствие + html +
AgFTS2/0iI3BTqDV67a9oKcN7VfLbttGFO3aqP9hyqBZheJDsiVTogCZImoBiuxI +kwReUuRIIkqRAjWupQoFYmfRZZpFECAoWhTIB+RlwEga+xeGX9Jf6B0+3FKF7KZp +k0VDiBzOfcw99wlK/yy5fntzvhCuCTcqZUXdVGVZLJKtilgqEVnsbxUV0bb7ilMm +jl3aKt9YX1so/CF/t77Gf/yA2ecXB9W+aO4aeH/PRDv4Zhvt3d5utwwkiJJ0t2hI +UhM3E0apICMcWv7UpW7gW54kmR2hvr5W49x4NRtNvt40cQNU8J5o3rrduqMLRuBT +4lMRzydEQMZuB5sdrAuUzKg0omOvioydRrdnYv2ADsSKIPFTcAu3zXpNSlYg9PB+ +20QcaKpqT6fcfj9w5miB+pb99TAMDnxHQ9cG8VVFYyscur6G5CoaAAhxYI1db66h +RuhaXkqbut8SDVUmNNvTuQcEPwjHXAYiRsNCV16gEXGHI6ohZWMyu6Arf9DVHB1R +B54G8K+wrJRWmeZeipbnDsEDGwJIwr8cry4uk1JXgFZj7fLfAFe5FJtD7CC0eDlo +CAJPQs/1CVoyU+FmJpbjuP5Q9MgAwFxgsfoeQYt4ET1rHhwAc+DOiFPNNOLc5bVV +rv0NCalrW17qeT+gNBhXUT8IAYZoB55nTaZEy16qh65DRxAGWf7y/WrBQYursAUA +buAFh9rIdRzix3o1Ka5fXshS1ijbu819FJN14b8q37hDcWMbWifm6EISiSQQaXXI +HDV0ptlu9/YaRqvzlS5zPWO3je62mnhHVzby++Jmfr9RXNov80v5/Wbx8n1Ffkf5 ++HzcRUa70evp3VgdN+s18KcDUyRdcPN/Sr/u96eTakaQcDcfLuVy9VRM4POMD3Be +JR1dkevsp+g4Oorux89j9oKdshMUHbEzINyL7rNX7C2QXrNniD2N7rEz9gbuF3z7 +qMB+LPwZ+Cpo6qdMvksm1asymSVPSUSy+XM4cikRpxPLJpofHIbWpDq2ZmIyLPh8 +EOrsl+W8agmYfG5TWprgnP0PivYJwHkJSDNAZ/lSBS9OouPUg+goWVUlFX7FTnjZ +sufg7oOUds7OUqniailVVjY/ptc/QypOo+8hO29XeQ78B1nmoH/ZObCO2OtVqD/1 +37/af+kkLecm6T9I9GOou1+hhHlKT+E+gf471d679FJ4laVBrxQQe8htQNu85MWF +oLvZDwUkotVDXIq/O+I3/qmTfPskfxZ+Bw==
+
+ + 02d9d6b2-0c4d-11e6-b551-0050568bd071 + AAAAAwAABK0= + Отпуск + + true + 2016-12-21T00:00:00 + 2016-12-23T23:59:59 + none + confirmed + event + false + true + + ActionTarget + 0ac9b83e-ad4c-11e5-b551-0050568bd071 + + + + + Task + 7c81d65e-621b-11e1-8bcb-e0cb4ed5f6be + + blue + + + + Task + 3cf9ce72-6226-11e1-8bcb-e0cb4ed5f6be + + blue + + + + Task + 6e536985-313b-11e1-a0f4-e0cb4ed5f6be + + red + + + + Task + 8398d182-369d-11df-a40f-00055d33dddc + + yellow + + + + Task + c1433360-3445-11df-a411-00055d33dddc + + blue + + + + Task + e9a0beb2-7ec0-11df-a464-00055d33dddc + + red + + + + Task + acfcd039-40ba-11e0-a47f-e0cb4ed5f4b6 + + blue + + + + IncomingMail + 13374834-66a2-11e1-8bcb-e0cb4ed5f6be + + green + + + + IncomingMail + ffcdddc9-b62b-11e1-b64a-e0cb4ed5f6be + + red + + + 5938bb41-53f2-11e1-b129-20cf30c960a0 + true +
frolova@mercury-pro.ru
+ false +
+ + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + Входящие + Входящие + 5938bb3a-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + + + 3314da87-5e4f-11e3-88ef-e0cb4ed5f6be + AAAAPAAAAAA= + 2016-05-06T12:20:01 + Обычная + Новая задача "Ознакомиться с результатом утверждения "О задолженности по оплате транспортного налога (Письмо)" 00-000003018 от 06.12.2013 12:12:43" + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcN3VJLTgJBEDVxR8IdKr2CRIb5AAET4yHcuuHTJG6N +O2MyDCYuJMGNn4UKRg9AkBEyI8MVqq/gBbyCr4YYCerSjZ1ZdFe9evXqTQ03N9Lz +Hi+O1Z7aUnzHCY95ZPrEUx7xBNczHpFSfI/AHKEIiFeemcD0TAc40yHjc8hT0+UY +sQAlgWDIdHEZc4j0C5hClM9QIFyf7AnHyElmzgnoAp4RLzghZBbICVVI6OUDPjcd +yRkfQcD5WXAiKU4fI8rxAB06pgeBSV4psu2CLceznSooTUB2xXJcy7Udjxx3G1/J +UyqbyWb4+mvcbfq/02LS4br+X7TDhsdv8QQEN0tpUCI4aBYqoJ+AS1J9WCHiS4tv +LcoBHHIkrqXdfNPLg+OCx2Kc8aUOgIncpRLeWzxAHUKz1OtoCZSqQRqYYGKQyW/6 +I2vfTq/IowJc24d3a16KkAf0OAc+km3RTvOgUWzVj+rF1TWyVh8/mtbfPdTtnWpV +t7XdbJR0q9yuNLTjaK+sS9qtubWaV/HUyQc= + AgFTS2/0iI3BTqDV67a9oKcN3VI7TsNQEESiQ+IOq1clEnHsGCGUa0BJEz4FPR1C +sh0kCiJBw6cAAoIDWCEmlo1frjDvClyAKzDrCEUKoqTBcvG8OzM7O37by0v181lO +j82WWTO4h8UIqbsQTJBizOMZUjEGDyxULBVEvCN3iRu4mDgXi4uQYeL6KFlLSEkU +I67PwwgZ229UykjPSVCtb3WLkj3tVLCUS5ALprDCzpQ9lcqEsyLCKxdrz0UsEo5X +xamlsv5IpYEhJ8RuQIO2aYz4fsvXJ/SDTUq6RPwNL+h4HT8IJeh0+a6Hxqyu4Ga+ +bFf+767c9HHR/y/eGcPzj7qlwO3MGp0ojp5ViugX4mztjxdIcOXhzpMGwRkKTa2e +FrlBkxqXGGlwLlIeAWM9K5PZexiSx1JeZ13MgMoa1oUxN6aY/qY/ivbj9FpCaTG1 +HWa3kKUaeeKMc+ILvS0Hwd7hbnu/d9Rrz6+ROfkC + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5c5-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + 3314da87-5e4f-11e3-88ef-e0cb4ed5f6be + + + IncomingMail + 3314da87-5e4f-11e3-88ef-e0cb4ed5f6be + + + + a7360adc-89c0-11e4-89d7-0050568b40e0 + AAAAQAAAAAA= + 2016-05-22T13:55:27 + Обычная + Новая задача "Ознакомиться: перенос срока по задаче "Подготовить список видов документов по всем подразделениям 00-000002001 от 15.05.2011 17:14:52" 00-000008007 от 15.10.2014 10:31:01" + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcN7VJbSsNAFBX8E7qHYb4UNJ1pkz4C4iJcgbUt+Cv+ +idDHh0pLUwRR8FEEFxBqYtO0tlu4sxK34LmTUvvhEgz0kXvPPeeeMzPf3rLP92x5 +KY/lvqQXWtCYQhMImlBIEf5eUyikpFcUvlBKgZhTYjqmb9om8AUtKTYtitFdmLZA +sQVIiil0Fps8MfOM0IzoA9iO1bJMmAI4wTcmBVeBQVfYn9R0IQmBbGTFOwY6prl9 +owiiIaQilGZ2l8QEaCp1oPgpKKUFawrtOcpzCkprocu+dn2vIOUaV1GqvMZpxThX +aOUXta+0lLmd3A49/AYD9/+5aGTyulozZAWKfZRG7NfcmO5mEjFi6FCyTgPrsscx +lprYMu/fy/ziM81i+jAtWP20DDZNm/LAgcqjTWgBc2ytwzZNH+G/W/5Zdp0F3Tv0 +7IhdG03KuwAagrW/B44hNJGgaWHuzgaV8DmxVDb95NCQp7u0tHmOIRKYgbkFcCpW +4YZ8/Ez3hv16KKR8Pxr69KyWr59cnOQ3L46z+fKnieDovNE8rFWqWilPeaVKzVUN +nE7D9dyiWy82q7VqpSSvfgA= + AgFTS2/0iI3BTqDV67a9oKcN7VJtSsNQEBT8J3iHx/uloOG92lLJNTyOCGn6Q8HQ +FEEU1PaPBwhpYmNakyvsnsQrOLspaQ9hIF+7szM7k4yPj/T43bS39sZeWPqghnLK +ODW0powKPN5TZqylBQo/KNVAbKnimBOecBoaaqnkiEp0G54YFCNAakyh0xzylMKz +RLOgFbCxaikTpgCucMWkkSow6Bq91TyFJAS6kR1vDnRJW32jAqIZpAqUNrpLxSma +zl06OQbOeSOaxo8CNwoGznvjx6EfhqOBtT3u2rlxj/NOcEPjXXjlQ+etPT2hl30s +8P6fikcmi92amShQGaK0FL/8wNPDJErEEFPVp4F1xWOOpdZalv0fO784v7uYVhzB +6pcyaJqa8iyAyqsm1MCcWIvFJicI/1P5N93PbOg5oPfAnGk0tewCaAbW5Bwcc2gi +QY4w96RBVfKdRKqbfgtoLtNTajXPHCIpz+zdHw== + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + a7360add-89c0-11e4-89d7-0050568b40e0 + + IncomingMail + a7360adc-89c0-11e4-89d7-0050568b40e0 + + + IncomingMail + a7360adc-89c0-11e4-89d7-0050568b40e0 + + + + IncomingMail + 13374834-66a2-11e1-8bcb-e0cb4ed5f6be + + + c9be3696-fb40-11e2-a766-e0cb4ed5f6be + AAAANAAAAAA= + 2016-05-02T10:57:33 + Обычная + Fw: Re: Проверка нумерации + true + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNtVFNSsNQEBbcCb3DkJWV+khSlBpEPIOeoEhd2UaC +LYgIbQO6sAspuJGiWN0Kz9pobNoEPMG8k3gFZ15rbQsqCj7yQ/L9zMw3pfk5fd6i +5MjYNjIG3gDeYgclPmGAAwzp2c8A3qkqxhjRTRikUguTF16pugO7nrvnVvKbxYK3 +U/YOl0v7rvDKIxgTMpAkjrRt7IBpCTMnbNPKgpVzzCwTL8m/r3wHsEXkPn0NSEo1 +AZsCzwUsqqrysafbiLGLIcEBRqoBqqbqusfxLy6DjxiD8tUpSiaQUqZhiUu1eTCU +DmwVqNy1lnYwoDdxgOr6BPOnVCeUQvg57N8T+t+pYL2YL7qlA7cys4KNr3ewJsxV +3oENlu2YK9M7mJ4ILwS2uNcaqXsEBeQoqfNGeirPX2V5z0GAbuxHCWdqCRgeTDTa +UWf4wnqfBuqpOlHsMaXJ5tp5ksI22TGnPRoknLVh2uszfBx8ICzi5MhhuCQcfEfp +cmgjH2qWFQltsaYaxvE7 + AgFTS2/0iI3BTqDV67a9oKcNtVFBSsNQFBRcWegdHllZqSFJUWoQ8Qx6giJ1ZRsJ +tiAitAnowi6k4EaKYnUrxNpobNoEPMH7J/EKzv8tYouiLgwk4f2ZeW/e/IX5OfW8 +xemRtq3lNb4hvuUeB/zEIY84wneYJ74TDU44xgssm+Er4dm06zp7Tr20WSm7OzX3 +cLm67+hubYxyCkUAdqz6JDYZpm4UdcswC2QWbaMA3iX6DYVvE3fAHaIaQYkZxG2d +z3VaFA3h80CNTbjPEeCQY9Ei0RSe8vRxJKfwIyckfHHKgSRAGeRoCZO6cg8ObNoq +Y9q1UvY4xB8UwlgfsCwDcYKlI0j+ksT/+qf1SqniVA+c+kzUG99mvaYbqzJri0zL +Nlamsp7agPhC54502oR4AChEwwC+W7nPuf0us3u5Pik/P3FNHTx11BNn/CJFPswP +hJfNWMDaspXqM40VgHUnNqMZ7PWZ+AFlLJMQHo0z59EXSH9yfanipLiGpmhpx+8= + + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + frolova@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + c9be3697-fb40-11e2-a766-e0cb4ed5f6be + done.doc + doc + 28160 + false + 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 +oZw92w9l/c7f7ThA3S/gp0IvQ1nvv6HKfh8d1/VijZ2prIM10tbJXHTmfiN9hA6o +utzxoVYln3eHfQKLVdE2VN2VONn86cXma5cvOdTo0KFDhw4dOnTo0KFDhw4d33mo +r+mIxa6sruN5Dc/P6z3VFbE3lN/4sKjrdF913W9V1/n+ajz/+sIgdU3P635+Hh5M +FELEXy7PpyqGqCvtUKIwNR9/i3sklF8/GE40gmgk0Sg1nt9ZGw3+rjogGsqvC4yF +8goVx39FlKC6NdLRM/B5sSrUUl9koZJ4Ddb2yn4CYJI0WWxDZi9lL+lNJXqKc9r6 +J2aJX0YYh/bX2iajiLQW9dl+vWGQnOvTkzxiP8iquOMwl7QXi5NBfYEvf4umes30 +VD/vfcWrv7Ywn1q/BqXUDlUowSpxno/7oacIIf0G9brtqX5GjPpTKSbkC618ZpD7 +fjppXyzKtEL0TDm5K7uQM6oP7R/u1P6mO2reu/Ikk34Z7QfGe6I/ykm/hExxYrIa +s8gKlvW6//3Fyc3e1Z/x8Nc4hvdFv/P4r4+X/7iQqPeN3ooNuY7dfI8+fv3K51cv +XbsZ5v5gG08NZuazc3JVibim2B1DnlUryiprY5LRkvKrh/Vp1v9b/C8= + + IncomingMail + c9be3696-fb40-11e2-a766-e0cb4ed5f6be + + + + 2648c5c6-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + c9be3696-fb40-11e2-a766-e0cb4ed5f6be + + + IncomingMail + c9be3696-fb40-11e2-a766-e0cb4ed5f6be + + + + c9be369d-fb40-11e2-a766-e0cb4ed5f6be + AAAANgAAAAA= + 2016-05-02T10:57:33 + Обычная + Fw: Справка 2-НДФЛ + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNXVBtSsNAENW/Qu8w5peWdjFBEIOId/AEUuKv2kig +gorQNCgFBUGEglKl2gNsPyLWbdMrvDmJV3A2lVZcdpfdmTfvvZnW6kq+vs3s0jl0 +Sg66hHcMoPGBFFN8yj0pEXrcQAYjR3JUKKz93Xjhpk/HUVgNz44OToKoUo/Oy7XT +UEX13zRmQqCl2OS0mU/urnI95W25Hrk7vrttgU/CP+HEJ7QFNoemfEPoKDwo2sBQ +gpZlyrcYE/qc8LUENYxIpNzYpGKR9i6CalALKv+c7FuFN9sPtCh0F5a+pCOvjA4e +0cPzsqs2RnMEx8I+4ARjq7Juc692HtzihDjGKDerucl3JB/D9yQiYl4ekl7oCHqp +oyyNmJC6WMbcR6acqx8= + AgFTS2/0iI3BTqDV67a9oKcNXZBhSsNAFIT1r+AdnvmlpV1MEMQg4h08gZT4qyYS +qKAiNA2KoCCIUFCqVHuAtDZiTZteYd5JvIKTFCq4sMvuzrzvza6/vFSOn2x2YR1Y +VQs9wTuGSPCJFFN8cZ1UBX1tIUfGSW11BS/aduUoDBrB6eH+sRfWm+FZzT8JTNic +q5ixIqE7Kzm5K/aOsR3jbNqO2NuuvUXfE3kTjV1Bh665M9VrQdfgwcg6PnhZQKZ6 +i7FgoLFe8TJBxg6ptjakUpHdc6/h+V79X449Nngr4iNhg94i0DcScWro4hF9PNPU +wWguaUTqUGOMC/oapdfi2XqjsWiEUZkx0bbeCQ+Z3gvhzMwN5QWf7j++IYW9WRbx +MwfIjXX5Cw== + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + frolova@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5c7-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + c9be369d-fb40-11e2-a766-e0cb4ed5f6be + + + IncomingMail + c9be369d-fb40-11e2-a766-e0cb4ed5f6be + + + + c9be36a0-fb40-11e2-a766-e0cb4ed5f6be + AAAAOAAAAAA= + 2016-05-02T10:57:33 + Обычная + Fw: Схема проезда к офису 1С + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNhZDNSsNAEMf1KvQdxpxU6sZNQTCI+A4+gJTYUsGY +sPYDEaFt9NTiQTx5aKn6AGlptLY1fYXZo0/hK/jfKCJeXJJhd+Y/v/l4X17Kzsds +cWEdWHmLB8SPPOKYnznhN57AzvPET7rJKc/wI0a53Mrvj3u67VJZBSdBvbjvl5RX +U+ebp2EgVO07zAsAYiTPMmzqktwR0hHOlnRIFtzCthHegz/XkYt6kI05zaqOiHuC ++4LW4JrAlfAURATXaQOHdsulo0AF9T+l9wzywQzAMZADff11p6yZFI8XAPGcEmBX +QLd0RJIHP4MR30E31E3d4VeCGL3rLq2akIHf6g5yOhgq1jeEa1YBkP8qCJPdh2Kc +6YZYScIJobsUi8d+QEBGyzh024wM2yWYCKtGcqVaDV3bbjQaQnqY1Va1M7t8rHzp +2dI79IuhqFR96/IT + AgFTS2/0iI3BTqDV67a9oKcNhZDBSsNAEIb1Wsg7jDmp1I2bgmAQ8R18ACmxpYIx +ZW1aRIS20VOKB/HkoaXqA6Sl0ZrW9BVmn8RX8E968+LCDrMz/3w7M+nmRnF+Fqtb +89QsmzwmfuMpx/zBCX/zHHZZJn7XXc54gYucUeKh7jtUV/6l366eeDXlBupm76rp +CxWss7xCRQz1ouBkDslDIW1h70ubZMWpHED3At5Shw74UM04K36ZEg8FjwRtIzRH +KOEUQCR3aBeHjuq1c1/57T8fH4P4mvfLMYhj/bD2qWglw+MTPDxTAuse5J4OSfLY +KBE/QzDRXR3xF0GFlvWAtgB80hF0EcaI9SPBLago/I8qUDyCYFbIJthBwgmhoQyr +xUIAQEEvD+h+PiTsgGBCrNYoNVqtpmNZnU5HSBfDWSq4tuoXypOuJd0zr9oUjZZn +3v0C + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + frolova@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + c9be36a1-fb40-11e2-a766-e0cb4ed5f6be + imgD191.png + png + 883128 + true + AgFTS2/0iI3BTqDV67a9oKcN42CAgPe791crhSrVAgA= + + IncomingMail + c9be36a0-fb40-11e2-a766-e0cb4ed5f6be + + + + 2648c5c8-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + c9be36a0-fb40-11e2-a766-e0cb4ed5f6be + + + IncomingMail + c9be36a0-fb40-11e2-a766-e0cb4ed5f6be + + + + c9be36a6-fb40-11e2-a766-e0cb4ed5f6be + AAAAOgAAAAA= + 2016-05-02T10:57:33 + Обычная + Fw: Помоги настроить сканер + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNXVDNSsNAENZrIO8w7EmlXdo9lZx8B59ARE9qJFCh +iJimeBA9KojUSlU8x9pI2jTpK3zzJL6CM/EPnGFmd/m++WZ2zlZXavsolidmyzQM +xoQnTJDiHRlK5JIXDcIzx6hQSAjme77X/DXCLff5XKCpFFTIiPtyVHjlix8N+qP7 +HkacBLQXhfvh8fbmwW600416zcOj0EbdLxRLaZdKq6IWqAJyHdty1rXajtqdwDnh +3UmLBQ8Cqm86srInhLHFtaU1mSKXwRL9AUq+xIyEM5VHrkMppF2EUHG8Thsi+Vhz +U5F8UHGJN+Qk7PSbXUldwlf6w7mIlcg41m2oY6ROuJfiFzIGQ0Ux54HkHDNj/u+R +cGMxtOb0Ew== + AgFTS2/0iI3BTqDV67a9oKcNXZBNSgNBEIV1G8gdil6pJE0yqzAr7+AJRHSlRgai +iAiTCS5ElwoiUYmK6zFmZJLJdK7w6iRewdfjH9hN/9ZXr1730fJS1T6KxYnZMA2D +keAJY6R4R4YSOed5Q/CsMRwKDsbqteZvE9xoX88YmBB3yET7XBxe9fxHQf7weg33 +moSyE3V3u4eb63vb0VYvOm7uH3Rt1PuKYsFiKQsVlYALJejYVmCDVjuQdicMAnK3 +LDHXQSjVzhv29FgwsriyskIXOY0l3j9KvcBUyEx4yL0pH/JVCDiNV2WNko8Vm1Ly +wYtzvCEX0uk37ZiX6KV/4YxiJTKNvWXfBXdMexFjMPT3mOmAc46pMf//T3BtMbTm +9BM= + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + frolova@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5c9-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + c9be36a6-fb40-11e2-a766-e0cb4ed5f6be + + + IncomingMail + c9be36a6-fb40-11e2-a766-e0cb4ed5f6be + + + + e0c0d846-9de7-11e3-ae9b-5404a6a68c27 + AAAAPgAAAAA= + 2016-05-25T10:41:39 + Обычная + Новая задача "Зарегистрировать "Отправка "Договор аренды оборудования" (Письмо)" 00-000005014 от 25.02.2014 10:39:49" + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcN1VFNSsNAFBaXhd5hmFULmk7SpDUF8RCeIG1HcCvu +RGjjwkUD7aKiC2sRPED6Z0Nimyu8OYh4Bb+ZqHTh0o0DgXkv3997876/Z85Hll/x +U37AaUJbmlOshozWFNMS11uKGed0j2uPVrSgRPVViHuCr0CHKtKQJxVSjmaMZlqw +xkAsDGqreuxLYkNLNWDoznRX3cDG6OBHooacswpNjUtEb7StoiHEodDHE7YLogqZ +41nCsRxd26JV91uuz3m5VC7poN+5W+wfxEbkB9WnHGKZkQrhlakI4V9M1KywYXRn +0aPFKgCvKNWRAEU0FVWhMaI5SgQDb0IJJtHMGNA5o7FFI83UqdNiLqT/sTLZ0Fhp +BoP+BsQZvZqhMZvWn5odLDEabOHxV1uD9DN2NoB1ql9M2p3zdq0bXAa13ae0dotf +FzY8uZBnx4H0254r3KARNI46TtO2Zd3vyqYvbSFl1+PXnw== + AgFTS2/0iI3BTqDV67a9oKcN1VFNSsNAFBaXgncYZtWCppM0aU1APIQnSNsR3Io7 +Edq4cNFAuqjowloED5D+2ZDY9gpvzuHCK/jNRKULl24cCMx7+f7em/fdHXM+is0V +P+UHnEa0pimlKmG0pJTmuN5Syjine1y7tKAZZaqnItwzfCU6UrGGPKmINmimaOYl +awjEzKDWqsu+JFY0V32G7kR31Q1sjA5+ZCrhnFVobFxieqN1FQ0hDoU+nrBdEFXE +HM8SjuXo2hZB3Q9cn/P9PR3zO3XA/kFoRH5QPdpArDBSEbwKFSP8i4lalDaM7ix6 +tFgF4AXlOhKgiKbiKjQGNEWJYOCNKMMkmpkCOmU0tGigmTp1Xs6F9D9WJhsaC81g +0F+BOKFXMzRm0/pjs4M5RoMtPP5qa5B+xs76sM71i0m7fd6qdcLLsLb9lNZ28evC +kpMLeXYcSr/lucING2HjqO00bVvW/Y5s+tIWUnY8fv0J + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5ca-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + e0c0d846-9de7-11e3-ae9b-5404a6a68c27 + + + IncomingMail + e0c0d846-9de7-11e3-ae9b-5404a6a68c27 + + + + 8b892ba2-b628-11e1-b64a-e0cb4ed5f6be + НПЦ Меркурий <info@mercury-pro.ru> +
info@mercury-pro.ru
+
+ + 8ae605a8-fab3-11e2-b34d-e0cb4ed5f6be + AAAAKgAAAAA= + 2016-05-01T18:05:47 + Обычная + Fw: Ответ на: Вопрос по ремонту склада + true + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNpVTbahNRFPXBp0D+YZvnZnBSQZmH0n/wEySiDzYS +W0FEyAWLkpFIfbCIVqKCr5OQNDOddOYX9vkSf8G19pmYikWUHsjMmbNva+29To6u +X7P1Iy+fN+42tho6Ef2qM030VBd6rimeqy3Rb66nheb4wVav1WvNX0v02PXdS5jm +CCh0Ia6PV6FT93qdQzbu9ZqeuEEkD/fud3Yftbv3DrrPmnuPO0H3wJu0RK0EdXKL +LiJp3QnCVtC6GYYS3opat+H3AflXbhihOHxmugCEQVMnbmBAM7h8IXRN4MKkdBkI +fHlwBBdWKVxftNRCsKdzoedIMCSBM5RPwMjI6nude1Asg+dQM7wXN8z40Y3Egtmy +laDU0o2RJ4bzWHSpibg3Pi9zTFEWH4HoO+7YUiaw1MSBo9QiCQ7ddq/QwZWmRFXC +fIjPBOhSw5LQFADFZ+Mwt4gejICnuYvZQUGNJamDFdsW04jo2EqwEamN1o+cM8wE +ronFn4FsDj6HpoUsqIb/x9CBjYhidqJ5pbVRyNP2k/3dzv6Ddvcf1bEdbYcX1XG5 +yDbK+D8hXI3WZUR3/qKsHZo/ccCQLc5P/SinblQphXP1klkjxgR6/opSfhfQ266a +ElqD6W+uJo9gz21rvei5EXNIJc+y6nXqxgExfeepeNVWsidkH00Jei2lxFDROLa/ +FAplJjoJPPG3evL79V3z0qzx4ic= + AgFTS2/0iI3BTqDV67a9oKcNpVJLSsNQFBWcFTp1fO24CSYVlIy6B5cgFR3YSmwF +EaEfFMVIQQeKiFJ1Aa+ltUmTplu4byVuwXNf0Ao6KPgg33vuOed+VpaXzPmIZyeF +rUKxwD3iVx6w4nce8ZRD3JMi8ZtucsoxLsTyOev7EN/rlj5DYAh4yiPSLTxS7uvL +Lwaaw/M5ftJtj/aqO7XyfsXfbvjHVvWgZvuNLMQzKCmoxCY79cjdtB3Xdtcch5x1 +z90A7gH8ie54EAdmwCNYaFvc021jMwLkRYyzAkRIBdImYOXHDSCikuoW8YxTwruA +U56CoCMFTCCvUBFK5TseZpZEBPcOR3iOVhF61FdkEqVZCUFmrLvgCADtEo9Zkb7O +OIWhD0l82MS38ibNFAJDLB7wKzSZYgx91hfoXsKhOJohfI5PBWehcaIkZMPFs/E/ +NBlNBGGOYx1I9wgaYykbFUnLAgkiOzAS0oTQDDUbtswvIkCVyZ+g1Bj1nJstiGwz +9l/jhjPxE0gfrH+d+W4cVQ7r5Vp9t+IvuBclr+T83Iu/12u+E4usQOH0Ew== + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + info@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 4f7a17b3-fab4-11e2-b34d-e0cb4ed5f6be + Калькулятор стоимости работ.xls + xls + 13824 + false + AgFTS2/0iI3BTqDV67a9oKcN7VtdbBRVFP5mdrfdUlq2/BRFqMsWA223zW63tFsJ +lMKupg9A5SeQWK3b7SArS7dZKlYLuigkPmAiwURNmgj6ZExQQ0CTGoFEEjVrJCY8 +aEwsxgfejEYTIdj1nDMz7A8Qq5EE5H7DuffOd8+5PzN3buecYVfCxM8Tp8d89T5/ +uCPY2t4aCDSHjM5wc1ubEWge6AwFm+PxgeBghzEYb+vs8FfNGAtyEthXNYP/SQvt +ZkPnv66ZPPbhgosowSo4MJWrQFkBp5Hca594QPW5HBft/B6SnMIdhQo33cgyF3qr +suX7rVt7ETo+cJ6lFPiRpA/DqAY2J55LxIZS3o1GPL4jkfLeUqyRMcQ0HsNKrYzW +nk4rcpzSalqDzM6WdI6k74veJ6Y21YzScf+KzUvC1rrdpq8WvVck9UlaTamGj8Tm +O2GCWIDPeQ2/8KomhlmX1o00EogheQtr65wL4cJ8GtgSX72/vj7Q37Cib5l90tdQ +51xMz+HCovpHNxqDjxUr+VCORXmllkBxO3TOWkvhpgtQolXSmqXagUa0Av3MN3rt +nq3TvmVWxzbha/ZJ7ep+Mm1BAx1kWmhXbFRi0QU/HizuzBxbcX8ytIIuu7ryTbSj +ia50vlPb/jrjEstJzJWb8nvOW7DbnfEyr9n8b9Pj9X/I4y7kNdzoOjeZ+n+U8g03 +4f034Rtvwldcxx/RnfBkHDnOazJlks/OOCWfkymXHBlIPjfjyj2h8Y5xkHaO5yu4 +hTJs2mEYI0FmxmYUMK3MjFYWMKFDcJKthqv0+NnI4YrDjayCgsJdB94wzLcvT9Hb +V6XuKXoTbyfFKnlXmUnpIGZJuUb+onhoN7n67i/frBvo7eoXvlH4JklfFCZTsOM8 +wDsa7Tv7qeask3fjeSQvifYBSY/xywFpaHJEZHcybSe77Dyb3UK61KpeXeo16LNx +SlyG1QXsIhqzI+9CMKY7+VDlHTZ5/IeTD8z8n05eQUHhtsBUDnCE9Ot4flwnD771 +6+UNOzzvHXajaemJbwPEjcs7rVnP3rXTeuJ5p9kmXjkwTEJbF14W/xx4jYR7+ImU +68zQEaJJYyjmXRvbFUsnksnU3/LrEvF0andq+4g3Oho3ktJn5tOTV4ZPTmgOdRsV +FBQUFBQUFBQUFBQUFP6V/8+MfuGrC+Mt93mOvE7+v//y8QhxrhLOrwGXiK+wYgK9 +JLOsWMB8khES/hC21/LjD1gxgUMktVZsoMqKK3DM4FxJrIDjCeLxeyPGHiOZGt5l +DI0gm2Wff0OVW9qG1ceN8jrqlHXLScyvdflia74YwkyP2XGdZbw1ld65m6t2iz3L +G1bO8FrzbbfGu8o65zKHOPt7eyL9D2/piVybTTfl60nGEEKY7NYSE8JytKKZJEhM +G5WCdEQQoFKnaESpFKCjm2QtcVwfJXuu26eWr4KCgoKCgoKCgoKCgsI0Yfus7Nfy +t3wXzO/75TB/11Fh+bOVln/Ovnq15eNzfY3lo7NPb/+volrL9+f6P0mm1M8sblts +RIqOEXgRxRDlaTxrxn9oYTzyTjI8uPh8zfhxHP2i5tKXupZfN2fM7KFauDS7LV5H +XrdeVC/ptso3l5+a0CbPnfh+5ekJzf69UBQBbKXe09iJARnHTomRdEt0Yx0Gp1jr +M/SSdu3Ueu2pXBSjiMNAEmG0UDnJvwLRCufj2TsPH9NKfNzhxtsOD61n3cFxpyW8 +ftfMkzUs8HBsKkX1m/A0dtERk7n30FXYLmNiZgQJKg8B18a0CE/y0/LDUW0uWJZR +/5r1/ORkXhrSzuJnLGfN14bb6h/yvEWoh7iMwZA7ML3xREh7D52FS+bfQ9dvPTZL +ZKkPz5DGEF0pThMomPq1/v8C + + IncomingMail + 8ae605a8-fab3-11e2-b34d-e0cb4ed5f6be + + + + 2648c5cb-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + 8ae605a8-fab3-11e2-b34d-e0cb4ed5f6be + + + IncomingMail + 8ae605a8-fab3-11e2-b34d-e0cb4ed5f6be + + + + 1eaeb626-d2cc-11e4-b477-0050568bd071 + AAAAJAAAAAA= + 2016-03-25T12:51:30 + Обычная + Новая задача "Ознакомиться "Новое в версии 2.0 (Файл)" 00-00000000191800010 от 25.12.2014 10:13:57" + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNxVFBSsNAFBWXhd5hmFULms6kjU0D4iE8QWNTcCvu +REjiwkUL7ULRhVYKPUAtxsbWplf4/yRewTeDYpHi1iGQmfffe//Nn3x3x66P5fpC +Hss9SY9U0IymPBA0pym9YHtNUyEljQCsAC3AeKecU+5zAp78FhWUCZrho4xjTiin +XLiOEhWaQPZGy6qUQql99bV0S/vmpwQVnArXc7TruEo3hFaBrgdeU8pyqVyiu58g +gfiPHMgwojV6JTBYwTALLLQ9CCcCOJJwz+DCRppjW9CrKYCU8sCWNI0DukFhwVcA +MlpxilNBz6DFNs7va6DxPU5rkJYmCwQZLbmPyUyMBKh9QUG3Dj04ogJyBv8YNimG +GHO/Co8h4qWmCXRDTBdprJvJFoNma+A9GaGtQw7unyMGfwyHHjIszFtF+uQ0rHXa +5+3a5iM6m4ettxkcnUXdQ7/VaSrlKe/ADxsqUlpHDT/sduqAQr9Vl5ef + AgFTS2/0iI3BTqDV67a9oKcNxVFNSsNAGBWXgnf4mFULms6kjU0D4iE8QWNTcCvu +REjiwkUL7ULRhVYKPUAtpn+x6RW+OYlX8M2gWKS4dQhk5n3vve/NN9PdHbs+8vWV +OBUHgp+54AmPdY94xmN+w/aWxyQEDwCsAC3BeOe5TnVXJ+CJb1HBGfEEH2c61gnP +eU6uI6nEI8gWnJeFICkP5ddSDeWbnyQudEqu5yjXcaWqkZKBqgZeXYj9PX74iRHQ +f6RAhgGv0SuBwQqGWWCh7UF0QsCRRHcMTjbSDNuCp6YAUqp7tqR4GPAdCkt9AyDj +lU5xKvgVtNjG+X0NNH7EaQ1SbrJAkHGuu5jMyEiA2vcjvnf4yaESyBn8Y9ikGGKs +u2V49BEvNU2g62O6SGPdTLYYNFsD78UIbR1ycP8cMfhDOHSQYWneKlJn52Gl1bxs +VjYf0dk8bL1N7+Qiah/7jVZdSk96R35Yk5FUKqr5YbtVBRT6jaq4/gQ= + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 1eaeb627-d2cc-11e4-b477-0050568bd071 + + IncomingMail + 1eaeb626-d2cc-11e4-b477-0050568bd071 + + + IncomingMail + 1eaeb626-d2cc-11e4-b477-0050568bd071 + + + + 1eaeb628-d2cc-11e4-b477-0050568bd071 + AAAAJgAAAAA= + 2016-03-25T12:51:30 + Обычная + Просрочены задачи (20) + false + false + false + false + false + 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 + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 1eaeb629-d2cc-11e4-b477-0050568bd071 + + IncomingMail + 1eaeb628-d2cc-11e4-b477-0050568bd071 + + + IncomingMail + 1eaeb628-d2cc-11e4-b477-0050568bd071 + + + + IncomingMail + f9897f24-b62b-11e1-b64a-e0cb4ed5f6be + + + IncomingMail + f9897f2f-b62b-11e1-b64a-e0cb4ed5f6be + + + IncomingMail + ffcdddc9-b62b-11e1-b64a-e0cb4ed5f6be + + + IncomingMail + 34ab4863-49ee-11e2-b85c-e0cb4ed5f6be + + + IncomingMail + 1facb386-4a83-11e2-b85c-e0cb4ed5f6be + + + IncomingMail + 1facb387-4a83-11e2-b85c-e0cb4ed5f6be + + + IncomingMail + 1facb388-4a83-11e2-b85c-e0cb4ed5f6be + + + IncomingMail + d3840386-4a9a-11e2-b85c-e0cb4ed5f6be + + + IncomingMail + 6307d6b8-4a9b-11e2-b85c-e0cb4ed5f6be + + + 80fecec7-b628-11e1-b64a-e0cb4ed5f6be + Администратор <admin@mercury-pro.ru> +
admin@mercury-pro.ru
+
+ + 98593907-cdf0-11e2-b85f-e0cb4ed5f6be + AAAAHAAAAAA= + 2016-04-05T19:00:01 + Обычная + Новая задача "Зарегистрировать "Счет на оплату (Письмо)" 00-000002019 от 05.06.2013 18:50:49" + false + false + true + false + false + AgFTS2/0iI3BTqDV67a9oKcNxVNRattAEO1H6Ucgd1j2KwZXWaWSkwhKD9ETRPYa ++lv6VwqKHCeUmKgESktpmgZyAMXxEtmqZOgJZk/SK/TNSiambb4rEJ7Vvnnz5s34 +yeNH7vlVLt/Kl7Ir6YJqmlJuM0F3lNMM4QnlQkr6hDAhQ7dU2EObIi7wNujUThhy +BayxqaAKKbhaUukuR2KLLl3ahH5Q3ZFSKPVU8bOj/H1AkaRCT/U8nJ8Jfy8KVRTs +S7m5sbnBlVdCIvE/dEDDN5AgEUoqKshE+HTZljVOApemJcIcnwoqUaIC32FzUdsj +vAmqlpAOCpt1GziTTsHTMswQLuwIQMCc5D+aze0x6GtwVPaU5txjzWibdJ3+ew2t +JFyXdsTm4dIgPoMLM/xixEw6BmBmM/sep/FfArjDjoduvzjauWt/LpDHzS8i0WOW +M0AzwZ79/E633sq4AHmf0Z/T4LpuFEwwxmtHUDaDE/TRo6+e2ALYoHzC4+M520kH +HOfodMXB7tWRCB8q60eBz3KdK6smeGMgO1rXgwHdNdWp4n6aemwpwoKWgm54bVBu +QTk78IGm7IdN3BKadpLGHgu68Ogc6jGm0nnfjuYGvo/xMUe1lEfUadfGwGaeWQqq +B5cV2CvoOsV5wZuv/f6reHtw8OZge/0v4a0f/ml39uK1Hj6P98KhVv040INw2Iu1 +7+ud/kAPA617Qbyr5Lvf + AgFTS2/0iI3BTqDV67a9oKcNxVJRSsNAEBX8E7zDsl8t1JBoW3Sv0eOIkLa2IoZG +CqKItQoeILYJTRuTgCeYOYlX8M0mRVH8NhAym3nz5r2Z7e3u2OcjK091T7c0zaig +BUUcKlpRRDHCC4qU1nSL0KeElpRynweIU7wVesCBQJ6BTXigKEcJUiVlNjlUDZrb +soDeqGhqrVz3wJXn0PVOAEWR23HcroPzkfKOTcc17ROt9/ek71aGUf+hAhoeQYJC +KMkppcTg17xum1gJ0ppKhBF+pZShRQ6+fpUo+Byvj64ZpIOCw1YFF9IFeGqGGOGG +hwACZiX/MBvxGPQFOHK+orV4LATNfsvq/9JQS0I646EMD8kE8QRTiPHFgoV0BEDM +IV/iNPolQBw2Hbi9t7Rra3+tUCfmN0Z1hWUCaKhkZu9PtHS2g2uj7g7+rAbrulIQ +YI0vliCrFqfoxqEHRzUATtDel/XJnjlogmMKp1sOmV5hVOevtp5peyLXTmVrQm4M +ZJvverCgVdWdcvFT9ZORIkypVPQq1wbtNhTJBK5pIfNg317CpN5kwmNFM4emUI81 +ZXb2WI0++wQ= + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + admin@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5d4-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + 98593907-cdf0-11e2-b85f-e0cb4ed5f6be + + + IncomingMail + 98593907-cdf0-11e2-b85f-e0cb4ed5f6be + + + + f9b1b474-cdf1-11e2-b85f-e0cb4ed5f6be + AAAAHgAAAAA= + 2016-04-05T19:00:01 + Обычная + Новые задачи (3) + false + false + true + false + false + AgFTS2/0iI3BTqDV67a9oKcN7VXdShtREO614Dsc9sqAXc8m2XWzUPoQPoGbbKC3 +pXelEJNGWwxGxGIRfyr4AFGzds2aDfQJ5jxJX6HfzCbWalJoKPamCyFn58yZ+b5v +ZvasLTyT53s6emutWcsWHVNGl2abYkVfqUd96pktStRSqbC4sLhAB3e2XqD4zTQo +pitKzIZpYp3ghwCwN01HWRbt4/VKTJlpKBpST9EIa7gj1CUNTEvxFl3ZCqbYtOGT +0IBz0qnE7dAtZQXLUlo/1/yUtOPyoabSrq09u6idknIqgS4FZR8gT5ABBxGfQ8UB +TKdjXLFgZGw0wpIRJJQixTDHxBuZeS+IbikFN4Qw3eXcnYOCyCRCH0vghyPcYGqp +B2r0zCbCZ4gxhKQ3TD9jb9NYFvw/MYwhYTs1LVaXtcB6Byr08d9VErQNh77pmo94 +az8CwAwLNtgeStgboX+jcI7JDwLlcZQduHYVa/btC6ueC6ddnPsMfoJBWOcIOqjz +uQRI88oq+mTTka2W4BwjPShzLU3DdNAjtAemkxisXhYod3Zal+t1KKpMSHBLATZX +7ZjbsIcc0Bb/UqdcyDRvK7gnNGLKu+jaJpcNcI+Q7gM2horObNplqA0EGORtCNXu +uCmzI9nYtAUeG+LEknEd6JouzHZh3D4xvLh2TWSYv6sR7Axu22Aw4BmKnOqrcKW2 +/mZ95f5w2fdfptal+/J1VH8R+m490tWwHNXcuhdGjhMVq7W644Se79cib76hPRMx +mmNiGXKnstmaPZNFXXSmzqQXFEv/Z/JPZ9IPXB2Uy39pJu8PxwFHEA1js6no2KY9 +nINAqbAei3IBxm0Yeei4fxvTpmBmmzxRk69W3LBWXK/N1+QTNizhdd5U/LnJePgz +PoIi9gWLfBmACK06ewDKWq9OHQA/cFb/D8Acl5If6Mo/uJT8oFz83aW0/yu/R6VR +kmPAJlEetxdnfHhJnUvzZXkLKDqx6dQWXZO7U9n0sZurcZ9oJMNqpeR7Vdd69wM= + + AgFTS2/0iI3BTqDV67a9oKcNnVJtSiNBEF3wn+AdivllIA4d44jONfYa3kCEcbLx +A0Mi4uIifoIHGE3GnWTMBDzBq5N4BV/1JArK/tmGYbqrq1+996p2ln749VbOdoOf +QTPANSo86QlywV9kGCHTQxSy2m6sLOPiI5LFYidNkGOIQvc15b7gx+eMp9qTIMA5 +j0MfqjQRTJEJZtwznVBPmGhH7ArDUBjKtcucAhOriFuP28MLqkYQiHNrzlbbtSJ7 +lIqLQrcZrrtWW1rbsWvHG1skecMKfEh8g8pjhm7nvHLP0bhhxq0xKFCyxLTmZBeV +/vKMXlBSGyF00KzTDZRCFggjbsmfiUxjqCNf3Mj0gPAVMaY0dGzyK8vWpOn5f3KY +U+J1qR1z17zgvk8XRvwPxIN2mTDSgR7z1P1GwBQ2Qqq99LBjL38sfGfiJ7FsGkqf +qQMxz17vzPXaOBfx3R/q8xy86ppBj31+8ABl3VnB7xBXoawyOWd5SrZeaqI9m5Az +Kl1gmHtVLNG/y0bWr0vvykKEjRRpW9eubQgz1qC3/Ps+1UaW9VgxvcDMJJ9yZlNr +G+lesdwRL6aC+xCnRjUhwKQeQ7r2oU2076tZ6JA69n2SWWZ9wDMe9aQxH5+cWda7 +lBX+f6pXloO9dw== + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + admin@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5d5-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + f9b1b474-cdf1-11e2-b85f-e0cb4ed5f6be + + + IncomingMail + f9b1b474-cdf1-11e2-b85f-e0cb4ed5f6be + + + + 63a8ca68-cdf3-11e2-b85f-e0cb4ed5f6be + AAAAIAAAAAA= + 2016-04-05T19:20:03 + Обычная + Новая задача "Зарегистрировать "Предложение о сотрудничестве (Письмо)" 00-000004009 от 05.06.2013 19:10:28" + false + false + true + false + false + AgFTS2/0iI3BTqDV67a9oKcNzVPLattQEO2iq0C2XQ93FYNzc6XYRhaUfkS33fgh +Qbehu1LwIw9CTFQKfVDauIV+gHCsVrZiGfoFc3+hP9Bf6Jkrh4S03XRVgWA098yZ +M+eOHty/556fxfq5eqzqij9yyTNObUL8jVOeIzzhlJTitwgHnPEl53ZoR4hzvBV6 +ZCcCmTrAnAukvyJacc4ZcUl2yKWU2DFOkQVnJiQozmiHp45ywldc1pQiY3aNPA1j +2iSFZJratLRvvH3y2qFnQj9Qantre0tUXYsM6X/TCH0XvJZCqHSNQqSmG0mZkyey +eI0wRSrnAi1W4BtWB6U9xDtA16LSapN6BRfSGXg2DHOES0i/EhhSY7pjRGqPQV+C +Y2XPeEHSRdB2UHf6bzRsJOG4sGMxFocZ4nO4AN9kNYT0CIC5Tewpvo5+EyAT1jSm +fe9oF278BUx2wy9DagnLOaAJiWffP/GlFuNMEJo26t5hPqfBTV0pmOCKvziCorpU +4teaP2jaAThDe4wMKHbATmrgeIVJrznEvTKk5l/a4r4a0vYlz0S8HUgrtyhldV3E +F5qn2nmQO2+XFbC2uVLBip8jVP7jkv04fEMe7ZJpPcEW3dkq6fMZ2DOwLmXbI6/3 +tLvX7zzr7N3+DfTtjz/amDw6iOKH3aAZR6bXbUT9ZtzqRp4X+b1+7Jsg8Dp+L1Yv +fgE= + AgFTS2/0iI3BTqDV67a9oKcNzVJRSsNAEBX8E7zDsF8N1LCtbWlzDfE0IqStVcTQ +iCCKaOOHBwhtomnTbsETzJ7EK/hmExEU/w0EZmffvHnzZo93d9z3UW5P1JFqKn5i +w3NObUz8xilnCC84JaX4DmHIOS+4sEM7Qlzgr9AjGwkkcYCMS6RfEW244JzYkB2y +kRI7xi2y4MyFBMU5NThxlBGv2XhKkdYHWr6O1gOSQtJdX/f8tm4dUmsQtHTQ7iu1 +vyeaviQG9N8UQt+Mt1IIla5RgFRSS8qdPJHFW4QpUgWXaLEB37C6MPYMf4iuZaXV +xs0KLqRz8NQMGcIVpK8FhtSYfhiR2nPQG3Bs7BUvSboI2oZNp/9bQy0J16Udi7G4 +zBFP4QJ8k4chpBMAMhvbS5wmvwTIhJ6PaR8c7dKNv4TJbvhVQD1hmQIak3j2/swL +X4zT/UAPUHeP+ZwGN3WlIMKKXxxBWS2V+NbnR58aAOdoj5EBxRuwkQeOG0z6xSHu +mYC6f7TFvjrS9prnIt6G0so9FFOti3jmc+I7Dwrn7aoCevVKBSt+jlDpzur0Ew== + + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + admin@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5d6-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + 63a8ca68-cdf3-11e2-b85f-e0cb4ed5f6be + + + IncomingMail + 63a8ca68-cdf3-11e2-b85f-e0cb4ed5f6be + + + + 4b818f48-cff1-11e2-b85f-e0cb4ed5f6be + AAAAIgAAAAA= + 2016-05-08T08:10:04 + Обычная + Задача просрочена на 1 день: "Зарегистрировать "Счет на оплату (Письмо)"" + false + false + true + false + false + AgFTS2/0iI3BTqDV67a9oKcNrVLditNQEBa8W9h3OORqCzV7km3qbkB8CJ+gaVLw +VrwTIaZ2F9myEUEUUdcFL7yM3QbSxqbgE8w8ia/gN5OA9Q+88EDTc8588833zZlP +N2/o+lZvHzn3nL5Dr6igJRV8RoWhLafU8BP9nlFJG7mUj2cAwpnnoXE0CZiSrqkC +OsO+khxa4D7juUCuhICzNh2hLdUanJoDutS0OX2hpudg7e/t7+0KCc3/rWCsvWVl ++daHkwZJNnDt0PWtd2S8k9AOQ//oZw3/1AykvEdd1ELihioqQ1xddkpLVS1qlavA +VUU1VG2UVwMNP8UvhdBaS1Sc91u4kC7A0zEssV3zFECpLC5/6U/Bp6BvwLHhc1qJ +1EbQnPbV8g8NnSSEa56KVwRL7C/QuCX+c6OkMwCWnPMznGa/CRCHPRdu3yjtSu2v +TNsvWodmKCwXgOZG2vz1A127xjsOAxsOBsh7DX+qQV23CjBd9FEJ6vatDb106a1r +DgAuUT6VF5fR4HkPHM9pIUo41Ykpux6WfGronUsvkIcG1eq6a8pnOJ7hskC1TJrT +6x6shEHpVgaqv04WsFdweI7zWsY08cb3o8N49HB0uDs77u7hj0bzuw+SyZ3oOJgk +dhwNkjiYDKPE8xJ/HE+82ydBFPuj2Hn8HQ== + AgFTS2/0iI3BTqDV67a9oKcNrVJLSgNBEBXcCd6hmZWBOPZEE3Su4Qn8LVy5cSfC +ODERMRgRRBG/4AHGmIZJxkzAE1SdxCv4qmbAqAgubMiku+vVq/eqa2d6Std7Nt7z +Vr2qR5eUUJ8SPqLE0JgjyvlAv0fkaCSX8gkMQDhzJzSeJgHj6IVSoGPsU8mhHu5j +7gjkUQg4LtIRGlOmwaaZo3tN69Ar5RUPa3ZmUkZo/pffWDtvZdVsDT5yJNm6bxt+ +zQaLJlgJbSOsLX7V8KdWIOUOdVELiSNKyYW4ui+VOlUtapUrwVVKGVSNlFcDOR/i +F0FopiVS7lYLuJD2wFMy9LEdchNAqSwuv/Un4Tboc3CM+IQGIjUXNEdVtfypoZSE +cMZN8Yqgw/4Ujevjv2uUtAVAn7t8jFPrhwBxWPHh9lppB2p/YIp+0TA0DWE5BbRr +pM1vD/Tim2A5rNtwaQl5V/CnGtR1oQCzRU9KkBVvbejCpxvfzAHsUD6SF5fR4E4F +HGfUEyUc6cS4soeO24ZufTpHHhqUqeuyKc9w3MJlgmqxNKdSPpiDQelWDKpfJwvY +Rzg8wXkoY7oVbGyvL2yu7a4tTM6OP3kQo97+Bw== + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + system@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 2648c5d7-6ef9-11e4-89d7-0050568b40e0 + + IncomingMail + 4b818f48-cff1-11e2-b85f-e0cb4ed5f6be + + + IncomingMail + 4b818f48-cff1-11e2-b85f-e0cb4ed5f6be + + + + 80feced1-b628-11e1-b64a-e0cb4ed5f6be + Федоров О.П. (директор) <fedorov@mercury-pro.ru> +
fedorov@mercury-pro.ru
+
+ + 9762d40e-d29c-11e2-b85f-e0cb4ed5f6be + AAAAKAAAAAA= + 2016-05-11T17:41:26 + Обычная + Re: Схема проезда к офису 1С + false + false + false + false + false + AgFTS2/0iI3BTqDV67a9oKcNhVLdSgJREI4uA9/h5JWKnW0VgpaI3qEHCJHEIFM2 +TSICXRMCpYvImwjF6L5V1PxdX2HmSXqFvjnaVUi77O7ZOd/M9803p7O9Za7v2fIu +fBqOh1UotEMvFFCPK9ygiaIBDWnBTbUrOy2u0ozGihY0VGYd0Ag/QVzRkis0XkfG +7AFAS/Pj04xrNOEqgj6ycDeAm3JN6viK5uSD7RFPjb1VoQCsX+DGbl/RJ3CiY8pV +RVODRimua2gSWV0Fgj6IRiIWKoY0h6IPfAcUmHKo0tbU0dKgabLNngOI2RTRfeFq +aXrTKoLOhKxCQ8NT4WZUHWXc/GX+JnWSO3fTJfd276qQ127peF3LqPZRZWYkBI6y +D7Wd0Il9O6HspJM8EOAriOZcczZoiyA0FlqQe7IZVbGY5L1LR+Qjr8v11fqPT1OF +jAfkV2GsTd2VN9Lu5oEaJ565sR6Jz08yH8Mg0/mHQeynDhADg+vJqZCxz39PhTkB +MBMB9lZ2ghgvzNlBcrZYLDiWVS6XtZ2GmZZburYyF27OTlt2+iyXKuhsMRe+/wE= + + AgFTS2/0iI3BTqDV67a9oKcNhVHBSgJRFI2Wgv9wc6VhbxqDoCGif+gDIqQwyJRJ +k4hIx4JAaRG1iVCM9o3imDk6/sK9X9IvdN6bWlU0w8y8ue/cc86753JxwVwf4fw8 +tZPKpvieI+5LXVr8TjzkgGfSpqVkgh+kwSGPiWcckFlHPMJPlCWeS53HX5WxeADw +3Pz4HEqT36WBoo8u3C3gJtLUPD7xlH2I3eBpihcTRRB9gzR2B8SvwGkbE2kQTwwa +VHKtYKlHIB9AZKR9wkHAU7h5wXfIkaECQ0dxV6M74jnYNGVtdaAVHhQ/KUrjPFqi +zoFhr0s7Q5sHbumodLq3Xdx381X3bOW4XFJudSumMlZ9kIRGO3LI3lB2TuVW7RzZ +a87aOnCPkJlK0/ndE6VRGmtRSHt6M0PLy2h71gdhH209uY7XP0YzITRcob2BWdrc +Sybo7+zupPU1eV9udQyGVYfwD6ueWxeAoYH1dfY63Ol39iZnDA8F8eLxQRIvpOkk +E4VKpexYVq1WU3Yes7Pc6ol1cOgW7bxl53eLe2VVqBRTF58= + 5938bb3b-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + fedorov@mercury-pro.ru + + + TO + 80feced2-b628-11e1-b64a-e0cb4ed5f6be + + + + + 9762d415-d29c-11e2-b85f-e0cb4ed5f6be + imgD191.png + png + 883128 + true + AgFTS2/0iI3BTqDV67a9oKcN42CAgPe791crhSrVAgA= + + IncomingMail + 9762d40e-d29c-11e2-b85f-e0cb4ed5f6be + + + + 4ced8743-dc24-11e3-8e5b-5404a6a68c27 + + IncomingMail + 9762d40e-d29c-11e2-b85f-e0cb4ed5f6be + + + OutgoingMail + 3fa0fa8d-49bf-11e2-b85c-e0cb4ed5f6be + + + + 09dffde0-341a-11df-a3ff-00055d33dddc + Зеленец Н.В. + zelenec@mercury-pro.ru + + + 70abedd4-3135-11e1-8659-005056c00008 + AAAAAQAAABA= + Заявление на отпуск успешно обработано + Отпуск согласован. +Отпускные перечислены на зарплатную карту. + + 09dffde0-341a-11df-a3ff-00055d33dddc + normal + 2011-12-28T13:22:23 + AgFTS2/0iI3BTqDV67a9oKcNTVJdSsNAEBbfLPQOyz63iYk+SN0GxCPou6R2SxbS +NrZrtYrQH1CholIEn+wZ0mq0KG2vMHsSr+DsNpWGJBNmvp+Z2Zxsbpjr92dxTY9o +jrJAVkMvm2EB98sYt1iVS5/U/CovUtoS/CKqNySl5LRek7wmSZFQKvmltDUxdyHK +MijuuNs5URNS+GG+eeqHvOggI5AyyvOzc9FCpcMlPX/cjjiltna0U0tWqpfbxros +WqQp2yE3LhWk5Ct+VYTtwkEDtfdNpimueMHZjS73KfVY5LGSB68QwwfE6g7iArNL +HtEZ9QQT+IEEZjCFhGCICcxVDxaqr7rwTUxYQKLusTbHGoxVB5XGBhXrJLOjlccz +TDA7V51/hyRVT9QtgTcLhtYafITKU9SPl/YpabRu30XHd9SIzddEQ61sZh0DMzXQ +resmO/jcGUnjqgbpRF/I7yBC6/Qw31ePBJmYVD3Vt/Si/5saosennkt1sfiwagrn +HqD2TO9sDf1iFNONunuW41rutuMQZ6fgungbqI2Hhm9zhsz8FB69+QM= + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + ActionTarget + 37480f6c-312c-11e1-8659-005056c00008 + + + + + 70abedd4-3135-11e1-8659-005056c00008 + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 37480f6c-312c-11e1-8659-005056c00008 + Заявление на отпуск Фролова Е.М. + Внутренний документ + html +
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
+
+ + 09dffde6-341a-11df-a3ff-00055d33dddc + Федоров О.П. + fedorov@mercury-pro.ru + + + 29299363-5e4e-11e3-88ef-e0cb4ed5f6be + AAAAAQAAACM= + Ознакомиться с результатом утверждения "О задолженности по оплате транспортного налога (Письмо)" + 09dffde6-341a-11df-a3ff-00055d33dddc + normal + 2013-12-06T12:12:43 + AgFTS2/0iI3BTqDV67a9oKcNdVLNbtNAEEbiBBLvsNpLqZTYsQMcXMcI8QjwAk6z +VSzlxyRL2oCQkvTAoRFFCAlOLRKIcwj5U02cV5h9El6BbzcOskrxwfbOzPczs/P4 +9i3z/E42r/kzXuB+XTYbwb27fl2ENXzv+E0hQ9YKm6LCeS8Sx3G7Izlnh+2WFC3J +KoxzKU6krYGF46gm65WyWypErUhGYaPYPQwbouIAUZcyLooXL6MemJ5u4cXn/Vhw +bmtFO5P0q+1a30jXoh7ryn5DGJUjQIpHYTNq9L0nHXAfmEg3eiU850F8csB54MeB +Xw3oE01oRhP1liaeb1cDRhe0pDWiV5TSL1qpkRqroTpnasjUgOa0VKeUIDYCaqRr +mDrFz5TmSC9ANgd8BcAeXTBwaf6UEqR0Yk0p2Ea0YrShlCGzQU4zzRmkBihfq6HO +qQGCKKefuk47Ssxhwu7TJQSGagx/6f6eb8e7bt7TVHtSg6yXb9Cc6TOQU7Rm0aWV +K/8A0sXOkhr/HcAPdYaBQFKd56o/GpvZmEqPLMe13JJTZo7rOY73sJwr/Wx61Lp6 +EDB1pjtCA+vddAxLhrjG5RZuNo6+Z4DqO7jasu9bjL7+M/vUY361YwdaDNpgWJq5 +LuD/Xc7kl+uX+Z+LzMZyg1CO7DutsDHJttYxCRtLibfZUd8sfcDf/AE= + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + ActionTarget + dd3d78d5-5e4d-11e3-88ef-e0cb4ed5f6be + + + + + 29299363-5e4e-11e3-88ef-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + dd3d78d5-5e4d-11e3-88ef-e0cb4ed5f6be + О задолженности по оплате транспортного налога (№ 3 - 12\13 от 06.12.2013) + Исходящий документ + html +
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 +5h9B6l+Mklhi+AIieyOR/T/A/wE=
+
+ + dd3d78d9-5e4d-11e3-88ef-e0cb4ed5f6be + Коммерческое письмо.doc + doc + 66048 + false + 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 +TAhv/FK8+UTPW1/r6Uy+Y+obQ+XXCCTbstwxivc+l/AgkW20LiCRId76yqNzU+pj +KUaXXCVbmI47twQHJuSE075/w3xTLJKd5ga9owwUsryWXVXmIeVZJNx3Ydg1PS3z +6U5GuDrcpOtd18nTzzLKE3zmJr7D+mrKmnZM3oeGL3dPZm8OxiyytU3a57khhP5C +S6i7sR93mD6H8RoKnpfYCG2W4TwGrTKHA4e7g2608p2LDPNcZyXkH7V224Pu89ee +Ze5LYm4Wxe2iVDpiJyKYvTcJXhb7x1LvHEikelMrPCa8j/rCET+VZoZJzVOfmqQC +5LpyL73eok6z2yd1HacqJa5HrWll7gXpW3Ka2+uXpzFl7qc5om31Qg8n4oPDr8Q9 +vdKsK+Buw52w7L7SKZNDSl2ujgc9B5NOrPFujhGNjM5qDE7uZdbhnLmvWoc/p+xq +MKxfedlfbObh5bXH9qzTjb7xBjzvUYx1lsvMwsbWrlKjjqnEgeDUXuFIKwGCgeZa +r6r2F2NLnpW8aHXwEa36nH0gzC4hROC8kCRSalJmpMYSLgx+nhIa3MlwVdP5/rlw +5cwiBpPQYFFBrTDJ8BqOvfk+irq+dd7Ops17/d6cuTZY2EJR+ylpwwN4nSk5UPr0 +/dPVDTn769fzYlNa2mqfZGzg4oQv/4kO/yM8kve1luicuUfYrnBuYvVuxXSYOv1g +FvwL6KO9bR8rWXHeFeugca9Odb69c8t7K03XcvkXWWo22ygLuT62bh+nK61oONEl +le/CPmJLd+duPi1laWj6TMIsBBZsFdacLpiFICa9YfuOL7lJ4+5sKpf6A9c+4R3n +nblfxd6VY83lZSxznJlZRTimtGM4a5cObsxqhGmwNwPHVNo/hmUjeL2faFO2F9c8 +lhST07asnt2kLrtDVPRxkk7sdJFuYCvDlNjDcXeqKfX20anIMZnr0f01OX3yDz52 +b3H1zBZQuFNDsTOJgbGKyv9DHBLS+lnIwlUmNjOtbszLqflSsmvra+bjA4ms5s1t +TZ5745w6C3l7KBVpVwMznaBDdUKL7kXu7Em96AKnDi2b0ps0W+Nl4wIiN6s8cux+ +MxOrle9YoLbLQuJe48bkvucdoxvTUuJ1+xLpuqL9rztRpW2LV/e6FxjxTKZ7BXZJ +puOZrHfCVok3rH3ih/EWE5sJmyd141Uv49EMeqTA9qGs1wdl7bg1a1Q/bQ1JWa4b +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 +vxgKv83/VPP/AQ== + + ActionTarget + dd3d78d5-5e4d-11e3-88ef-e0cb4ed5f6be + + + + 353af550-3417-11df-a3ff-00055d33dddc + Администратор + admin@mercury-pro.ru + + + 3505b893-8bfd-11e4-89d7-0050568b40e0 + AAAAAQAAADU= + Ознакомиться "Новое в версии 2.0 (Файл)" + Ознакомиться с новыми возможностями 1С:Документооборот версии 2.0 + 353af550-3417-11df-a3ff-00055d33dddc + normal + 2014-12-25T10:13:57 + AgFTS2/0iI3BTqDV67a9oKcNhVJNSsNAFBZ3Ct5hmI0KbdOkFSFOA+IR9AKJHelA +kkY7VqMIbV24UGgRwZWC4AFqMTZWrVd4cxKv4MtYteDCJJOE773vZ3682Rl9fby8 +H9NNmqOsJgPfWZhnNe5W8TvHAi5dEroBr1DaFPwgqu9JSsl2PZQ8lKRCKJX8UBoZ +MXcgqrJWKVnFnAiFFK6fb2y7Pq+YyKhJGeX57r5ootLGFz2/FUecUiNzNCaWzKtX +Y21dFU3SkLHPtcsOUvI7biD82F7fQ+01jTTEEbfNcnS4RqnDIod5DlxDHx6hr86g +bzPDcwjcwhDeEB3BGF4hVR11odqqSxbhBpEBjoTAAB9IVEu1IYWUWIUiWYJ7ZD3D +y/IiM6Jv/R4MVAfGqjVR76EbqqJDiqod1UJvXZ/i3MJ7VkU17ILkn1yqTRDHZOo8 +w4mOOMTfMTxlBW3T1SUT7my4wsJInSKQwFvmjfdDlgBH58+0pmJdovmv4sVPrAd1 +jsuH0VR3qvtKT2yyqNZKwbQKVtEsE7NomyV7ZVW3Grhv+NbbyPS5cOjJJw== + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + File + 96778fc7-8bfc-11e4-89d7-0050568b40e0 + + + + + 3505b893-8bfd-11e4-89d7-0050568b40e0 + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 96778fc7-8bfc-11e4-89d7-0050568b40e0 + Новое в версии 2.0.pdf + pdf + 2510395 + true + AgFTS2/0iI3BTqDV67a9oKcN42CAgPe791crhSrVAgA= + + ActionTarget + daf974f2-1f20-11e1-9346-001c42000009 + + + + 09dffde1-341a-11df-a3ff-00055d33dddc + Мамонтов В.А. + mamontov@mercury-pro.ru + + + 3cf9ce72-6226-11e1-8bcb-e0cb4ed5f6be + AAAAAQAAAD4= + Обработать резолюцию "Дополнительные требования к гидроизоляции склада (№ 2-З от 28.02.2012)" + 09dffde1-341a-11df-a3ff-00055d33dddc + 2012-02-28T23:59:59 + normal + 2012-02-28T20:35:58 + AgFTS2/0iI3BTqDV67a9oKcNdZNfbtNAEMaReAKJO4z2pa0U/4lDUXEdS4gjwDOS +02wVS05ikiVtQEhpispDq6aqKsoDQuIGadqA5RDnCrNX4AJcgdl1Ql0h/GBrZ+f7 +zew361f37+nn92zxjr1gJeY1RDPyHz30Gjyo0/eB1+QigFbQ5FXGeiHfi9sdwRjs +tFuCtwRUgTHB94WlhKW9sC4a1Ypjl8JWKMIgMro7QcSrZVI0hIgN/vpN2CPS81xu +vOzHnDFLVbSWJb1au97XpethD7qiH3FdZZckxm7QDKO++6xD7G0d6YZvuVt+HO9v +M+Z7se/VfLzEMd7gWH7EsetZNR/wK17JAUWvMJND2hnKE6DAFH9ghjN5Ko8wkaew +hhe0XqgYzikypIyZPMG5PMYpkEpJiIETYqmEEWAKeI0J3tBeRt8cOFJATEAeYEos +3Q6s//rwCRwDL0F1Ac6WaTumY5edjTXPilfNn+GE6mZysGz9C6l/EnSuojgBPDfx +zCwIvunKaZ5+CwWn4m4+LeSdE+g7dZ3JA3X+gjPH5NScXBkVsi+USyv/ilTbtZ+4 +zlYh9bMCqo5zQyZk1srCae6SpiwVd1mVzdL/jgjrciAPyT9ld0YO/p0H6BNov29H +RKtrzEAeqrHrjlIcb5gEI/mU5NQL6PRU7f4zfkxc8GodK78+C+IoRoIzoAXVohyi +UJiaogHeuVApJvlELLqz9NZX2NP/hM/e/wE= + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + ActionTarget + d64d945f-6225-11e1-8bcb-e0cb4ed5f6be + + + + + 3cf9ce72-6226-11e1-8bcb-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + d64d945f-6225-11e1-8bcb-e0cb4ed5f6be + Дополнительные требования к гидроизоляции склада (№ 2-З от 28.02.2012) + Входящий документ + html +
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 +3x9/BQ==
+
+ + d64d9462-6225-11e1-8bcb-e0cb4ed5f6be + Дополнительные требования.docx + docx + false + AgFTS2/0iI3BTqDV67a9oKcNs2WAgPe791crKSvpWJgbGpkZGRjoGqdaWuiamKQa +6CZZGhvqJicnGaaYp6Ykm1ia6/ByVRuCCINaXi4QYkACAA== + + ActionTarget + d64d945f-6225-11e1-8bcb-e0cb4ed5f6be + + + + 6e536985-313b-11e1-a0f4-e0cb4ed5f6be + AAAAAQAAAHY= + Обработать резолюцию "Входящее письмо 00000000002 от 28.12.2011 13:31:13" + Просьба рассмотреть и подготовить ответ + 353af559-3417-11df-a3ff-00055d33dddc + 2011-12-28T23:59:59 + normal + 2011-12-28T14:05:13 + AgFTS2/0iI3BTqDV67a9oKcNZVP9atNQFBf8S8F3uNx/ptAmTVpBszQgPoK+QLpm +NNAv29ititCtqIyNdhTBgTjZG7R11djPVzj3EXwCX8HfuelG0PzRknPP+X3dk993 +7+jnz2LzVr6QGelWolrVe3DfrQR+Gf/33FoQ+aLu14KilJ0wOGg2WpGUYq9Rj4J6 +JIpCyig4jEwezByE5ahSzNu5TFgPo9CvZtt7fjUoWpioRFEzG7x6HXaA9DwZz77s +NgMpTWY0t5RuqVHuaupy2BHtqFsNNMs+RrL7fi2sdp1nLWDv6ko7fBM4VqF5uCul +5zY9t+TRZxrTNY3VRxo7rlnyBF3SRPVQndBaHePkWJ0JFGb0k9a0UAP1gWI1EDs0 +Uu9RuVZDdYLTmaANDo7UGS1pLXK3jy0YSNhPDMs27JxlCSvv5C3Hyu+4ZvNGxzlN +wbZWva2KESAXFNMcSlagmdJY0BeDzo3U0GVCqVtimm1Hv0HtWguZYIi94OWIVcEL +jGhHFLNeyKfv2iczxMkJv065LcV0xZg0TxhSVuy88/hpqm8ELT9YMCgBlor0FBGv +IGWY6v7E8d4Enw6o4OQsp2ClWi8YkPOByqFAWKda/gKYM3avhhplO/EPVj6DVLRx +djEVdGHQlSEeqp7qI2H2zknAP6fOGWx054zmKHH8CEnAxIDLjwy+HiSEEXALPTVn +ff/tCcWOcEstU1uFCNwB4pnR0kiqX/X2rZPMN3rtbq8hpiVDx9onC/yVuprk/jgN +RMCY26GktERLj1aqjz3VGwRPUNjH/zBZ32SLTHw2+NVfkas/S0+++ws= + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + IncomingMail + 28517637-313a-11e1-a0f4-e0cb4ed5f6be + + + + + 6e536985-313b-11e1-a0f4-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 28517637-313a-11e1-a0f4-e0cb4ed5f6be + AAAAAQAAABg= + 2011-12-28T13:31:13 + Обычная + Вопрос по ремонту склада + false + false + true + true + false + AgFTS2/0iI3BTqDV67a9oKcNNU9LCsIwENWt0DvEgDv1Mh5HBFtXUkF3daPgym0t +TWlt017hzUm8gm9CG0Iyeb/MrOazsH7tsLc7u7bIUMoROQqJJeF5QsPbLaNowY0H +qc7AE6/g0Rt8JFUpTXz0oXDo0FOToFYYBXLiFyMxvmiZUIaqhzMYeHVwcqbLox4h +8m0o1S9HSTUjxFM+KKdiuW61p7eihr2mJnxcMS6Z3A4l5QrW2sM4xl3ztH8UBq+Q +kuGGpyHjyTkdaTPNhYYCe/gD + AgFTS2/0iI3BTqDV67a9oKcNNU9BDoIwENSrCR/wVDmrn/E5xgTwZDDRG1408eQV +CSUgtHxh9iV+wdlGeuhuZ2ems8v5LJxvP+7jXbyOUaCWBCUqSSXjfUTHalfRAnfC +g4Ej1sDBG7wlVxoFfPjQWAzw5GRoFUaFkvjZSIoPejrUofOwBiPLACsnqhzaP8R5 +H1rVSyK5egR70kedKVkuW0Z6KWgYMzfh34Zu2SS2qMlWsNUIpN/USqOjMniqQYEr +HoYDx5HVZTbTRuiiRXz4AQ== + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + invest@other.ru + + + + 4ced873a-dc24-11e3-8e5b-5404a6a68c27 + + IncomingMail + 28517637-313a-11e1-a0f4-e0cb4ed5f6be + + + IncomingMail + 28517637-313a-11e1-a0f4-e0cb4ed5f6be + + + + 8398d182-369d-11df-a40f-00055d33dddc + AAAAAQAAAL8= + Обработать резолюцию "О реконструкция здания торгово-развлекательного центра (№ 11 от 25.03.2010)" + 09dffde7-341a-11df-a3ff-00055d33dddc + 2011-03-25T23:59:59 + normal + 2011-03-25T20:32:07 + AgFTS2/0iI3BTqDV67a9oKcNfVNtattAEC30Vwu9w7B/koAlWXYDrSILSo/QXkCO +N1jgD9XeOnFLIbZLU4hJQulHfoSEQA+guHZi7Nq+wuwVeoFeobMjN5gGqh+SdvbN +e/Nmdqf37/Hze7p4K16IjPDLqloJHj30yzIs0feBX5UqhFpYlQUhWpHcjesNJQRs +12tK1hQUQAgl95RjEjO7UUmVC/lcNhPVIhWFFau5HVZkwaWMslKxJV+9jlrE9DxN +t162YymEYxSdpaRfrJfaLF2KWtBU7YpklR1KsXbCalRpe88axL3FkWb0Rnru43hv +S4jAjwO/GOA3THCIiT7AxPOdYgB4jld6n6JXONdd2unqPlBghDc4x6k+0h9wrI9g +Dc/T8ITCM90h3L7u4YS3j4HQRIszXhDPnLA/CDnAucX0N/Q75XSSoO9U9wk9NyAg +jhFxdg0Q1n+9/wquC6YcyG3a2bydy7rZjTXfif+6OMFBqrH08J0yqVjWSwC/2Hhm +r8AveXuSgm8pXcjlvc2nK7hPVOe1qYrt9VcadEgNm1Hlxyvoz+wkucua9fKul3+y +Aj01hNwT7tVAH+KCC54Z4ybILMuMf7kyZJBwQyYgi1SSjRc2rFNonM4kZd+wgTwM +GEu8wI2eGO07E8WxB36x4QR4gSPuPBOf2nhpg2XgCeV18KcZg0nmc4Fj4MKHZmxG +k8TG6c6CFYY8hOvUFY5ShTPCfKTlDIgcT/7DT7VRi9jWAYU6VHyPzt5t98zJ64E5 +VKxHc8KEm+bQhaA33w+fL1wg3v0B + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + ActionTarget + 3f2dec57-35d3-11df-a40f-00055d33dddc + + + + + 8398d182-369d-11df-a40f-00055d33dddc + 2011-04-25T16:30:20 + true + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 3f2dec57-35d3-11df-a40f-00055d33dddc + О реконструкция здания торгово-развлекательного центра (№ 11 от 25.03.2011) + Входящий документ + html +
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 +s0zS2QDvZ+4jeCGY3xDm/w30/w==
+
+ + 3f2dec58-35d3-11df-a40f-00055d33dddc + Предложение о реконструкции здания.doc + doc + 10752 + false + AgFTS2/0iI3BTqDV67a9oKcN7VrPbxNHFP5md+3YpkmMoSmgqDUm7QERN04CcSqo +DAluBATahopDU6n4F8St49QJiiqKBKrUop5y6LEqRaISl0ppDxzKgfwH5MQ5SBxb +FRAXDmT75seSzbKuDUJqU88nz7zZNzvfvH1v1rtv7AOQ+OvmrfOJXYk96aFU/77+ +vr7egeJwundwsNjXmxseSPXm87lUYahYyA8OD+1pj5xP8arvQnuEfwTDbkm0fHvz +ytVfd9yFB+/CxKodRtClY1Q2OwdRIKZ0q7ZtKxVsjQ2FP35ewmGELQpd7JaMbEzU +pGFUOpAr58qHVg6t4BmErS68/goQ/46JwvDPsO3Ohm0Hn4h6UlFy6W7Xk1tdDDOs +sSTj8ZWSjn7EAG6Q/F4dv6gMEQ99EDHkcTOyh+Rjko+I40/yfomOk3T8qo83Jz3z +edHIvqSa93odf3p5veOv15G8P+LDM+njHz9449Qo7l4+bsenLnscOP3e8S8Kh8+Z +/7KzjlAuPLxxk3mv40fll3rX/e+gHRotDfU9r9GSYE78n2hftF7sXfHXaM010I03 +Fpffji+uHNi5GGpLUNm18FOgh8qbi9o9Ghr/b8TQSVkJw8ckncSEstDMA9sQ2WgQ +x1FFDRWcxueQGa2FyljYOgae8Rs4xncCMIYinVHAFKZxBnGkxH4QQ7CHbbl2H1uv +7UfmLbyGvaFLI0e6cXSsGyeOGPiAymdj9yxkiYmzZX3Z+gWbsZ6NxTjbvtAlN1Ea +puBJ+/IMCB5zPY9hcp51XtmPg5mH9lWSQBdGiaVEPOfIA3PE8j61a1TOiHoGZ0mX +JS9NU6/fQ9aSiaHYG3Oet6br3dtytQNqHO9vc7Vsm3u+E+N0LXmat4pZKiVhz4iI +0AyS6Kb2O5iks74k/Sjp82R1heznts1Sz7zwxbwYUSAvJanmZ9kZXFxLiJcef8T8 +0mMj6rqsDOWyvOIGvte1QCrDCJoBK2CY1reeJPeKkidpem7OLJl3nOQ8yQ/JAL68 +pql/b3SBGQgEmMHagkagbW2z8Sku8mqCLrCCHI3ki3IgIWbfFLQMDsv0CQLHQbro +KbWQE+TxB6HL24BlsvWsOOWHicg3V6jIMWwdgwzk19FntY6mx9RfJy8DtSgP+HZa +mKD65UAuR9uOefSNbqhG/RoaGhoaGhoaGhobCky9HJsyBRX5Z1Dlnvx/HWHIXy03 +QSax/PfCDvHiLPufUFl1FY2NBZ58V0VSc1jsEdQosQZ++b39fnOlCwHmcPF1FAzL +VGtJLq+saI/ap/kv4kt3siUut6gsno9P4SQl5DlKyYvPNa9TOmCI+U21v9LMmJDa +UuDtU2onxLtX0qwtO2h+hrX/PTUzBq75mUgmK5RMniAvlJ/bBzG6e93xrDufB2U4 +88v7WKM1wSj6ZkSuX++9u42q8al8rTpbLc3FT1VrhfhoNX+uUpyeE8+E8QmuI5XY +n+PtpNOfTOPR8G9f6Ofrfx1/Aw== + + ActionTarget + 3f2dec57-35d3-11df-a40f-00055d33dddc + + + + 09dffde2-341a-11df-a3ff-00055d33dddc + Мишин С.А. + 80fececd-b628-11e1-b64a-e0cb4ed5f6be + + + c1433360-3445-11df-a411-00055d33dddc + AAAAAQAAAMI= + Зарегистрировать "Запрос информации" + 09dffde2-341a-11df-a3ff-00055d33dddc + 2011-03-20T00:00:00 + normal + 2011-03-20T20:28:27 + AgFTS2/0iI3BTqDV67a9oKcNTVTbbqNWFO1DXzpS/gHRh3kgCRdfsB1sCbDjawy2 +4/jyBvhwMWAcOAbjaqSZTNVW6kgdVZUqVVWl/EE6vSiaTjq/AF/SX+jBzkg5Epx9 +NmuvDeeshfT5Z/vx3z8fv8JH+DHOmdB1akfPOBMoCzR/wbkAKthKcUEVx0MLRGvP +hziOad4KghXEqhiOQ7CFZFZ4HFkLaFZzDHVsrSxoKc5JoCkOqNKowoRwfQKuN1aI +mMRD+cllvAY4TmYdyceWnOot4n3rhRViAYwdsO+io5ITXXEtJ67wPuI+22cCawcq +dH69PcPxGreucWot+Tm5S/5M7tJvk7sKR6o1LMukL5O/kj+S+/RVeoPie3T9m7xD ++Zv0DfZ8X/Mxy6WvsOQ+eUi/RuHL5AMCfIPW9885cv2J/23yLr3JHj+y/4rYvsuK +sOT2NHl7+gT6C2ryIX19AHKWa2Cq5y+Aj/aAQpsS+BqKFgpUKparGICU+80zVQlA +MX9sXQnSMKK6TcPj0eiPxmZjbKBIyJb8QORn2ayXyLKZZXtjpzG4GuSXk77hCXx0 +dPTsYslHF/WlbItba9YUos55KyR9ar4jNzNP2I76mkwHXbHH2g5ZCGQEFqMy7AbF +CJXxsYQouiEbD5ydNZWA3lq5BCvHtkSgOHTbvsDWecFo03Z4OZRm6gjCtuIZc2sz +DMt1WGKJHI0o1J2w7dgxbMj1crms671pEF96A9iHZqEgF5nhoZvm9+OAdX3TDpbX +mrCOSv3iZBjpm4xi5e9YuPFzBUm6OmdaFoBd1wtG84G45buaULY9QjPYrm51xGmz +G4DLOSzJYp6Ud7bCDLO3kHhpaBcmKtTmjmlMYkbW9WmOCMP6EjauGk1ZdvIsIXfM +3AZIip+Pc1Jc8usAtKbETu3tEIVNFEsEqV736UZTl0Oa0HUqH9G59bYcbtqwVx9c +1M8HbfQ9481FccLYzTa/46dsrIpaq87MEAU6qLHeHKuML074KDs/oTMcFxq+3TEM +o1rNjAIswzw468tDjJSd3CL1vs80jJSHtJy+eSKy272W3x9ExlCnVO6UoWgao6gK +RT3B/Yg0/nfykGk8U/2jen9Lfk+/R155QLw/PEH/lHnjk4OesDJUhSlVGHYPJZFJ +0X3vWW7/E6jhL/4H + NotExecuted + Active + 43fbd4df-342b-11df-a3ff-00055d33dddc + + + 1 + Зарегистрировано + Зарег. + ExecutedPositive + + + 2 + Не зарегистрировано + Не зарег. + ExecutedNegative + + + + + ActionTarget + c143335e-3445-11df-a411-00055d33dddc + + + + + c1433360-3445-11df-a411-00055d33dddc + 2011-03-20T20:28:27 + true + + + c143335e-3445-11df-a411-00055d33dddc + Запрос информации + Исходящий документ + html +
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 +xeDhb6eBC+CXSdi3S9h/SPwP
+
+ + acfcd039-40ba-11e0-a47f-e0cb4ed5f4b6 + AAAAAQAAANg= + Согласовать "О выделении материальной помощи в связи с рождением ребенка (№ 1 от 16.05.2011)" + 09dffde7-341a-11df-a3ff-00055d33dddc + 2011-05-26T11:38:54 + normal + 2011-05-25T11:38:54 + AgFTS2/0iI3BTqDV67a9oKcNpVPditNQEBa8UvAdhnOzW2iTJrsVyaYB8RH0BdLt +WRroT2yP3a0itF1BZItdRHcFpbIgXmerWWvTn1eY8wq+gK/gnJOqEbyzFz05M998 +8803yYfr1/TvR7J+wu6zPHNrolH3bt10a9yv0nnDbXDhQ9Nv8DJj3YAfhq22YAz2 +W03BmwLKwJjgR8JUhfnDoCpq5R27mA+agQj8eqGz79d52aKKmhBhgT98FHSJ6V5a +XnjQCzljpupoblq6lVa1p1tXgy50RK/OdZcDKikc+I2g3nPutol7T0c6wWPuWLvh +0R5jnht6bsXDc4zwC0byOUaOa1Y8wAtc4WdMKDagpymdQzmCLZwATuUJgWNKxrjE +Gc4AFyqPsezTNcJEjiixwm+AazoWuJIvFGoKRDaVY/xKNzkAgq/wSnMpnhgXKhTj +pQ7MMYLt78/OwAIiGIJ12yiWDLtoWbkt1wx/ST8lxiEB+hvhHzVrkooGfGPgeyMD +v9DpeQq2f1OCZTk7dzK4VzTHlZpCDtTkG/IJXsoTcmlJ844z6Nd6/o13dulvVqe0 +m4G+VYRKL87kODVzrQUvUxvkWLNsKuyiYdmKy84DaVKmz5Qz2l894DsDTw3Ylse4 +Js6Igokcy5fKcbWAdFERLWGWMyC7aLWcWPtN0/wpTu+GW2mbHk7Id2qnXoWV8/8C +8inZQh47/14U0QwIP1eylKGyL0e5jHmfdPMk9dnSCZNeevrX34CrPyqPPf0J + NotExecuted + Active + + + 1 + Согласен + Согл. + ExecutedPositive + + + 2 + Согласен с замечаниями + Согл. с замеч. + ExecutedAlmostPositive + + + 3 + Не согласен + Не согл. + ExecutedNegative + + + + + ActionTarget + 7243f7de-f0c2-11df-874f-00179ab38c00 + + + + + acfcd039-40ba-11e0-a47f-e0cb4ed5f4b6 + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 7243f7de-f0c2-11df-874f-00179ab38c00 + О выделении материальной помощи в связи с рождением ребенка (№ 1 от 16.05.2011) + Внутренний документ + html +
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 +tU8eHnIiUz+iqf8Xuf8B
+
+ + 7243f7e3-f0c2-11df-874f-00179ab38c00 + свидетельство о рождении.tif + tif + 443482 + false + AgFTS2/0iI3BTqDV67a9oKcNfP1HcytblyUI5qgGZVZ/onrWVmmWWZXWWTnocVtZ +D6q7elBpWdlpbRkRmRFfxCeeflfrS6211hIkCBAUAAittSZIQmsNUGvV65xN4t3v +i4i6tp8/p8PhcD/nrL3W3kf4//1f0L/DHfWr//7/8t//D//zv/3X/+P/7X/8V//q +X/5Pf/Pv/ud/+W/+zd/8q3/5n//d//Sv/+Vf/dV//td//W//5q//6t/8u3/7P/x3 +/+2rf802/+rNf/ffMmMX+A+G/4Zf6H/5X/6v/0Kq/W/+xcP9Lez+/v729vb6+vrq ++d/FxdXJydnx8Sl2bq9v7m5uYQ939493t4+3N4+3d4/3D49393dX19eXV7Cbq+ur +i0ucDLu+vr27e7i/f4Td3dxzY1//9t/d3c0dO3QNu7m9gF3fnMPot9gt4X83VzfX +l0/H79jO1fUZ27+9xv2yK+Dsi8v7y+t7fOvq+uHmFneFm2SX5FfGt+7ur+4erpk9 +sh185+YWD8uMbhLbG/zmDbs/9ukdPsEpN9cP7Ir8ODsZZz48PD3RzdXtU5ncXsNQ +CrDHu8v7u0t2h7cXt/dXN9i/Ob98/vOO2/3DNRn2cW94aip/XhI39XLmD8e2tIOf +u8a5+NLtw/Xzv5sbujecccdu7vGR/nx4eGAPgkfix3HXrCj5c+Fx73jJXrMyuKMC +oCNkrBXcXOBBHm6YsbrG4Vs89lM93vKC4GWGRnB9/8jumyr4qSHxSqkbnggNA0ZP +B6ufyU++uru9xC/CsEP7N9fnN9dntzfnKMyHe9YS0cLInh6ZlxIaG9oG+wk0j6vT +6+vj+5vjx/uLx/sr3DkuhYs/3OMenprNPWvkt/x81qhgaDNoydcXhzeXtbvrk7u7 +M3Y/rOJucQYVEfsKv+DDLYrlnF38/poek7XMqzO6c7pt+lH+OFf1B3y8ZQ0D33p8 +vH1EOXJDG0U1oYJwkcuLs4vzU2xvL8/urs7Zjd09PeDV1Q2a3MP94xVa8d0jWuTF +GU685K398ubi/P76As9+eXFydXnOUcNq7Ibb48PdY/1XcLPPbQaVh2fDlVlTuSMY +sWK5v756qnE8+OXF5ekJfok1TF59OP+KCoXDg7WbpzrkTfSbf2gPBO0nu796wjhv +A9QqeNE94R1YICAQqJ9uCHd6cXl7eQWjnXte6exmUH0cfnVcE9ZYS+YOh+wJqncP +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 +HZOrPSOL7VOirv7Fj3PbHWNrTcMrX/vnPi9s9Y0LOgbnWsYXO1e3pvbjbrg7PDu+ +C8wCLBaPzOqXu/fUtsCOZ19j9e/Y/QqbT2n1qIAUVDF8PgyS4Py6XDvP2neVes+G +c09l2d3ROSTsuwcab1iPArf7NLlqFAoQQECMiULAtwIJm8kvM3i3jT6p2iqCRJHp +l22+HVSKSr/mCxovbsqshC+KVzfVKtxpMWh2bJrsmxaUsHPL6N7GFrfkCKgNjm23 +X5crhW/vj84vS7d4hLta7SIZiBkNri1WHU74zzWNRWR2S3U2icYice/pwikPNDDk +ce0kA+Qe3RXKl0lsi+fx6nW2es30TOU8UbvMHF6ly2fJo+vM6V0R2+OrXOkkip2T +21ztMlW9jFcuYrCjm1TtKl46C9euouXzUCCmX1dMjS02T692SFTjgp3+JXmnYKd3 +Udq1rh1e2+lbVwyIdwYF650b8sEVUcemdCie0O4fyPf2ZfmcJZ82HZacR2VXPmVM +x7TFjLlWdGC/lLXgeOxAcX7kL+esOJJN6A92pZGIzupcn11qWV7rWN3s3FT2C2Ud +Ek3v8nbLiqxNuNMplHevSHuXNroX1rljWevV2db34uZEwRPNusJpe7LoSxS82IZS +9v2EFQdRSgdJWyTj3otbwmmXJ6Sz+VW+sMlzYAhEbbF8AA3eF7Z5Q1arTxuMuW0+ +ff4wcXpbg9M+vCz4I3b3vl5uWJEopra0U9vaiXXFsEg+uK2ZkuuWfSHjfsRJlHf7 +iLi0gHZldMgVhjW5bnVubWB5Y1QonVhcH8aOSDYLjIOD0JCgclG/0ITgXLtbZXRK +NxSzyxtDC+vdC5u9QtmQaGdseWNErhO4gwZf0HxyXkITvXmoFo9D7j0N2gzcmkAy +Av82J+zBztRSF7ZbqnmNRYwT8ODXjxX46spZNlHcd+xqdowrYtX01Fo7cLq6M4id +iZX2dfXMjnEVBbKfdJ3dV5iHfzjcS7hFivmO0Y+Ta52Di5+HVz4vyDrmdzq7Zl6M +rTcsyrv7BR8BwK7pt/0zX0bn29QWSfUie/fIgo4rPtjjL3HNsu0sOwEaBafYvNrR +uU7AdlTQCoIeWPw8K+scFX8dlzDvMbfd1T3zrmf6w7igbQBqTTyIyrp9rF0/MtIB +naEAoSK2DDOLW30jS40L670zws55Ud+abFxhWkXJuILao6v03ePh2V0eOt8fNsjN +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 +KOY+PivePbL51zfs3x3hmufN7p7yZjfnsMfH25vb88ub42DIodCLF0WDI7MNvdPv +epfeL6i65+Qd84r2EeGH7tmXnZMvJoUt7D25filwnS742DtJE9b9iDEcZ1imoSYU +RMMok/YtrgnLpMxp7CiNpK1nwLBDuprmc9VXasWnYHa+ZArraiSP8SzF6Y2cLlqh +jtVF2osdtp48n0CKhkErK9KcfTQV/AllHg7raT1qtvh81skR7SVco3mwqUB8nANJ +cbZQHut50dJKpFm+3jUsmzEFd7e31vumxt6PD70e7PnZYVxCUzdr5gc6fx7re7sw +0Tg39tVtFqXC2lzcuDTdOD3yYVvUD5hnQlq3cXl68I1BPpHc3SlEdLWUpRjVG6Tj +g23fAdG3J/5S2hTZla7MNQ10/zQ++HZi6F1n85962n4ACcb3FW2f/nas95e+5j90 +ff3b/qa/6/7yVyNdfzhwr+yIOr+++j/62/5hov+ngfbfD3b8IeReQ+wMHk/ubcAD +rM99Uq73nhUhD0wx/2bQvjrW/eOHn/+DYPJzek95VvDc1IK4mfOSC5LAtDMimHnX +3/67zub/0t74137nEoKC9sa/bfr4N82f/sv7F//fjsY/fHjxnxve/c5n216e7vjp +9/+h6cMfBjtfvf/1r8RLvemwqZRxxfZ1W6LhiaFPgz1vhnrftjZ8tyUeqZT8iZg5 +4Ns5qu3y+R1sJD/PlbGBZ7QaEhfSbP47m6IVtzOEsjcyu4B0yo1jB5QNLGNL7/qB +ygVTQ37jTHwlEjYD2vsHZlpagRlvJ3yih52EMQ1WhOyEhmTcwQZBsRfu0GIpNEqK +XkAQCGpovTLen8VOII9BE8FoddP6yzfpVX3Y0joPewcGtnI4n98d3meOCDdvc0n0 +NoFgu2dk+VPP7Esw9YK8bVz8eWD5zejqp/G1Lz3Tr8Cnq1sjOpsknvadXZVoPtcN +f6HmM65JivN+rusz2MXlCfgaut2zZ1YahULp2PDcl8bBHwZXPw+JPs8p2ic2G2Zk +LR1Tv7SP/7KmHhYqRnTONX9YDynOXiWf90UT9lDM7HBJebeghXdea+rdW3Vc00CO ++lwPeo0OzXaksSvUNVafnP68EpSD1namASekBGjMKl2n/uLO+moMXJCzZkAzsChT +SuO6AWeaxwejkQz0lj3W1fWMaHoFM/vzadE8Jy1rxjtSd+oTtLFfLDoP9hXjYx/6 +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 +p3/pePMtLwAlZSE3cVXMCytDkorKWX/wjCGXYfMnd3WqYWIHWMVmSTgki4SUQDf2 +sG2QtcukLTiUIiVYQRtecatRm/qA61314GQKnKAOEVTvlxhE9AWgLQVBEUKpxLHZ +vEbrmPhVlERGVWqp3h0eM6pNzStrsSAH6gBImbzkNCZbL5WxgOBEEBQt2lKGAo+O +1kJ71JlWNIYlb1hu8m5JTDPj628/zD2ekXQAzu9XH09J2oe3XrdP3QGrwtDe0I4M +zrXIjauBpIWtYp+Wzi5O6rGjP+vj87P+1+VauXJWtIeMSwfjH6af85jw9r6Vx6Pb +rxaUXSNbL3H+ofWXC9IPUAnGVlq1jmV3RBpKsm7yMHgpYZl6FNKaEUWFUYN7SrUQ +XbBF/X/Kr6QxebGwhyvMe9yDoaNKsI1oeR2vRLRNdfupixOuMxX859Deof242tGo +klUhi+ow28N2A65NJuB9j9ZQKBnTyQspQO8iK5tRNo8RFcW1KEAFJCIKFbJvd66D +qcHabOUaKnfaAknGdYmYlq3D+vbC/v1sUgNox0JSjWLi3q3ftLd+EwtK4iEpUDzQ +fevpvf+EyXxSsh3lTdWiJRmSwtTNRuSlpGZvtev+D79yG5cTvoMseN+7V8sbY+4d +4Lr18R/Cjk3o1dgOd918euvfrKrpQlSp2R1+duvfH/34a69xZXb46d3vmX29OvMG +g4P1Hqji1bzpOGfEeGrwYdzHfOBQ1L/909+5jIuVmDoflL26/zucPGhbz0cUEefW +5tzbXFSBd29/+48w0vFx/DyNdPSrP/7d1nI3tPR0WPP4zn/e/uE3G0td+aQx4pPc ++fHXk8PPcgkdVJQnD37/4M5/zEy8ggIT9kof3fmvV4//BLM9G1NlosqjrIFVXmXL +3BqYIYW8uZBjTa55VpQZOjmmSgAZoI6GVTQGtFlKJm/iQ009YB/V4wp43h9ZfNTd +khKIyJ8mojfJ7qOqJjxRepfy9CnI0MkrYtEDTDoD7jtAynJ/eKYJ1ciiKDiqoIVH +jorc8kbbEmrEzFiGL7hQoHI6a83m7YA2Z2cZfSneEkHO+M2sVY1lLZTQmNybu+qx +wcWXPTMPZ6Wd76ZuA9rje2/HdpmV3b/yYnj1zcxOV+/U6z01+NRUvSqeX51cXJ3y +Bh/n9YyPX+C6en5ydHoIXJu8mtntob7Z12Mbb0fWXvYs3AeigWugu3PmHhT+2f3u +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 +zO1U4b/Al+cWuF/a84I1XqmFGWNSyRXNGGFvQ193TdyBvgauF3X9c+qeNf3winbQ +HNp8O/7Tm5EH6+rZvfPC0VUduL7AU3dxzotzMVxfsZWyFis+K73HVPnF8enB2eVB +87iYqYbejT161vfN5OZryr+GsqY40l3rxLKy90nPH7sGb5t9ayyItF3XniWnZIJw +Yw8OSpD23EgpmSxDUypH3tZWLPEZCvfy6gRyfsFTbi+PqfPhtJuzTwM7+eAn8vOj +nQkC152V3Fv1OM7Pzg+l6/OCHWcXl8efJBR0mBwMNTxh/MPIxQVL7IXv0EbWpxXY +KTuYnIuWJyLZb63Jv8PM6zCzYcOTJuIqrMPgZApO0mX7ZydEHr7HC3PsUc4ITx4h +qd5cV/hIg+TyrHhzVW2fRi119q6vKlyrVrnOpauxIO1sxqNWLplNGxbT9vbGuMsu +21ofs+hX5LsTLx5/OTP1vJx3VCuubNLw4vkXIwP3XI51+Owux/abF9++evHN0kL3 +ylLv2MjTez/89te/+Jvf/PK/3/3+d2+67n73za/fvflpcaFvcODJ2urwre9+8e03 +//b+3b2RoZcDfU9vffubP/3xn7/607+8ffN9f9+Dmek3Xo8iFAQuzKJgobLyVNQj +LtgE0QmnT0y4aI8jkXSnMz6qpprNBdCiD2GhpNkghKXR1dP1RqpcZrV3aW2kVBKC +IcvY2PuJyW7AHOOAvNdrnJ0a3NlcCPlt1bIIgbdeLsYbtWS1LMBNTiXcx4c5ysGk +AEW4/Pksy9tCi35SdGHyiUdtOu2yUjG3sz25tTm6uzNhNKzg3+HL7x6q2MX9a/O6 +dujd+N2euZ8cia1V0+C8pndit2tB2QuVbYvu9M89BTA3tfPEM3xyeQRcQ1n/RVxf +sc456Wvgev+0nG9Ee6eedY18D029a50ErqlOLqCtdM7smPDP34Wpb/Gvw3gAtIms +iaoPlysCxX9i8nQ6tT/99PUXX/zbDz/8aXp68OHD29vbizDUYzFPJOJKpViZ8lwh +nsqEa41sNO4plhPoCwl/vZnDS0i+KGCksZfHIDr+oC2Ti34i6WxEEnqJM0nS2RAk +JmDaCdWbmUDIOj7ZMzndh06xLGAwELKXKiLauOhZXp0aHn2rUq253XqzWY55G20o +ZINgslpfn6ZEsMXFUdx3/Gs47e27hy9f/fjm7YOp6V6csLExMzXVt7IypdNteTym +hYWR/v6X6xtTLrfW59d7vNqg3zAy8Eq5u5hLBSAhn0kpX5oYe7e1MY2ZH0+F36dZ +Wx2cmnzt9ciFhCUc0iUFeyHlqeRClVygnA2ireaD1YL/oB5rlENixEil56MBTVqw +ZESzEJGLMXkiKheisnhoJxbeYaWxBXUhbSjnLWlBLUYVaJNxVcC9JtvqLWTMkcCu +1big2BlkQSMRZSKmRet3b/GNZn00KFuae93z9huLYT7sl2USRgCZl+vyFDLGeoXV +AckkNZWipVqyZpO6TEIf8GwfNIIr8++W59467VtJ0VLIuUMBtUY5t70xurU5vr01 +sbsz5bDv8hgSRgXMFyHNHLY2DNptO3jybdZN2ADBgDqZNFcqvnTaGo1qw2F1JKKJ +x/WiaEwlbcQNSDXWpRKujEWzFqbqydmcj0qsQij+oVCMAt0UokxqndZmBwZf7uzO +U7hyOGIbG383Nz/o9xozqQBHdJh3hFpFBFrzWUa9xXh1yuGEaN9ritC8LBIm6YF2 +41W5WUg8TqN6lLDAa9UoEY/j/00mbOmUg/Q1o1jhcSnA9YZ6sGvk9rvpH4zh5SV9 +35J+APp6VTcEfW2NbHdPPXw//nhLt3B4VYYd/tdwDXXJ5awT1wdnlUIzBly/Gb27 +ohnYsUzMyd5Pb3cB2tDacvvUlmHk7dgd4Jr0NeaZFjkb5xkuFMN2h2Jxaej5izsD +g8+tNhkmQ7dHNz7x3u5QAfW0yt3cy8BAogL01RqmShMF5Tb3UrTdvH+QqdUxnYZo +HLMxXuKmoP+JYE7mTIYs3Zt2q2k/moSiU1JpN/EfNpoi7i/6GAkxArSYx6sORywm +82Ysbk+mXDhUKAYjUbPPDzBq0QmGDOmMB3rB69PE4tZozIK+26PCFay2HXSM5jWr +fcvpUuAQToa+wEfgo3EpfITTLbM5tt1eeTRuTKfsbAE5Zssn3Ym4rZQPlAvBgFdF +S8p+ryIchBUqi0bVVuuiz7cVj6kqeXet4KnmvKWMo5B05JPWrGhOx/XJqLaYtgbd +20H3ZsS343euxwIyQFWIbAqR9XhwNexfCrrng96FWGBFjG6UMqp8WuF3zloMwy7L +RCy0mhF2Qr5ll3VWCG/nklqvYyHkXTdqRhzm2ZB3NRbcrhZM6Ef86y7rvBjZwTnR +wFYpb8pn9AByOqFOJ5SZpCqX1hSyupSoCPrWXbZFTiasFMJau2kNc07Qp3Y6dtwu +WThkgEUNLLscymjYAhUWCmKuU3t8Sp1hORDSQtBxOXdpW9loWLZZNzyeHZ9P5nCs ++Xw7LtcGOnb7qtW6bLEseTxb+KEiMV0gpLE7ty22DZtjy2rfRAcvfQGVP6jGNYNh +HcUko+8LMGI9zLGBoJGCwyG4+/6AQSafX1kddXs0JvP24NALPLpa3Rqm4kjIGg5a +YhE7zH50IiEz64QMMKopRDyVtHvc8mBAwy0KvcelhnjdGp9H6/cyMuRI2IjTbNZt +nAZLg7vVASI6A7rzGW+5xHgVMgWnkDGtKftfD996O3XXGl+Hvl4zDC2qe+FcA4nW +8Fb3xIOu4ftrqplOO5wqSTFQs9qal7Rodn52BLfugnuCRyf7F9dHwHWuHnk7+vDF +wHcLClZPE7gmOxyyYxlflHc/fPcFcG3yrrJgs4yF6uGyZK64IxDUj090KVULPPLE +a3fI1tZHecD2Eg4Bv2jx2+IogAAU6PSrhZIfNxczrT+oMVnWMffiLmCEB2yz6PFw +1IBbE4kZiYqZ8TNHzXjJ6LvxMmJiNy7EuZp5i4/ApfwBditxCPfX7VV4/UoecM5u +NCCGE/AMmCxrLo8MTwLOcbh2PD52mtO9qzMsoTVb1w2mFY1uIRTRYRyPikwxJVdO +40w8SxjBdRyuLa9fHopo9MZFnAzByTHBlEjZcJrRvOz27nr8Oybrks25Jgi6WEQP +JZsWrJGgToiagGi0lZI/IZjjUV0kpPZ6t/HEut3rgcBOOCSL+uWxgEoMapJRfV60 +VHKuRgFIdyXDmqxoDLk3o/7dFB5v344YUqSiylRMloxux4PrYe9y0L0IifhW8DKf +VBZSKhxKRLYw4rXPBlwLfud8xLsBtEZ9mwy8oV3AORmRJ2OKLAsPk8f8W9QXwrt+ +x3K9ZM8ktFSRJ582QF8Xs6ZcSg97oFp0QFNDvxfS9nhIh/8R01fIrwN+AYpMivHR +wXyFdQpvGm0q4QVMQmEr5u1Q2OxwynG/GKdQI8bDuiwBvyqTsQHUAG8uZykUWhG5 +kYgCM57HsxGLqcplZ67oSGftMcEAgFMbDKvDUW0m1yq6mi96KUi4UgsxTzbv5+Ud +WSU4ijSALsDnOpzKrjc/TE69X1oeBLqhAijcsVaJQzvjv6D9KQrwJgojfE84BTyW +NYyvTWFprHpgJc6S9zkXCgsT5WVHWHUVzo7I7RMnxb/VqiHYY1DfbFM77wCuoa/f +jn3fM3PPmdxeMw8ta/tnZG+X1f3AtTMuG5p/3mmHS/41L7r3Ea7PTg9PT44gZ2cn +B0eM4fD4sl7aF6Cv343/uGkcJV4FGOGkr2GHyywTvdP3KC6FkZHm7a06trzeB3A6 +MflGEO2lchioXF4d2N6dYKhPu0/Pc0z9hXX5QqDWiAKY9LPjBw9H9ejvH4po9w6E +SMyQTNsLJV8q46D7gk69GcXdIXY4IqKklm8TENe6m/q89LaDJwo50SmW2Ufg7uOy +xJWayeGoA2D0B5UQYDMQUuFlMm0tleAgmIJBeSZj4aERW07nOkbicS2NA5vZrLVe +96OTy9liMU0opMCzh9NEUY9zqlUvjeOlKGrxHAKhoZAsmdSzQKmcm6rS8LJxEQpn +wm3FTcf9DfjV8ZjR7drF94Fks3ZWWLbIatqWsp5yxlPOeYspVzZhr+V9+ZRDDOlh +fhdTzpBX6XNsZQRTIcVqBJBCF8PqRESTiunwMp80Q9DJJUwYwXSBfjFth/aHGY+r +5ZL2TNwCez7okjstG+WMG9ffK4cCbjmuj6OpqIkXGUlQkay9eqxZi1LR2/1GPJ1w +7tUTYsxeykWa1eTpYbFRSfIl7jbB3fXJ1fkB7Ry1ly+O2ntex5eXTZ4ivQ83nwI1 +YZnncg7Y2+m0GaDO561iQh2NyQVRBYnAyxCU2ay5UHYB2om0KZ7Qiykj2mhcLyRM +pYqvUGJhvfQMUAA/nhYqpgzYlqshxvFb9MGcA97xuLJY6DSrDMsqxFWCnPDHw0MN +vbhNvIYXS8ojnlKoXaByrxkj5cvJRRn7KJ3PCHJbIWcfKIvxFqlIN07GW5IJazHn +56vinmzRFU8bVxV9Lwa+6Rq7rQ8uLmt7V3QDgDZsZiDRFtl+P36/Z/Lptn6R1sPJ +DgeueVj4hYRrKOvTk4PjIyYXF2eww8+vDqGvs7Xw66GfnvV9A30tt0/DywaiSaCv +V1R9T3v/9G7kLuxw6GtWoosKCHISJ7Nla3LqLfT11PS7XfkUpUrhlyQeFYAaiKaq +BwRYzgrryOad9WY4kbKUOG1vuYpxQN5da4TEpHnvIAb0NfbgQTOw412UYUGpoBjh +9a89VOCeimLTdA2p1sNAKy6CjwDAcUFcnNWVEAwenywUVflD8kBYEYwo8Uikc1Zo +BCgCr3cTeLTbl9EKgoaUBXQojuJlMLibyZiKRTu1OB/4xSCQ6/dvo8VDCEkkYbcr +8PjhaQxHdvE04jqNeuTivNhayGIrVM2O7Ru2aXJ5xShQ+N73HqMXoNz89paKtL/D +d5H4Gy9p+3vv+kLabTn8C2+R3kiD1F5Ju1G09dz8tA+sXTQ+pjo5/rBR9dFqHl9L +5AuP12ec0U5a/6TivJ08b1ds3bK9Y3L88Zpha8XvYF9ox99a0mljpeJKpXX4JfGT +0u+ZSOiqVXe+5MzkbTFRh1sZjqnRYn4GrnHTiSVeemBaPPxcB1GqRWfZrAqvsgSw +U6exF+ePKOwHgePR/VGxnoyLVWViVQaY5sVXJbQSizhVluQlw7wUVEb1efl7GdUw +hcCRZJIuuiDscOC6ZYdPfG8XN3nRvf4FVc+6fhimOOzwd2Ofrodf3ly0K7oy+iNp +85rxHx0f1muV4+PD49ODvcNK/TAv5D3Q1096/jy7+07rXQS6h5ef9M8/WFb3qVyz +m/rh18PfvR64pXctAdSEa1oPZ+E0aTecJu6uWjHdEfMzpkfKyaIUDBaExlPAYKxi +LiViZyhormqduAUYFBKW5n4cGha3BiM0zjR40k5xudBx9INTpXjMovBWqHY5pTzz +ydMOTU03lxOG2wFwrqxtAkvFUnsDu27fNuxkPBKprAVPCPALnEK9kjBjOCwHbMkC +BHgh6APRBF6YiElerAd4B5DxyAHIxZK1UnUkU1pgOZFUR6K7wdAWjsIYwBeTtmKv +Wphq7X+xNfk2U8fl1Slt67eoV67OP/A0trgdjjuYDy8k3lS2v3xxycgDL1uEh7jz +H7gNL05b15HKYUsMIe3iv0Rc89foW2mzu8WayLe/GY3hDWdWpIrDNx0kjedHnPix +jeWP2GgpkkSKMpKmjgZB++Q4VSi4gOtk0ggDqVh00q3BXYDgppDhVKp6cFsxUUNN +Y67mYoLgWaL6qhIJPx7Fdo1LHzf2WpCnx4/0AlnslPdHp3UUAvBLUawUmErFCzoH +eYWCDyke7coFfq6sPZIUWXpRq0BJIeujSSOZtSVyli3t8PuJHwYXH5mjq/PKd5vm +UfjXq9pBuMPQ1wOzTwFM6OvDq/Lpzd7Z9QlwDX3Nt7q4yr5iYaUH+3UuzWajFgxi +7sofntSPLmrwrydWu2GHw6on3sLx9RcDCw9pPRx2eM/Uj32T9+2hrWzZTetmACnV +tWdxpGk3QI2fkeLA4cIwg6cQQB+nkftMVS8pxwq3wO7crjUiVLMePyn95vidKaGS +czXY6HcGnKnUAjpo4a20IexIiFYgGr+kEDfTYiMkBr9VNFM+JrfKMHs4IHgSYOhC +ZQPXEMzzyYwZ+hpPUTSqBHglXKNl1bX4s0TjeAkLkEANVYKXOMS0dkINbQIsl8o2 +QBv6RUwwXMcFRTiyg0NM9WRdjWaSM/y09rmOT/Za0TI8ixa35/DwWGLnxMvT01Ne +sZNvX3OSaF4zkVcxv7xhXBkX162RS9xXCjhpbXlfX95IL3FUaln13pNTuoi0WY+p +nnbPL9q729TBOCepvqTvgI9rXbPjsm12GkwIJ5xeTOIoOybypePD4l4jUy0LnXtA +0ZiN1TuLWsMRCzqJJDxrO+4j7mAsCm9an0ya4dRgPiyX3fj1EgkDW6OIaXiKHMwk +PSfkt0M7w8xjuf8CS6zG7aZkCghTyuUwjG2WjwOvhyU7kxPXMvDoSSOrjwqpS4IR +qhpApYJI1VL6GFUX6kQ0HeqsISLpa26H+z8RDm1vtRSmkxMZK3DdWg+fvEvxZhum +EehrwBB2OPR1/8wTWjdrnuU71806/Wso6GqlUC7lAGpAOxaLANfQ17DDkyV/3/Tz +p71fz+y8VbvnYQMA0aOrz2Z23myZRqGv347d+URfM1Oc7V/7cWvIMaEK9UA0bTHA +4yYKYnTwEuewleeSn/IoxaQN9g/HONuzILsd0wXVqacpl0yjjpwaOKQe2DyZtBsj +VJ8X4+jj2aB4e6CeqqiQRcG/JzMJeDa9lfxrX0Dh9csjcEKz9mzBDnRHBS3MciAd +Lax0qHI4br6gDH2IZLHDrcP5UBl4uoBrZrGLKnIAC0VLMqWBkCcYCu8EQ9tQ33t7 +zKer1ZP5fPSixRt2QgFvJycnV1cfUe5CzbawedNqT09gY11h/Orj8VbLJwFG1Htx +xes0ffSSVfLlBbs7YXt1ffbzoD4Kq2NMcWeHnxziJsTVR2TvPHyFK/fzdkzdfjLl +SyTdM7Pdr7vuel3ycEAbDenjUUM6yXJeUgkzpFYL5PNOwJYyXtsQdtA2EJxrVikv +DJ9IB5UNg7xa9UJlA+NZoDhpxngkoolGtZifYYMB1GihpsNRaG0Y4fZWbaysl29v +BbiE8jx5iuAsobvDUG/pboI5DUqlsSXFTVW6iABHGpfwK9Xo/GRcKpAtHaXqn+VC +kBSQmLYk81boa1a8fuJ7m7CxqO4GrueV3UuqPpjiltAmcE12+P5FEbg+Oj84w6x/ +fka4vm7XZweoS8XsXrN+dLjPanU1yuVaFrjON6KDc6+e938LAwD6GnY4Feeak73b +NI7smMb6Z+9TfLi0z0U8SGzBkOoX5BlgSVPTvhL6tI1IBRQAcF4+wA2DnBxwWg/H +paDKKT+aMppxAi4IsJNPRClvrBBDm4OdgmzTKRf14ddQVA8rCibwdLyiD5fCdcgq +w60kwwBGPkxxaG2gm+edOXIFF0xxwBbghcDvhkTiGoAdFjtBG+Pw5gjXkErFg4eN +vHLCNfRyNmcslizZnIGcayjudEYPOzydNuNh2Nic3FyfYvGHp4023+aFxJXNwHh9 +c3Jy1q5SzlQqUH/z8R+LCG63dA4UN0cxwyl8K0Li8cm+ZBhfXR/zz2K8mteMiG+/ +XZ2hRotXFD9DrRRyeXbWwIgUsU/t1fknQd1Hl2fcAmHB7Y1gQDO38P6zz/776OjD +bNqSThmiEYXft8UqigqqZEKTzRhqVUcub8RvQj8RzYd8vcJNpBaCYAiFGNsMwAsj +Cr8ztHaphJblZqahoBMmCCZk3CAY4ZBwVBuKwBRkKrtVrZJbjKRZ+K6on5fKauli +Wooh8/sv4pqNf1wmu7NuL6G4s+ruJ8gla/zndXil7H4WWpPz5zPMkWT14wq2Hd3I ++1FWn8seb+F6TvGecA19DTtcWg8nXJ/fnAHXMJIkXGP2bjYqjXr5+OiA1sMbe9VK +PXd8Wa8cJsaW370aug1NrXDMTG+/AaKJVwG43jaO9s389H70B4t/HaBOFRz0GzL/ +OsPyMeEdA0f4eWEDkzoGpkqVIF7ih4WvHRdsADUvs2Ll1e4CoaAe7yWmC6koea0a +BVShfKGUAVUigyrlfbm0q1YOJQVrtRTEb4KX5YKfFa/JsBK0rORlxEiJRfjdgHfK +n+U7Dq00aubOcMoLaAQ8PMGgEvoCmjefZyobsAV+AWQSPDZwvQFqwrWEdIA6X3LW +aj7okSSvhEt2OKxuILpQNOcLJqhsONd4aHEokzUUi3aLeW1w4IlGufD9nd9mk/79 +ZiaXCX0grb3kS0nXJ7SA/CFAjsezUb4Mx+OpxKaLkY44UslnPzw9Y9yk+wc5q1mm +Ui/j7kSi5o218e/v/v7xo69+evDFr3/13x32bWAQP4hSMfP1n//l1cvv3r29u701 +FosajYaVF8+/+cW//9d//7f/41e//ButZgE/XSSsxyO6tNj7u1//9/fv7mlVy+Gg +yaTfePLom4HeJ5MTXVrVvMcte9v13Z07//rP//T/fP3qD8tLr+Q7vUbduNe1mBIV +hawum1KmUopqFY6MNp1Wp1KqhKgS4gq0mbQe1nU0qo7HtbTRAD8IL+FZFwo2npTt +hEFO9DXMVy24YEpF4iqyrwjgmKKhxNsLqgRkXg6PW+PSWhnZhESvIdWkJkoiSdhI +u1zmJ/X4KKua1sc65T/GdXsGoFU1ZlIC13hQ2W5I3pkp2AnXPTP3gGtmhxuGGf+Y +ktXngts7PPcM+hp2eOM0d3hZk9bNgGuKSyGn6eR4H0Lx4TDLT84OD45r+6fldCU4 +vNAFXC8qew2BFYojhcqGNY4P2tANvRm9/bLvW61jIZ42CxkL2eFEQQBQ4xtCIVL5 +M/i2GGE0qsRbwlfPyCAPR0wRzvwGOMeiZp7YaAb62vXKg6zaZtLp92nwEqdR4V3K +/ouFDZmkA1KvhGHmAeCVYgBwDvk1wDVaIB3AB9h5jD0z1KG7qQIyfkOisonH4Epr +Yc4B2hKugVboawnXwDLMcihxQjSZ4niEhKQBMwBwzZbC8laGa5H514KohEMNZZ1K +ayGEa493DaY47PBEQudxbS/OvP23//X/sRlX66XgXl3ICI5KMZTPeCGJuC0lOoSo +JRI2dr285bLv4IRsyr3fEDNJ1+rS4ObaaCLuyKU9S/MD//yP/+nz3/3Dm1ffjwy+ +ePX8lnxn1m7Zxr8/N/Nmca5biBmnJl5+982/jo08ff/29vTkC4Vs9Msv/sfvfvNf +X7/86v5Pv/z8s//2+NFvp8YeQ377y/883P/j8nzX/PSLkYF7fe9v/+YX/+n77/75 +uz//w7/+r//Xo59+MzZ0H+PL869UsmG89w+//29jIw+H+36amXq9PNf9D3/3v3/1 +xT+MDD2eGn3+6MFnn//2v3W9/tPCzNNqCXOvtVI0ZZKMww24ziQV6YQc0C6VDNks +A3UyqQSi49DXcSVUOc2QsH/wY7K1yqiM6olDlfM1DTuHNudL4VxGibQBuPYFd/yh +3VBUgZuFaRnQ5vspZGx7qWoe8eRINWrJJmTrQh0FLjuFoq0+qW4vrW9/AucOvrKP +/OuOdbPOorpBCdqFlAf6CE8v4XpbOwxc907fs8XW55Xv1vVDgN6SopdwPcT1Nexw +8q9Pr44/WTeDf311xXi5qboNcH10dHAGq+187/C8mqmGxlfed0/+tGUa03gWKC5l +ersLrcw2qbRPvxv/Xlo3ozhS0tdM2xY80GX4VWHWwoHdkY2trvdvbo9CNLqFtY3h +5dUBvXFFrpyZX+jb2p4cHHg0M/3GZFxFu7U5urM9HgpqE6JVFCxdr2+vLPdPT3VZ +zOtTk6/n595DiejUC5trw++6vt9aH4F2AKgnRl/Itifcjt256bejQ08txjW0Stn0 +9MRr+c7kwnzv/FyPSjmLt09OvEIbCetyWVcqaWO11DmXUTispM3oQgEq2C6k9cGY +wh+RkUQTmnTBgk4gKof4wrtoMZjKm7MlG87PFW2prElIaiCxhFJIqfNlU6lmjScV +sYRcSLGRVA5zxfbmVvf68nuDakqvnNxZ60tGWfrzcTNazrnKeUej4hWjjOWvmDXF +Y4rBvu8ySU1KUAsRpWyrf2bicdi/Ew8rPI51dPq77zx79Lvx4Qfy7QG7eSno3UrG +dVbj3MTQA51iLOKTBVwb8s3+pdlnetVoNLCdjCmLsH6L1lhwM+BeruSNTstMRlQ2 +S/bTPb9RNdrb9Sf5Rrdqu6+UNqRjSvTNGlb0dmf1rc++FHKvJcKycsaYS6pPDn0Z +UR3wrFfz9khAHnTvRgOasEc5OvDo+6//7cXjL3fX+xkxacYiRuT1kh0fmk/pElF5 +UlAmBTkAjrZesRZzxmxSlxY1IoAcU4lxHSx2+CxkmWOGZNAWFGSlw9rJ5U3EowJo +c3ED5lEBmhp21LYvuBUI73BoqzHrwlFiSMk5iL+OME6F82gNTVr5gdNN67okNEjR +pxBCH1EiUIRJi2yQo5jICUlYAiZTwa0ZQKqyzavvBYldoc2aEpD0dVZ0MnborCeV +saVy1i3N0JuhW8CXNbq2oGC4ZvHb8p41zSDM4/6pR8D1hmYO/vXJTRO4vrg5h1aG +Kc6y7K7OCdcszIxVLDqnfC7o66PTxtnNXmk/MTT/+mnPt7O770yhNdj2cLQnN1/B +xSZcs9Tv4e9N3lUY4RSXwvQ1j8OpN6OJFLwbJ6CNaXNppad/8GFv//31zeGhkScj +Y8/nF3sWl/s0usUADyPc3BhZXxuy27aAX49b3tvzE7kemOXev/vBZt18/eoWwA6R +y6YWF3qgcOdm3z1/8s3oyDOotnjMNDv1Dmg16ddGhp8O9T/xeZUvnn67MN/d1/3A +Yd8dG305PvYKZiRGxkafT02+IhqrZNJMoIaZB3sPhh/0NVsHK1hjSS1wzVAcUQLO +EUGbzJnQxyDhnXCdyBqB91LVVa45c0VLMqMHriOCHNDOFk3lig2IzmS1aL2+FTGh +gFnu961nRE05Y6nmbDlRf3YQySeNGUG3X/XuVV21og14ESOytKCIhbcMmsHp8buz +Ez+tL71IxmQSYWktb4kGGB9pMaPzO5ZTcXnEuwGors493155U0jq6gVrKqrIJ7Ro +g+7lLEyIyFajZKkVDB7bTC6hSEQ2YoGVeHA1n5RnRXkqtpMXGA1L1LMqhrfRJqO7 +B2Ub+pW0rpzV27RjpYyuljVkBNnJniMt7jQqZswP5ZwpHtq16GZ6ur5+/vCzvre3 +ZBsDYe9uLmFIxVX5lL5ZcdaLTPBvJmJqzFEAcj5tKOXMTfxueQujSo7r4lFNNKwS +Yvp00pROG7nZo4J5A0EfbTZnpJCzNqKdxHSUTpuDEXkwsksClQ0BrqFZcCvZAkiB +cc1RrXMI31vhu9VlVmWDmcdUt5qRlXHDO8/rU2eZcS7B8xOotvxiro5/hvcWWylJ +OuVgK7d/iYOU1/ThLFucmB3nwFdNZKxr8qFn3X962vsna3RjXv4WuJ7dfbsge7+q +HjD4lqFqn/XeXpKNwQ5v7V9fA9WsBDYxpdDuBmVyEV/K2dnZ+eVZ86B6ctUoNIWB +2Zddwz9MbrxRuxYB6hXNAGcRZ2XuZZZJ4Lpn/J41sEH+NeVpEq7xo9GeFH5GuNgr +awMLS7278qnp2bdA9NjES51hWatfGhx+IlNMCwnrytogOh6fEpCHEsdLXIqWxOED +Oly70O8G0yrevrUzbrKsb+9MscDUdw+mZ97LdmZXVodXl0ded91F/83bH9FnAW9j +bwzGdbR6w1r/wJPZ+ff4CFx/ebV/aqYrGGaLqG7vrsO15fJuefw7kEAY9rYaFh2m +etjeNueaybpkNC+jxWmwvX0BhcO9wQYtixb7ktOzjkcoHFPCoSYVA2Pb4Vxyupb9 +gU28FAVVILjpci24PUs+35LTOev1zqdEmd+1KoQUHtsKJOTZgla1Geai/l0xBCQa +wp6NgHM15F53mOfcloWAE+jbDHuXKeaTxGedc1mm4r71WGDNZZzCIe1O75vnv1Fv +dQdcS2HvatCzYtGPe+zzdtOU3TwBYVHiofVCRhnwzFsMwzbTKEbs5jG3fSoaXImH +10KeJZdt0m2ddtmm0Xocs/igaHDN51jwORfROszTmCIwmIxhDpmNh1YgfuesUT14 +66u/efXkl8tzT/ChmF7w6V7Hgss663ctBT1rQC50usu2atTPGXSzduuK27mBNiHo +A77dUEBusazYbGt2+7rXu+t2b+Ooy7HutK/hHJtlGeKwrbscm9GwJhxURUJqSMAn +dzt3XI5tp3PT7lrHvXD7NpWacYt9BS/1pnmVZsbjk+GWhaNa3D70g2G1073L1nxi +ulTKgqv5/fJCjs0PQb+COWJRXSCgwAel01b0Xa6tpGjC98G3wpmUbMLX8RTktWFE +FI04lEiYcE1u9amDQSU8u2hED/G4ZZGwHrhGy4mzDPA0GWcvpx9hxRF4QedMMlTI +xvLZcFx0J3OelZ0RKOXe6QfANdzeOcXbGVnXsrpnTTdoj2+9n/rx/fTDTf3s3lXh ++Kp2erHPkiJPz1gGYRvXrJrP+Slzrk9OWek9xpF0sXdYO73eL+6JIwtveyYfLir6 +d8xT87JeXiqXrcvtWicVtmlGrfaXcM3sCr6CTasT6DvdMpdHHo4arPYtt1dBPOHR +uAnQ9gXUmCHtzh3i7g5F9DiZB5eydQx0nj7/mgXq+1UwBhwstFKLD3J7GG27P2CA +mC072zszesOGWrMSCBqtNpnDqUxnfC43S+UIhc1xwSaFlOODcFsDIU2hhG9owR3H +fW8vhcn4JG+Es5bKWiJxjdcvB/BZaDd/JMSkmeJYMA8A3S7vBhw6vAXnJ5IamIj5 +ghn2IYsxSxiSoqFcdOWyZkhCVMeiMkGQJRIygBp+JXQcdFkiqoBh7LYtxpnaNULK +GVOjaK9kzZBqzlJMGXIiFK4yE1cxtuGMTghtCf6NXFwB3SoGNk8b7ph3rZTU7K68 +3ph/lgiyo8nodiWnA36LWZXPNQvMJmKbKWE7m9wt5aAut6LB5WJWWcqpgt55IbKW +T8tzKRlaHIqFViKBZQjeUs5r0EIp18umSkFfzuuySUUmIS9k1Blhp5rXQrLiLjR+ +MrrpNE9C1+/XGV8xMyqiW5yUWAtzola2pQRttejaawSrZQ9Uc9AvE2LaUsGJnwja +GWYSPKBMxkLBJ7CrUwkjBL8hTsaZEMwAgFi56CkV3NDpgGQmxXiiAHCW4SVo2f0K +7MYT+lBUBVzjNuEWo6UwJKhsvISVSwEnjPS75C0VvAnBGIvAQrBUy4FGLYgRtGV4 +1llHoxZGK8ZNJ0ciEakB/pgNslk7karlYeFnbBBuM1hxDjo44eQkQVRszUaM6243 +rw3BTO5KKZpKuFkNzXykWhYatRQvq0RBehStd3hxU1+Vjz97/93T3q+t0c1OXK9q ++4Drd1M/vhy5s6weq59njy6rZ+f7jHzj9JyVqWEpXTcSrmGBnx6fQC6YLj+Hvj6+ +bGZr0b6pF6+H7k5tvtW4l1Y1w9DXi8pe4HrbPL5jGn/e//VfwzVFlNGyA+DJ4tA4 +tS8r4MWj+GhRguLNcAigZiSraQeOUoAQ2yBLM+b2mbl3QDdVgqC23oyxqKFSiPYv +0hlPIumkjshLkAuinQJggOhqLZZKu2nNhDavydXCjcYdx42OxtmTwOMPlWJKDws8 +k4c5bWZBiZicuURiOopBxbvQCUaUfD1tG+afkNTh/HLZWa970aZSJjyitA9LGzF4 +ABo1+FAWOMuh4FY0sptOafMZbaVogpkNySRVeAmDNptQHdSdjbK1XrIADgwRRTOk +XrIB/oWUCZ4sI+JOmTJxbTKiEEOyiHezWXKotvt18uFa3hp0rcX8W5gBgLVGWe91 +TKWFrVJWadYNFDMKn3OyVtQeNkylrDwWXIz458O+uf2aQYys1Euak318rkYIL0MX +VwuabGLH55zeqxoPapZGyVDOqtE5btprBV2jZErFZLDz4WjD4IfXAK8Z01RaUMOJ +yCV18KkLaVYWJBnXRAK7xSwsbW2j7ioWzPgFREFZLlkzWX0wtNXc81Sq9kh0N53R +ZXMGjHh9a6HwNq030pJjIqmGoAOLCPMnGeSQWEzl823RYlqx4i5VfJR6Qzk4gZDK +7tys1sOwGGOCiS/kuimaEaqhtRmaD11fVQ720jCh61UBg3uNZDrFcqVxNJNiAd4w +knGUqEcB0mqFVaKH5hXiZgyen+VEwXJ4kDg6TCYTtlTSfrAv8lVZtndDkRXEYdis +J1jA8PXeh1hcFs17BOGbg6csbJ6K8d3UN9VTrwfuvBv/0RbbWlb3Lajez8rfrGj6 +oa8dwvb76Xuvx+6uaieal/mT6/oFYza4uDo5uzm7+kRfA9fQ15DDw8PT8xPo64ub +o/JBEvr6/fj9ud0elXNhWTUIRAPXQDf0tcox+37iB8K1tH/NlCxfB2jFA3B0t+JV ++LoiI1Th65A0TtqcNDtGCNrVeoT2qQF24BF3AY4PL7zLOIpxlE0RfMWjVA4Tfmnd +gwXtp9lmJQ5JgTHU4r1E7o0PFRIWzuFvx5MAqMIap+CTUFQh4RqgxvwPbc42RuF9 +x/WAM96SL+LZsOIQrYoD13E4sFlTtequ1/2FggNWGQuTgL2Rce014zRjZ9MOUgQl +XgoHGG9UHcWcHqAWY7toE3FZOqGsV6wAdbNiO2y4Sll9Ds9zdBeudLVgAV6A6zTg +HFWzej1BeTqmKufMJ00/XHXo9GhgOxGWA/5B1yrn5/fAZS6kFGJ4PeJbKqaVsJab +ZWMuIUM/l9wFeFPxTTGyVs4Bj1v1kq6SV8PRTsW2hNAa3gLvu17UM47T2E6zbIZX +TrlgkL2KrVG0waLIxNXAMoAMewOtEJbtV72JiIp9yYiSivtEgwpYLI26G1iOx+SY +1rIZfUJUAbyAKrCcyxuN8BQcCxbrrEY76nIv8x1/hSCyRTMI+rG4HC2EWUQlq8u9 +YrMvAM6iqPX7t2s1H+Znm2MLmA1H9XbnNnxAq30zLvJ0v5gRzw/uPkVE4JGrNaLA +GjRmKsGK1YpxVz4bOjspZ1J+9GMRe7kYO9jLcqbK8MlREYOlQhiqFpZzPGqDCQ2Q +QnARvMRUQGV6To7ylByBEVwQ6ni/ySLrYF1Xy+K5VKL0aq+TJeP0qJrPRGGE59Ks +gpWQdCVzrhXZ6PvRez1T9yyR9SVVL+EaHUCb2eHT995O3tswTO9fF09vGgzX1+fA +9fXpZYd/fUX+NcDN+EhPTqCvD0+alzfHsMP7p1+Svgaul5TMuYYdTmmbsMO7J3/8 +D3At4YiEdLQEbarHVKmFiSaC9g0pBIXmBLoCFRls7MUpSQTjwDXmAZol0CdjoFXK +sxygcdw7GkRHyjcBtNmiRMrezgdpLafEBANFlMEOj4kassNh17G9Er4HCtsbgkeF +ZxC48AhhENCmkBU445gN8iUnzDx+QTfftTdiwm/U4+enJTwAuN2Yt/eaImZ7tpaS +sQUDO6WiNZ3SMbpdQSXElX7fRiqpTYuaQsYI7RYN7ggRucMyL9/uiwS2xZg8A1Mf +2kpQYgaAfk8LiqBvFUav1TQeDzNSbrN+JBHfgcGMQ8mIvJw0pEJyiODbTocVcd9m +xL1Wy5oKoiYdkWdjyrygRht0LJeSOoxX4QWk9OjjBDHA6oBkIsqoe8OiGsdFahkz +2nxcg069YGuW7LSuDmXNVvli8mLOmM/o62VHOW9pVl34R+JhGf41WCn7e75CnuEx +ndFD5zJVG1cEglvo7+37PN61py8+e/7qi/mll0bLbDCyGxWUFAAQFwBq1idBP502 +JpN6uDmQaFTt8+3Az81wMw93HE6cVKEJft/SSv+d7383NPw8FDZS+GhzL5FMuTxe +NaP+KEYIoYAhU835ECxkgBe6lYW2hi0YqZZj0N2AObCZEDyZFNRuer+ZLeQwJ/hy +mVClJECK+eheI4NBIeZKit6jgwLOx3ipEMM4JchcnTM4A7+lvNCs5WvlTC6NfqJc +SMYjbl53zF8sRUJRUyxpWZWPvBm683LwW1NodUHxbl75bnr3NW0xWyIbbyd/6Br/ +Afr6L9rhn+Ca1s34ktrlwXHj5GovVQ69HXn0rPe7sdVXet8q7HCeqvkesqYbgh3+ +ZvQO5Wl+xKtAVMntUDECJiGLwEuGNyV2kTXeCmgpeEmrkh1OcSzS5AANjjNxAu05 +4mQ6jeBMAKepAC/JXCcDgKLL6Ap0TRhmFCIOzUt2OCGUVsCgf+Eyi7AhM2aKIW+L +i+f3sWwR6G56FxxzzAaAdrZgrzVChZIvGNb6AzAXnZjh8VTgkcCk3aglc5kgpn2e +hmxlldcS9nLBHwsbEnGLw7r19vWdrpe3KsVAsxY9PUpnRNvmyuCrp1//8bO/v3fn +N2rZVDHjyCSMQkQdCzEmk2zSkBZ1YlTFK9yZaZE5nzaIUYXXuVLImEtpVzXni3jV +IbcyGTH5HbJiypWKmqo57145VEg6fPadgFOGjtuyKQR1tbzvuBFHi348oA17lDur +w+9e3BruefDq8Z/X5ntjfm06ZsknHImw0apbTsUMWREmeiAjGJJxXVo04FuFfLvV +giebYATI8RDzf+ELxyJa+MKRsJ7C+H1eZTRigCmbEK3ow6oplwLwtqioBMvk5VVZ +iTiFBBYvCSxeCmzAbxjw6ROC02TYHB99OzbyRm/Y2j/IhUI2r9focGhksqVCIba9 +PY+O260PBu28XnOIU5nZt7YWlhZGANLD/Xw66ddrN6cne0eGunq7n37x2b9gBPCE +1KtJIjHb2ZpbX5l22XVQrMVcPJsKA5u1cgqCEbwkSitoXol9kUfidbCkXh4dH1SB +5UoxJcb8QHSjminmRMC8WkozsBeYCVGrx5N4aMvubd3Eu5G778a/N4dXllTdi+pu +6GuiIIPHzfX1/TXdZOMiB1yfnu39NVyfn51AX0OOj4/PLk73j+qn1/u5emxw9nXP +5EMgWumYX1T0wwiHLKv74V8r7TO90z914rrlTXNct4r5cnwBXC2uRQ5t0qSEOwId +AZzUOo7iZJEz27QDPr2kZ+m9eMnsqPaeBaVokTLltdJYCicPDAaiGRjxEigmZQ17 +jNsDlJBrJ2cZZjZl9gGhsKt52JI8kTYBwpQlSvHDlCBAgeWYEKDKMRV4/DstLztl +LNdZokooooNGOD0rED8wFV+G6cWXRzrTJM+uzo5ZNtb1BbWUV3VN/cszGmEvz09a +DMPnhyznUaIahi13dXh5ygs6n3NSX5IWDSYjkWuxJTMqxT2eC3lydXUkBa1RcNrx +cR0jOOHy8kPp9nZs20k7RbpF19a+4Gnra1yfXp/ssaxMeil9PepL49enH6qH0795 +3iJ7lGqUSxWoObusREl3/qEy+I1UE/myzc7Kck8gjCWVVx6/vrqQmBiJ/vH46KDF +s9pKYrxspai0mBg/cE4ykj2pzHHHIV5snSiIj5kLTOF/V8edcYCtdPKrNi1e+yiA +rFVtz04N6zW7AK8Y8/o95rnpoZXFCcwb5YJIK+FQ9wC1KNiAgqhoSubtmxro61u9 +0/es0bUVTe+Krg8qG442xB7f7pm9D1yv66fgXx9f1UhfS/71J+tm5F/j7/L6Anb4 ++c1hthbtHn/6cuAO7HCtZ5nWzSDA9YZhZNc8AX3dO/HTz3FNRT9JvRJagUQCMgxv +CtIj9kVSrxinpAycT1F8ZHWTi42XgCRG6JpQu5S1TbXz0EHLg9kYlwIcZwgG4UTz +UoksDoEDn80M9B1wAk5OpCyUz0WhxYA2cA2Blw3FjXGAF1Y6j2pwSULhxHgjWxiP +KCVci2lTPGnAycenaZ5g2Li8qn1ENitVfr+imfz8w3N+cdqJ5Q8jaHmHg/28RSF+ +fngNLFDhewlcZwcfeMWJ1LrN6szIG68+JmDkHd6e8CWXzgDv009GiNabzQac45G/ +65zHuPLvc9H+DtKcQ6309QDtKz4vXbXzr0muP6SCcp7kzgzQi49wTaDuYLIlnEoE +yC3A8pSTM0ZSff4x52qrwz+rVaa8PUWctqlcKSv8vNViym0lsLTO4UybJ50M88RG +DgV9tF9JxH39Pa+HB970vn/5u1//0+hQ9+ba7PzM6Pe3vrz/43fynWWP0xAO2AFq +jWrt+9tfwDaIRRxQ0LDfYM7tNdK8ngirAQR/U0iZk3nrjn68a/C7N6O3oa+X1T1L +GrYkTlRF0NfdMz89G7y9oBiunqYPLyof7PDza5768UFfs0izg8ODvf1CoVCtVy6u +T44vm+WD5MDMqzcjP87udMMOX1YNwgKf3X0HaMvt0/CvXw1993b4e4t/PV9ldQoI +krks43AjpSxlr0tBetLqmfRSis4l25uq19HbuS/cStYmYJIG59rfTdqT1jlJU6NP +ipv4MToLZZIjQJYewROKGCqbtroAar5RwpbEISyqIa4HriV9TR/BI97tnHmDm+I8 +4csb2HV5twJReaZgT2UtNzflq5vS9U0lmfJEY7Z0JlAsxQy6zZ73j5cXR6xm2c7W +7Pbm1Mz0uwf3v1hbHfS45RQFNzryTCGf/vUv/uarL/8XzPKRwSdK2TSs9HBA63bs +6lXzT+5/8e//9J96395lgbIBtWxn/O6dX92/9/uVpV6vRw57VauZf/H863/71//8 +i3/7L3dv/3p85Plw38Pf/+Z/DPU+WFsecNu22YaOYFmcf//7X/2fv/z3/+PV0z/3 +9/40Nvh4Ye6dcmfCal5TbI//4//837/8/d/isstz771uWSHtTCdtODrY/2B7bfjl +86/lW+PRgAZXM2kX5ya73rz49qs//uODnz7DBSfGnuMieNfsdNe//+t//tv/3//2 +6OEfBvofPH705ZPHf9raHJ2afP3Z7//2j1/+I/7Z0fEXP/702fc//PbNu7sLS70G +02owrIvB6k7asoVWviTuZjRupIxLzPmMCyti6ut//Icv/+n7u79/9fqHFy+/7+t/ +urk1sbUz3t1778mzr/oGHihUM4GQxh9U+wKqtY1hiN64otEt4hMHh5/A6V5cGlAo +F0fHuh4/ufXo8TcDgy9XVkcXFodxqW++/W13zyP0B4dY3Rkc7R94MTnVs746SXW0 +3U7t2vIUEArzG4Y6zHIx7k4KfjjUQZ9VvruolK36vcaA16JWrr59/Qi2/djI2+XF +0e3N2T//6ZeL80Ma1bLbqSL2s0jIDG8CwiNbeCxryZ0u2rWOheG5R8OLj02h5VVt +H3A9tfMKRviqdsCVkA0uPemde7JhmIYdTuvhmJqYvu7Yv5Zwzap87B/s7+8fHh9g +woQdXjlMwQ5/N/bTgrxP415a141CTZO+7lw3s4e2CjWflM+VEO2ZdGuhjGArIZdA +LQ1K/U5cd6KezHIy1wnX5GvzDS87IRe3vm0b28kgJ7obzoDk4CwK1Hd2XIfOsRM8 +WfoPTxYAonnwoS4mssQBipejEES6CC8m6OYGOYuPBYqFpAFzgj8kj4jqdMECjDM/ +PaiOxIyptJvKgELgA/5494ve7kdrK6NOuyIY0FksK48e/fbevV8MD9/T66fTaSOk +ULAtzL/85uu///yz//bk8e9mZ56trrydnnqys93/1R/++w+3//XW1//49R//ruvF +n+ZnX8l3R/p77z68/1u04+OPV1e779//zeLiG5NpIRxUVPC1o7qQa/v+7X/vf3Nr +de7VxOC99YUurWxEtt67OPVMszucjKjyCUMhaazmbOiU0madfPTv/ub/8et/+X+/ +e/FH9c5QwLmeiWtrebtBOf70p1/2vfnm1ePfLUw+nZt4YtbPTIw8xFd6+fTzpcXX +Af82vufa6jubddHpWNFqJkaG792588/ffPt3b978eXn5jcu1lkzq43EtrwC+6nSu +Wh2rLu8GfkC+UGkSU4y/CL88zJ5M0Zor2ooVezpnjokqNpjQQnBrmgdh3CmHe4P9 +5pzEDHeqUPLkS854Qo97QaEIOAf3NCbqcH2chvuIc4j6DM4X7iOrmsrThClVoVyJ +1BtCsRSicswUXEpbKrwfJNJgqsYIPZtNB+rVBLRtpRTHOFpa+obmTSVYkS+cKa23 +Q6plVr1RpVjs63k8Mf56fq5nYb57abF/fW1oY30Y0/vy0sDc7LuJqdfj0y8m51++ +6P3z1/f+6e6LX1siq+v6AdjhM7Iu4Bp2OOnrV6M/LCpHoK9hh59fHDA+YeD68i/4 +1ydHDNpnZ6xwAHC9f1rNVCNvRx497fl2bPWVzruypByAsqZFM4VjBrhmFEyDt03e +VXj6qYKDFsEAakbm9jGQpYh6wj5pZGkdmzqS7S0F4UtgpPxKwjXBXzpT8sHpE9mE +n7CS0PmUAUpLcO1StqTH7WSHsyRNzoBEK2A8KMUEUHMH3ENEaqSvpXmDVtLSOSse +RTw/sMZhveP5hOK2u9bJHeDJYg4K7A/49Ab9qtejgg/FC6PDAPMkRUM+ayvk7Gzn +K2srF137zdBeI5hNWwoZayZhzKcttZI7lzKXcna7cdFmWAq4dsSIrpR1VguevWq4 +WvBRSa9sylktBTc3RjDnNxsxDNbzrmrasl90ec1LyaBC8O0mAvLDsqucNDTztmra +VM9aGjlrKaHHCF5WUuajivek5vWaF9JhBQYrKSPGccLFXvC46kmFZad130ndc7kf +qhdstYIrl7TGgupswlIv+W4uM/hH8OUhlZK7VHAW8w4xrvP7tuJRTbXsKZfdpRLb +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 ++u/u3Prd+7cPo2Gb066KRexTE91ffvGv/b3PAj4jRhbnh3p6n66sjjOfJRv2e8yQ +RjUHiQQdr1/ee/HkjsW41azFq6VgJKR9+/rO84ffzI33CkF7vSDsV5PHzWw9Hzms +CZWsH1+P49rLcs2yJl6sxMrr5LZwDVCX82ihuOG2eABtyqWSQM1VW4vTgDrSvrYU +ZSoFnVIsAdAEb4Ib5CyuoFGP4CLBgAYTmsel9ri0Rt3u00c/jA71+t2OQiYZ8ENX +Jnd31tfXlra31m7f+vbLP3w+PjaiVikuL07wJFQqKViDMNfh6FWqUfjv0vaWtPBF +uP6LIsW0SCKFspDv3wlqwjXtX0NfA9eww4E7gIvizYDrqe03MJUhhOtXoz9Mbw8A +17Qe3rl//RfXzci/Bq5Prvb2L4pjS+/7Z55Mb72Dvl5R9ctsk4xkST8IFxt2+Lvp +H/4armn/mkI6pZjtTjX9yVbXJ+Slf5Eo6UMsStorCD6DXvXo4Y+3b/25US/hRgjx +UDIRddhN62uLvT1v7v14+7tv/7SzvRaN+LUa+dMn9+/c+aqnu6v7/eu52Qm3y6pU +bP/+d7+cmR7TaRW3vvtzJOyLhHFHMkI8LAqRTFoM+N0YzGUTmM9PThrxuD+TiaRS +IVj18OKJkDCZ8pDks6FcJghrn7dBqoNMizntkHIXEXGwbPqso5Biu9LVrKOcsZTS +ZraDzMPPWG3ZmK5R8QK/dtPa5Mjz7bXhq3NmVF+3vOzj1jzWyV+NOeTyhKaUFhv5 +hyyt8/NjloJBLZvLzzDbXKJzfX7RmrUuOLXC2X6b/Zhm/ZujPVjsV4zA/Ors4qQ+ +OfR2YarHrF0dG3yyvtjtsqzUCq6jRggoTseNIdeu17rhs21GvYpCwlwvONg/lTXv +lZ0HVTec60/0NZQ1XOxWyjPPiKTMGtosZvE/7dA+SKnkoSr2xeJH45Ttlc04yQJn +1DRRI35qzABq1dz83Pv+vkdff/WLO7c+e3T/1slhjZtS5+y/48zGnL2cT9RXLJb+ +5PiwPWkzLuVAwFapipVqPMcz+yTvWIKqZId/AmEC789BTSimGrsEaqnkLv/3fRQf +TnY4xZFqfUtL6n5Am/xrmOL26NbgwtPumUcLilH41xSXwljTgeu/ss+FP8AadvgR +t8Mbp7nh2ddvR+9BX7uEXV4UoGdq6zVwLXNMWWIbEq7hX8PZp3yuLMe1RD7zCbQp +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 +vKzsl9umwZAXlb3rmiHBw1n+9cwrb8oAfX1+UWWO7tPT20aj5Q/nmR68rsI3v9kV +W/CB64ub6oFl/fPIU9zkwL0ESrCqGYSmBsA3dKO2mGxg4dWnoV8XtrvTFWe27Ezl +WMpVMwm9laxBxBtCxU+IgQs2Tpglh2db2XBRifR+zCe7Mu8lnxsGhHHygWDpi8Vc +sIBAqonF8VxCsZxeCj377YhfrTXPf5pmdpKEbzO5uDj8tj4Q0pu/FBHFb0HdUn4o +vUy8EVfy4PArFsZ1S+9qsKih1mICrs7lQjw/NGYRCJKPxBL07s5Oz5kH4Obu6PK6 +hqNgy7etgJar6+o38vxNmhe0LjvjuWA8H/OWomhOWv7D5kxrnn+lFJRyTY/6FSMA +LExREthGyWg3lzw1rNEi/41Wboj4Ni7PGf1u4pEgTN8bNxBOBUsXyaFC97FomdY6 +dkfrFQu/uWgpzaZWBQxvWny7dSX9fMfkeMGA3Cx8piHl/K2l4KKVvXJfjikG3qjf +7fz68uXzH3u63kxN9FhMeyrF6s8//tuLZ38fGvi4sTap3F+BuJ1s2zQctMSjjlTC +nU56cEzGHak4i4RhtcpL7lzF5Ysf9E2+7J58tqTog3Ze3O+d2WH1UgBt4HrHOPFp +9FeY2O6ErqWvwcMv2FbX7+H64oqFIF41Li6PGtcVlWnj0/AT3EHrW185GKQIUoAa +4kzuQV93jz2Bvk4X7RBSx1Q/RIRht4Vkk0ObICz660nzYUUmrEj9+E2hiqZUcYXv +ZzVjYFIpXyYTCgbt29vLIyM9YNp9vR0jw31rqwv7e9tjo4PDQ70GvTqbieeyyYDf +5XRYXr96urqysLgw/eDXH3/68S+vXz2z24xul3Vne+3zp7f/+R9/6O/rdDrMuWwi +Hgti/uiwHAw6P358+fTpzzLZKkj7gwd/6x/oWlqeffzkl+6eLwqlzO4wOeymv/z5 +j2D7e3sbsLy2tpZw2T//839/9eqRQrE1Nz/564Mffvr5ryOjvbLdtd7ejz/88J9q +9Y7LZVpZmert/czNtD8szE/hYwwN9phN2ljMtyvb+NOf/uW//bf/56+//nVychDy +n//5T3/5yx86O9/Oz49ub89rNNsOhwbWR62SqJbj3JuXZOogF8xnAxiUCmHIyVEG +cnqcOznKlgqRYj58elSoFBPlQhwv85kwZjDAu7JpfzRs//ThSSblwzWw6H1uU7kY +nZ3qVsjnoiHj9UWxUoisLo6+ePL3H/7yL/PTA+PDHaODX2Ymevu63v71T/8L0t/9 +dnz46/xs38rCyKsXP759/Utv95uZqV4WeTjejY8dC7vwqxkM+5ub8+vrswsLY5qD +TZtFcaBcn53un5sZUKs2/F5jLOJIxFz5bDCTDESCjj3Zika1bTWpgj5rKR+zW9Tj +I90Q+c6y06ZNRD0epwEDHMMBO14mY178IQyyqWA67Y/H3VAB9MykM75KJVEoRKrV +ZDYbJCcbfmX8HHhIYBoH/eZYxA4MZtM+fC3FfAjfZyblxZdZLccgGEdCVlyALzkZ +x4f0HdbiDpvC41LjaDLsGPXbeu3m7s7sztb01sbk+urY6vLI8uIQZGmx32LctFl3 +ImFdNGnKl12RrGF07n3/7KulvV6Vc4GVAt7rAa5XDwbIvu6de9Ez+xI8/PIOiznz +mzHj+vzq93ANyF83zrH8Qn1c3dV1dln31GvcQeNdo3op8/vdLLFLM+xIyIHr/qkX +wHUiZwF5AOWGHd2sDsSVsqiWQPvRtFElrRIsFPdvglcQ77b0TCZ8E42gncv7aasa +vxF+lGIxyvetYGtAJZ201CWRn8vWan9erxXZos1VA3OhNDOXxTp/RWRP0F328raZ +idyavGplH7MrG+Cl/CxZi5xCX7cYI9dorQRnMmxbdJFivxuN0zpZAVxJXZL2aV7M +leDl2Sl5P+gleHBLLTbl5uKMpWlfc+Naery5oLQyJjcXt7DZMcAnv+LBpa0P1ooV +F5b4pchHozdivnFcv704Gx3sKGYttbLlqGY/rjl9ro2Vhc9ba70u20Y2aagWHbWS +8/zYD/E6N43aWRbBUvKcncSqBU88arBbdvIZZzHnPjqM1CthlvRR8Odz0FxOwKFa +jpSLoUTMTo1joMtY+xg+gAA1tUocR0goYKZlim1AZPyVUhSAAu4giZizXIxgAKxh +DNDRWzCDIyBZKIbLlVixRBtnzDWNGXJTszjJpBcYJ387AI5FAOskbog3QsPiJsA1 +XtKfEILJo3oKwv+Er1YNl0uBei3CokN5UbV4zEI52rCjKeNDBCpHQ6zKIqs/nzJn +iw7o667hJ297fwCu1e6lbZjAyv653U6yr4H0D8M/fxj+1RnTHF/mL65Yfy62f315 ++7v6+vKa9HXj4vD8qqw0rn8cevxx5MGBewU8nOogAdSAtjW6M7j4unfiGXg4cA19 +DWVdqviooERbLgZBWNjOwvstZkSd8DZpy9gSaVy0QdCK8fbyiFAWvIojLOvT04KE +KUm3sRjvurysS7e3CP5iVwtnW0ysaQmy9OfbS+7CumqcHzcN59tvttUtd7BcXJ4K +S5AuFm9v8kBBF4n5g7ffcGd1M2j87PK4dIdl5+r45qzKBhStzSjuZRNxN5fX+ABX +DRqzyioAMhB6ec7QesORSMdmpDf/EyyoG5ed3N2Q0/6seWR5KPwaHK/4n8OSQr59 +xrR5EZUbXkflvM7mL474exuntUS9ZD2qG+tlw1HNfFSx5DPqcs5wXHeUsnqAHcd8 +RntctVeKhkxcUS4Yi1lTJqE/qrAAm/OjcCEH3WfOwv5KWVlca5olsFdLfl7ml1UE +PayHwfqiEQNmKEyLaCqgIU11pDoGFNEBHAFELCUq7UzErYQaTJI/SqRo4ZhOMu8u +PTZQCjw80s23xf3lSghHOpXNBXgYkh9PVDRsi0XYEsHXGS9vfuHnwcaxSomtLRhD +oePOnOSwD0aJojjSn6YPKc3tokwxykHDKsezxZ2JjDVXcgZT2v6Jl5+HHyzKe4Di +Td0oCDnhev1gSOmY75x60jH5FPY1eDjh+vt4s9/g4UwRcB4O+1pt2foy+uzrxBPB +w2G/C1zDvu4ceTS32ZnMWzMlBxUl4CEZXmnRfpFjRfW9pd066KzojdXWHJNqD0rL +h4oC/v6AjgqcUo1TXscYL02hsBnidGkmJrsfPvqvDx8fg+b5/eZMJmCxKAMBSzhs +h+Clz2ey2Q68XqPLpQMfs9vVmIFhbjDIMYhGnTjiFN6Ca3CB2633eAyguJjBABIM +WnErHHFlqZQIhRzlctLjMdntWrBKv8ecivtCAQuoYy4TwBFMEpw2m/TF8QFirloh +FPbqfQ5lwHWQjlozcUsqbPTZ9xJBfTZmC7oOYn49jiGXNuBUBV0Kp2UzFTZEAxoc +A26F27Ljd+3H/BqMkyF9PKSr5T3JiCHm10a8B5moCZKLmZNhbSqkTUV02aghEdLE +fKp4UB10yqN+ldcqw9uj/GKcZTHhUV0soPQ7Nj22dVY02CNLhpSFlCHqkwfdO5WM +NRXRuM2b6ag2GdpPRRUR7048tFdMGXBNLqaP+hX5uCEZVsf9ykRImQgqcIeIdzcZ +Zn8Uf72YsuOj4s/hc0YD2qBHlWJjYyxgiPr1EZ/O7VB4XepkzErNVpyOXQrS9rj3 +McNoasQQDGgCfrXHrYCCc7v2MfD7DjCwWrZ9XpXXo4yE9VgEMGO3yahEMNWLxhHv +pYvxqEBcbjWeH4pki8WtwbCOSltj0u05cDgVLreKBx5rXA58HnXQbwgFYR2bImFj +JGQO4/HzGwJ+LR29bnwwLc76fRpAFddTmTu8hETxiPq1Dvuex63CTbDyiNxSwD8V +Z7WIsxl7PG0BD4/lTROLnwbmXi/vM/t6RTUAHr6w172i6m/5w592Tj3zpY3nt+Wr +G1aP9B/ra8bSOa6vrk+kPFwf2ASWoa9Zfy7VAHS3JbINfd0x/HB2o4P0ddPvnbCw +oo6tYmUixwpgxDfGWuS0iv1SATQIvkxRMVgq7BsO64TQ2+ldADXBmUJQojEL4Ew5 +3V6fDj8ZYB6OWLDq+gMGs0WOl6VymIeIq/EzYZKCXXE9LsZbMMakxbrH9+mc+E0t +1l3cFhJP2PDnwBBA+zHGX8RLipfDwOfX8kmLz6/HEUt9oRiECqA+4FiiQb1o3T6s +RyHFnLdWDpTSDjzk54ehi+NIJecopq0hjzwT051WvImACiir511Rr7KadZxVQ3H/ +wVGFKcFK3hQN7BbSulLWUC2Y8yktZmJBeSljysa1lZylnDVXcraL40A5Y0qFVfWC +rV6wHJfthaQGg2xMVc2Zjsu2Ykp3WLTyCv/m47KznDHU8qy53nnddVqz1YvGVvN6 +Uzq6V85qccRkNWfMRJWXx77r08BJxXFed+MmePtJxVXNWQ4LzrOqr553lFLmatZ2 +XHJjjI8BobLJR2VvvejGMRMzHFf95ZzrqBKo5N2FtD2XtJWyrkNeLKVaCp4cRnNZ +B9UjzeftrHN9xcNDuA2YoUKv6ZQV6pvn07FCVbyvlqNaCVCZC9bpnkeDQ9GXS16e +10n52i4qR4YfiCKByfVKRTI5e/TycAgWgEH7rcx+5MyZKjMwDIIrphzEn0nzgifg +l6UiDEQJWEWjmIVCTYhdgDngDhSWRkWTKDubbgvGwsNTWb0U8HDo68Gp119HH60q +B4BiKOt5ebMeKeG6jYczXF9eMxb5u/5wlrTL+GajfnpR3Nevvut/wOuRrjM4q1gL +bIB6UdFnDm/1z7/sHnsys/41mjZCZVM1ISw7rG7zvYoHlFZJeG9mXbVqQoocTJHA +JerF3S951HTBtcoUU6dd0eYPPxMVUqO+AxBakDHj9WlwpO69OIsFGQPM1OpR3Af4 +BQfDS8zzj2TNFRz1o2AgdOAPqrJ5++FxCMd40oj5TA6sw0CtdbGUVetsh+LsNEGN +XajO8OlJjAoCHB2GWeJh2XdyFOL803h6HL5txPG0Q0oZC9TZWd17WvPUCkCcoZQ2 +3p5H0pGDq+Ow377Nauwn9emIkhpgAZinVXc2pgGUMF/LW3EEgoJOmUE5A0Vp0Sxh +kAgd6FUzUK/5pL6YNuoPJmyGRYVsQKuYMKgncdSrpuJBhVI2ajeuLM9+dphWdzf6 +LLp5u2nBbVupl1jTamruedMIntQc1YLptO46rjouT4K5hO6k5jyqAIx6DK7OAuxl +2XlYwmrgPT/04R+Cv4vVBstOOWfEEsT6mESV58fexonv7jZxWLFXi7ZyyZbPmWpV +5/EhDFh3PmtJJfSxiDYYVFFrD65tNdAUlNMBPOLpgi4GNo+PolB5vKq/nSdXssLC +rcLgLl4KyYG3U/FeIAg/DUclLvYAU7xkLkN3tRYhL83RSez4NH7WSJarftqWhVBN +PDxvvES8RdpdV1pMidIwRRd7aesuKmyIGawtVIRNNNGmVFC6CeEaKxh4eKZgD6V1 +Q9NvOsYeE65hXC/us81ryucifd01/dyfMTXuKtDXLX/47/rNrs8aV+dn9/1mwr4m +Hg5ODlz3zb3om3wOXIcSOqhsCvfi2TEOankprQMpyrdKSwcL+1pgXOoPx8zvdeai +RGmyrwmqNAN40uJA+p26CdBqTD19MAZhwLFSC1KoKs3jnlRdnC8mrMhwJKZLps2l +Ct5oSGfxE5sA51TGghkOcDOF01CsLH6+WNTIl1/2IB0dRqhqJQ/y91JFvlLBXa8G +To+jbJy1X5xESxnb2WHo/DAAdQaAH5Zc5ay1XnQCp4BkOW2DdjsqesCiob6xCJTT +lmxcTzPHJW85a69mXUclfyXjVO5MDnc9DzgVmwv9PZ8fOk3bC9MdHqssHTMVkrbN +lb797dHFmS9+567+YH5zuXd04IVVtzY99sFrk68u9AZdyvmpLxuLfUuzX2Xrg8WM +7aTqr5c8xxVfOec4rQWuzuLgGEzDZl2n9fBJ1XtxGjypug8rznrRDvP5qOw+Pw7i +H3J2FMDZw4r74jhUKdhBJE7qnuOaGxBOJw3FvK1UsB/WvIWctVJxFfOOTMbi9yv2 +9yfnZjvGx953dT56+uTfrRZZLGomxddkqlxL0gBct1qOgP3iCFMXNm8iZi8XQwGf +HhwJTAkvj+oJWLuYpEYVFKBLg1olWq0lUmkvr/vBtHaeh6OToYdnuHYYailuPI3M +eUtZY6LRgOiwSX0ECLai2gN1FqD8Dr6esGRwejBELQhRO5HWgWyKKpPbw3FDKmeN +ZA3jCx/7Zl6Chyvsc6sHg1xld7GSpMoBzHwa/fXT6EN3Qnd2U7q+PW7mfVyK4uGs +CwDF7UhxfXl2DB5+flXW2nY+Dj3GHcDD17Us7Xpi6xPxcENgfWjpTc/4U+A6njVD +X+NRZ4Eo/N9O2lmk5JDipqhRaQt7oYulY6miFz1wRf415XqQjm7K972zW0Y9LHoA +1sqTvCzUyJ4i06jBPY6iaKGInGkt0VbQZjw/4lmiXof8V2BMjCXmlMJ4bGjjI5fB +g+TkXtDmdlIhByDHy8VIqRCuV2OJiKNeiV6c5WrlCAYsNDrtv7mo1IvhUj5weZIt +pDxH5XApAxxFIJWMv5TxnZRjMMCr2VAqYsvh/glXo57CEWdPa4lyOpAM24tJ31E5 +Xoj7Il6zSbXttWkwtmh38dLr1AWc+qDXmE96XbaDbNztd+vxlno57ndqYePj4ljI +jmtwzETduN5jVUeDNoyPa6l6MVorxY4riWI2eHmSPzvKXhzl8+nAeT2bS/lrhVCt +HMJnPq7Hzg6jrNRJ3nNUC5/UwjgeV0OsAiFlcLCqm6xGK76NdNJzfJg+rCVxTCe9 +pVLM69aPjXVNTPSp1TuRiCuVCsRint7e93t7K4ViOBZ34phIgIcnIhFHNOoMhWws +BS/Fwq3T6WCxGE8kfHhXNhvEZD4fTia9fr85FnNhhkKycaQknXTaj7+IW+EU25pv +pgId16uJYj4Qi1jJdy0tRiqUL4gB5/AeakBAtTVEXSycAjer14LgZrVqgBdx8kuL +pYhyiKS1BaJFGQd8USy/PusAriMJvSeqHJh89WXk4ex2B7TzhnYEKpvyNMHD96wz +wPXHkQfWkJLqkfL6Zhd3rTa5AtdXVxfCH87iwy/Orm9OgWuNdfv9wMP3Q78oHIvQ +0VQ/bds4AVtb613pmnryoffH0YV3Mdh3ZVbMs1TxUecyMq7JrBb6mtK1CNpCxFa1 +VB1LUS/Ut6glzmZavXeZfF8NiUBNlUgFkGlAMatUeZji334L1AzXqYSTRPR/adah +AoVLe6ACIiFrs0J4y5stwq2/1dluhUmzEiK8iggL5G7V5eYXsPHNRfVb3HUzSJsX +G7nhg0adHSnjrJV3dseirPk9cYqVhec3pMCS22bI99V5VfwJJjwVtFm/5apVe/xb +4VCeVnbbuD4//PYvoqD0b/+cxuVprenAvzn69km+K0V4/yX7u81A91b6TCsynAXt +3N59i+c5w19vjs/4xkQzGObsrNoWC8TCcq5E7Pc5xSDhLA9Dap69vT1rNOqifqPY +7mQ34THq+KXwwTIpX7UcOz3OYgWGfm+VNfOQF71VHg2q2cuTu62isQs156Wm2zjF +/AC8xgvPrfYKBS0afAh+LuXzdKqU91BX0FjKnMiYA0nNyOy7romna6pBjWd5Sz/G +qXjPumZo1zip860OLL7um3/tTRlAqsHDgWtoZPx6VC+FKhZKcY2z16xD1+nN7dn1 +3aHZo+iafNU98wL29YZuFPb11M4X6GvY13r/GvT10Ozr+a0uKOtUwUb6muwOYqdS +XNPOtRTUvxlX1ralRey9DdcUytJW9KyFbgdBWPT4wJgiV0UxYQF54tv3cc0+eUtZ +C1NICN/Ic2OFh1K+ueJZn+clPK54DllUMJXZb9bhZIkYpBd4HsexJI3ijCeXnYjq +nfxW7CyrutDE3Ukzh4Jhs8aqLtCRivQyqd7dssnbq+L5aZagdHtVvlf285Bdc1O6 +uy2yI38vBlcXRbry+rLSyhk5/iaSm/ALvssB4TPHHLCV2+sKFRe9usy3Pljr4+HT +4j63FCl9fHHJapPe8lvd3B1d3zZ3G88alVsAGc8nvpbrY5Hx0cQg39YXUZqUytFK +6LiUBJo2A8xYdkPj+LvYP/727xJDbs9V+xtvXz18/PDPVrOCAkuwjDOKXo4wqYT4 +BhZrSsX3zljNK2rBBhRT6rS0Pq3Adav3kL/Z+KNVZVGMhb6W9ssGveGWuCeaNEFf +O0N7PaPP3vX9OLP1VW6ZXlENzMu7Z2UsRBz2tdDXlqCiVT/8kuogtfI0r6iJDxNe +34xZ3xcN8HDY12eXJejrD4OPcAe1ZxU8nPLFoKyBa7ZoLLz6Mvjr2OL7SMpA/nDa +52Ll2bm+BtAowFtEmt0PPpHCs42Ei4A0OiUNAv/HuCYIi5rhYN3SsuGiU8DvgJp1 +BhEduGhBTqfNkFSK9bYmT2w4ZMDajuf5qJ46Psx4PAZQx42NmXfvHv3447/Pzg1E +Qrazk5xRvzs08PF//o//9qf/+B/g6tAIIZ8JXB1Xvnz5c1fXm739ZZ9HP9j/4e9/ +/ef+3jdYLkDvVYrVv/75n96//rXj07Oejtd4S8CvnZnu/OXnf+nve4XHzG6Tb26M +vXn997HRj0bDpt+nwbzPqzabtifGvkKU+0suh2pna/o//vi/PXn8H7BV8Zjhp/G4 +FY8f/dv/8T/+X8tLA4vzA8+f/uWvf/6f46NfPC4tDIp41KE5WPvph3/99ed/G+x/ +FwoycxXkZG6md3T4U9BvwgW93W/+8M//28d3T/dkK9lkgEWp5SPlYhTU/eK8CJIP +AwTHSilazodZaFY2VMiF3E7N8UkWVq3NcTA20aXRbQdC1ljC7faaTs5KqUzw5ZuH +swujy2vTX7ve/+u//c/pqdH1tcWF+alYNABRH+w9f/bw9aunf/3Lfx6o9iJhv8mo +/fmnvz17+vDXX3748vl9Ih72uG29PR3/9ad/e/f2pdGg1mqU//qH/9Xd9cVq0Qf8 +7t6er//6h3969fKJfHfLZjV8fPf88YO/Toz22CzKGmwNHmdyfVliLZ45HxO50vhF ++A4409eAMyBMlWlZ8aJvteWbbJygLe0gRliWcnLCtbSAObt5AdzASf7wdN4WSutG +595DX09tfN41TwlcQ2XDvgbSu2eedUw+dUTV57fli6t6k4df3PweromHs6YPEvsa +uNZ414Bryu9mBRZa+rpz5NHE8kfi4YAM4ZrizagkAqVd0/g+rsU2N2Ff7HcLaJM1 +TZvdArxcg3/XZ4cD+Vt4G91B3E10ERIlxCkRTNpWQNo6hKE+bkokDMmkMZUyQNJp +Yzqth5RKDryMRrVAN++naXI7D4Cj3r5327L5Hdn85y/PFhaHE0mnfG/p2fO//vkv +//Tm7c9fPz8bGfoY8OnBAezW/Y4vT//wr//fHdlsOuNZWR19+fxvDx/82+rKEIw7 +h33v8aM/AlbA2sTol77uV06ryqSTvXz+w68//7Gn6/XkeJfLof704fH/8b//v7s7 +X8UidrVqHQO9dntmqhcAVO6vsFTuiHNuqv+//vg/RgY+wZS2mna3NyYHet88ffSn +F0//srI4pNds/PVP/2ug553drPQ4tDaTYmFm8O9//uc//fv//vThXxwWZSxkS0Rt +iYhjc3VycXYQdno87DiupTmFaNxenFHAHWszcXPVjG27akXaNIuRUiwNpVo0uHnS +5NJcHTeVKU+jYHkZV9fnkpyyC1wGLn1xcSjqn1PEoCRdhcWBSzIracyuuWCld1vX +t/J9mhm1/M4sS/S63t35emlheH52YGVpGKvc9ubU2sroxvqobGdKqVjQadewTjrt +Sq+HlSbDL05AFi1gBKhbHWHspMSpXKEokCgpQc/4ubQZ6LcWgXkPbcyl845s0UF+ +M17coIv2r2d2OiY3P83LuyjerG/+JVi0K65lfe05rv8xD+fVVJh9DR4O6m5y73dO +sDvoA5ub+rFFZe/E1ieAGmIKbY6tfYCyXtjuprgUYrYUb0aAorQsgpig0EJEHUJx +VrrlLcW1qBz+fwfXokWmKBhO9cNFawDpltnvQZu3NTdJ0c2hbWSd9ZJGLMvxmInt +Sscd66sTY+OdhUKkb+BzX98njUa2tjb14MF//eUv/9zf/9Ht1s/MDIwOf11fnVxZ +Gp0Y6xwd/vL/+W//j/GJrsmpHmC/cVHgZm+Vk9U2/sx5L7l3yBBuGuysH1Cr9j4n +xs3cjRaN/1YBtZWaDSvgWzJ1S655ZZgLnhB99a2V2HWjIv70DcuJO27e5JtV3ri7 +OGeAvWlldlyecPMcJjmPars9a8bL3Zw349+kPQhEBockuYwicoFuHt13QWmM4l1X +V4fn55VWfOCpNInmG1dvGe+SFJX2chmSj8G+LptFAXXscakTMXs+6wMHg4ClgB2B +/LhdSvAim2UPRx7ioiPkErpx5HvizQa+YpJvlwfaSp0LfS3KI4vWBoTrStHHd098 +rO9ezupPqAcmX30c/EXw8FlZ59TW57ndTuhr4uHvh34x+uRHFznGw++4Z+z6/8/Y +fz85jnRbguB/ufvL2pjt7MzOWtv06+7peep7nyidWZVaZ0aGyNBaKwaDWmtNgBAk +SFDr0FrscVwSyYyq6pmwa24OBwgySBy/57pf8efrZtfM9xj6mni4K2ygdTNnagP0 +m/avYWij7xe2wcNfDf8VJras+qptlomo1kiRviYokb6mRMG6vTxYCo0SKei41gtu +6tT6gb4eCB7pgVo3ovXrdfD2AF7uZaXQMwxTtnA9nTh16CylI2aJsPJJCJhzHjor +H+lz8mheCWuuyzy4Za0sn580WSynFpE0EOGoaR/N/ZtiJNFqtXiYVTjwMF+w1AdU +xo5ge9vLTkAQvj47IMVHGcjZipYGEHZID+fXFa3eglgfxYdsDe3u7Oa0zZbUaBWO +Oni2r9hC3B1gQugDElnn5Oa0yS77Zh2gP8NgbsG0cNm+OqmddkqdavbysHJxUDwA +fS2nO1W+W+M61RS5nRy3eRIt6Qp3UGeJVmplFmIMAnBxUivlUxnO77RuxqNOiQ81 +61kw4aNupVTIHB/X8ZVWKnK5LBwelnO5BMdhLhUuLlr5fKpSEQ8OSjwfLhaFTCbS +bhc5LlQo8LigUEiXSplGI1cs8jwfRIuZljwJJSlKy+O4DOOQgpqCsQBEQ8CgDrrZ +ZiODWZpcVnQM6n4msLXx65MiHizZRkCmTGXQ2lQCpm9o92oK6J4q1B+s8KWvyzHX +lAojurh/uZ6oNhO5agD6+tPsL4t77+3x5T3/9BbQZ/us+5sNLT4CD49lnWe3TVZP +8/76f7zPxSL3Wd09pq8v7rvQ1x+noa9/C8pGwHnJ/InyIAHg4ezezM7robmfZzde +y2Uf09eVKO1zYQrK5YNkWaPVcT0oevVSgvPgPtdgaZ5BXOuKVbs4TpayXk3vz3DN +gsE135VeTVvNfUWH+SDGB6GtBdClNVzHlWwEcGbBdIUE7E0KrxP4oKpwWm1KWqu5 +0AOutWWcr4k7vgYJ6mm3785vWDXMs8vTRrnAHXWK7XoOdigM0nZFljNhQKya57q1 +HKQgJmoFQUj49ncXp0ffhnymRlGYn/60MPWxqCTrRZ5LuqqFZLWUrhdZdbBSLtYo +caocq6ncQS3bqclS0tOuCvlMsJJPtMsZmfN1qyL6BSHCkntXZbywoabxqqOmdNzO +VpRoTU1U85F2Ld0oxtECuQcNEW2rwq5pV7iKEtJQnDpsJo/b6cNmvFUNkCMcOiTN +clCTcLMcrZdibCunEGFJkrViN2U1zpJwVjNlFfNnLCeHDzoFWBC1isACN1jeyzTl +MROlYL4QF8QABjneL2dZCko+E4BIcgQiiMx5OCMwr0501GISbTLlyilRdMjBmFwQ +MaLkY+jwaQ+UMmbsrBxQC2y6htLMZf2abeUnYW6ighciS16t7Fcol/VRsmJZ8kBw +CCVOIgou8n1FJyv78HLcGXdgHqf9jpILgdJneLzcj7fGlILJhOU+amRq5QQrlMCq +WUWhrwXVPTr/hAVBW4acyVWDb4r8w1lpANe4M77yeenxh7nHwDX5h7NohQtmX/fy +h/cq2jP7+kb7Y0tntwD22dXtyfldB7j+NPn47eRPsK83vROrztFZ07s19+iKc8gv +bY+vP303/d3k+nNML40DrtbS3PCYX1+SoEpLXnLOz2WcEF5wCZIHnRRnT+NLwFch +utFJpm1p0J60M5G0xxMsaTAkkbJSYmG0uDIcNcaT5mh8P83b0aEb4j64AIKbUDpi +DFLmYcpITC+PxPZphO5M2YnxElxML9RfQsL6cStoGKxdcLBkAodm9DFCghF2mHBm +OC9YHExmMRO0mFYX54dhoPm9BpzCeDLuSCecwB2fcvMppy5c0iZmnBCZZyJxDrQ5 +wa2ILillF9N2Oe0oyv5yLqhk3AHn2urcu4nPjx3m2SzndFnnZ788sxqnyopfzXpr +aqiQdcmcRZEcigCj2NGuRotZdyZhUgSnKrrzokuIm2TOlg4bchmHwjvElCWPfzy6 +VxBczG1ba6WkhSX3Fp2lnEfhbXnRIaWMBcleZK7dtrxg1XIRe1m6YNWHwXLOVVHc +1byHpKI4S1lcbOvUIq1KqKb6KnlPKecq45oCPmQAH7Ug+yqFMABeKUSqahSPcSEX +rBRj6FBtDvIZ0J1P+vsRrOoWTgEIjCwxHzPWoSJcuWwQQthEK/IMrVScC+NAEMGK +RAK+NC/EnBKmnQ7iYIPVPWhksCInXfZA9Lp+6A+WDyD/Mdxn0JwcrAzVe69eJU1W +UrNaYkWgOnUOX0WNrTOzfS6Kv345+jeoTujrVevndfvI3M7rbefYlnXElVh9Pf4d +DORg2gxSTfnNtArX9zque85mTDRcs3ItwPnZ2c3R8VXDEzW+Hv7++ee/udKbG57J +ZfvwtPHNinN4yf7RK6x/2fjt5Zf/GF36lVcdxVYUJj+LCtdoxmDch153nlau6J/V +17Voh5p0aE9pflvFA5MDObQohSDzZ9NW3WlljLQzbaiRgtazqOmOMbp5/kD06NE/ +9FMlrzl63mh7i4rC6EVeaBkBgmswyfu8m17PRjS0l5N8tQpLm1/GfwrGotUub5Tj +zUqiVY33pBbtNhPdJvOlbNcj7WoYAkR069HTbhq4ODvg6kV/Qwu4WJp+YtkdyWUs +0Ik+x9z85K+ZhOHyWDhoxDCi+XPGWHRVO1YreiBQlFXVfdiIlbLOk3aSYIj7RLzL +AGNBtLWBu4IXqDyoR3EZTuGwmncd1MPkTH7aSZy0451q4AR3rofQnh8kmet4J47+ +UTOCQVwGwWUk6B81cbfI+SGPD3/SSZFbKQSd43ayWcGXENVSknLdBpN2k2vUkgcd +Vie3X9qjZ4FSOY/BvSG9uvRgvR69agYhhblsFSKqEuplAIAxqNX70EX/cdk6z7fl +e/R69IM+YIOlcn9fHIQSmD8oFKLjmlwrWx2h3RUhrNNfDKdVMr2eZq+8ZjmBD99g +1DRaayULjfDc5rvhhV/n9965UmuwrzedYwuGtzuuL4TrsaXnk2tvU1nfzf0hy5h3 +fc7qLPfjucgk7KObgfri4gK6G7i+vD+9vD+I8I7P0799nH7k4be3/TNrrrE583vS +1wF5a3L72cjy4/ndt7m6v9JNANewDig+Tv8CdcjoiYJ1+xqH5F3POi2x0RQoBcrg +Hvdg5WtmvFfj5N1Hq2d6KRDiBoMFQXR3dN1JdTCUW/9Ug14x35TkY84/CXo86Pei +jv5EsbXBQlgSPVwa6tsSDOykUzb8NO0GT+VdgGgq+0KCPp5tHdf1cqhRCTarIQiA +TKBmbLYCfhsrZp33V/luLTIz9nPYswQwcrGdlbnn9v1xLbKDxXcAO9Cex504EN1t +hBtlXyy4EvTMW/aGzYbPmAo2l14ngutby28M6x+cpom1+Rdot1feBpzz6wsvcbi7 +9t5qGJ34/L1x89PS9K/rC8+3V147TV+gfAHwdiXQqQYPG2EAvFnytsq+41b08ih9 +dcwB42fdr4J5gAQAPz1IYqrBZwOWIQA1AfygmQaoj9r86YF41BZYCXs88P3yN4O4 +1h209Eq1gxvBf1icmgkreMcBIAD4YIFyHfhM8/YfABbK8W0x3AfzyWBprcG1rwd1 +twmnv18EY6/VEN05kCA6rr/eQat/TULohr5mwapsnTlCPHxk7jfo68X9Dx5uA8Y1 +ZHHvHXC9bRt1J9dej30PAxl0mvQ1MwNv7/T968FMdIRr/OEQyAeuwcMDScv7Lz+/ +Gv2O+aUEZtfdXwZxPbXz/MPsD1MbL8SyG/qa5UFqJGmJgABFG82kUgdzlxESaUID +NtnFmo93T77Nq6AUQrQPTjkJybdEXx4fXCrXi3ORLiY9Th/g97ge3BN/oK8ZujUy +9ntcU5UuGoENlUpaoxEjhOYB/ExMa6hhKGtAexDX7JClzg5X1RCklPeWC55q0Qdh +qlkrgQF0a8UvooA2BsF+p0d/shu/rM49313/IKaMxHIH54Hzo/TZYQrobteC8dBq +xL+0s/52b+sDsLyx+CrkXlyZfQaAe20zaAF2YNnvmMMpABygjgfWMAjKvbX8amcV +M8A74LpV9kP/AtrdWqhbY/Ff0NQQdEigss8PUpBBdPcw3sc1QVvX2p0GPmGCOZwz +t3MeAjWNCZCV22ty/Xq4XzE1iF/aBaZ6mr+vZN1ToJriQwt0fFXQ35LnwULJA3U3 +voIUQj7eg8W/Hkwjv6/fp2vzQcjrOgtPeE9zDW54aYgmNk7SrCSZfc10UJT2uSaW +X7yb/GHB+B64hrIexDX09fvpXz4vPIPavbzt3NyeMh5+faPHaf4e1yxF5v2tjmt/ +wvxu7KeXI/9g6+HeKdjXM/tvlx2fF6zvwcMntp6+n/ke9jXhmnh4L6JN06T6bpcO +cCpVT/8paVgq5EGIruGFmr6mNAs0CeAlgDYGC8UwEE1JRx+QbZoHaLrQl811ff2H +e1v60vqgv/rXZT2NTRHT0/14qdVtMYJ2VvZpzsNffX1JU0PQYUUYNdEwHoUA3ZBG +JaxLvRgkoeiPasF/fZplBTIqUYdx0rQ1UhAcADK0M2xVzADoo8UMADbeqYdAwqGv +DzGv5uzQ2lx8S+aNnWoYTLulmcOQo2ZclewgADQIio5DtOiDDGhBnba66mkUvTCT +QafRaZZ8gDaIN4AM4g3FDWhDX18cptA56yYghPe+aFr7oAdtIhL4VBBMU7A7gGuQ +cOD6sMUEDJxA3fla5zqjQ/v3uAaoDw/kP8QaMVsgBaAGOogMk3/UIA8fNMd0bT5I +vHXlO+gfTgxtkDwMblQNMvbBgnr0DA9Cm/613i72QHV7MrFrxRgsiDqzXqPVZkKp +BafXXn+a/WV2940zuQrjGlR8fveNbl8Pzf82tvIqLrov7rvA9fXVGSuaeXH9Zzz8 +6kpbN7s5B67xklDaNjT164epX4DrLd/0hmd83vJh1TWyaPvglzbBwz8v/jK7/Tpb +8xEPh74mHt538AjrC2j60vegv6gem0kRHITuwe9EnxA0RdzzENMWw/8A1w+2rXU9 +/sAdZXAXe9AR/RvR9K9uMfUAq1ncemydfha/LD1C9Kjg1yEgV1g9Pqap+xLpl92M +1kpBUPGeFIM1NQAhaJ92+bLibVUi3WrsqJFE2yyGSINDAGr0AWpabQaiASJgB2hC +C93drPiPGBhZWDRMaRjRwDgZ2nQIdOMQljXkFIYwTOBmHKoZBjLUNNFv4BodABz6 +GogGtAFwAFlj4AldcRPq+0qcCeD8DaJhjDcZtThoJYmHn3QZCT/uiEcHkq6y+3Uz ++QfK+gHp1Q3tB2yZAb+ZoQq8bD1Kc/9AO0jCiYcP8rHfB0vqoZeD6phwPaijBxW3 +fv1gMWX2YAzk4aSHmT4z3QqIppLBRMiBa7Kva6xSRkithDMFF/HwwXUzwjXx8Fdf +vv8w86svZTm+alxdH19dnmr7Wbd/tm6GP4xcXJ2eXh8eXdbdkb3Xw9+/GGb71+Dh +2/6pJfvQumds2fEJPHx698Xrib+NLf/GFez5eqhQjjCVra2b0T7XYOpCUp1U40Pf +BdML1n9Th7rP4ek7oYTheAnUdF9Zf932otljUEEPbpPpa/IPymTr9PtBmsSvISR9 +NU2w1fU1xejpoXYPngF6onRfBeauMFBftV4FM2dlvCCEayjrZhXUuieUf6CS9wHj +OMymLarorOS8VcUnc6a8aKOCd1J6X0juoeXju9DOeckipg0QPrGdim4kI+tCatdn +n4VhDsoNGg9xmSdN25/3Nj6CfsPiRgv7emn6CRj+wuSvi1O/oT/75ZeZsR8XJh+h +XZ75bWX2yeLUYxz67NN11Q2NDK0NQxswh9YmjEN3kxDeTzVQY57BJIMZBtLT3e3k +A31NuIbKhpV92K9+C408KHrkI5Fwkgeg1meAdoNBGy1T3AO/yKC75jerKANEfbCW +7h/i+vfLdPpt9cWWBwtuutOjDm0d18wG15fLNFzrPLyuBf6X6zGWt3Dl5ceZn3V9 +Tetmu+7xHfuYJ7X+cfbxyNKLiOgCqb6+O726PtP8RW/+bJ8L+hoNcH1+e3x224Zh +Tutm1tjKhmcS9jX09YpzeN7yzpNZ+7LxG+lrueoFD9dcW9kmBdtq1+Ks/5CHDzql +fN3I1jR1T2sPrKoRbyeCDX3daHF9j5SeqqU1c32NfTC9kl68T1fiOt7J+qaYlD/U +13+GazwGtDaiT+PU1/J1JPqoT5P/cK2vuPsmNtPXxMYJ0T0phwFnXYDokGfl9dP/ +892zf/n06i+zY4/HP/2wMvd8df7F3MTj6bGf1xZeGjY+biy9xuHa4nPb/qhpdwhi +NnzeXnuDQ5ZFwbcCaCeC67CgYT4nQxvoZDkTF91Gq2QsqraH1dCseJDzZilQzXtA +xcG9wclhYqMDxZ0XzNW8C1obmCUI64vkxMZ1RJPuJrsA6CZoUyqGB/b1IK6hsn/P +wx+sgX+D32+J+tcZtZIErlkiGi0wiuiWvpbV27Qa2Puga/QoAD2k+oFG1sGrr4wR +hGkC1z/J4DjhWg9t0FfFyY4YXA0YZOPtGgvBbjDIQDmy/OGwr99P/Qj72p1eJ/t6 +yfje4JnYdXzxpjfIvg5lHADp1e0JcK3ra/JMGYA2o+KXlwzjwPXF3Ql4eJizg4e/ +n/zZw2+Dh8O+njO/Jx4OfT2//2Zo4efpzZewr9VmBLgu1xNahopeckLah9J38YhX +DwZ0ALO9hMP9YGpmZQ+gfjCukzmf993M/izuQ98g051YyCKg9yWAk67XIf8gjox+ +d51l6aIzscEfkXY6KKXbgKT1suZQRlTrvMV0N1PWrQZLJtCux/CoA91ogevjdhpq +ulMD2WZZg9AeNBLlrKeWZ3nDKKEQODPQByINOg0Bu9baIAgzMAjbFmAEc8YhSDU4 +Nvg2XkWbWejUCl6MgHLjJrgVRtA/P+AAbZB29M+6abQso5FG0XFnCKVIujziyOgG +0yZEXx1z0N3oHDUjUN/aLhhbDyfufXHMkV1QK3poP65Vg6UgtqpxsPGzw+z5UQ7f +CaWYYNDWtroeBD3p9uzgqvUgrr+hSQO6Tw9tplT2OjwHfaJ0+7oXzqAtij5YkdMX +xHRHbn2BZfB50JdSdRJOeTsp8RdaPGadA0Y/vs4A2p41LYY/wDVzstJ4+PDsry9G +/vpl7Sl4+JptmOUjNb6HvoZ9DR7+YvQfbyZ+9iRMJ9dN2NdsPZylSLn/M1wTD7+8 +PoO+Pr1pDa6bQV+vucYWrB/Bw5fsH33iBnj4u+nvxlef8qoDlj6r91GNkb7WF6vJ +oXRw1Xpw5eprLgVt85p4+GCc5mBuUkpe0fcMjw/6df9ZunIdsPpCqC5kaA9uvQ1y +cv0nfkC29Y3OwYWUB4s5ZC32QvY0UBOu280UBLiGQE1TrVvgGqy7W48D1wA4jGsi +5NWC/6zDw7gGqIFugiGATIAl9GFQM4EZ7oAptDCQzw9S2lZyjCxrtIAtvQRmNToA +Ms4C3RjBKcI1boWW7olxXEbzg5b3zIcWd8Z7aQnNolDQwDI6N6cZ0HJteTx5dcyf +dZPnR2kY17RupivrIxj7XaHbSKE9O5ROuhKgfXmuQmWTHEJ3f8vDafV7kJCTvtNH +HrheD9JaPU/R4IYyG9GUCM3tg7Y8/croUNKDwelCJ/OD+9R66PTgcpl+cU8j9N9I +z7BN1gRLrdxlSSfYfqi2MUdLZ8A1kN7SHKRrrSSs2pn1N0Nzj6a2XhIP13EN+xr6 +emTpGa2bXTFH3wtWd+/y6vbi5n+gr3EIXF/dn13fH8UE1+jcs6HZXwnX4OGwrzd9 +4zquh5ceze28ydZ8pXYMoCYervub6Q7ehHEdyL/PCj6YJ0En6noRgb79Gyd9DfnD +bAz6nhqJTsj/MAiUvvbBPEvf1AP6E+tJy7XVWyofCMfu+b3rJcupajlz99UchkkA +6madrYpDcUN/HXXSMLEP2ymqBw1Qs0xHlQgtibPDcuS4meqAtKtBynsGAbQpGSBg +rmEwCNABUIAhoE0A1Jayo4RrWiujl6CjLZGxZIO0gEaQh6bGlWihx9EhXNOcgDsT +B6BEheSOgnkD2hnjF4dpyn/Idq47Cbb4pm1YXxxlyDUFbbsaPj/koaZp7x48vKqC +qDOzmvxSIJ2eyn5IvPX+4F7zg+Vondl+3RQeWDd7wMN10WfsB+uf9BaDK+10nwe4 +7i+kfKPN9XuyvEYaKxh0gaZkKb3/ot5bECBBv9vgge4Wc8GK6H6kr8b+PrPzGjyc +cE37XNDXPm7z9fgP76cfQ+1+42/25/r6gX0dSFo+jP/y5ssPxMOB60XbJ9LX4OFz +xte0bgZ9XWiEtVSKSeLhep4T+gdpG5riJQe3Eb9q2757NgvNGAi1/ha2cV0ehl99 +60um43rQr0xfZNNd4HSi/ns/NC2eqydkhZEhpu9i0wq57v/QW/zvrcNEKASgwn7N +FJ5YMreJgZeLIUhR8UBZF7Iu1krOYtZdVryq7FIEO0DNEvaqgRxnbZXCRckFQg7j +t5xzUVvKOtECsHXVV1GcAB1aVbKWsnZQZYi2aeWjqYBsZ7QQza/MQx2IqrmG4lZo +cU+0eBUOyU2UOrgzZgncEAJDm6QgWtDSSK2AOzthhvcG8dnwjlp+VPTRZnkzJi7m +8loMF3M+RXQB1y08/5U4cF1SwyX2veHrZd8zvu28EoSQhzZ5a2dlny66/zYdypKX +RMq4ISLvYiK4MYKW5xzslOgRMq4M/9WTmeW+Ez2Ur5gEZ+lVuD99AHRIKFMxzqLV +b/XgEG+ElgQjLLOx5iONVnd1xjhuhRavzUk+VQmV1SjVR9B5uL5/nasGplZffZz5 +eXr7FfQ1ePiGYxT6mnAdSG9C1Q7PP4tw9oub9q2+f339fwvX5B/+ceIRcO3N7Gz7 +Zx7genbvFXj4xNozoeTS/VIoVoX0tU5FdBdx8sTGP6tLmncw0fzDkykHWvLcxndC +X44ugsRElPG7eMivW3ft1kUfQYfekfzPAbqsEsBvSgmiKSc5hN4C47rQe9FDpf/K +utATRc8S+jSC31FPeM7mLi0RblF7XHNZH8V75pVAsRisVCK0elbSvLupzYuAMyAQ +QFstBCHFrLes+Euyt14IlbM+QJuACdwBmBrc3LpjNlm+cnoPfaAMh8AX+W/TahiU +Lx0ScjGCcdrFhvoG/LUVM4ZoDFKCU2LpGMcNiYrjnnWVHaLFIbF3UuuUGRUj0PiH +zSRt22GOQtupxTBNMUOjkWqUo+1aQuJsXZiZxSglcqT18G4HHPXhWlk/qIr/ww3r +QSuJiebdQXbroH2tb2MRN9bXT8go/kq3BhZM9A013QONlLLOyfXF88GtNH1XlJT7 +g3x9TM0NBFyDfjMd3RIO2iLksCMdNDNgGm3moxUf3L8GD3ckVoBrVsrH9JHs6yC3 +Nbr47Mvyq7jgurrr3t1pdV4urynu4/8ODweBH5t/Pjz/xJXepP3rZcdn8PBlxyfi +4Z8XfyEeXukmtBCzXgxaz+u7X3iL8oJS5k9dR3+zBN0PqmJWdp9UP1ijJk8zqj4w +uIg9aFPr4NKdxnW/dL3ogK7K0dE31PSVut5t+7pY/93p59PtKaJt9KPTfuUAh0/o +EXy0gAZDm6WalF2QguLLye5KISimrfVSBK0qe3IZB3DNojOie0A32poaYhn4ZW8m +tl+S3XzUkBes0LAQlmlfsgsJQ0G0icldYO2gHg44Z6GvI95FoDsZWsPFSsYCLLPE +/qpPTO5B5PQ+BumFOd7Mx3aATfQz8V1gHOPkwcKqACT38EJcgBlDmyUc0MgQIbGT +Cq9jJBnawMV4CQR0HQQed06FN4FiKW0WkvvJ8HYmYYSAe6QiO4BzxL8Z9m1AX6ei +++1a6lhLv0xbXbTPpft6DS6g6UY0jfwZxgfta52H66tbvQXPwdj/AVz/me8Z4Vp/ +099nKtP9wx8Y2sz/5Pf+0t960ZAjje5vdtyRWMWTFs8yCdRjLH/4wtM349+Rvoay +ZqkLrZ/3vJM79rFwZuft+I9DU78GEubzy+bNzUkP11d3/5frZhd3J+RHCh7+eux7 +0teb3gngess/QfvXM4aXr8b/Orr0azpvwwyjlSBJUbwqLWU/WNPGf6ez38GkKJQ3 +WJcHSQsH4rVZHuNGi2u2+QdJTR84ftP9dRvnwf71g4QtDzKj9rzZ+xbT790If+9A +yCbzvoOcJuwTUj6c46MspalUcn6zeXpjY2h3e3Rt5YPVODU3+cxtW0C7tzmyufxh +f3tsdf4NOl77IlogfWPhXdy/tbc+nAhszo493tv4uLv2fn9raGf1nWN/fHPptc8+ +u7/1MR3ZaJX9xs0PXHRzZfYJAL659NK8M2xY/2A1jJq2P7vMk6tzz9cXXuKFeAlG +PNZptLgb4I+zGPfaZnAIYALmeIu1+Re2vTGMJ4LrOOW1TZm2P5l3hvB2eAsczk88 +xvjS9BPcVuFtVcW3vzk8+fknl2Vmf3vEZpww747ZjFMbS++d5tmFqefba0NLs69m +xp+kY0a7ae6gydzCgeijAwkAx/eDL+roMDu4MvZgoYwOB8E+KLpnJlPZAwsggwto +9EiQu6O+NE06WmcFg0tkuq2t29S6vn6QxYiu1zc68So9aba+uTPo2UIrZg/8w8m+ +pnUzivsYWfxtdvcNxX0A12uWIYNngnD9ee43KNwo77i66dzfnN5enN6dXtydXv2P +97kur06v73pxH8MzTz7NPA5l9/fCcywEm62bja04h8LK7qL53fDSo/7+dTwPesk8 +OhgVp+0q3R+sR376i4RkxuoZTr4a1JWUPkhXDsKWNDXQrS2Mp/5w65lQrKc50j3G +B1Oo6WHdD9xHdeyzTz7ghvTAM0FX04NLKDTt0GYcfUJdWaODhxZUfGdndGnpLXC9 +vvrR51xemH4RC24vzry07U8bt0bt+9Pbq58gpp0vAEIssAV0++1LKzOvzNujK7PP +AEDL7ghau/FLOrIFbII5A2V8bOuoGfU7ZqSUAYgGrndW33isk1bDMFAMDAKbgCSm +ApyCrg+557noNsYxctyKxfyruDLkXgRywfBPOwkN6W/CniVcgyvDnoWYfxmIduyP +gQ/gVongKqYRvB1mANyEluMCjkX0oaBDniVS1qDiIc+KlLYuz76CssYkhv80GTHm +BHdD88oD7WT6usMAS6JBWNa0JGE5q4/oNTX0dAcsX4GWu4BSFrTqmUaVq1fSeh2u +wcJ2rBiWJuQpoRe/w7h+T7pPuyVqdQR6hTnQ1wppfcPD9QdjcD9OX2HD40FPO/lL +94qGaI/N1yeqr6lpq4t4eIvFX4f7finPP878SPFc6/aRbfc4eDjZ1+GM4eP0o5HZ +p+G07fK6DX3NEhKenF0en/cKiGt5kK5uLiEU9HF1cXlxzrbDLi4Pz27bCcnzfvLR +h5lH7tTmfmjOGJhZtX/e9Y+vOYY8EuPhFPchVTyldqIEHt5IUz5eylICUp0vRPE1 +4lCSAzjEIIVkNpqCko9QEoO+SmVTXLsrgIpA5ZFqVksR6D7KsKRlaI8pheDBkYyR +zoGYhRGqLY9TKkKgCWdpLwyHemJhloNUDYMbw+wFygCxwwMJfa3aS5yS0VGiqhIm +hHxQTzJZLkX1rHS4A0CqZ8nAWarlgVMYAXJhO2O8Xo+3WilWd6YS6XS4RiOBPqRW +i6FfLofR6Xb5ViOZSuxLgiOf81ZK4VY1npfcVTUECxT9Ut7bqkWb1chJh6vkfcxv +XDN4Dxsx2LC0hY1D2MsgwNr+VARUnFqYw2yRvBw4rAWP65GjeuigEuxW/GgxclQL +HzfCaA+qAVyDs9THlRjXdrLoPiEtbDOkxWBGD5phksNW5KgdhZBPuB7PpV2W0JbK +49pNYn331AhV7OrUk+DeLZiWFSYNLaySeVjhsMZ3mrAxs5CDtnzQzgFQLGcgkNuS +W22Wt7/dkU/PKrW60D3I5wtxjF9dN+VsuNXNYTBfSB521XwO+i5XLvLlInd53lCy +Ma2grUB1AahDaRiLhVRRSVaLmWZVPu6WcNhpKd02y7VYq/DHhyolJi2WUq02K7hZ +b4iEbqpQMDgbUOUCyo2gF+Wpab5Vlb4M8n+dOg7OD8zcJiOCxTcF1EpYKnln1l+9 +n/p+fP2Zh1tfsXxaML5bMn7Y805tWkb9qa13Ez99mvwtmLRc3LQ1P1IWp3lzfv1n +uL67oQKvwPfh6U0rLDhfj/34evw7huvgrME3ySp1+r4A1155c2rv5fuZ7yc2WNxH +uZMsN5K1Zi+RI6UeIjirxTjmSQAcLWUiogI6nW5WL3er1eNgsVrAI6ES8EQL5ALg +lNgfI0A9RWuipaSjwDhaYJ+AD8F9Wp0MbXPjhTiFQUCy2xFSSQuQCxhSpacy28fU +ikBpmW0olQ0uaDJ9HSmyKh4Mv7hGxzilwUEfiMY1kuhGh1a/j47EajUKCAPOAK9+ +SKDGIOB8ciLTyPGh2KwnDruZWiXabqbKxVC3kSLPjVox3G0mCllXux4rKh4t3wjb +rmoU/WhpD7pVDqJzeZTR0JTo+WZrO1AEbQbqRvikqaG1FgRyIUAxjTNoA9H1EHXo +FOto8R2D0vP9bkePO7GTbhyCDtB90o6RgwpFfOgh2N/GeaXxIdkuG6Y4Nl8B0Qlo +aqasSzHCdSEXLKtxKFlo23ZDgLTqImlbYBkPDOZ/PCdUzwXSaEqA29FxsdnJ1ppi +tSE02nKjlas1smqJr1TEejOnFgGfTDYXqze1GrjlVEFNFEpQNIliJY071OqSquI3 +khUl2e0WWXnlmijJ0CBKpSrkCjFgGfeHZPNRHLK3qH2FMGl/kh6KNaTrhw9w/cA7 +4is57LvEQOolLZKXEdpIrRUvNIKLO+8/z//yZe0JcL1uHwa0gesd1/iGmenr8ZXX +4ytvU7L35v749u7i6uoCpPvy/OrPcH19eXV5cXZ3e4lJADw8lQ98nnv6eeFXV3Jj +zz+97f6ybP647R1btX8CrqeNrz7N/zS5SXGacbUaK+MDa9WKgWKt9iiXU8KUhkiU +/PiZgHfMwFqZvABVy0KbzYWIAMs5f6sjoG13RXwJLM5Ly5BGLuI9j5EWT9w+I7qv +b2tcxkmsXvdKxctpS4vYOCVsIV9BfX0DrIko0+CKKJgSBePTV03eSuRDSBeT8ZWV +fdRRcgGq4koqG/MA5bUjvQ+kYybBnIA+SALgTxof5jYrFVGLH3R4QBsCHV0pBBss +WVAvzqvTiFeLAahstFDWZYWtY0M764vPtH+NPkVRMYeQPqBwyKIs+1AFkKGsO2Uf +hDo6tHWAYxyD7ErMAH1oHzUjg8IA3omRAOa6Z7gW4ZXW31rPtEAaXFPfMc3lLImJ +C/8pCaYvwjjA3taCIFjFEE2gu7VaV4nuoUTM7eK60uwIeLSOzwrNjtQ+yBYrSRVU +ti10T/J52M71TAHc+6SoVFKFBo+21BZr3axcjmXLsRx+ka7YOM41jrLVA6nY5CRM +yHgOj4vVjiwWop3TYqUr5wHGA6l5nMOrlGpCxMTe4q/vu2qTU2A114V6ha/g2VaT +1RLjGKzcSTeHT4sZSf/8ZDiTDwx0HOhrtZF+UAVDzwBGW6W0uwcCQ7gGDy/VwmLR +Nb709MXIXwjXm87RDcfI8v7HLcfYumk4Ju2/+fLT2/FH/rgJyvfq+hS4vb/TyrP/ +Ca5hbUOn6zw8Krnfjv/8ZuJ76GuDb2rLNbZk+rDlGV2xfWQ83PjqzeTfR1dY3Eeh +EQWuaywJhtBqSMxtDDMbKyXMplk5G7RYl4MhI/AeT9h2DTMYAdJpHmZ6XDOlyVEE +kCQ3PIoQwTeAjpT1AewYJ+xTRPbRiYKzGIchI0geWpfTfWAocJuuBAZBeCimUhTc +FDGHQ8Ks7gNM+KVU27pDOK3AkHGkFXdjv4XLuep2rbGoXlb6LcJS3+SDxAGAX1B0 +PV/l2WkerZ6BFhfACiDHM4oEOWrzBGpi4AB1vRw6aCXVnBsYrxb8xaybEdqCF+qP +yC15h1YUNyUt0dMakNJkunsAuaSvAV5Iq+gBtHFIQKZTBHbCdXcA3YDzWTdBOVKY +tKPQ12eHyfOjFGVQ6Qd9pPTsCvRh+hhPEp04htZuJJiLeD0GIQcVyqACxc3qaWqx +6p1m5uw4f39Tv2e5cytXN1U8Hmo5Ua6l4ym7L2hIcm5FjRfKXDTpSgh+SYmVmlKc +96fEUFII5mtClPfFRX9CDMrlFA5DaVcw5YzwLnZY53JVTirFY4LPE7WE0x65lC42 +Zatvt9bJp3NhWU3xuUhKCpaaQq2rhFOOfceGCk1Uy3SPVdDydkNq1oRGNYMWvILN +P5oA1xSfpS+FsV02DdG6vtYLSg4u29JT1/NmV3vhvWopVGlEc1Xf3OabD9M/TGw8 +I30NaK+ah4Drtf3PwPXH6V8/Tj9heRWYf/gZ9DWYtu4f/mc8HPr68uro/K4Tkz3v +Jn55O/mDJ70FXOPmhOtl6we3uA4eTvpa27+OF2txHdd60CVYN2ALjTw1/ebL+Avg +fWn589t3P1KhW2Ac2hwdHALgguijurR4SUbw8hkP7gMmBhWf5ly4GOoe16TSTo53 +Y5y2vPFCnMVLIlEz7pZI2nE3HMbiVn/AgHfEZaLgzfBu0CRZ8qdTDjAlLu1MxK1Z +ORCNmKg8cSEfoY6Wqs6PPi7DWVhVuBJGH8bxqlIxLmQ8bteG3bbCc66DbhZglyVv +LLofCu4C8tTHTCJkXFSOOR4zQa1neOfRYRZtIm6qliPJuFHm7emYUUhZ4qEddPCo +R4MbsdBmRfX7XItiyuQwTeVFR9i7qmQs8cCaKtnRyXKmgmgDujVnUTKKIxSmQVGW +zO+rr6yJgZOmbpe8hO5BXDOjG3Z0M0KkXWfjuppGXwc7GyGVTRq8J70kSPgM5HtG +5IFs/2PNA61bZxmfWrWwliKGRbvUMGWVQ5VSGDZISQ2iA211fCjfXJW1fMssKet1 +vwTPzf3Z3f3F3T0e3Mur+8ub++uz2zO0F/cXlOz4TsskcHNDqSNvB9prqLNeNRAt +daTWUpbyb66HOuuPs0GWY/bu+u76jKVGZwVHju5ZdZIjKk50dVEH0mGq02qbHiKk +OSkxfyTGLfuih0IMRDp8zXjWi/Ev9eJ5WZHHWhi4Bg8fXng0vf3SnV4DCQe0163D +Bs8k9DV4+Ojii5GFlxHecXHfJVyDh1+cXf4ZrhlLvzhjeXGvjq7uD9OFIHj40Pxj +L7dNuCYeDly7hDXo6+GlRzM7r6WKR23GCpUo/guqlUDVoqn+LADYbIkzs+8+fPzF +7dlaXRt9+uw/oKzR2dgcB/TQ2dmdtjvWxideDn3+dWHxk8m8OL/wcXFpCJAEuoFc +p2tjdu691baClxj35ycmXwWCe7gnrvH5d1+9/g7Qnpx6DRqAdn3jCyaBldWRd+9/ +CoX3R8eerSx/fvrk31k5jOk3ht1poHJs9OnI8G9WyxI6S4ufdnemtrcmFhc+Gvdm +19dGIVOTr3D9xw8/BwOGz0OPI+H92Zm3+8Y53Mq0P4+L5+fe4wKWHKaUcNhXpyZf +zM2+2d2ZQAvZN87sbI9vbY5ZzPMf3v8QCe+9ef33VNK6uTFqNs2FAts7WyPTX37z +OZe/fP7ZbJiYHH0c8q4bd0ZmJn6F1v707q8wq0c/fpfL2KbHHu2svttafuOzz67N +v4DE/Ku0MKXrRxZzMYCs01ZUx6luRAPRGNQta7oAV561YxfdxHknjs7pV7RGKXSL +YE6HJyywOnLQDA8Y19/Y15oDeYzsArKv8SHBw4+73EEn3W2nNOE6LeYt32wmKfia +UvXS8jJLodBRWLpvllSZwfDi+gRyd399enVyc397cXd1pYENcgQ4agnEb24Bzrvb +WwD8/ubmhtqbOwb2S6C/D3y0DAJ311owI9NuuIpiG+/vtBQjrIqBVioa7e3t9ekp +WjZ/9FKOn+gFiQ67Ksh5p5VtauvnLH9Ck22/smVzsDIN0aVqovRtngFaISeAD8Z3 +wxiBsgaus4o3X/KDh8+sv4K+nt197eU3gOtV69Ca5bPRN71pGQ3xux+nH32Y+s2f +MJ/cti5vTvE/Mo18efNnuMa/honrBtPVeRfUPSK6Xo3+8GL0bzqu8Ra7/nHY19DX +M/uviYenFKtSCwPXNZYBQ6sg2V/3RocSoSyvDG/vTH389MhmX33y9C8A7ONf/xWD +QPqnoccc780pUT7j+zz8FK3JvGy1rW1tTzucm6VyWi0mt3dmjPuLsbh9eORZmvOM +fXkZCO6/ffdzKu0uqImZ2Q9z85883l3cZGl5ZGLyDcYXl4Y/fvo1ErV+GvotnXSt +Lo/6PLszU+/QV/PxDOddWRopFhLzsx+XFj5vrk8szg/NzXzwew0uxyZGRj4/Dfj2 +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 +UinzUiGpVjIFtgGtRGLOUMQu5/ADCeWqmFNTQjZarArtQ7VcyTSa2YIK4Ig4qxRS +lYaMV9WaeXTUstjsFkQ5enJWk3Ox1oGSLcfwbEcz7mwlXW7n8jWh0lFyVS5fz5Ta +olJLFvCsNgWW9KyTKzXkfDFT1kCdV/lSKXN11bm/P7676ZbUdLnIVUpMZVdrYq0u +QVlXG4LukzxYHxbPOUu/MOCaoispCjTAWVa5so7P5p5Ze/524u9D8z+AhM8ZXy+a +303vvliyvIdiNYXnnwz/27Phv1lDG8A18fDby7Obi/M/wzWNXN2cM3190xGYvv71 +zcgPIOGb7rFV+2dAe9H2Cbjei85PGd68+PJ34uHMvibFquViJQ1LlFv3/6T18Acu +ZL16xH3iPaiaB2sKDGpqlp17cDt4wPGDLYbXYoOIZhvf+AyVSLEQAKJZbaxCQMc1 +5SAlvUyUmxKPg4cXv9aNChEh12GuX6/X6IlG9tIpKzQ17O5kwhyLGiXRDZWdjBtz +srug+MSMXeBtEFl05nPeRHi3nA9keXsp58tn7KrohHGd58ytvE9J7l92ORxKSZOY +2HeYpgCTkuyuKj6qz8UimgUrrar1K+kwA5asb3BmVkJLsndqERbgWYtU8h6ZM9FW +OBX0oftQglO0WpQ0buiiLXL0g645IbEDix43xEhdhZHuOKhHS1nnxSFPjnBU/YcK ++PaTMkXJp70fyRIDFW+VE81SvF1LlfOhGqbKUrSp1aLSkkZi/ozikRYlP+1fUyhf +sZJWKqnDq6qkJtQ6X66LxSrX6uSbHeaZ1mjLSiGJa6pNWSkm8iVw11S5xne6ipKP +laocJJdP1Ns5pZhSKzwuODytVBrMleXkvFIoJSt1llSw0RVgo1U7cqOjKBWucVhg +nifdrFJN1DsZtRpvH8nFSrJ9oACqlXqu2SmWK7lqPVcsi41GrljkWVIFlQPMaxW2 +G95sKq1WvtmGKM2WTMkHetJ/hsmTeYBtJqheBlQhWy1vpovViFafy7ew9Xpo7qeP +s999XvzpzfTfhld+eT31V7TDK4/fzX7/Ye6X99OPndHdi/v29e0R2ze40dJB9fav +e04p31a3Z3V8gOvT67ZcjE8uvp1cfv126rsP8z++GP+PVzP/+Lj8C9oXk39/Nf0d +9DV4eFRm8ddllvsXOi6JH+tBYbvBfWp9ZVtX04OFewatb5oZaCNM1+YaseFZsu5q +pNWId7Qt0SqsElimtVipFGIZvPE19tfG9fp36NByFi1WMz+WnB+nSOFqyrdXuEdb +1kiQmgaoSacTunWw0yl6LbF0ndsz3xhtO4y9i8YN9Ir2bIerypgDZSns1BJttJXo +QS1+VIseVMIntdhhOdwpBbtlZr3Ckq2pTKiqJhWxpeThECqSpVXODVGEl+5oetxO +wtQ96OUCZQ7nVGD3KwC1mxNCyU9VX/siIdu8f894LwNhi3mHnh9wuAk6Z900JTui +kEzmV9NKnB1w54fCSYdjuYUB7Vr6qM3y+zXropLFr5Y5PCop+USxxAEdhSLmbSAl +w7KRVAFYDp1aK6fWxFJTkqF/WzI0MiCMQUC10cnL+Xi+xKHPiSFAEuoYZ4H3q5tO +POmGedto5aDHMY4XQqfjJQCmWuKg0zFpaPnAmc+2trOZLNXAnLP1tsLetJLBHFJr +SaVqqn2QrTZ4ymkMzNZbxXKzkC/KhZKEPqCNTwti0GqpghTrdEqNVkEtCd3DipxN +Hx7XQB4ODgsFNdHuyBBgnB7gXs0IzQONNox6MYzaMhrLs10KqpUwn7dvmIZ+eftf +X4z+69DCj8/G/vXJyD+/nP7r57VHzyf/8nT8L+9mfnr2+XuTb+PwvH7Tr7t316/P +9Ye4Zp1btpMIfS0WokMTT568+8v7mR9G134jRL9b+HFk48nw2pM3sz88ev/PH6cf +hXmTCl3Z5qvMI5plWv5Dq5ngqXOSQRNb99/W9bVec+drTaWv0E5DQQPX1XKoWo1C +emn8NU/UvonN4MncREsxWNCsgp4aYptQpYhWGTOs7Y71Eob318Eien1MnZwPqma6 +ksZ1/U5AJsgP7nT3Cg0Q569EqTwupiBAGyPAdbMSA6ih17pVlkX/tJk4acQJ1wA1 +MA64AciNUoitQVVjbG2tD0NKSYqzfYc0vy4ESaovz0DdirLatSxuOqbVs6YI7ri2 +5hbSwBumVIe/xzVG+vcM6U6t9O5/iGv0qU4uecYetQBz7qDOdeocgNw5KNcaCuAg +55LQfe2DqiAn80VRreWOz7rnN6fXdzCZr66ZX0ovkPOKuXlcXFwfnV8d3jLz+QJt +P4chE2YtXh/daTFipxfte62DQTrVv+yMabRedrJegrLrO1x8eAdL+f4U97xi22K9 +9724O7hmp45v7+lVZ1c3hyykVMuUeNNLuXakfwaSW7akd6TZ+5faRvbJ1XW7ewAD +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 +UI4a9e29HH0tRfAZWQ03lwcsPOv25ObySLMRTr9l9Rfa+MBb0+rE/eHdTTsS3k8n +XfGYZXtzaujTo9np96HAflYKVcscQJ3PRSmqkdUBVFjoYrWebLS4cjXqC64ZzV8c +7jlZsWUkExCdLdjErEXzaIqxonvlQL6EB9WbUW1R0ZAuWjftIyPLjz/N/7TtHX8z +/Y+x9SdBabd6kjm6KV3ed4Drq9uz69uLa3Dty8sBXN/+Htdama5Txtvvj05uG82L +nNIJY7oYXXs8sfUUxvvQ0k8jq4/Cyq6f3wwKO4LqLFSD+RJTx81GhiXTrifZipnE +wiXwMGe0/URWHY9lQkgD1HIpLZQFS9A+sjz5fmZ4eGnCEQ8ItUKmmg9JKVc8YAk6 +PEk/TOkt+9qeZzuY8QCzQKtQzBSbeaXMc2LQF7G5g2Zn0AIgx6VYgAvAALeH7TE5 +JlYy0N2OsBV63Jd0gq7n6xmlxsvllNqQik0Zs8qeC7iOxuUILa2DjQfxkohjYmVi +Zn1ycuVLmA+9Hn377svH8aWp0cWp75799MOzn8cXJxY3Zz6Pv0kLPinHPIQnpp6v +rQ5tbY5urA+bTbOi4JqdeZWIm4D3Z0//FUjf35+cn381N/dyc/Pz2NijV6/+Hb/v +81f/4nItjI8/goUONg4Tu9OIri29+fz+u4tjRbOIO3iE7lgWWUZ3ry8OGdtkdivM +qcPbC810hR2Kltl3F5eHHW0E7Bdm42DmnzP2APdazWDUbVUYwIctLRpIs6PPW1ca +GAewc9S33PuG/N3x7XUvG+fNVbuHtdvDfns80J7dXmntdbeHtb5tfoOOdsHNzRFQ +rBfBubpmfF4D9ZUGK2r1Kjk9SH4L9rNB5LJc4AOHsNwZZm9porj4E7nSDArdptat +jP5ba9/Y5Rm+/+urnkFxoRnjWqGh27Nv5oRb3a6/uB8IEb266pTKvNO1s7r2JRgy +ZQQvn/FIWR+vua+zjbxyOK8t7APXaj0AXAe5rQ3b8JZj9Mvak8nN52uO4amdl7Cv +oa+5olftcN2L8ul1+wpTE6z4W11f3/8e17cwEW5h41yfX56cXh8entfLHSlTDrqS +GxuuUSB6yzMKGVv/Fea2MTDpSa2DLWQrfrUG0yAE87lUjLMaJfVkTotBhqXJFvpE +B2DOimNW4lDWYjEBJAK283urn5emxjcWLBHXpm0XcE4omWReSChcREps2DYBN0vQ +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 +3y4C+1JGAmVDw6t5GQqfT3NyXgIFuwU7ZL9PdoGjgWX43X7JmWmomapa6abKnXS+ +Ea8Ms9EUY/Cw4nYFrCb7ZiIT1wpJvZbNdKtiOWXhfWvuXUvE5xWjiWIyV2JqDcqN +ZlzZ8gqjDHL3IqyQfTkILxtWq0SB7q5ROhNuNXNy055qzmfEZfEHQ2E4jPb74VbL +B01eKdiNjEb2Xg2euBdad9BmuAbu0G8UAHlLs8j0MGAIpMPQAQyhh4How274oBNC +v1v39hpgfP9BL8Ksg9MYlo86bBAArgF2XJm9RSdwOIgcDaMH/fBeN9iuuRple7Pi +wLPHe9zpgYD2uB+96It7leAQLFwNdUu+QTXI9H9fOT9KHu2rez3ma9TqoVLZVwHv +N+FoCJAKhz2l3+LhTcC5Bl93e0K9FYVRZnUAmQGzq4GyDTmNgyIc51BoLRhcTek+ +wJkqehhurIY+TJLMzaZMJwPdI1yDr7MGoknuAtdUOpNaEsN4FpRKSCcFTtn+Waks +djB5m1KYwZb4mtbWRyIcuGZmVCvAObB6DTCPEYSBX+Aa4KWyepSOmG3uKEZTmcAI +1+jgj2ICoKPW21KlzYGvLd6JseUHi5ZX85bnc9bnk1vQzE9hQDfQt+r7MLHx+5e1 +l1HVuXfUMPa3Xp2fnXyl7aX/Ea7ZIte3i/Orw+FxU9R8XxZfvpu5t+J9DxE+tftk +3PTwi/kxBg28F2T/nPnFxPoj+AKR+HamFAK0Wz1WYoxWCrKZIFSQQdlsD4heEuE+ +w6dec23DlmzrYZ1zKy6vzCafS62srHNSMurnXfGslMgraDk1qOXkTF3PNlKE60Q5 +UewWk6UEyJ0lXUnygLw76orGOaAYR8KxkFYABuPpagrGw21PRmxh8y7Eu+QMyG4+ +GVLzQiTuC8kOR3ArrNht/g1J9+Wqsc5BvtxKljuJbFvNdhJgc1fQxIk+XgiEhSB8 +alPAqVTzfCk9trX8ZWdt2WbKtyrFRqFSS2Ic6/TYgI8/f7CXMoZ03ihjwbKI16rh +Yj5QyPnLxVC9CsktD9tyvyl3Knw9H6lkgtV8uFGJMq3eFdodHr5nrRqsFPyVHCsI +wgp5kPw28hOO6tKO6myO6uTSxmqWqqgjku7FAEKFgYxUh0Y5SyMdseEpS8Aj1PVB +X+w1w3Dh0VLpahzZ6/IQFVDRcOqbcASMmvXGUzIU/hAsWeJ6Zb5bFXo1cdiO7fe1 +g74OVDZYhTKuZmjdhiFWew0BjgBYu1NnlcjaLQ5SfDCUocOBa1qVxncFVA568W5b +oZrXsmzx+5dBysAUIFNlYWlKqxkvFjhoXcC8WIgCUzQ/aSwbCRgcqG4X9HnhVoRT +reobHWUk/QbiqGY94Ebam/iajtPMOQ7iCBW3LeQxOItU3Y9wjZZAzeqCGSsgNMFO +fE28zzZxlHlibWNJnaOqXlTJF3BmVbmzQVZmCB8Per4dqzT4fC0Ykjfswem5HbZs +vbj7Etp4bP3+svPVjPn3+d1nC7aXY+sPJzaezm2/iyj2/n7VyBZ1dXV2+p/h+vT0 +lG3B/np5fLY/OKjJycDc2rsvK08/rbLN13POF4A2hgu47ZQX8dPyvfGVh67oopi0 +JLJePe8HX7Nigo14IcccHFhCd6dywWyJi2cixU4620zbIvb3cx/G177446FUO51u +JoudXLGZyddTQLGYiHijNlmPxNKcmAiFJLegh0Ho8KyFFOeI2ExeU1AOQJwDtqB4 +ABnDgl5O2oKWiBrecW1vOTbRuiJOHAwqPlB2JO53RiwB0RGUnKBgIcHmxguNWEja +tfmWrZ7lQlVOF7hyQ60046VWXCmEhWxgcWd6171ZrqY63Wo4GkiVcx6ZA6h3or5Z +2/bC7janK5Vuo92rVhsJI/xYNsbkGFteYRM+Clu4MQr3NOpRIJpA3W5Kw7426BhJ +ShtapxqvF6Ryli/mAH+ZXC3mbVWkUp4rZbhKlm+UxW5D2e8lYa2qWMoGi5lArRjF +wX5L3euynVPDjsbynTYUWLsiD1uJo35mv5dqAxQVEdaoyb1OotvWOvVYqyr36up+ +Rz/spvba7LWthgw8QgMP+8n9YWrQw5nM28URHK+WuTrw24njqaNhFh+7B7+jpLTK +sW49AWs3EoNuZq9f6LVZiv5uO3N0XP92k0K8f9DToMOP8FUY+dBYZQS41X2xO5Ah +xev16F9wDYTG47uRyEYq5aES9sTUgDPYcH8vNxxkjg4LYMlSESOAaKw3BalGNrBG +4WrF28rUFHdN1a6NIvVhqtBB8pjATrimiTU8hZakF8ly4BoDC5X2I+V/F9oEaub4 +1xUw2qCfphp8MFzHSEgYJeKmql5GvHoUoI7FnUA3jrCVMoyBbalYjWRLvqC07uEW +Nlyfpjefvpz610+r9yGPZy3P5qxPF+0v3i78+Hb+l2XbJ1tgGQgd7NWvLk/YFvCr +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 +tKkWXHebFI94IkFXBkKYTxbSpSY5rdmdiYjSfau5RWCm+7Eu4g2qP6AGyXQ6n55b +Qn5Q5NONHol7EQf1yxYEkyPFIARo17ou+g5ODJ4QOdLVwynq+sWtwspe+fhmj3wC +EuoUuGUCJoSiCeG//JjmL3HdIHBNPLGQeGghiHgkae2yUj0jYNu5uWqfv68eze/k +/VlbaTN5VjusPF5cVE9u6pdA9ANSoEd4bOLHteHivjx95Qt9Hqm2Ww/ks9QAZzCf +cP35eLtHWuuKStreJ6sjTr7V+Ou47p7832jY5DZ/juufg+7LtPpnL0Tq8ZMH+AWu +SWgTxomt/ZIw2PpEf+0Wn4nU2mfJv9jJJ/pDCPze0j7TF5P4IsDvnUm78fOZPydg +k9xgN7trkOgg3Et3p+T5kEAmmf+3PORLpM2QRkii+MvJfBKGwPUv/uuadJvYBWId +6aa6foMEDnnf35/P54f2gLqm9AnauB3x5YUmSQS6f+YBasTXiuu/xzU5//d6/Jku +yKP7JPbPFPHzo/5D9X2e1iHpZ7j+w/9+f3p/gOv256P4m//7Ba67/qfRTcYaZFAj +Mpybs9vjj5WTu9ZFs9ONj13/3KWuwXd19Hd6er76Vc9XPT0936L56hOfQfM1+F+B +/zHzTc+vPo0T/775xH+Nf3/3q1/3/Dv8fy/m/L2fzfnjTzxx/T/4xP8W//7hp/l/ +mv2m5x999Zvu+H/KfdPzjz/x34L/Jz9b51/87F7/+quve/4I//+fMaenux75v56e +0j/t6aH+e1z9pxjtQ1+Mfgj9LfRr6P/9r3qo/+arnm//y1c9v/3hq54SE30H+gvo +n6P/R1/3UP/l1z3ffvt1z2//4uue0jj6OvSz6B+ij31Q/9mver79D7/q+e2f/aqn +1Ie+BP0w+tvo19D/41/3fPtvf93z2//6657SD7/uobLQd6K/iP45+n/7Nz3f/qvf +9Pz2T37TU/qL3/RQJ9DXo59D/xD9r77p+faff9Pz2//4TU/pz77pofajL0U/8k1P +Cvv7//mf6291FfrfPym9+/9/8uOf/4///d/+1/983vN/AA== + + ActionTarget + 7243f7de-f0c2-11df-874f-00179ab38c00 + + + + 3d056600-f160-11df-8750-00179ab38c00 + Служебная записка.doc + doc + 28160 + false + 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 +OTUHPpx05AFDzfrK0v8B + + ActionTarget + 7243f7de-f0c2-11df-874f-00179ab38c00 + + + + 09dffde3-341a-11df-a3ff-00055d33dddc + Николаев Д.А. + 80fecece-b628-11e1-b64a-e0cb4ed5f6be + + + 9e10eed5-9de7-11e3-ae9b-5404a6a68c27 + AAAAAQAAAPI= + Зарегистрировать "Отправка "Договор аренды оборудования" (Письмо)" + 09dffde3-341a-11df-a3ff-00055d33dddc + normal + 2014-02-25T10:39:49 + AgFTS2/0iI3BTqDV67a9oKcNTVHdSgJBFK7Lgt5hmBsL1PUvqHVciB6hXmB1RxxY +ddPJnyIwu+hCQQmhq+wV1r+QzPUVzjxJTxB0djJwYH74zvm+75wzP/t7en2vNvf0 +ikYpK8myax0dshK3HbwPWJlLm1TsMs9R2hC86VVrklJSqFYkr0iSI5RK3pJGSIw2 +hSNLuXQqERUVIYXtxuoF2+W5JDJKUnoxfnMrGqh0+UePXbc9TqkROhpbS5avOm1t +7YgGqcu2y7VLESmxol0Wbtu8qKF2ViN1ccfNZMZrZSm1mGexvAWv4MMcfPUMvsmM +vEVCRHVgATNYqkfVxfcSdwBTxLuqTyIwVl3YIOYj9gk+IiOMz3ROoDpkK7CGueoR +RCchqp7QR6tgYKkGEXIM79qiD18QnESY4f0XNYQpWiBpW9IbLNEogBWSFzAlMIrD +ML5DeMHAB+oGuuL+ljaGiephZ2ssaLCTPQo7+e83dRpPpOKpRDJDkgkzfW5mznSq +gSPFU0+Y6S+z6MMv + NotExecuted + Active + + + 1 + Зарегистрировано + Зарег. + ExecutedPositive + + + 2 + Не зарегистрировано + Не зарег. + ExecutedNegative + + + + + ActionTarget + d9edb4ed-9de6-11e3-ae9b-5404a6a68c27 + + + + + 9e10eed5-9de7-11e3-ae9b-5404a6a68c27 + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + d9edb4ed-9de6-11e3-ae9b-5404a6a68c27 + Отправка "Договор аренды оборудования" (№ 1 - 02\14 от 25.02.2014) + Исходящий документ + html +
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 +/CF/IJH/49z/AQ==
+
+ + d9edb4f1-9de6-11e3-ae9b-5404a6a68c27 + Договор аренды оборудования.doc + doc + 56832 + false + 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 +neDQ3G9KVcj4FmoQMmFYPRkyg9FmZcqFS9eYkIa1BuT4WSXajF0MurDybrv0Mk3N +AZzGHEN+MSQyyWFkDvm+vN+yGYeeqMueIKUkQ77xalFZnnhpSI40ZSKNWD/gHDbh +vlqENMYYlsidaCIq4nAac5rxLCWNelFTRk8uM/tx5CT6sexdtapc3JONFop49ChZ +PkOSM8rcIORWJ2nOXa4oi+P7UsabI6gjbOFaNSLFiOgdoQGUTsZfL+hhluL6laZk +51SymMwetcwmZMs2KmnFOsbGakm2RbjPtihxnAE6y8V2ady7HhuFDBUrHfeFKUo6 +a9E/JnhgrZBg+zc3cJoPlavZlnVGVD6AGRH7LHItRYWgvUpV57FR38qH54oSGrmQ +FFuv5MQYVzNyUmvhGE2idhqVr1qRh5qEVYUoUpLUHBZtVe4iNUiqMmIsgzQwWrX+ +wGadNY71XOMw7xzIrNOJwozZJVNhmepfg59hGj2rSvQTsQ6TsIY1+LE7kedW9Gvc +durRfclEAx+dmEbiKUDSSsFJj+uGxOudYzeObKzjDN1YzDMHp9KG6Nx/8o/ru8hc +LwlbpEoeaWuE5FBvSjUtDqtbNQl9x+AfTbjW9EOWbhI1V2MZk+YIadg6LlSo9cvY +nDRekjJWGK31yz5nqLHQq5d2qJXSUsUPa0VOrSsXtYK/RdXcuqVf+SlTkmODKL17 +2m4j2Sw1O68StVoh6Ivr0kpVVYPklcbK1kyVj0olhTYpHiPXcmaa7W6MjXbOWWNy +rwrVN5z5aPyKU9SUe2TYOrXiyWMEr5gzn/Ya28Nizmq0k5SWSsVs+FSyrn3Gaorr +OGThsvFcuU6N5dJ3m1k79WLOJWVKa13Jsb8jgZKtMqZR37VqRcwq0cX6VZOLzGFd +WbSuqcu+0L/xi/0Z67dypl8paIhHwgwxDrvN+GuEX0OOjM0hjXmMlCMkn61V9WVQ +SbOSB9ocxvYSeq9Gdm6NgXI9vg7NfD9elq5QK5wR0QJtunWPr0JJQUW2+VjEIvu3 +22rdkIi4NRNnFhHLeCXtwmZrh83VXedw1vW6GQOgq/hdEJlugzmT9i5Z3zPSxD2k +qDniSjk7fi1c+mSK4FbNUuvbTUIaj6gcydxZ+5DBJZjO6m1roDPi+GybPrB5dGRw +G8ABIl8akQ5sA7YDlwM/A34B7AUeAp4BngUOA0eAo8AxoAc4DrwOvAm8CwwfRjQG +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 +cthJUlz/KU532jc3Ke5TGWY+PpWBOD6VkUBxPrXMmRw3BuKLPfL8yeqB50zWZ56X +WZ95LmZ95rmS9ZnnVXFHF1xNwJY1aZNFqx+btnssjdVPATIBp/ssmp2z9NQ3J175 +e29fJVdueGPkrV1dV4Trp6avDU7Z+cbbb+/59zVLO99Y8N3i7973zpY1qz+ZRTc9 +eO+DWp8p3nzniyP6TvH1ow/XnfXtIzO+eV8Z3XLB1prNU9/+8rruxQtuKrjjwDXN +W8rSW7bUj1IrgLzq95IxogPRDZVUeFoV8Zu97utqIv6OOB/xWXj2jXS89i5x+GZj +5z7iA9X8Fq/gqGeJ3/V38aoeqm58Rx1YkUohvKbBaw7zC+IVps3l7FDvu5w+K3Az +8oDeeitDuWL8zoDm0Cl9FdYDJylER0bKtfl6daytXq5j8jVLXatlA2tiufNM8cKf +dbSePov/bJsWRwZKAOzlbq1W2S33XHFz8nZoj5LPF/Cn6Ck+v95bTYcbLqbdw4w4 +VK4X0/m0llaiMkK0ANfP4roQ6a4VLwsiiiAecNMUzaelBnwpqZa2IIsuCC2iSxCG +Xze0Bk/lk0TqIwK6j41Ivckh9Qa6EOkvE2EiZhhkWUeYOnruk520+2NmGE3leBl1 +qxwSFaO0pWlXjKEefveWHD6/ta94DiPGMVfw0sxYHnYzRf34g5EE24hKZ7yfxOaD +RkkzcPODwDr9XrqXLrssq4JPho0Vr3TivbZzCyVOxsROc6WVffEMbqc0eucf7i3V +errYp+/pzUQ3nUX0Alr8Sclyv+AE472VZQkx9fYaPL2IcvQiPRvI4m91iK/RhfRc +vVDP0T+u8/cIRwn7CXqO8BOEyxj9NLjkjQ+ZY8wi2iD6ynpBy5sdbJzMRMteKm+B +aACfe/QDOpCizkAmzdCZd3uNl4XZlA+Bw1/67vG3OrqDt1+dRh+ffM/TvIm5Q2O6 +l+47FM3uVLOF3Yo7P6o2tw6rza1jaqjjQMwjczQ5MIQ0OVDUa3LTq12TG19LNfH2 +Y1qhyX30DZr4kDFdrEnWzGMU749focn0me6LhMYB0d4D/3Ngz4GDod0Hf7l/7+9D +Bx48cPCJvQf27N7/8B9D/x2S/nST1mV6izasX7O+e/1mw87uvmD9hWuXrSlZsX6T +d5hSdc+7x/PPX37h+o3rV20Kdaxadf7ylaEl6y9cIcdC0yTc338w9XjpY5r13q/q +1q84Ol8lV0+apEmapEmapEmapEmapEmapEmapDn5+T/b+J7c/+T1JacEv/EtzP+n +vXUnv680xWbHqmNBNW/nNQHekeG5+ga1BrCd5HoOv++U1w2uIbklyF954Tn/TSTn +9Kw+yXP6e0nqvf+M5BrAXjXffpXi5/ps95uX3njlL4+/1PP8y38V8+GImidnquu5 +hep58giRFqk0na5FQZn/cX2vIaQHZVY4G7ycsf/wn54//MrLL4m0OI4XKTY/Dym7 +KBna4zFFYC7DuafPbT63tX3ugrZFZvkaVP0EVDw5CGHEZ72mqPyW0fvzWv1xZKwb +j052nKRJmqRJmqRJmqRJmqRJmqRJmg+ZGeihVJ6Tj1Rz7KCa02epuTufO8+l+HPr +rBtjnF3n8+iFauI8Ts2NxxNrORFNIKn/cSowCeBvWPFhadaPmgp8nORZdj7/zoqe +fAY+THLP/d3e3t5yXCvUGkAl8Vuv5Zx7hnKfiSt/+KsWqANmqbk4z7X5kDXrMPL6 +RgswG2D1Kv4S2Fzit0ITtQHtwHxgAdABnA6cAfCnyhYR624R8ReLzwKWEL85XKZ9 +Nq6fBD4FfJrkmftzgU7lzkcQ+Rt1rB/A8+xVwHlqLYXd/wFcoO4NDJVhbbj1tAlt +0YJ5/ibM+y8ZEP3kUYpmxCXehTBMriXtls6zrX53tT44gXUa1lLs9UrNtAypLhs0 +/Q4nn2YtT3/CCP2noLwvFRp3vF6yclDpj0T6muoz/U2flSF31cj7JWKtZQXqgddm +LhLaitwO/TX5SN+n+m1/02dT0iWvKaBcTnWtWAW6BPS+DvTHeVorWuZ83K/ziGfK +IOr/E5b6T0ko+cDyE0X6OsXUjPuT/jJL+hp6PmtbbkCP7qLVA27/LKGXOrDys/nM +EPLwwaRv5f9DyU+S5sNlNLS+f7ikITvvFmvhfzn62rGXXjkeclZoY9Fg/iK+bV6/ +XPQpvi/Bw0VrV67bVBKl12fc/RlKmg+q+f8= + + ActionTarget + d9edb4ed-9de6-11e3-ae9b-5404a6a68c27 + + + + baaea98f-4a82-11e2-b85c-e0cb4ed5f6be + AAAAAQAAAQM= + Ознакомиться "Порядок регистрации телефонных звонков" + 353af559-3417-11df-a3ff-00055d33dddc + normal + 2012-12-20T12:53:59 + AgFTS2/0iI3BTqDV67a9oKcNTZFPTgIxFMZ1qYl3aLphAwwzyMKhTGI8gl5ggJJp +MsAIlT8aEyAqC0kgxMSFiV5hRFECgld4vYeJV/BNRUMXbd7r7/u+/vna3tLje/F5 +QY9pnDJPln1nb5d53C3iusPKXLqk4pZ5jtKG4M2gWpOUkkK1InlFkhyhVPKWNCJh +vCmK0sulrVRcVIQUrp+oF1yf50xUeFIGCX56JhrodPQrT5y0A06pESUa60iWrxbb +OrooGqQu2z7XKSWUJEpuWfht+7CG3lndqYtzbpv7QStLqcMCh+UduIcQXiFUfQht +ZuQdAo/wDkvszmEFHzBTPTVQXTUkMXiCleqoIfIrmBPVgSm8INBFpIMWNzCDGVE9 +bC9gqq6QWsJS3aprgpYTXUamkxgzgr/8EUxQgb7r9LFWzxAMEUcYQgIPSRglN0Rj +3HyLtnX24P/gzxjWjw6vhhv0Hda9v+tZqaRpJa2UaRHTsjNpO3OgUQNfEGf9oEz/ +kEMvfwA= + NotExecuted + Active + + + 1 + Ознакомился + Ознакомился + ExecutedPositive + + + + + ActionTarget + 20d2ac2c-3012-11df-a405-00055d33dddc + + + + + baaea98f-4a82-11e2-b85c-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 20d2ac2c-3012-11df-a405-00055d33dddc + Порядок регистрации телефонных звонков + Внутренний документ + html +
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 +PqrqffYgdTj7W9kweTXvvav3/qT3fw==
+
+ + 44f0b604-4a9b-11e2-b85c-e0cb4ed5f6be + Пример записи о звонке.doc + doc + 11264 + false + AgFTS2/0iI3BTqDV67a9oKcN7VpfTFtVGP+de29L2wl0HeK2kFkZ6hKhtsBGMZvp +BkOcY+iYmYmYuP5hgJZiYSHLNNli1MUnTPZoxCVbXGJMUJM9uIfhu0Z89MXU6QNZ +EIEsMTyM63fOPXe73LW2LCQGe3/pOd+537n3+77znXPP6fe1B2Dgrxs3z9Xvrm+M +tkWa9zWHw00tqfZoU2trKtwUb2+JNCUS8UiyLZVMtLa3NVb6zkV4FX6v0sc/QkKj +IWj2p625y1/v/A02PA8Vq7oXbguPUdlqXviBgOSt6rouWdAdbCrMX53BYXg1mrrA +TWNmA6ImDqNShfhwfPhQ7lAOD8Cr1WLXI0DwYyYKw79D16uLtk28Iep+KZJTa7sQ +rbFIGGXFKRmPdyU1+R0KcJ3oJXn9sNRDcugDn2Jcl0IbiK4QvUMy/iTvD9B1iK4f +zePNfps+O4rZF5J6rxXwp12u/flrBSjv9+WR05/HP/lgn6di826Xx+1402KPCbPf +/vzDwpRn6r9oriMMJ5ev32D2cXwm/VJo3P8NKuGgrCH3eQdlCWbO/13HF+U395b5 +d1Cea6AOj0/PPhuczh14YtpTUU9l9+TnrgYqT0477nHg4P+NAKopKmF4nagZmFAU +GlvSFRGNunEMGWSRxim8DSOi1ZDu9mpHwSN+BUd5JgDdSNEdSQxhBKcRRETkgxjc +DWzblUXUXNmP2FN4DHs9FzqO1OGl7jr0HlHwCpW3uv/Q0EWSuLSuvNKahTRlrTQW +4NL2eS5YBUWhCjnRvHJahBx1rRxF5XLWeGU/DsaW9ctEgVp0kpQBknOGPDBOUl6m +dpbKaVGPYpB4XeSlEerNd8hqRmAocmPmeatavntrlrZLPsf7KywtXeeer0YPjSVB +ejMYozIg7OkQMzSKEOqo/Rz66a6zxO8kfoKsTpP93LYx6pkQvpgQTyTJSyGq+V16 +DOfvB8QzK6+yfOGx4rcMK0axLK+4gS/UThJLUdyqS3MpqvaRLcidkvQEqefmjJF5 +x4hOED1OBvDlNUL9e/2TTIHLxRRW4VZcFfeTjfdwnld9NMA04vQkX5Qt9UL7Frem +cGhqnkngOEiDHpILuZ48vuS5uB2YJVsHxS2f9vk+nKJiPMPWSDAm8n3/g1yT06A6 +28lGIOvnE76DFiao3hgYy1HXAzZ+sReqWL8DBw4cOHDgwIEDB5sKTH45Vo0QVMSf +bhl78v91eGH8arkFRhDLfy+sEl+cjf67VGpk2ywONg948J0RQc1hkSPIUmANfPVd +5WJppRYuZsri68jtNUKtGWN5dYl2p36K/yIee81//Itff2TbePJARs0RnKCAPE4h +eWpdes1SBUXoV2V+pZRnPDKlwNsnZSbEnisp1ZadpF/meErWD4t+JoLJNAWTveSF +4XX7IEBvr3U+C+qzgWsy9Bvvrvn+O+9veYHRjKs+Y+3a393tVPUMJbKZsczAePBk +JpsMdmYSZ9KpkXFxJvT0cR6xRH6Ot0NmfyiKO+3fvFP8/FnVac9gSt5zKffB1PJK +76D/y088eObpb38JEy8p1ynv3yMTgmF5NkVlX6c8036nC77X7NBEshLhmUqx/+yi +Nh/bz/O52wu3gj/kbi/NzQe/X1icW1q4Nfd3WZ3/LvSJXS8tctpn8SLtfgP3Mv7j +GBJ57cLYY9t/Sk3GXdrAMaxX/0ZjM+v/Bw== + + ActionTarget + 20d2ac2c-3012-11df-a405-00055d33dddc + + + + 20d2ac2d-3012-11df-a405-00055d33dddc + Регистрация телефонных звонков.doc + doc + 10752 + false + AgFTS2/0iI3BTqDV67a9oKcN7VrPbxNHFP5md+3YpkmMoSmgqDUm7QERN04CcSqo +DAluBATahopDU6n4F8St49QJiiqKBKrUop5y6LEqRaISl0ppDxzKgfwH5MQ5SBxb +FRAXDmT75seSzbKuDUJqU88nz7zZNzvfvH1v1rtv7AOQ+OvmrfOJXYk96aFU/77+ +vr7egeJwundwsNjXmxseSPXm87lUYahYyA8OD+1pj5xP8arvQnuEfwTDbkm0fHvz +ytVfd9yFB+/CxKodRtClY1Q2OwdRIKZ0q7ZtKxVsjQ2FP35ewmGELQpd7JaMbEzU +pGFUOpAr58qHVg6t4BmErS68/goQ/46JwvDPsO3Ohm0Hn4h6UlFy6W7Xk1tdDDOs +sSTj8ZWSjn7EAG6Q/F4dv6gMEQ99EDHkcTOyh+Rjko+I40/yfomOk3T8qo83Jz3z +edHIvqSa93odf3p5veOv15G8P+LDM+njHz9449Qo7l4+bsenLnscOP3e8S8Kh8+Z +/7KzjlAuPLxxk3mv40fll3rX/e+gHRotDfU9r9GSYE78n2hftF7sXfHXaM010I03 +Fpffji+uHNi5GGpLUNm18FOgh8qbi9o9Ghr/b8TQSVkJw8ckncSEstDMA9sQ2WgQ +x1FFDRWcxueQGa2FyljYOgae8Rs4xncCMIYinVHAFKZxBnGkxH4QQ7CHbbl2H1uv +7UfmLbyGvaFLI0e6cXSsGyeOGPiAymdj9yxkiYmzZX3Z+gWbsZ6NxTjbvtAlN1Ea +puBJ+/IMCB5zPY9hcp51XtmPg5mH9lWSQBdGiaVEPOfIA3PE8j61a1TOiHoGZ0mX +JS9NU6/fQ9aSiaHYG3Oet6br3dtytQNqHO9vc7Vsm3u+E+N0LXmat4pZKiVhz4iI +0AyS6Kb2O5iks74k/Sjp82R1heznts1Sz7zwxbwYUSAvJanmZ9kZXFxLiJcef8T8 +0mMj6rqsDOWyvOIGvte1QCrDCJoBK2CY1reeJPeKkidpem7OLJl3nOQ8yQ/JAL68 +pql/b3SBGQgEmMHagkagbW2z8Sku8mqCLrCCHI3ki3IgIWbfFLQMDsv0CQLHQbro +KbWQE+TxB6HL24BlsvWsOOWHicg3V6jIMWwdgwzk19FntY6mx9RfJy8DtSgP+HZa +mKD65UAuR9uOefSNbqhG/RoaGhoaGhoaGhobCky9HJsyBRX5Z1Dlnvx/HWHIXy03 +QSax/PfCDvHiLPufUFl1FY2NBZ58V0VSc1jsEdQosQZ++b39fnOlCwHmcPF1FAzL +VGtJLq+saI/ap/kv4kt3siUut6gsno9P4SQl5DlKyYvPNa9TOmCI+U21v9LMmJDa +UuDtU2onxLtX0qwtO2h+hrX/PTUzBq75mUgmK5RMniAvlJ/bBzG6e93xrDufB2U4 +88v7WKM1wSj6ZkSuX++9u42q8al8rTpbLc3FT1VrhfhoNX+uUpyeE8+E8QmuI5XY +n+PtpNOfTOPR8G9f6Ofrfx1/Aw== + + ActionTarget + 20d2ac2c-3012-11df-a405-00055d33dddc + + + + 795bd2ad-cdf1-11e2-b85f-e0cb4ed5f6be + AAAAAQAAARA= + Зарегистрировать "Счет на оплату (Письмо)" + Проверить правильность оформления, присвоить документу регистрационный номер, отправить получателю (для исходящих документов). + 09dffde0-341a-11df-a3ff-00055d33dddc + 2013-06-06T18:50:44 + normal + 2013-06-05T19:06:23 + AgFTS2/0iI3BTqDV67a9oKcNdVTtbhJBFPWHfzTxHSbzpzYBFvqVul02MT6CvgCU +bdgEKMJKQWNCQdqYkmIajf6wbZr4AFvK6gqyvMKdJ/EVPDM72rVWAsswc+855557 +h/bdO+r1c7Z4xZ/yFLfKXrViP7hvlZ1CCd/3rKrjFVitUHXynLdcZ6++2/A4Z9u7 +Nc+peSzPOPectmfIxNSeW/LK+dWVbMqtuZ5bqKSb24WKk88ho+x59bTz/IXbAtKT +OD39rFN3ODcko6EpreJuqaOoS26LNb1OxVEsO0hJ7xSqbqVjPm4Ae0vtNN2Xjplb +q7e3OLetum0VbfpIPk3IF4fkm5ZRtJncEV0K6IpCsS96WIf4RDTGfk8M2RJdIDoQ +PUZz8hlOFjRTZ332kM5V1pB+ULS8ZBn13zzvaCx6FInuH5YAWQEgAnHA6DRDJ5lE ++BlAAQRxcwop0EnnWkigREkxtMDSx1ZIM7DOwbAfH0TijaSDkJgmFKNUHC5xx8DR +CBMsp6KPQISpKm6U74sDwEfAmIsj+i7LjmS06KYkTe9ag5aE45noS0txiDLFMYyZ +4HvEFOgAARMxEm/xa/CPAFnhctKLC1X1NPYgu5HBeyWbW2W5TXM9m4g7gYiv1xZo +z87oUhxBC3olRono90qdbnp2/W9Uc20zEfpJAiozQ1nCGC6oGmXzYmcVis5IYj0y +sxup25sNS67k3MA3beslPBtg04dTPWnvcgbyE/7GEJGeOylBzxQQ+jD5tr6J44xV +bBi2etwoMwdpX5S5s3i+GX3I0GdIw4QE6ElXjrm8DmIotZxSwOjb/6+HFGcyxSQ9 +04MwRIo+ZspIiScLxjKkBepWNsxpSn7cdgO3GU91uS31b2Hz178A + NotExecuted + Active + + + 1 + Зарегистрировано + Зарег. + ExecutedPositive + + + 2 + Не зарегистрировано + Не зарег. + ExecutedNegative + + + + + ActionTarget + 3ceaa827-cdef-11e2-b85f-e0cb4ed5f6be + + + + + 795bd2ad-cdf1-11e2-b85f-e0cb4ed5f6be + false + 09dffde7-341a-11df-a3ff-00055d33dddc + + + 3ceaa827-cdef-11e2-b85f-e0cb4ed5f6be + Счет на оплату + Исходящий документ + html +
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 +CHkJwn0rwn3J/H8=
+
+ + 453d16d6-cdef-11e2-b85f-e0cb4ed5f6be + Счет.doc + doc + 11264 + false + AgFTS2/0iI3BTqDV67a9oKcN7VpfTBxFGP/N7t5xdxW4XhHbhtSTojYRzjug5TCt +oYUiraWo1PRBTOT+UECPw4OGNNWkjVEbExNMfPDBSJvUpIkxwZr0wT6UNxMfFB99 +O21JGpUItImSWNZvZmfbZXvnHQ2Jwdtf7ptv9pud75v9Znbmvu9uHwz8cfXa6dqd +tfXRlkjjnsZwuKEp2RptaG5OhhtirU2Rhng8Fkm0JBPx5taW+nLf6Qgvwm+X+/hH +aKg3FM3+sDl74avtP8OGZ6FiRffCbZExos3mhR8ISNmKrutSBN3BhsLvn8/gILwa +TV3gmjGzAVGShBFVIDYcGz6QPZDFffBq1djxEBD8gAli+HfoemXBuolXRdknVXJu +refjVRYNo6wwp8HjLclNebsCXCH+sbx+UO4hPfSBTzGui+F1xJeJ3yYd8+T9AboO +0fXDObzZZ7NnR6HxhaTdS3n8addr738pD+ftvhx6+nL4Jxfs81Ro3u36+Dhes4zH +hNlu7/+gMPWZ9s+Z6wjDiaUrV5n9OT6Tfsn33P8NyuGgpCH3eQclCWbO/x3HF6U3 +95b5d1Caa6AGj07PPh2czu57bNpTVku0c/K8q47o8WnHPQ4c/L8RQCVFJQyvEDcD +E4pC2xZ1RUSjbhxFGhmk0I83YES0GlJdXu0IeMSv4AjPBKALSbojgSGM4ASCiIh8 +EIO7jm25uICqi3vR9gQewW7P2fbDNXi+qwY9hxW8SPR61w0NnaSJa+vMqa1RaFNW +a2MBrm2P56xVURSq0BPNqadJ6FFX61FUrmeVV/Zif9uSfoE4UI0O0jJAek6SB8ZJ +ywtUzxCdEOUoBknWSV4aodZch6xmBIYiN2aet6rlu7dmqbtkP95eZqnpOvd8Jbrp +WeJkN40xogExnnYxQ6MIoYbqz6CP7jpF8g6Sx2nUKRo/H9sYtUwIX0yIHgnyUohK +fpfehjP3AuKZ5ZdZrvBY8Vseq41iWV7wAT5XPUkiRXGrLs2lqNr7tiB3SvJjZJ4P +Z4yGd5T4BPGXaAB8eY1Q+27/JFPgcjGFlbkVV9m9ZONdnOFFLz1gCjHqyRdlU62w +vsmtKRyammMSOPbTQw/JhVxLHl/0nNsKzNJYB8Utn/b63psiMvqwVRqMiXzHf7/U +lNSpznayHsj4+YRvo4UJKtcHxnLU9YBNXuiFKtTuwIEDBw4cOHDgwMGGApNfjlUj +BBXxp1vGnvx/HV4Yv1pughHE8t8LK8QXZ6P9DlGVrJvkYOOAB99pEdQcFDmCDAXW +wJfflC8UR9VwMVMXX0durxFqzRjLq1PUO/R+/ot49sNvXX/3f8+28OSBjJojOEYB +eYxC8uSa7JpUAUXYV2V+pZg+HplS4PXjMhNiz5UUO5btZF/meIq2D4t9JoLJFAWT +PeSF4TX7IEBvr3U+89qzgVsy7Bvvrvn+O+9vaYHRjKs+Y+3a392tVHQPxTPpsfTA +ePB4OpMIdqTjJ1PJkXFxJnT3chmJRH6O10NmeyiK262X3yx8/qzotGcwJee5lH13 +amm5Z9D/xUcePPXk1z+FSTYo1ylv3yUTgmF5NkVlW4c8067TBd9rtmkiWQlz/9lB +9Rqi724t3Prr5nxw5re5Xxez8zcWgj/OLVyfm/vl5p8lc/670Ct2vZTIaZ/CIdr9 +Bu5m/McxJPLa+bHLtv8Um4z7ZB2fYa321xsb2f4/ + + ActionTarget + 3ceaa827-cdef-11e2-b85f-e0cb4ed5f6be + + + + ExecutionProcess + 693505ba-5e54-11e3-88ef-e0cb4ed5f6be + + + Task + 693505bd-5e54-11e3-88ef-e0cb4ed5f6be + + + Task + 693505be-5e54-11e3-88ef-e0cb4ed5f6be + + + Task + 693505bf-5e54-11e3-88ef-e0cb4ed5f6be + + + Task + 693505c0-5e54-11e3-88ef-e0cb4ed5f6be + + + 353af558-3417-11df-a3ff-00055d33dddc + Белугин М.А. + 80fecec8-b628-11e1-b64a-e0cb4ed5f6be + + + 353af55a-3417-11df-a3ff-00055d33dddc + Воронцова О.М. + 80fececa-b628-11e1-b64a-e0cb4ed5f6be + + + 9b586f02-3129-11e1-9344-001c42000009 + AAAAAQAAAAk= + Исполнить протокол мероприятия "Совещание по вопросу установления пропускного режима" + normal + 2011-12-28T11:59:08 + 2011-12-28T11:59:30 + Active + + + User + 353af558-3417-11df-a3ff-00055d33dddc + + + User + 353af55a-3417-11df-a3ff-00055d33dddc + + + User + 09dffde0-341a-11df-a3ff-00055d33dddc + + + + + 3f2dec3a-35d3-11df-a40f-00055d33dddc + AAAAAQAAABA= + Исполнить "О гидроизоляция стен и сооружений насосной станции (№ 7-Р от 23.03.2011)" + Петрову И.С. - разобраться и подготовить совещание + 2011-03-25T00:00:00 + normal + 2011-03-23T20:00:14 + 2011-03-23T20:01:11 + Active + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + + + 09dffde5-341a-11df-a3ff-00055d33dddc + Смирнов В.Д. + 80feced0-b628-11e1-b64a-e0cb4ed5f6be + + + 3f2dec45-35d3-11df-a40f-00055d33dddc + AAAAAQAAABE= + Исполнить "Предписание по устранению нарушений требований пожарной безопасности (№ 8 от 23.03.2011)" + Смирнову - до 31.03.10 устранить нарушения в соответсвии с предписанием + normal + 2011-03-23T20:11:56 + 2011-03-23T20:14:13 + Active + + + User + 09dffde5-341a-11df-a3ff-00055d33dddc + + + + + 3f2dec55-35d3-11df-a40f-00055d33dddc + AAAAAQAAABI= + Исполнить "О строительство административного здания (№ 10 от 24.03.2011)" + Смирнов В.Д. - подготовить коммерческое предложение + normal + 2011-03-24T20:24:26 + 2011-03-24T20:24:47 + Active + + + User + 09dffde5-341a-11df-a3ff-00055d33dddc + + + + + 3f2dec5c-35d3-11df-a40f-00055d33dddc + AAAAAQAAABM= + Исполнить "О реконструкция здания торгово-развлекательного центра (№ 11 от 25.03.2011)" + 2011-03-31T00:00:00 + normal + 2011-03-25T20:32:27 + 2011-03-25T20:33:39 + 26.03.2011 20:35, Мишин С.А. (руководитель юридической службы). Задача выполнена. + Active + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + User + 09dffde2-341a-11df-a3ff-00055d33dddc + + + + + 37f31d77-f0c3-11df-a464-e0cb4ed5f6be + AAAAAQAAABU= + Предоставить актуальный список видов документов + В соответствии с распоряжением директора об актуализации положения о документообороте, прошу предоставить актуальный список видов документов, которые используются в Вашем подразделении. + 2011-05-17T23:59:59 + normal + 2011-05-15T17:16:06 + 2011-05-15T17:18:30 + 15.05.2011 17:29, Воронцова О.М. (руководитель отдела персонала). Задача выполнена. + Active + b64579a5-f0c2-11df-a464-e0cb4ed5f6be + + + User + 09dffde0-341a-11df-a3ff-00055d33dddc + + + User + 353af55a-3417-11df-a3ff-00055d33dddc + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + User + 353af558-3417-11df-a3ff-00055d33dddc + + + User + 09dffde2-341a-11df-a3ff-00055d33dddc + + + + + 7a513c5b-f0bf-11df-a683-e0cb4ed5f4b6 + AAAAAQAAABc= + Заказать канцелярские товары на предстоящий месяц + 2011-05-20T18:00:59 + normal + 2011-05-15T17:28:21 + 2011-05-15T17:45:48 + Active + + + User + 09dffde6-341a-11df-a3ff-00055d33dddc + + + User + 09dffde0-341a-11df-a3ff-00055d33dddc + + + User + 353af55a-3417-11df-a3ff-00055d33dddc + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + User + 353af558-3417-11df-a3ff-00055d33dddc + + + User + 353af559-3417-11df-a3ff-00055d33dddc + + + User + 09dffde2-341a-11df-a3ff-00055d33dddc + + + + + 94927c4c-20ae-11e5-b479-0050568bd071 + AAAAAQAAABg= + Исполнить п. 1 протокола мероприятия "Задержка сроков строительства" + Расследовать и устранить причины задержки сроков строительства. + 2015-07-09T23:59:59 + normal + 2015-07-02T14:36:30 + 2015-07-02T14:36:30 + Active + + + User + 09dffde1-341a-11df-a3ff-00055d33dddc + + + + + 94927c50-20ae-11e5-b479-0050568bd071 + AAAAAQAAABk= + Исполнить п. 2 протокола мероприятия "Задержка сроков строительства" + Подготовить приказ о переносе сроков строительства. + 2015-07-09T23:59:59 + normal + 2015-07-03T14:36:32 + 2015-07-02T14:36:31 + Active + + + User + 09dffde1-341a-11df-a3ff-00055d33dddc + + + User + 09dffde7-341a-11df-a3ff-00055d33dddc + + + + + 2e7a7d85-61eb-11e1-8bcb-e0cb4ed5f6be + Ответственный за СВД + + + 43fbd4df-342b-11df-a3ff-00055d33dddc + Секретарь + + + 43fbd4e0-342b-11df-a3ff-00055d33dddc + Директор + + + 4ea495be-2776-11df-a408-00055d33dddc + Ответственный за согласование с контрагентом + + + bf63b8ef-4a67-11e2-b85c-e0cb4ed5f6be + Информационная служба + info@mercury-pro.ru + + + + 76a1c825-61db-11e1-8bcb-e0cb4ed5f6be + <Не указан> + + + 2f1e4591-61fb-11e1-8bcb-e0cb4ed5f6be + ООО НПЦ "Меркурий" СВД + + + 2f1e4595-61fb-11e1-8bcb-e0cb4ed5f6be + ООО "Меркурий Проект" СВД + + + 238fc771-312a-11e1-9344-001c42000009 + Ковалев С.Д. + 80fecec5-b628-11e1-b64a-e0cb4ed5f6be + + + 68e015e2-309e-11e1-a0f4-e0cb4ed5f6be + Репин С.В. + 80fecec6-b628-11e1-b64a-e0cb4ed5f6be + + + 4ea495bd-2776-11df-a408-00055d33dddc + Северянинов Н.П. + 80feced3-b628-11e1-b64a-e0cb4ed5f6be + + + af9771dd-30a0-11e1-b07f-005056c00008 + Светлакова М.И. + 80feced4-b628-11e1-b64a-e0cb4ed5f6be + + + 3f2dec55-35d3-11df-a40f-00055d33dddc + AAAAAQAAABI= + Исполнить "О строительство административного здания (№ 10 от 24.03.2011)" + Смирнов В.Д. - подготовить коммерческое предложение + normal + 2011-03-24T20:24:26 + 2011-03-24T20:24:47 + Active + + + User + 09dffde5-341a-11df-a3ff-00055d33dddc + + + + + Task + 3f2dec56-35d3-11df-a40f-00055d33dddc + + + 3f2dec55-35d3-11df-a40f-00055d33dddc + AAAAAQAAABI= + Исполнить "О строительство административного здания (№ 10 от 24.03.2011)" + Смирнов В.Д. - подготовить коммерческое предложение + normal + 2011-03-24T20:24:26 + 2011-03-24T20:24:47 + Active + + + User + 09dffde5-341a-11df-a3ff-00055d33dddc + + + + + Task + 3f2dec56-35d3-11df-a40f-00055d33dddc + + + 80fececa-b628-11e1-b64a-e0cb4ed5f6be + Воронцова О.М. (руководитель отдела персонала) <voroncova@mercury-pro.ru> +
voroncova@mercury-pro.ru
+
+ + 80fecec5-b628-11e1-b64a-e0cb4ed5f6be + Ковалев С.Д. (системный администратор) <kovalev@mercury-pro.ru> +
kovalev@mercury-pro.ru
+
+ + 80fecec8-b628-11e1-b64a-e0cb4ed5f6be + Белугин М.А. (руководитель отдела производства) <belugin@mercury-pro.ru> +
belugin@mercury-pro.ru
+
+ + 80fececd-b628-11e1-b64a-e0cb4ed5f6be + Мишин С.А. (руководитель юридической службы) <mishin@mercury-pro.ru> +
mishin@mercury-pro.ru
+
+ + 80feced0-b628-11e1-b64a-e0cb4ed5f6be + Смирнов В.Д. (руководитель технического отдела) <smirnov@mercury-pro.ru> +
smirnov@mercury-pro.ru
+
+ + 80fecec6-b628-11e1-b64a-e0cb4ed5f6be + repin@mercury-pro.ru +
repin@mercury-pro.ru
+
+ + 80feced3-b628-11e1-b64a-e0cb4ed5f6be + Северянинов Н.П. <severjaninov@mercury-pro.ru> +
severjaninov@mercury-pro.ru
+
+ + 80fecece-b628-11e1-b64a-e0cb4ed5f6be + Николаев Д.А. (руководитель отдела снабжения) <nikolaev@mercury-pro.ru> +
nikolaev@mercury-pro.ru
+
+ + 80feced4-b628-11e1-b64a-e0cb4ed5f6be + Светлакова М.И. <svetlakova@mercury-pro.ru> +
svetlakova@mercury-pro.ru
+
+ + 65443bed-8b73-11e4-89d7-0050568b40e0 + AAAAAQAAAAE= + Контролировать исполнение "О строительство административного здания (№ 10 от 24.03.2011)" Смирнов В.Д. - подготовить коммерческое предложение + Контролировать исполнение "О строительство административного здания (№ 10 от 24.03.2011)" + +Смирнов В.Д. - подготовить коммерческое предложение + 353af550-3417-11df-a3ff-00055d33dddc + 2014-12-24T17:47:27 + true + false + + ExecutionProcess + 3f2dec55-35d3-11df-a40f-00055d33dddc + + + +
false
+ false + false + + User + 09dffde5-341a-11df-a3ff-00055d33dddc + + + Task + 3f2dec56-35d3-11df-a40f-00055d33dddc + +
+
+
+ + aef347a9-3120-11e1-814a-20cf30c960a0 + AAAAAQAAAAA= + Подготовить отчет по итогам работы за год. + Подготовить отчет по итогам работы за год. + 2011-12-30T00:00:00 + normal + 2011-12-28T10:53:45 + 2011-12-28T10:53:48 + Active + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + + + Task + aef347ab-3120-11e1-814a-20cf30c960a0 + + + aef347a9-3120-11e1-814a-20cf30c960a0 + AAAAAQAAAAA= + Подготовить отчет по итогам работы за год. + Подготовить отчет по итогам работы за год. + 2011-12-30T00:00:00 + normal + 2011-12-28T10:53:45 + 2011-12-28T10:53:48 + Active + + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + + + Task + aef347ab-3120-11e1-814a-20cf30c960a0 + + + 7c323d51-8b73-11e4-89d7-0050568b40e0 + AAAAAQAAAAI= + Контролировать: Подготовить отчет по итогам работы за год. Подготовить отчет по итогам работы за год. + Контролировать: Подготовить отчет по итогам работы за год. + +Подготовить отчет по итогам работы за год. + 353af550-3417-11df-a3ff-00055d33dddc + 2014-12-24T17:48:05 + true + false + 2011-12-30T00:00:00 + + ExecutionProcess + aef347a9-3120-11e1-814a-20cf30c960a0 + + + +
false
+ false + false + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + + + Task + aef347ab-3120-11e1-814a-20cf30c960a0 + +
+ +
false
+ false + false + + User + 09dffde6-341a-11df-a3ff-00055d33dddc + +
+
+
+ + 06e1c3d3-dcc8-11e3-9a43-5404a6a68c27 + AAAAAQAAAA4= + Проконтролировать получение материалов для совещения + Проконтролировать получение материалов для совещения + + 09dffde7-341a-11df-a3ff-00055d33dddc + 2014-05-16T11:02:22 + true + false + 2014-05-19T00:00:00 + + +
true
+ false + false + + User + 09dffde4-341a-11df-a3ff-00055d33dddc + +
+ +
false
+ false + false + + User + 353af55a-3417-11df-a3ff-00055d33dddc + +
+ +
false
+ false + false + + User + 09dffde0-341a-11df-a3ff-00055d33dddc + +
+ +
false
+ false + false + + User + 353af558-3417-11df-a3ff-00055d33dddc + +
+
+
+ + bfba2cab-dcc8-11e3-9a43-5404a6a68c27 + AAAAAQAAAA8= + Контролировать доставку документа адресату "Отправка "Договор аренды оборудования" (№ 1 - 02\14 от 25.02.2014)" + Контролировать доставку документа адресату "Отправка "Договор аренды оборудования" (№ 1 - 02\14 от 25.02.2014)" + 09dffde7-341a-11df-a3ff-00055d33dddc + 2014-05-16T11:07:32 + true + false + 2014-03-23T00:00:00 + + ActionTarget + d9edb4ed-9de6-11e3-ae9b-5404a6a68c27 + + + + + 089f85bd-dcca-11e3-9a43-5404a6a68c27 + 15 + Ветки переписки + txt +
AgFTS2/0iI3BTqDV67a9oKcNRU5LCsJADHVd6B2GulFooT9su/Ay/ZyiCLZbRUEE +rzGiI8W20yu8nMQrmLELQ8jn5eUl28Vsn36qnaXjpkkQbkLf96IqS704rnwvz6LA +K4o8KJOqLOIscW2rDkzwd7Zl3Ajc/kK4QmLESAcogefcQOMBLahFhwlSrHCB4u6N +TjCgaA/FuaPGQGuDaa6k4FVW0UzVuDNL4gVJJ2qpobOZMmUwMxbu6fi7NAhe7RlQ +/EULZVtf
+
+ + 0f70446e-dcca-11e3-9a43-5404a6a68c27 + AAAAAQAAABA= + Контролировать "Встреча с директором" + Контролировать "Встреча с директором" + 09dffde7-341a-11df-a3ff-00055d33dddc + 2014-05-16T11:16:56 + true + false + 2014-05-18T00:00:00 + + MailThread + 089f85bd-dcca-11e3-9a43-5404a6a68c27 + + + +
false
+ false + false + + Addressee + 80fececd-b628-11e1-b64a-e0cb4ed5f6be + + + OutgoingMail + 089f85bc-dcca-11e3-9a43-5404a6a68c27 + +
+
+
+ + 1828c99e-61f0-11e1-8bcb-e0cb4ed5f6be + AAAAAQAAAAg= + Подпись для новых писем + +ООО НПЦ "Меркурий", Фролова Е.М. +[День].[Месяц].[Год] [Час]:[Минута] + + + b9d19df3-62b9-11e1-8bcb-e0cb4ed5f6be + НПЦ Меркурий + Общая + + + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + true +
info@mercury-pro.ru
+ false +
+ + b9d19df7-62b9-11e1-8bcb-e0cb4ed5f6be + Входящие + Входящие + b9d19df3-62b9-11e1-8bcb-e0cb4ed5f6be + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + + + b9d19dfa-62b9-11e1-8bcb-e0cb4ed5f6be + Исходящие + Исходящие + b9d19df3-62b9-11e1-8bcb-e0cb4ed5f6be + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + + + b9d19dfd-62b9-11e1-8bcb-e0cb4ed5f6be + Отправленные + Отправленные + b9d19df3-62b9-11e1-8bcb-e0cb4ed5f6be + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + + + b9d19e00-62b9-11e1-8bcb-e0cb4ed5f6be + Черновики + Черновики + b9d19df3-62b9-11e1-8bcb-e0cb4ed5f6be + ac5ade14-3138-11e1-a0f4-e0cb4ed5f6be + + + 5938bb3a-53f2-11e1-b129-20cf30c960a0 + Фролова Е.М. + Общая + + + 5938bb3d-53f2-11e1-b129-20cf30c960a0 + Исходящие + Исходящие + 5938bb3a-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + + + 5938bb3e-53f2-11e1-b129-20cf30c960a0 + Отправленные + Отправленные + 5938bb3a-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + + + 5938bb40-53f2-11e1-b129-20cf30c960a0 + Черновики + Черновики + 5938bb3a-53f2-11e1-b129-20cf30c960a0 + 5938bb41-53f2-11e1-b129-20cf30c960a0 + + + IncomingMail + 28517637-313a-11e1-a0f4-e0cb4ed5f6be + +
diff --git "a/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML.xml" "b/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML.xml" new file mode 100644 index 0000000..f6dfc67 --- /dev/null +++ "b/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML.xml" @@ -0,0 +1,16 @@ + + + + + ЧтоНовогоHTML + + + ru + Что нового HTML + + + + BinaryData + + + \ No newline at end of file diff --git "a/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML/Ext/Template.bin" "b/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML/Ext/Template.bin" new file mode 100644 index 0000000..08d7413 --- /dev/null +++ "b/CommonTemplates/\320\247\321\202\320\276\320\235\320\276\320\262\320\276\320\263\320\276HTML/Ext/Template.bin" @@ -0,0 +1,61 @@ + + + + + + + +

Что нового в 1.4.5.9

+
    +
  1. +
    Исправлены выявленные ошибки
+

Что нового в 1.4.5.2

+
    +
  1. Добавлена возможность контролировать объекты +
  2. Поиск по задачам, поручениям, объектам, находящимся на контроле +
  3. Отображение иконок присоединенных файлов +
  4. Повышена скорость синхронизации с сервером +
  5. Исправлены выявленные ошибки
+

Что нового в 1.4.2.2 

+
    +
  1. Исправлены выявленные ошибки
+

Что нового в 1.3.3.1

+
    +
  1. Исправлена ошибка с отправкой писем адресатам, не содержащимся в адресной книге огранизации  +
  2. Исправлена ошибка "файл не найден", которая могла возникнуть при пересылке или ответе на письмо с вложениями +
  3. Карточка исходящего письма стала более удобной
+

Что нового в 1.3.2.21

+
    +
  1. Расширен состав типов задач, которые могут быть выполнены в мобильном клиенте +
  2. Добавлена возможность создания процесса "Исполнение" на основании задачи +
  3. Улучшен процесс перенаправления задачи +
  4. В мобильный клиент теперь передаются предметы процессов всех типов, а не только документы и файлы +
  5. Мобильный клиент перед сворачиванием теперь запоминает активный раздел и восстанавливает его при возврате к приложению +
  6. Добавлено отображение сводки об объеме новых данных при синхронизации +
  7. Улучшена обработка конфликтов данных при синхронизации +
  8. Ускорен процесс синхронизации и первого подключения мобильного клиента +
  9. Мобильный клиент после синхронизации теперь автоматически прокручиает списки, чтобы показать новые данные +
  10. Процесс работы с почтой и задачами на планшетах стал более удобным и быстрым +
  11. Добавлена возможность поиска писем по теме, адресатам и наименованиям файлов +
  12. Исправлены выявленные ошибки
\ No newline at end of file diff --git a/ConfigDumpInfo.xml b/ConfigDumpInfo.xml new file mode 100644 index 0000000..7ddc1f7 --- /dev/null +++ b/ConfigDumpInfo.xml @@ -0,0 +1,599 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Configuration.xml b/Configuration.xml new file mode 100644 index 0000000..3972ab5 --- /dev/null +++ b/Configuration.xml @@ -0,0 +1,427 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + 78d2543a-f997-4f7f-af2c-285ec6a00d8e + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + 8d1bd0eb-5141-4897-b657-f4e89658bdcc + + + e3687481-0a87-462c-a166-9f34594f9bba + 740f50db-f885-44cc-85e9-3e4e9888b984 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 75678c49-3fdc-4cff-953d-40c768c68bc5 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 576b9ea5-e6f6-4fd7-b15c-2a821d3c1200 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 796135a5-58db-4540-8e59-da5ccd5cfa8b + + + + СтройкаМобильное + + + ru + 1С:Стройка (мобильное) + + + en + 1C:Rent and property management + + + + + Version8_3_13 + ManagedApplication + + MobilePlatformApplication + + Russian + + + 1.0.0.1 + + false + false + false + + + + + + + + + + + + + + + + + + Multimedia + true + + + Location + false + + + Contacts + false + + + Calendars + false + + + Telephony + false + + + PushNotification + true + + + LocalNotification + true + + + Print + false + + + InAppPurchases + false + + + Ads + false + + + BackgroundLocation + false + + + BackgroundAudioPlayback + false + + + FileExchangeWithPersonalComputer + false + + + Normal + + + Language.Русский + + + ru + 1С:Стройка + + + en + 1C:Docflow 2.1 + + + + + ru + 1С:Стройка + + + en + 1C:Docflow 2.1 + + + + + en + Copyright © 1C LLC, 2013-2016. All rights reserved + + + + + en + http://www.1c.ru + + + + + en + http://v8.1c.ru/doc8 + + + Managed + AutoFree + DontUse + Use + Version8_2 + Version8_3_8 + + + + Русский + English + ОсновныеОбъекты + ЗаявкиНаОбслуживание + Служебное + Синхронизация + УправлениеДоговорами + УправлениеВзаиморасчетами + ДвумерныйШтрихКод + ДлительнаяОперация + Заглушка + ЗадачаНейтральноеВыполнение + ЗадачаНеУспешноеВыполнение + ЗадачаПочтиУспешноеВыполнение + ЗадачаУспешноеВыполнение + Кнопка0 + Кнопка1 + Кнопка2 + Кнопка3 + Кнопка4 + Кнопка5 + Кнопка6 + Кнопка7 + Кнопка8 + Кнопка9 + КнопкаСтереть + КодВведен + КодПустой + КоллекцияРолиИДелегаты + КоллекцияСписокСобытийПротокола + КоллекцияСтрокВариантыВажности + КоллекцияСтрокВидыСобытийПротокола + КоллекцияСтрокКнопка + КоллекцияСтрокКонтроль + КоллекцияСтрокНовоеПисьмо + КоллекцияСтрокПиктограммФайлов + КоллекцияСтрокПиктограммФайлов48 + КоллекцияСтрокСкрепка + КоллекцияСтрокСостоянийПисем + КоллекцияФлаги + КоллекцияЦвет + КомандаДобавитьАудио + КомандаДобавитьВидео + КомандаДобавитьСтроку + КомандаДобавитьФото + КомандаКнопка + КомандаКонтроль + КомандаКонтрольБелая + КомандаКорзина + КомандаНаписатьПисьмо + КомандаНепрочтенноеПисьмо + КомандаНоваяЗадача + КомандаНоваяЗаписьКалендаря + КомандаОбновитьВнимание + КомандаОбновитьВПроцессе + КомандаОбновитьСписок + КомандаОтветить + КомандаОтветитьБелая + КомандаОтветитьВсем + КомандаОтветитьВсемБелая + КомандаОтправитьПисьмо + КомандаПапка + КомандаПауза + КомандаПереместитьВПапку + КомандаПереместитьВПапкуБелая + КомандаПеренаправитьЗадачу + КомандаПереслать + КомандаПереслатьБелая + КомандаПрочтенноеПисьмо + КомандаСменитьУчетнуюЗапись + КомандаСоздать + КомандаСоздатьПроцесс + КомандаУдалитьСтроку + КомандаЦветЖелтый + КомандаЦветЗеленый + КомандаЦветКрасный + КомандаЦветЛиловый + КомандаЦветОранжевый + КомандаЦветСиний + МногоПользователей + НеПрочитанные + РазделЗадачиМне + РазделЗадачиОтМеня + РазделКалендарь + РазделКонтроль + РазделПочта + СтатусВходящий + СтатусЗнакВосклицания + СтатусИнформация32 + СтатусИсходящий + СтатусНеудачно + СтатусНизкаяВажность + СтатусПредупреждение32 + СтатусПроцессОстановлен + СтатусСостояниеПроцесса + ЦветЖелтый + ЦветЖелтыйСПометкой + ЦветЗеленый + ЦветЗеленыйСПометкой + ЦветКрасный + ЦветКрасныйСПометкой + ЦветОранжевый + ЦветОранжевыйСПометкой + ЦветПоУмолчанию + ЦветПоУмолчаниюСПометкой + ЦветСиний + ЦветСинийСПометкой + ИспользоватьЛокальныеУведомления + КонецРабочегоДня + НачалоРабочегоДня + ПериодУведомления + ПутьКаталогаФайлов + ТекущаяСессияСинхронизации + ЭтоЧистаяБаза + ВерсияСервиса + ДемоДанные + ЧтоНовогоHTML + ЛокальныеУведомленияВызовСервера + ЛокальныеУведомленияВызовСервераПовтИсп + ЛокальныеУведомленияКлиент + ОбменВызовСервера + ОбменВызовСервераПовтИсп + ОбменДемоДанныеВызовСервера + ОбменИмпорт + ОбменКлиент + ОбменКлиентСервер + ОбменОбработкаСообщений + ОбменФормированиеDMXСервер + ОбменФормированиеСообщенийВызовСервера + ОбменЭкспорт + ОбновлениеИнформационнойБазыВызовСервера + ОбновлениеИнформационнойБазыКлиент + ОбщегоНазначенияВызовСервера + ОбщегоНазначенияГлобальныйВызовСервера + ОбщегоНазначенияКлиент + ОбщегоНазначенияКлиентСервер + ОбщегоНазначенияСервер + ОчисткаБазыДанныхВызовСервера + ОчисткаБазыДанныхКлиент + РаботаСHTMLВызовСервераПовтИсп + РаботаСHTMLКлиент + РаботаСHTMLКлиентСервер + РаботаСоСтрокамиКлиентСервер + РаботаСПротоколомСобытийВызовСервера + РаботаСПротоколомСобытийСервер + РаботаСФайламиИПредметамиКлиент + СборСтатистикиВызовСервера + СборСтатистикиКлиентСервер + СтроковыеФункцииКлиентСервер + ТекстыСообщенийКлиентСерверПовтИсп + ФлагиОбъектовВызовСервера + ФлагиОбъектовКлиент + ФлагиОбъектовПовтИсп + ЭкранКлиентСервер + ОбменССервером + Настройки + НовоеСписаниеДенежныхСредств + ПерейтиВСписанияДенежныхСредств + Поддержка + АдресВебСервиса + АдресЦентральнойБазы + ВерсияАренды + ВключатьВложенияПриОтвете + ВключатьВложенияПриПересылке + ВыгружатьПротоколСобытийНаСервер + ДатаПоследнегоОбновления + ДиагональЭкрана + ЕстьНеотправленныеДанные + ИдентификаторПоследнегоЗагруженногоСообщения + ИмяОперационнойСистемы + ИспользоватьЛокальныеУведомления + ИспользоватьПароль + ИспользоватьСерверныеУведомления + ИспользоватьТолькоWiFi + ИспользоватьФоновуюСинхронизацию + ИспользуемаяВерсияФорматаОбмена + КодУстройства + КоличествоНеудачныхПопытокВхода + МаксимальныйРазмерФайла + НомерПоследнейЗагруженнойЧастиСообщения + ОтправлятьДанныеСразу + ПарольПользователя + ПериодПервичнойЗагрузкиДанных + ПоддерживаемыеВерсииФорматаОбмена + ПодробнаяИнформацияОСинхронизации + ПодтверждатьУдаление + ПоказыватьПредпросмотрВСпискеЗадач + ПоказыватьПредпросмотрВСпискеПисем + ПоказыватьТолькоНепрочтенныеПисьма + ПользовательЦентральнойБазы + ПомечатьПисьмаПрочтеннымиПриПредПросмотреПериод + ПомечатьПрочтеннымиПриОткрытии + ПоследняяОтправленнаяНаСерверЗаписьПротокола + ПоУмолчаниюОтвечатьВсем + РазрешеноДобавлениеФайловВЗадачи + СессияСинхронизации + СрокУстареванияДанных + ТекущийРаздел + ХешПароля + ЭтоДемоРежим + ИнициированаОчисткаБазы + ВводПароля + ВыборДаты + ВыборСпособаПодключения + НастройкаПодключения + НастройкиПланшет + НастройкиТелефон + НастройкиТелефонСтраницы + ОбновлениеИБ + ОтображениеПротоколаСобытий + Поддержка + РабочийСтол + Синхронизация + СозданиеНового + СообщениеОПроблеме + СообщениеРазработчикам + ФормаВыборИсполнителей + ЧтоНового + Контрагенты + Пользователи + Города + СтатьиРасходов + Объекты + СписаниеДенежныхСредств + ВажностьПисем + ВариантыВажностиЗадачи + ВидыНастроекОбмена + ВидыПапокПисем + ОценкиРезультатаВыполнения + ПравилаОкончанияПовторения + РолиАдресатовВПисьме + СостоянияБизнесПроцессов + СостоянияЗаписейРабочегоКалендаря + ТипЗаписиКалендаря + ТипыОбъектов + ТипыОтвета + ТипыСобытийПротокола + ЦветаОбъектов + ЧастотаПовторения + СтатусыЗаявокНаОбслуживание + ТипыПлатежей + ДатыЗагрузкиОбъектов + ИзмененныеНастройкиСинхронизации + ОбъектыУведомлений + ОчередьСообщенийНаСервер + ПоказателиСтатистики + ПолученныеДанныеОбмена + ПротоколСобытий + + + \ No newline at end of file diff --git "a/Constants/\320\220\320\264\321\200\320\265\321\201\320\222\320\265\320\261\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" "b/Constants/\320\220\320\264\321\200\320\265\321\201\320\222\320\265\320\261\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" new file mode 100644 index 0000000..a13c839 --- /dev/null +++ "b/Constants/\320\220\320\264\321\200\320\265\321\201\320\222\320\265\320\261\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" @@ -0,0 +1,60 @@ + + + + + + f1974cd6-6d03-439c-bb43-c650ffb6d612 + 7610dbdc-e2c8-45d5-9a6f-57da2500ea13 + + + 99c0ec80-591f-4fa5-a6bf-8302e0056ca8 + d94f3533-7f0c-4ae7-8483-75d5237c29cd + + + ec13f767-bd50-5f59-8beb-7d884c4ce61c + d1b938e6-0767-5510-9660-6e231e5aae17 + + + + АдресВебСервиса + + + ru + Адрес веб сервиса + + + + + xs:string + + 150 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\220\320\264\321\200\320\265\321\201\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" "b/Constants/\320\220\320\264\321\200\320\265\321\201\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" new file mode 100644 index 0000000..228253f --- /dev/null +++ "b/Constants/\320\220\320\264\321\200\320\265\321\201\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" @@ -0,0 +1,64 @@ + + + + + + b1fda30f-8109-49d0-a78a-a74603836b69 + 115e6628-d710-4482-be45-d1241624d9c6 + + + b212aa15-a5ad-4b2d-bd18-2617a23b9daf + f5918442-538d-4c79-bd34-f77897e6e213 + + + f4e4a970-2364-5928-a064-6075c8c716a5 + 1301ca16-c002-5570-8977-ab38e07fb977 + + + + АдресЦентральнойБазы + + + ru + Адрес центральной базы + + + en + Connection addres + + + + + xs:string + + 256 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\222\320\265\321\200\321\201\320\270\321\217\320\220\321\200\320\265\320\275\320\264\321\213.xml" "b/Constants/\320\222\320\265\321\200\321\201\320\270\321\217\320\220\321\200\320\265\320\275\320\264\321\213.xml" new file mode 100644 index 0000000..7f9a291 --- /dev/null +++ "b/Constants/\320\222\320\265\321\200\321\201\320\270\321\217\320\220\321\200\320\265\320\275\320\264\321\213.xml" @@ -0,0 +1,60 @@ + + + + + + c0914069-c9fe-4410-b2e1-80c2d6542fff + 6fd52b9c-6d57-4b28-a01b-e8e2f83588a5 + + + ae2bee62-9ade-45e7-96f4-9e3046f2a003 + e2b677f2-f2fe-41eb-b47f-c1cb52be5d29 + + + 05c5635d-d2ae-5f3c-9aed-8cae2f8cd00e + 579865b6-2b86-5291-8a33-94cba2097c72 + + + + ВерсияАренды + + + ru + Версия аренды + + + + + xs:string + + 15 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\236\321\202\320\262\320\265\321\202\320\265.xml" "b/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\236\321\202\320\262\320\265\321\202\320\265.xml" new file mode 100644 index 0000000..acff9c8 --- /dev/null +++ "b/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\236\321\202\320\262\320\265\321\202\320\265.xml" @@ -0,0 +1,60 @@ + + + + + + 31a1f5e2-db1b-4aa9-8b24-5d18052b992e + dc11ec92-ef3b-4269-bb0f-9483ae0d72b5 + + + b3695c49-b594-4831-a7d6-0d7cb0d3e223 + a12697e0-8c1e-4beb-847d-d2f3127a9408 + + + 4192aa4d-5be7-5f31-a199-b19d01a37fd8 + d57bcf7a-2721-591e-9791-72b0137a0b85 + + + + ВключатьВложенияПриОтвете + + + ru + Включать вложения при ответе + + + en + Include original files for answer + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\237\320\265\321\200\320\265\321\201\321\213\320\273\320\272\320\265.xml" "b/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\237\320\265\321\200\320\265\321\201\321\213\320\273\320\272\320\265.xml" new file mode 100644 index 0000000..e9f3aed --- /dev/null +++ "b/Constants/\320\222\320\272\320\273\321\216\321\207\320\260\321\202\321\214\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\237\321\200\320\270\320\237\320\265\321\200\320\265\321\201\321\213\320\273\320\272\320\265.xml" @@ -0,0 +1,60 @@ + + + + + + 5f5c325f-7216-4994-8208-fbbbddfc40a0 + 843fc201-4061-4338-bc41-d831fa0fee44 + + + 7837560d-819d-484a-bf77-c337c94023cf + 4ebbf58e-2243-4e99-b7a2-66ad11fbe7c2 + + + 27b62e77-5583-5345-9696-28ade0d8ee72 + 6afc4dd8-1026-5d5b-bfec-53fe47283515 + + + + ВключатьВложенияПриПересылке + + + ru + Включать вложения при пересылке + + + en + Include original files for forward + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\222\321\213\320\263\321\200\321\203\320\266\320\260\321\202\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/Constants/\320\222\321\213\320\263\321\200\321\203\320\266\320\260\321\202\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..e9d5c09 --- /dev/null +++ "b/Constants/\320\222\321\213\320\263\321\200\321\203\320\266\320\260\321\202\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,60 @@ + + + + + + 5089df2a-9a1b-4978-9864-c138958bad58 + d5b72037-4d88-4ebd-b027-89cbaa28b0dd + + + 09374513-3f1b-48f2-b6dd-7d117aa6b9de + 875d7f7a-36e6-489b-8afd-a7d100d603f1 + + + 462a030f-9e09-5de3-8832-3c6c4c8afe9d + 4e584267-7c78-5a59-9687-09a72d5252e4 + + + + ВыгружатьПротоколСобытийНаСервер + + + ru + Выгружать протокол событий на сервер + + + en + Send event protocol to the server + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\224\320\260\321\202\320\260\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\321\217.xml" "b/Constants/\320\224\320\260\321\202\320\260\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..a8c6702 --- /dev/null +++ "b/Constants/\320\224\320\260\321\202\320\260\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,59 @@ + + + + + + 38450046-1d77-470d-ab7b-d0e557e6b2ed + 5917d17b-c668-4586-afb7-da268c92029a + + + ac6d1d8f-5cfb-4c7c-85f5-86803df18d5e + b4a08fa6-f618-4f5b-9315-375a852868ff + + + 2678d46f-61eb-5b4b-9770-8594ea0277d5 + db1a7286-b4b7-57ff-82b3-ee4e3efa81fc + + + + ДатаПоследнегоОбновления + + + ru + Дата последнего обновления + + + + + xs:dateTime + + DateTime + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\224\320\270\320\260\320\263\320\276\320\275\320\260\320\273\321\214\320\255\320\272\321\200\320\260\320\275\320\260.xml" "b/Constants/\320\224\320\270\320\260\320\263\320\276\320\275\320\260\320\273\321\214\320\255\320\272\321\200\320\260\320\275\320\260.xml" new file mode 100644 index 0000000..7b4df6c --- /dev/null +++ "b/Constants/\320\224\320\270\320\260\320\263\320\276\320\275\320\260\320\273\321\214\320\255\320\272\321\200\320\260\320\275\320\260.xml" @@ -0,0 +1,61 @@ + + + + + + 52ff6cde-9899-41cb-8a9d-be5043b4c809 + 44421659-16bc-4150-996d-ce4e065e8f5f + + + 6889fb93-f398-470b-8328-013b85ae9639 + e5475249-c36b-4207-b6fe-ead62a0d9c8f + + + e55160df-631a-5a52-9ad8-eff630d37af8 + cfc541d1-6c9e-5256-ba3b-78dbffb592cd + + + + ДиагональЭкрана + + + ru + Диагональ экрана + + + + + xs:decimal + + 10 + 1 + Any + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\225\321\201\321\202\321\214\320\235\320\265\320\276\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.xml" "b/Constants/\320\225\321\201\321\202\321\214\320\235\320\265\320\276\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.xml" new file mode 100644 index 0000000..74d3e4b --- /dev/null +++ "b/Constants/\320\225\321\201\321\202\321\214\320\235\320\265\320\276\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.xml" @@ -0,0 +1,56 @@ + + + + + + a1e1b6b8-0418-410f-a247-d218cda2ba02 + 5b276cda-e448-4844-a277-036d3c167b2c + + + 22199a7f-c039-46ae-b045-8a21361b9502 + 7886d927-9dac-4b3d-8bcd-73f5f3a87ed3 + + + b37ebc21-1486-5f7f-bb6a-65b99ccb7118 + 1b9363ea-3340-514b-97bc-c172f34d4323 + + + + ЕстьНеотправленныеДанные + + + ru + Есть неотправленные данные + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" "b/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..69f6412 --- /dev/null +++ "b/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\263\320\276\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,56 @@ + + + + + + ebf76d01-f14d-41cc-b96f-6cf771a58749 + c1c28c5f-299a-4d97-942f-be6af0a7d844 + + + ba7c0c00-5e93-4550-8ec1-c92549af04ea + 7852203b-835b-4397-b1dc-b522c6c48c39 + + + f81e2f20-3967-5267-96bd-6417e5da1757 + 76dc109c-2e3d-5eb6-ac13-3c58f25f66fb + + + + ИдентификаторПоследнегоЗагруженногоСообщения + + + ru + Идентификатор последнего загруженного сообщения + + + + + v8:UUID + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml" "b/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml" new file mode 100644 index 0000000..9e73ebf --- /dev/null +++ "b/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml" @@ -0,0 +1,60 @@ + + + + + + 90a3fd7d-e56f-49c3-8787-dde245a032fd + 849e4e4b-42b0-44a3-a3d0-4c9d2b62e72c + + + 853c5065-4410-4109-893a-70b2c821190c + 655dcc55-a616-47a4-8b2b-72d0c828dd69 + + + d0d45068-93d0-5785-8a53-408eed976a82 + 4e56ea26-9d6c-5963-b197-c75c50851cfc + + + + ИмяОперационнойСистемы + + + ru + Имя операционной системы + + + + + xs:string + + 30 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ValueManagerModule.bsl" "b/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ValueManagerModule.bsl" new file mode 100644 index 0000000..35589e4 --- /dev/null +++ "b/Constants/\320\230\320\274\321\217\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ValueManagerModule.bsl" @@ -0,0 +1,14 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + + Значение = ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(Значение); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git "a/Constants/\320\230\320\275\320\270\321\206\320\270\320\270\321\200\320\276\320\262\320\260\320\275\320\260\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213.xml" "b/Constants/\320\230\320\275\320\270\321\206\320\270\320\270\321\200\320\276\320\262\320\260\320\275\320\260\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213.xml" new file mode 100644 index 0000000..e35fc63 --- /dev/null +++ "b/Constants/\320\230\320\275\320\270\321\206\320\270\320\270\321\200\320\276\320\262\320\260\320\275\320\260\320\236\321\207\320\270\321\201\321\202\320\272\320\260\320\221\320\260\320\267\321\213.xml" @@ -0,0 +1,56 @@ + + + + + + 36e53210-abb9-4ba0-a476-a5c66ae38cbb + b49fa420-915e-4bd7-865e-a51525f3bb20 + + + 8b495d4f-e22f-453e-8562-2ad3d4f114ec + 0cab5b6a-327b-4a58-acf4-4034052fe311 + + + e1ffbdbb-5546-547e-8c47-33ada1f07224 + 5908abc5-fd24-5ce5-9b4a-a7fd7446d268 + + + + ИнициированаОчисткаБазы + + + ru + Инициирована очистка базы + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..9a90a7a --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,60 @@ + + + + + + 4b108b11-b649-4410-a473-b9de3a65e962 + 4548d78c-99ce-437d-be0d-3408a670ff88 + + + 35ced58f-a2e1-4f09-8f91-930c1453ab39 + de2c07b8-36f0-4ef6-bf32-c622aa429297 + + + 0ce6ee10-fc2a-536a-b155-44d8e7926d7e + ed1d045c-8fe9-58e4-945b-47e5c6d746a3 + + + + ИспользоватьЛокальныеУведомления + + + ru + Разрешить уведомления + + + en + Enable notifications + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Ext/ValueManagerModule.bsl" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Ext/ValueManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Ext/ValueManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\260\321\200\320\276\320\273\321\214.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\260\321\200\320\276\320\273\321\214.xml" new file mode 100644 index 0000000..d921a28 --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\320\260\321\200\320\276\320\273\321\214.xml" @@ -0,0 +1,60 @@ + + + + + + ab26ca69-60fa-4ef2-8615-ac8fce456095 + e6fa2d2d-01bf-4ef6-bb34-afc78dec3274 + + + 57a045a4-de68-4daf-854b-a9fb68d0f44a + cbbdec01-68df-4fad-8ab6-6503835a7076 + + + 4fb7185d-b715-571e-a996-01da79318626 + 65acd6ea-531d-5c2a-a5bb-1d70ef37ba28 + + + + ИспользоватьПароль + + + ru + Использовать пароль + + + en + Use password + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\200\320\262\320\265\321\200\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\200\320\262\320\265\321\200\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..af94197 --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\200\320\262\320\265\321\200\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,56 @@ + + + + + + 948e977b-8d73-40d8-9df1-08a6ef6d4091 + 64f1b7c4-3573-49b2-a2a7-02aff42726ed + + + 7bcb9a25-bdfc-4bf8-a852-e1eef25611dc + 5cbacdec-dcec-41f1-847d-60d988b15201 + + + e11e8a1a-5725-565f-bf75-70d224a1a719 + 0323d631-c0e1-5879-ade7-def8cfb408c9 + + + + ИспользоватьСерверныеУведомления + + + ru + Использовать серверные уведомления + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276WiFi.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276WiFi.xml" new file mode 100644 index 0000000..ed52410 --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276WiFi.xml" @@ -0,0 +1,60 @@ + + + + + + b2da04a6-105e-4144-8d26-47b32e97f169 + 6cc9543d-b97a-487b-a4e0-ae402657228d + + + 9426cd7d-da1f-4d7f-a8e7-73c917028972 + 2b1f4eac-e834-442e-89aa-a6881aa8645d + + + 7e6281f5-6a01-53e2-a2d0-e79e77bfe305 + dfa3b177-e7d5-5578-92fc-3445999606cf + + + + ИспользоватьТолькоWiFi + + + ru + Использовать только Wi-Fi + + + en + Use Wi-Fi only + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\244\320\276\320\275\320\276\320\262\321\203\321\216\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\216.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\244\320\276\320\275\320\276\320\262\321\203\321\216\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\216.xml" new file mode 100644 index 0000000..14178d1 --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\244\320\276\320\275\320\276\320\262\321\203\321\216\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\216.xml" @@ -0,0 +1,60 @@ + + + + + + d3a74995-8199-403c-8683-ad0377f63264 + 052aeca2-dad2-4dd4-acf8-f2620eeae836 + + + b1fd7373-07d1-4c8c-baa1-d0ed8569f2c2 + 05b91635-236c-4bba-b043-b5c55d180a6b + + + 7fec8db2-a39f-53f9-967c-a83e5d34dc50 + 027ca169-1b78-56b9-b7e6-2abd8f0ea1db + + + + ИспользоватьФоновуюСинхронизацию + + + ru + Использовать фоновую синхронизацию + + + en + Use background sync + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\321\203\320\265\320\274\320\260\321\217\320\222\320\265\321\200\321\201\320\270\321\217\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\321\203\320\265\320\274\320\260\321\217\320\222\320\265\321\200\321\201\320\270\321\217\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" new file mode 100644 index 0000000..1aa5d8c --- /dev/null +++ "b/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\321\203\320\265\320\274\320\260\321\217\320\222\320\265\321\200\321\201\320\270\321\217\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -0,0 +1,60 @@ + + + + + + 0113907c-3976-401e-9c13-7a7449d1a358 + 980a8336-51e3-481f-947b-3b6f60d7095d + + + d5fb9c38-5e37-4ad0-af39-4475bdf63fee + 8b8fe6e2-86c3-4ee9-a1f9-b94979834f86 + + + 2f737f89-96d0-5809-81c8-a6558a020905 + fbf41f6f-41a1-58c8-a7e0-ad266947837d + + + + ИспользуемаяВерсияФорматаОбмена + + + ru + Используемая версия формата обмена + + + Версия формата обмена используемая при обмене с сервером. Не понижается. + + xs:string + + 10 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.xml" "b/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.xml" new file mode 100644 index 0000000..31cb585 --- /dev/null +++ "b/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.xml" @@ -0,0 +1,60 @@ + + + + + + 42fd9225-53ca-4fe1-b2e8-80757d84d66e + 965090dc-a2ee-48b7-8c37-960675957e43 + + + b21f2740-0229-4cb7-97ad-49d3236e21fa + d88599b7-6d53-4f46-9cee-a3ceff5e0172 + + + af783563-a13c-5d42-99b6-2f7b24d1fe54 + f7bc81a5-bc2d-5f4c-8e6a-16640323cc5b + + + + КодУстройства + + + ru + Код устройства + + + + + xs:string + + 36 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Ext/ValueManagerModule.bsl" "b/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Ext/ValueManagerModule.bsl" new file mode 100644 index 0000000..35589e4 --- /dev/null +++ "b/Constants/\320\232\320\276\320\264\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Ext/ValueManagerModule.bsl" @@ -0,0 +1,14 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + + Значение = ОбщегоНазначенияВызовСервера.УдалитьНедопустимыеСимволыXML(Значение); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git "a/Constants/\320\232\320\276\320\273\320\270\321\207\320\265\321\201\321\202\320\262\320\276\320\235\320\265\321\203\320\264\320\260\321\207\320\275\321\213\321\205\320\237\320\276\320\277\321\213\321\202\320\276\320\272\320\222\321\205\320\276\320\264\320\260.xml" "b/Constants/\320\232\320\276\320\273\320\270\321\207\320\265\321\201\321\202\320\262\320\276\320\235\320\265\321\203\320\264\320\260\321\207\320\275\321\213\321\205\320\237\320\276\320\277\321\213\321\202\320\276\320\272\320\222\321\205\320\276\320\264\320\260.xml" new file mode 100644 index 0000000..d050ada --- /dev/null +++ "b/Constants/\320\232\320\276\320\273\320\270\321\207\320\265\321\201\321\202\320\262\320\276\320\235\320\265\321\203\320\264\320\260\321\207\320\275\321\213\321\205\320\237\320\276\320\277\321\213\321\202\320\276\320\272\320\222\321\205\320\276\320\264\320\260.xml" @@ -0,0 +1,61 @@ + + + + + + 51bc161b-44d7-49bd-9aa5-ed656d63e262 + 8c7eb51e-cd0b-4f9c-9e55-eaa982cabc41 + + + 8fb536c0-e978-4a3b-97fc-987f1b34ba51 + d4364612-c4fa-4d9a-bd6e-c770835e7c81 + + + 21d82885-f4f8-53b8-94ce-c733464bf379 + 18470211-6389-5942-840f-3261b780e919 + + + + КоличествоНеудачныхПопытокВхода + + + ru + Количество неудачных попыток входа + + + + + xs:decimal + + 2 + 0 + Nonnegative + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\234\320\260\320\272\321\201\320\270\320\274\320\260\320\273\321\214\320\275\321\213\320\271\320\240\320\260\320\267\320\274\320\265\321\200\320\244\320\260\320\271\320\273\320\260.xml" "b/Constants/\320\234\320\260\320\272\321\201\320\270\320\274\320\260\320\273\321\214\320\275\321\213\320\271\320\240\320\260\320\267\320\274\320\265\321\200\320\244\320\260\320\271\320\273\320\260.xml" new file mode 100644 index 0000000..4bdbc5e --- /dev/null +++ "b/Constants/\320\234\320\260\320\272\321\201\320\270\320\274\320\260\320\273\321\214\320\275\321\213\320\271\320\240\320\260\320\267\320\274\320\265\321\200\320\244\320\260\320\271\320\273\320\260.xml" @@ -0,0 +1,65 @@ + + + + + + 97d87846-5033-47c6-b75e-48a2f5753827 + 320d8b19-1544-43e5-92e7-608e06fcd0a9 + + + 0f2a4e0f-77a6-4cc3-a7e4-b7d7a67e248c + 0aad5891-59b7-492a-8933-4c872ba35ebb + + + 61e74288-7ea1-5263-8911-d9132c31fc41 + 46527536-b57d-5ac0-898b-937531a6bf7f + + + + МаксимальныйРазмерФайла + + + ru + Максимальный размер файла + + + en + Maximum file size + + + + + xs:decimal + + 30 + 0 + Nonnegative + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\271\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" "b/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\271\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..8972c3b --- /dev/null +++ "b/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\320\276\321\201\320\273\320\265\320\264\320\275\320\265\320\271\320\227\320\260\320\263\321\200\321\203\320\266\320\265\320\275\320\275\320\276\320\271\320\247\320\260\321\201\321\202\320\270\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,61 @@ + + + + + + 2c9eae1e-9caa-4474-92e0-3fa1dea39cf7 + f4811fdf-7bd2-4271-b4b7-7b6ca33cbbc0 + + + 660c8d48-1a16-42b1-afe2-598b6835840d + db811cd2-c2d4-4cb0-96c6-0282766e2042 + + + 0e53fed3-8fec-5225-8edc-2325e46d34b6 + 16eb8ae0-4a6f-5b73-9f18-ed147d60397e + + + + НомерПоследнейЗагруженнойЧастиСообщения + + + ru + Номер последней загруженной части сообщения + + + + + xs:decimal + + 10 + 0 + Any + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\321\202\321\214\320\224\320\260\320\275\320\275\321\213\320\265\320\241\321\200\320\260\320\267\321\203.xml" "b/Constants/\320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\321\202\321\214\320\224\320\260\320\275\320\275\321\213\320\265\320\241\321\200\320\260\320\267\321\203.xml" new file mode 100644 index 0000000..d28e6f9 --- /dev/null +++ "b/Constants/\320\236\321\202\320\277\321\200\320\260\320\262\320\273\321\217\321\202\321\214\320\224\320\260\320\275\320\275\321\213\320\265\320\241\321\200\320\260\320\267\321\203.xml" @@ -0,0 +1,60 @@ + + + + + + a349b040-3458-419a-9c6c-712bf0ac2d43 + b122a5e3-501c-4fc6-a43e-38c8567dffde + + + de031782-a8da-4281-99c3-678e4531d1f1 + edc7b63b-8d3e-4579-801a-57fa011be20f + + + a4737378-b293-5d78-8476-319b48bc7ef3 + a63f906f-e0ce-5eaf-a687-06ee86c130b7 + + + + ОтправлятьДанныеСразу + + + ru + Отправлять данные сразу на сервер + + + en + Send data directly to server + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\260\321\200\320\276\320\273\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.xml" "b/Constants/\320\237\320\260\321\200\320\276\320\273\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.xml" new file mode 100644 index 0000000..dd29bdc --- /dev/null +++ "b/Constants/\320\237\320\260\321\200\320\276\320\273\321\214\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.xml" @@ -0,0 +1,64 @@ + + + + + + 7eefcfcf-2c59-409e-afef-060d9e11673e + 745e3742-2b69-46c9-ba22-d7618f437357 + + + 45dc07b0-d268-4bc0-8a37-fe76824044d2 + 13d51c0b-5446-400a-a36c-d59acd0db340 + + + 8b707172-622d-52ad-96f6-3185ed45e955 + d2852869-f517-5ebf-9525-e913566f7a08 + + + + ПарольПользователя + + + ru + Пароль + + + en + Password + + + + + xs:string + + 0 + Variable + + + false + + + + true + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\320\265\321\200\320\262\320\270\321\207\320\275\320\276\320\271\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\320\265\321\200\320\262\320\270\321\207\320\275\320\276\320\271\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 0000000..6639314 --- /dev/null +++ "b/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\320\265\321\200\320\262\320\270\321\207\320\275\320\276\320\271\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,61 @@ + + + + + + 4d8f3485-3ab7-4615-b3d5-d39269622249 + 38ad8760-962e-4f29-9d19-7878e37c8697 + + + daaa847f-5194-4f10-ad8d-442d9087bbd9 + 5dc3ba47-5ea2-499f-a022-88de89f1c2de + + + 1cb56b18-dbcb-56d2-824a-440fab58e27f + 75b67f07-2f0f-5850-a55d-70288a5cf4ba + + + + ПериодПервичнойЗагрузкиДанных + + + ru + Период первичной загрузки данных + + + + + xs:decimal + + 30 + 0 + Any + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\236\321\202\320\262\320\265\321\207\320\260\321\202\321\214\320\222\321\201\320\265\320\274.xml" "b/Constants/\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\236\321\202\320\262\320\265\321\207\320\260\321\202\321\214\320\222\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..3a9cf93 --- /dev/null +++ "b/Constants/\320\237\320\276\320\243\320\274\320\276\320\273\321\207\320\260\320\275\320\270\321\216\320\236\321\202\320\262\320\265\321\207\320\260\321\202\321\214\320\222\321\201\320\265\320\274.xml" @@ -0,0 +1,60 @@ + + + + + + c4ebdaf9-507a-4361-aa90-4134bdd1f0de + d36ad801-e3c4-400d-b40a-80fe00d79b03 + + + 004cdc7d-4653-4829-b344-3302cdfc2e50 + f9738acb-ed5b-48f2-8348-726ede94eeed + + + fac0d367-f2da-56f6-80f9-bf3cf3bf96e9 + c07cc332-49a1-558c-85a4-1afcdde353b4 + + + + ПоУмолчаниюОтвечатьВсем + + + ru + По умолчанию отвечать всем + + + en + Answer for all by default + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\270\320\262\320\260\320\265\320\274\321\213\320\265\320\222\320\265\321\200\321\201\320\270\320\270\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/Constants/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\270\320\262\320\260\320\265\320\274\321\213\320\265\320\222\320\265\321\200\321\201\320\270\320\270\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" new file mode 100644 index 0000000..62390a1 --- /dev/null +++ "b/Constants/\320\237\320\276\320\264\320\264\320\265\321\200\320\266\320\270\320\262\320\260\320\265\320\274\321\213\320\265\320\222\320\265\321\200\321\201\320\270\320\270\320\244\320\276\321\200\320\274\320\260\321\202\320\260\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -0,0 +1,60 @@ + + + + + + 8cf7fd0e-2cee-41a7-8ada-497a839b6f84 + 05a456b8-d041-4407-b1e7-a865fac99f6d + + + 428a8977-d32c-4a29-97ec-f9e8c9551fc7 + 8ea3e6eb-c36f-4d30-9214-6cc566add6b8 + + + 2a2fc20e-c46c-58c1-8dad-74c5920d8488 + aff5f5a1-82ba-5129-b497-53853ed01215 + + + + ПоддерживаемыеВерсииФорматаОбмена + + + ru + Поддерживаемые версии формата обмена + + + + + xs:string + + 100 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\264\321\200\320\276\320\261\320\275\320\260\321\217\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217\320\236\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" "b/Constants/\320\237\320\276\320\264\321\200\320\276\320\261\320\275\320\260\321\217\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217\320\236\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" new file mode 100644 index 0000000..bdf381d --- /dev/null +++ "b/Constants/\320\237\320\276\320\264\321\200\320\276\320\261\320\275\320\260\321\217\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217\320\236\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" @@ -0,0 +1,60 @@ + + + + + + b23ae6f9-8497-4035-9800-4896027dac83 + 1e37d6b6-3f17-46a7-a21f-8dbe68713640 + + + bcfe1676-b872-4caf-84c5-8ee83fe2ba7b + cf9e819a-8a54-434f-89a8-39e8e48fca63 + + + fbeeb72f-0caa-5977-84cd-9ebc44692179 + 0ba9cde8-70df-5d75-8565-469c821a1152 + + + + ПодробнаяИнформацияОСинхронизации + + + ru + Вести подробный протокол + + + en + Detailed protocol + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\260\321\202\321\214\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265.xml" "b/Constants/\320\237\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\260\321\202\321\214\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..0d48f87 --- /dev/null +++ "b/Constants/\320\237\320\276\320\264\321\202\320\262\320\265\321\200\320\266\320\264\320\260\321\202\321\214\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265.xml" @@ -0,0 +1,60 @@ + + + + + + fe662d9a-16ed-45c4-b950-dd11d4c19ae3 + a60808ce-3911-4b27-9f2f-992466ee0b5e + + + 16d63ac3-8706-4181-9914-d8ce90481f6b + 51c77415-1a69-4392-8047-fb6850751c56 + + + 64356021-1a1c-52a4-b348-1b464fc73226 + 2b86e23f-0742-5fef-9edd-ce7505b9f5e4 + + + + ПодтверждатьУдаление + + + ru + Подтверждать удаление + + + en + Confirm deletion + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\227\320\260\320\264\320\260\321\207.xml" "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\227\320\260\320\264\320\260\321\207.xml" new file mode 100644 index 0000000..1770cf2 --- /dev/null +++ "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\227\320\260\320\264\320\260\321\207.xml" @@ -0,0 +1,60 @@ + + + + + + 6a622bc7-38f4-4b80-8942-d15283eddb9f + 01d8d2e4-832f-45fd-87a5-1f8f07db0c04 + + + 881487b0-81a5-4564-9c8c-7335a14d9921 + 72ecbe32-d74c-47c9-b286-74480a0b1b68 + + + 1380958b-9569-5d89-a607-ef37518c82e7 + adc15761-3b8f-5bd7-aa7a-c21b0639d8c3 + + + + ПоказыватьПредпросмотрВСпискеЗадач + + + ru + Показывать предпросмотр в списке задач + + + en + Show preview in the tasks list + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\237\320\270\321\201\320\265\320\274.xml" "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\237\320\270\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..d91b453 --- /dev/null +++ "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\222\320\241\320\277\320\270\321\201\320\272\320\265\320\237\320\270\321\201\320\265\320\274.xml" @@ -0,0 +1,60 @@ + + + + + + 6fe3621b-459d-4e26-89a1-2de111dbc1e9 + 87267dab-5bf3-4b6c-af67-c14970b4d086 + + + b833faf5-4e8a-4e49-bb33-a20f69039e30 + c63da0bc-8cc4-4dce-8672-2b334ac10cc6 + + + 53c8d08c-1e47-5dc8-b62e-216f1f307f6b + 6088a96a-f54e-5edb-85c5-ddaa7387fcf9 + + + + ПоказыватьПредпросмотрВСпискеПисем + + + ru + Показывать предпросмотр в списке писем + + + en + Show preview in the mail + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\265\320\237\320\270\321\201\321\214\320\274\320\260.xml" "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\265\320\237\320\270\321\201\321\214\320\274\320\260.xml" new file mode 100644 index 0000000..60128eb --- /dev/null +++ "b/Constants/\320\237\320\276\320\272\320\260\320\267\321\213\320\262\320\260\321\202\321\214\320\242\320\276\320\273\321\214\320\272\320\276\320\235\320\265\320\277\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\265\320\237\320\270\321\201\321\214\320\274\320\260.xml" @@ -0,0 +1,60 @@ + + + + + + c9952e52-bfa2-45c8-bc65-2e3b33479664 + b68cd202-73f9-4577-a680-5d994050dfc1 + + + daf07c12-6263-4d28-a567-482b1190827f + 2b50a9af-2482-4ca9-8a50-87af1df9d830 + + + 166cc728-83e3-5c03-91ed-92ded47926fe + e5116b2c-2bda-5ff9-a727-625be3416d13 + + + + ПоказыватьТолькоНепрочтенныеПисьма + + + ru + Показывать только непрочтенные письма + + + en + Show unread only + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" "b/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" new file mode 100644 index 0000000..5c95a29 --- /dev/null +++ "b/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\246\320\265\320\275\321\202\321\200\320\260\320\273\321\214\320\275\320\276\320\271\320\221\320\260\320\267\321\213.xml" @@ -0,0 +1,64 @@ + + + + + + f10acd09-7bdb-4f40-9a20-54d22ccbbcd9 + 06c9328f-e390-4e62-be68-86575b55e73f + + + e0c63acb-eb91-4888-ba90-bf09c780880b + d920197b-fb2a-4e59-a957-5f2e518df45b + + + bf26124e-de39-5dea-a676-1dc820282713 + 200285f6-4ebe-53b9-89b9-21abd1bd2aea + + + + ПользовательЦентральнойБазы + + + ru + Логин + + + en + Login + + + + + xs:string + + 50 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\237\321\200\320\265\320\264\320\237\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\265\320\237\320\265\321\200\320\270\320\276\320\264.xml" "b/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\237\321\200\320\265\320\264\320\237\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\265\320\237\320\265\321\200\320\270\320\276\320\264.xml" new file mode 100644 index 0000000..ca84afe --- /dev/null +++ "b/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\260\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\237\321\200\320\265\320\264\320\237\321\200\320\276\321\201\320\274\320\276\321\202\321\200\320\265\320\237\320\265\321\200\320\270\320\276\320\264.xml" @@ -0,0 +1,60 @@ + + + + + + 0ca6153c-da7b-400f-9fee-7b99a6405756 + d6188a7e-ccfa-471c-a0a4-3a2cceef8bec + + + 9d36612b-5e89-4f85-a843-e73f88c54f11 + ecc34377-49e5-419d-9a1c-fa6975e771c4 + + + 4d968dc9-a8e9-575b-afda-284f4f0f0682 + 23cb54a4-218e-516a-9094-69474ac21159 + + + + ПомечатьПисьмаПрочтеннымиПриПредПросмотреПериод + + + ru + Помечать письма прочтенными при просмотре + + + en + Mark as read when view in list + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\270.xml" "b/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\270.xml" new file mode 100644 index 0000000..a75d86e --- /dev/null +++ "b/Constants/\320\237\320\276\320\274\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\276\321\207\321\202\320\265\320\275\320\275\321\213\320\274\320\270\320\237\321\200\320\270\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\270.xml" @@ -0,0 +1,60 @@ + + + + + + 53cb6901-f767-458b-bf01-02a23be48803 + 2c630a60-b313-4e8c-b615-a42e2291ea6a + + + 4ee13726-cf37-4df3-8c04-85daa87f40fc + faf555a9-770e-4e37-b5c1-a219a673e0ca + + + dfe55c10-7b48-5406-9929-9f0867ce63b5 + 72bc1dc8-c6c7-5493-8dbc-3128a1d1b398 + + + + ПомечатьПрочтеннымиПриОткрытии + + + ru + Помечать письмо прочитанным при открытии + + + en + Mark as read at open + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\237\320\276\321\201\320\273\320\265\320\264\320\275\321\217\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\320\260\321\217\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200\320\227\320\260\320\277\320\270\321\201\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" "b/Constants/\320\237\320\276\321\201\320\273\320\265\320\264\320\275\321\217\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\320\260\321\217\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200\320\227\320\260\320\277\320\270\321\201\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" new file mode 100644 index 0000000..a6fe07c --- /dev/null +++ "b/Constants/\320\237\320\276\321\201\320\273\320\265\320\264\320\275\321\217\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\275\320\260\321\217\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200\320\227\320\260\320\277\320\270\321\201\321\214\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" @@ -0,0 +1,61 @@ + + + + + + 572cb6a7-4181-4d84-a917-5c02e1c102e8 + cbae283a-da19-4e1a-8015-c9f70d9beb81 + + + bcde1f1f-7f3f-4dbe-b361-ac183616542d + 1dff6f92-81ef-4c18-b6b6-af2f306f05f4 + + + 1c0d4978-520c-52ba-9fcc-aeb0dd332472 + ac7aa398-89ab-5925-9a4c-637b927174f7 + + + + ПоследняяОтправленнаяНаСерверЗаписьПротокола + + + ru + Последняя отправленная на сервер запись протокола + + + + + xs:decimal + + 15 + 0 + Any + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\276\320\224\320\276\320\261\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\222\320\227\320\260\320\264\320\260\321\207\320\270.xml" "b/Constants/\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\276\320\224\320\276\320\261\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\222\320\227\320\260\320\264\320\260\321\207\320\270.xml" new file mode 100644 index 0000000..3958652 --- /dev/null +++ "b/Constants/\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\276\320\224\320\276\320\261\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\244\320\260\320\271\320\273\320\276\320\262\320\222\320\227\320\260\320\264\320\260\321\207\320\270.xml" @@ -0,0 +1,56 @@ + + + + + + 7c6f71a5-e449-4835-810c-3586e544edcb + 26d99dcf-cdc1-49d7-aa52-b6ae58fb1e44 + + + 96cf16bb-08ea-4295-bc63-6d8882fbef69 + e517c01a-b33c-44a0-8961-1003713f5b7b + + + 736f0053-8865-596a-88f2-e8bab078342d + c8722d7d-d83b-5bf6-a9f1-b0e962c0b3f2 + + + + РазрешеноДобавлениеФайловВЗадачи + + + ru + Разрешено добавление файлов в задачи + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" "b/Constants/\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" new file mode 100644 index 0000000..135c9f3 --- /dev/null +++ "b/Constants/\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" @@ -0,0 +1,61 @@ + + + + + + f0a8433c-951d-41c0-af3a-7efbeb00cbfe + 1832838d-050c-4773-bb52-1eedfd84f829 + + + 2553dcf5-5ace-435a-bc33-39fc34290701 + a6cd7843-adad-42d3-95c7-92466241164b + + + ca613a00-73e3-53c1-986f-f25b6fa1f070 + 0a124af0-5994-56d7-8dab-29d62a6cf5ef + + + + СессияСинхронизации + + + ru + Сессия синхронизации + + + + + xs:decimal + + 10 + 0 + Nonnegative + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\241\321\200\320\276\320\272\320\243\321\201\321\202\320\260\321\200\320\265\320\262\320\260\320\275\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/Constants/\320\241\321\200\320\276\320\272\320\243\321\201\321\202\320\260\321\200\320\265\320\262\320\260\320\275\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 0000000..f054b18 --- /dev/null +++ "b/Constants/\320\241\321\200\320\276\320\272\320\243\321\201\321\202\320\260\321\200\320\265\320\262\320\260\320\275\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,61 @@ + + + + + + b7437243-fb83-4581-9dc3-1e2d3f18dcf5 + 72f1d71a-d9e9-4cde-a4f6-8dc3a25483dc + + + d6fdce58-eda0-4df5-a81d-2ac00e27b90e + 26b0c06e-ec65-465f-be2d-df3e9181cec7 + + + b621144a-ff8f-53a1-95d1-8c292796fe8e + f6b21752-a5b5-5c5e-b436-b7d2ae9c5856 + + + + СрокУстареванияДанных + + + ru + Срок устаревания данных + + + + + xs:decimal + + 30 + 0 + Nonnegative + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\240\320\260\320\267\320\264\320\265\320\273.xml" "b/Constants/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\240\320\260\320\267\320\264\320\265\320\273.xml" new file mode 100644 index 0000000..c837b51 --- /dev/null +++ "b/Constants/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\240\320\260\320\267\320\264\320\265\320\273.xml" @@ -0,0 +1,60 @@ + + + + + + 26035016-12e6-4c05-b569-354826ceece5 + ae6ee387-f972-458f-b3d2-83b4e75606f2 + + + a267ebfd-1a97-42dd-aa89-682ea90e0cae + c4f5be74-279f-448b-b15a-86a05eb7b6ae + + + 9e19a7d0-ea8f-5f62-ae5a-9dd56aba09c7 + 84c2ed12-66a8-50e8-bda8-a91f00393cae + + + + ТекущийРаздел + + + ru + Текущий раздел + + + + + xs:string + + 100 + Variable + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\245\320\265\321\210\320\237\320\260\321\200\320\276\320\273\321\217.xml" "b/Constants/\320\245\320\265\321\210\320\237\320\260\321\200\320\276\320\273\321\217.xml" new file mode 100644 index 0000000..42f1997 --- /dev/null +++ "b/Constants/\320\245\320\265\321\210\320\237\320\260\321\200\320\276\320\273\321\217.xml" @@ -0,0 +1,61 @@ + + + + + + 689e2420-ec8c-46f1-9f1b-00a4738ae127 + ad0963ef-d005-472c-befc-d473313a191c + + + a3cda28e-f7a3-4a7e-b5b5-46c13a22447e + 3699996b-de0f-4980-abc8-15af2f54b714 + + + 4f6dce30-0ae1-59d6-a5e3-cbdaf09a7011 + d482b920-4190-571c-8956-190c5f642fed + + + + ХешПароля + + + ru + Хеш пароля + + + + + xs:decimal + + 15 + 0 + Any + + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Constants/\320\255\321\202\320\276\320\224\320\265\320\274\320\276\320\240\320\265\320\266\320\270\320\274.xml" "b/Constants/\320\255\321\202\320\276\320\224\320\265\320\274\320\276\320\240\320\265\320\266\320\270\320\274.xml" new file mode 100644 index 0000000..b9c5843 --- /dev/null +++ "b/Constants/\320\255\321\202\320\276\320\224\320\265\320\274\320\276\320\240\320\265\320\266\320\270\320\274.xml" @@ -0,0 +1,56 @@ + + + + + + 3d28de5b-73db-451c-8316-c971f6dacf55 + 07b0cbb5-a1d4-4d73-b74d-12f8f8f1a87e + + + 0eb7f20d-8588-48c0-8929-f0907d51d0f2 + ef892b67-a361-407c-8ae1-d5992c3f3d44 + + + 396a2d37-5fa6-5976-a4e4-53c6a631b524 + 76587f86-cd88-5e1c-a7d9-3cae06fc08c5 + + + + ЭтоДемоРежим + + + ru + Это демо режим + + + + + xs:boolean + + false + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + + + Auto + Managed + DontUse + + + \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" new file mode 100644 index 0000000..28ca517 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262.xml" @@ -0,0 +1,744 @@ + + + + + + af328baf-c76a-480e-8a82-b67bd921d2d4 + 1cda71b6-24aa-4726-932d-410f79cf95a6 + + + 0210bbdb-9049-42e6-a135-d5cd689922b6 + 67fa6239-502a-41b6-94a8-79fd77200db2 + + + 295d7198-6413-49ae-9a40-8ffc2f0cfe0b + b99b5919-36e5-49cc-bf8f-1d724356a9fd + + + c0953163-4322-4c32-b0f0-2a23b82d09e1 + 053ecb61-27e2-43e2-a219-5d20f0b9268e + + + 440b3ac7-3233-4f50-a6a3-c24bdfb1d95f + 768bb812-daa0-4771-9304-2bbdf8d33be8 + + + + СписаниеДенежныхСредств + + + ru + Списание денежных средств + + + + true + + String + 9 + Variable + Nonperiodical + true + true + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + Catalog.Объекты + + + Document.СписаниеДенежныхСредств.StandardAttribute.Number + + Use + Begin + DontUse + Directly + Document.СписаниеДенежныхСредств.Form.ФормаДокумента + Document.СписаниеДенежныхСредств.Form.ФормаСпискаТелефон + + + + + Allow + Allow + AutoDeleteOnUnpost + WriteSelected + AutoFill + + true + true + false + + Managed + Use + + + ru + Списание денежных средств + + + + + + ru + Списания денежных средств + + + + + Auto + DontUse + + + + + Объект + + + ru + Объект + + + + + xs:string + + 10 + Variable + + + false + + + + false + + false + false + + + false + + ShowError + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Контрагент + + + ru + Контрагент + + + + + cfg:CatalogRef.Контрагенты + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + ТипПлатежа + + + ru + Тип платежа + + + + + xs:string + + 10 + Variable + + + false + + + + false + + false + false + + + false + + ShowError + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Сумма + + + ru + Сумма + + + + + xs:decimal + + 15 + 2 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + СтатьяРасходов + + + ru + Статья расходов + + + + + cfg:CatalogRef.СтатьиРасходов + + false + + + + false + + false + false + + + false + + ShowError + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Ответственный + + + ru + Ответственный + + + + + xs:string + + 150 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Комментарий + + + ru + Комментарий + + + + + xs:string + + 0 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + +
ФормаДокумента
+
ФормаСпискаТелефон
+
ФормаСпискаПланшет
+ + + + f50805e2-ec0e-437c-a52f-3d143f4d679d + 0cf07d5e-83d8-4806-8498-9ab374cf3dd7 + + + 0b0ba037-43ab-407f-b2f8-d0490073a9f0 + 94bcaa84-b730-48a0-a65e-b68dac7ab5ad + + + + Состав + + + ru + Состав + + + + + DontCheck + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + + + + Номенклатура + + + ru + Номенклатура + + + + + xs:string + + 10 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Цена + + + ru + Цена + + + + + xs:decimal + + 10 + 2 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Количество + + + ru + Количество + + + + + xs:decimal + + 10 + 4 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Стоимость + + + ru + Стоимость + + + + + xs:decimal + + 10 + 2 + Any + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + +
+
+
\ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/ObjectModule.bsl" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 0000000..ce6f6bc --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1,50 @@ + +/////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА + +#Область ОбработчикиСобытийОбъекта + +Процедура ОбработкаПроведения(Отказ, Режим) + + //Движения.БалансОбъектовСтроительства.Записывать = Истина; + //Движения.Взаиморасчеты.Записывать = Истина; + // + //// Баланс объектов строительства + //Движение = Движения.БалансОбъектовСтроительства.Добавить(); + //Движение.ВидДвижения = ВидДвиженияНакопления.Расход; + //Движение.Период = Дата; + //Движение.Объект = Объект; + //Движение.Контрагент = Контрагент; + //Движение.ТипПлатежа = ТипПлатежа; + //Движение.СтатьяДоходовРасходов = СтатьяРасходов; + //Движение.Количество = Сумма; + // + //// Взаиморасчеты с контрагентами + //Движение = Движения.Взаиморасчеты.Добавить(); + //Движение.ВидДвижения = ВидДвиженияНакопления.Расход; + //Движение.Период = Дата; + //Движение.Объект = Объект; + //Движение.Контрагент = Контрагент; + //Движение.Количество = Сумма; + +КонецПроцедуры + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + + Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Объекты") Тогда + Объект = ДанныеЗаполнения.Ссылка; + КонецЕсли; + +КонецПроцедуры + +Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) + + // todo: если будет детализация, это пригодится + //Сумма = 0; + //Для Каждого Строка Из Состав Цикл + // Сумма = Сумма + Строка.Стоимость; + //КонецЦикла; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" new file mode 100644 index 0000000..ed36577 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" @@ -0,0 +1,21 @@ + + +
+ + ФормаДокумента + + + ru + Форма документа + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" new file mode 100644 index 0000000..b0c90ee --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" @@ -0,0 +1,226 @@ + +
+ CurrentOrLast + Auto + true + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа номер дата</v8:content> + </v8:item> + + + + ru + Группа номер дата + + + None + false + + + + Объект.Number + EnterOnInput + + + + + Объект.Date + EnterOnInput + + + + + + + Объект.Объект + EnterOnInput + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа тип платежа сумма</v8:content> + </v8:item> + + + + ru + Группа тип платежа сумма + + + Vertical + None + false + + + + Объект.Контрагент + + + + + Объект.ТипПлатежа + EnterOnInput + + + + + Объект.СтатьяРасходов + + + + + Объект.Сумма + + + + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Детализация</v8:content> + </v8:item> + + + + ru + Группа детализация + + + Vertical + + + + 1 +
true
+ true + true + true + AsFile + Объект.Состав + + + + + + + Состав + SearchStringRepresentation + + + + + + + Состав + ViewStatusRepresentation + + + + + + + Состав + SearchControl + + + + + + + Объект.Состав.LineNumber + EnterOnInput + + + + + Объект.Состав.Номенклатура + EnterOnInput + + + + СоставНоменклатураПриИзменении + + + + Объект.Состав.Цена + EnterOnInput + + + + СоставЦенаПриИзменении + + + + Объект.Состав.Количество + EnterOnInput + + + ru + Итого: + + + + Right + + + + СоставКоличествоПриИзменении + + + + Объект.Состав.Стоимость + true + EnterOnInput + Объект.Сумма + + + + + +
+
+
+ + Объект.Ответственный + true + EnterOnInput + false + false + true + + + + + Объект.Комментарий + EnterOnInput + 3 + false + true + + + +
+ + + + cfg:DocumentObject.СписаниеДенежныхСредств + + true + true + + Объект.RegisterRecords + + + + \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" new file mode 100644 index 0000000..bf72060 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,73 @@ + +/////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА + +#Область ОбработчикиСобытийОбъекта + +#КонецОбласти + + +/////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ФОРМЫ + +#Область ОбработчикиСобытийЭлементовФормы + +&НаКлиенте +Процедура СоставНоменклатураПриИзменении(Элемент) + + ТекущиеДанные = Элементы.Состав.ТекущиеДанные; + Если ТекущиеДанные <> Неопределено Тогда + ТекущиеДанные.Цена = ЦенаНоменклатуры(ТекущиеДанные.Номенклатура); + СоставКолонкаПриИзменении(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СоставЦенаПриИзменении(Элемент) + + СоставКолонкаПриИзменении(); + +КонецПроцедуры + +&НаКлиенте +Процедура СоставКоличествоПриИзменении(Элемент) + + СоставКолонкаПриИзменении(); + +КонецПроцедуры + +#КонецОбласти + + +/////////////////////////////////////////////////////////////////////////////// +// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура СоставКолонкаПриИзменении() + + ТекущиеДанные = Элементы.Состав.ТекущиеДанные; + Если ТекущиеДанные <> Неопределено Тогда + ТекущиеДанные.Стоимость = ТекущиеДанные.Цена * ТекущиеДанные.Количество; + + Объект.Сумма = 0; + Для Каждого Строка Из Объект.Состав Цикл + Объект.Сумма = Объект.Сумма + Строка.Стоимость; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ЦенаНоменклатуры(Ссылка) + + //Возврат НоменклатураСервер.Цена( + // Ссылка, + // Объект.Объект.Город, + // ?(ЗначениеЗаполнено(Объект.Дата), Объект.Дата, ТекущаяДата())); + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" new file mode 100644 index 0000000..dd89817 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202.xml" @@ -0,0 +1,21 @@ + + +
+ + ФормаСпискаПланшет + + + ru + Форма списка планшет + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" new file mode 100644 index 0000000..81e48b7 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\237\320\273\320\260\320\275\321\210\320\265\321\202/Ext/Form.xml" @@ -0,0 +1,147 @@ + +
+ + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа пользовательских настроек</v8:content> + </v8:item> + + false + Vertical + false + + + + List + None + true + true + true + ExpandTopLevel + true + Список + Список.DefaultPicture + false + 60 + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + Items + false + + true + false + Auto + СписокКомпоновщикНастроекПользовательскиеНастройки + + + false + + + + + Список + SearchStringRepresentation + + + + + + + Список + ViewStatusRepresentation + + + + + + + Список + SearchControl + + + + + + + Список.Ref + + + + + Список.Date + true + + + + + Список.Number + + + + + Список.Объект + + + + + Список.Контрагент + + + + + Список.СтатьяРасходов + + + + + Список.Сумма + + + + + Список.Комментарий + + + + +
+
+ + + + cfg:DynamicList + + true + + Список.Ref + + + false + true + Document.СписаниеДенежныхСредств + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + + + + + \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" new file mode 100644 index 0000000..8d82a06 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275.xml" @@ -0,0 +1,21 @@ + + +
+ + ФормаСпискаТелефон + + + ru + Форма списка телефон + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" new file mode 100644 index 0000000..81e48b7 --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\242\320\265\320\273\320\265\321\204\320\276\320\275/Ext/Form.xml" @@ -0,0 +1,147 @@ + +
+ + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа пользовательских настроек</v8:content> + </v8:item> + + false + Vertical + false + + + + List + None + true + true + true + ExpandTopLevel + true + Список + Список.DefaultPicture + false + 60 + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + Items + false + + true + false + Auto + СписокКомпоновщикНастроекПользовательскиеНастройки + + + false + + + + + Список + SearchStringRepresentation + + + + + + + Список + ViewStatusRepresentation + + + + + + + Список + SearchControl + + + + + + + Список.Ref + + + + + Список.Date + true + + + + + Список.Number + + + + + Список.Объект + + + + + Список.Контрагент + + + + + Список.СтатьяРасходов + + + + + Список.Сумма + + + + + Список.Комментарий + + + + +
+
+ + + + cfg:DynamicList + + true + + Список.Ref + + + false + true + Document.СписаниеДенежныхСредств + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + + + + + \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202.xml" new file mode 100644 index 0000000..8550d2a --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202.xml" @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git "a/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202/Ext/Template.xml" "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202/Ext/Template.xml" new file mode 100644 index 0000000..f3d3c1c --- /dev/null +++ "b/Documents/\320\241\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\266\320\275\321\213\321\205\320\241\321\200\320\265\320\264\321\201\321\202\320\262/Templates/\320\237\320\244_MXL_\320\220\320\262\320\260\320\275\321\201\320\276\320\262\321\213\320\271\320\236\321\202\321\207\320\265\321\202/Ext/Template.xml" @@ -0,0 +1,5782 @@ + + + + ru + ru + + ru + Русский + Русский + + + en + English + English + + + + 25 + + 0 + + 1 + + + + 1 + + 2 + + + + 2 + + 3 + + + + 3 + + 3 + + + + 4 + + 4 + + + + 5 + + 4 + + + + 6 + + 4 + + + + 7 + + 3 + + + + 8 + + 5 + + + + 9 + + 3 + + + + 10 + + 3 + + + + 11 + + 6 + + + + 12 + + 5 + + + + 13 + + 3 + + + + 14 + + 3 + + + + 15 + + 3 + + + + 16 + + 3 + + + + 17 + + 3 + + + + 18 + + 7 + + + + 19 + + 3 + + + + 20 + + 3 + + + + 21 + + 3 + + + + 22 + + 3 + + + + 23 + + 3 + + + + 24 + + 7 + + + + + 1 + + 8 + + 1 + + 9 + + + ru + Унифицированная форма № АО-1 +Утверждена постановлением Госкомстата России от 01.08.2001 № 55 + + + + + + + + 2 + + 10 + + 1 + + 11 + + + + + + + 3 + + 8 + + 1 + + 12 + + + + 21 + + 13 + + + ru + Код + + + + + + + + 4 + + 8 + + 1 + + 12 + + + + 17 + + 14 + + + ru + Форма по ОКУД + + + + + + 21 + + 13 + + + ru + 0302001 + + + + + + + + 5 + + 8 + + 1 + + 15 + ПредставлениеОрганизации + Организация + + + + 17 + + 14 + + + ru + по ОКПО + + + + + + 21 + + 16 + ОрганизацияПоОКПО + + + + + + 6 + + 11 + + 1 + + 17 + + + ru + наименование организации + + + + + + 17 + + 18 + + + + + + 7 + + 10 + + 1 + + 11 + + + + + + 8 + + 10 + + 1 + + 11 + + + + 13 + + 19 + + + ru + УТВЕРЖДАЮ + + + + + + + + 9 + + 10 + + 1 + + 11 + + + + 13 + + 20 + + + ru + Отчет в сумме + + + + + + 17 + + 21 + ИзрасходованоРуб + + + + 22 + + 22 + + + ru + руб. + + + + + + + 23 + ИзрасходованоКоп + + + + + 22 + + + ru + коп. + + + + + + + + 10 + + 24 + + 1 + + 11 + + + + + + 11 + + 10 + + 1 + + 11 + + + + 14 + + 25 + + + ru + Руководитель + + + + + + 17 + + 26 + ДолжностьРуководителяПредставление + ДолжностьРуоковдителя + + + + + + 12 + + 27 + + 1 + + 11 + + + + 6 + + 28 + + + ru + Номер + + + + + + 9 + + 29 + + + ru + Дата + + + + + + 13 + + 11 + + + + 17 + + 30 + + + ru + должность + + + + + + + + 13 + + 10 + + 1 + + 31 + + + ru + АВАНСОВЫЙ ОТЧЕТ + + + + + + + 32 + + + + + 32 + + + + + 33 + + + + + 33 + + + + + 34 + НомерДокумента + + + + + 35 + + + + + 32 + + + + + 36 + ДатаДокумента + + + + 14 + + 37 + + + + 19 + + 38 + РуководительПредставление + Руководитель + + + + + + 14 + + 27 + + 1 + + 11 + + + + 14 + + 30 + + + ru + подпись + + + + + + + 30 + + + + + 30 + + + + + 30 + + + + 19 + + 39 + + + ru + расшифровка подписи + + + + + + + + 15 + + 10 + + 1 + + 11 + + + + 14 + + 40 + ДатаДокумента + + + + 21 + + 41 + + + + + + 16 + + 10 + + 1 + + 8 + + + + + + 17 + + 10 + + 1 + + 11 + + + + 19 + + 13 + + + ru + Код + + + + + + + + 18 + + 42 + + 1 + + 11 + + + + 19 + + 43 + + + + + + 19 + + 8 + + 1 + + 44 + + + ru + Структурное подразделение + + + + + + 7 + + 38 + ПредставлениеПодразделения + Подразделение + + + + 18 + + 45 + + + + + 46 + КодПодразделения + + + + + + 20 + + 42 + + 1 + + 44 + + + + 19 + + 47 + + + + + + 21 + + 11 + + 1 + + 44 + + + ru + Подотчетное лицо + + + + + + 5 + + 26 + ПредставлениеПодотчетногоЛица + ПодотчетноеЛицо + + + + + 45 + + + + + 45 + + + + + 45 + + + + + 45 + + + + + 45 + + + + + + 45 + + + + + 45 + + + + + 45 + + + + + 45 + + + + + 48 + + + ru + Табельный номер + + + + + + 19 + + 46 + ТабельныйНомер + + + + + + 22 + + 42 + + 1 + + 11 + + + + 5 + + 30 + + + ru + фамилия, инициалы + + + + + + 15 + + 11 + + + + + + 23 + + 49 + + 1 + + 44 + + + ru + Профессия (должность) + + + + + + 6 + + 50 + ДолжностьПодотчетногоЛицаПредставление + ДолжностьПодотчетногоЛица + + + + 11 + + 51 + + + ru + Назначение аванса + + + + + + 16 + + 52 + НазначениеАванса + + + + + + 24 + + 27 + + 1 + + 11 + + + + + + 25 + + 53 + + 1 + + 54 + + + ru + Наименование показателя + + + + + + 9 + + 55 + + + ru + Сумма, руб.коп. + + + + + + 12 + + 56 + + + + + + 55 + + + ru + Бухгалтерская запись + + + + + + + + 26 + + 53 + + 1 + + 13 + + + ru + Предыдущий аванс + + + + + + 5 + + 57 + + + ru + остаток + + + + + + 9 + + 58 + НачальныйОстаток + + + + 13 + + 55 + + + ru + дебет + + + + + + 19 + + 55 + + + ru + кредит + + + + + + + + 27 + + 53 + + 5 + + 57 + + + ru + перерасход + + + + + + 9 + + 58 + НачальныйПерерасход + + + + 13 + + 55 + + + ru + счет, субсчет + + + + + + 16 + + 55 + + + ru + сумма, руб.коп. + + + + + + 19 + + 55 + + + ru + счет, субсчет + + + + + + 22 + + 55 + + + ru + сумма, руб.коп. + + + + + + + + 28 + + 53 + + 1 + + 57 + + + ru + Получен аванс 1. из кассы + + + + + + 9 + + 58 + ПолученоИзКассы + + + + 13 + + 59 + СубСчетДебет1 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет1 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит1 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит1 + + + + + 60 + + + + + 62 + + + + + + 29 + + 53 + + 1 + + 57 + + + ru + 1а. в валюте (справочно) + + + + + + 6 + + 64 + ПредставлениеВалютыДокумента + ВалютаДокумента + + + + 9 + + 58 + ПолученоИзКассыВВалюте + + + + 13 + + 59 + СубСчетДебет2 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет2 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит2 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит2 + + + + + 60 + + + + + 62 + + + + + + 30 + + 53 + + 1 + + 65 + + + ru + 2. по банковским картам + + + + + + 6 + + 66 + + + + 9 + + 67 + ПолученоИзКассыПоКартам + + + + + 60 + + + + + 68 + + + + 13 + + 59 + СубСчетДебет3 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет3 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит3 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит3 + + + + + 60 + + + + + 62 + + + + + + 31 + + 53 + + + 11 + + + + + + 65 + + + ru + 2а. в валюте (справочно) + + + + + + 6 + + 69 + ПредставлениеВалютыДокумента + ВалютаДокумента + + + + 9 + + 67 + ПолученоИзКассыВВалютеПоКартам + + + + + 60 + + + + + 68 + + + + 13 + + 59 + СубСчетДебет4 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет4 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит4 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит4 + + + + + 60 + + + + + 62 + + + + + + 32 + + 53 + + 1 + + 65 + + + ru + Итого получено + + + + + + 9 + + 58 + ИтогоПолучено + + + + 13 + + 59 + СубСчетДебет5 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет5 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит5 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит5 + + + + + 60 + + + + + 62 + + + + + + 33 + + 53 + + 1 + + 65 + + + ru + Израсходовано + + + + + + 9 + + 58 + Израсходовано + + + + 13 + + 59 + СубСчетДебет6 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет6 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит6 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит6 + + + + + 60 + + + + + 62 + + + + + + 34 + + 53 + + 1 + + 66 + + + + + 65 + + + ru + остаток + + + + + + 9 + + 58 + КонечныйОстаток + + + + 12 + + 70 + + + + + 59 + СубСчетДебет7 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет7 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит7 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит7 + + + + + 60 + + + + + 62 + + + + + + 35 + + 53 + + 2 + + 65 + + + ru + перерасход + + + + + + 9 + + 58 + КонечныйПерерасход + + + + 13 + + 59 + СубСчетДебет8 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаДебет8 + + + + + 60 + + + + + 62 + + + + + 63 + СубСчетКредит8 + + + + + 60 + + + + + 60 + + + + + 61 + СуммаКредит8 + + + + + 60 + + + + + 62 + + + + + + 36 + + 49 + + 1 + + 11 + + + + + + 37 + + 71 + + 1 + + 44 + + + ru + Приложение + + + + + + 4 + + 72 + КоличествоДокументов + + + + 6 + + 44 + + + ru + документов на + + + + + + 9 + + 73 + КоличествоЛистов + + + + 11 + + 44 + + + ru + листах + + + + + + + + 38 + + 49 + + 1 + + 11 + + + + + + 39 + + 44 + + 1 + + 74 + + + ru + Отчет проверен. К утверждению в сумме: + + + + + + 9 + + 75 + СуммаОтчетаПрописью + + + + + + 40 + + 49 + + 1 + + 11 + + + + + + 41 + + 44 + + 1 + + 44 + + + ru + Главный бухгалтер + + + + + + 5 + + 76 + + + + 13 + + 38 + ПредставлениеГлавногоБухгалтера + ГлавныйБухгалтер + + + + + + 42 + + 27 + + 1 + + 11 + + + + 5 + + 30 + + + ru + подпись + + + + + + 12 + + 77 + + + + + 30 + + + ru + расшифровка подписи + + + + + + + + 43 + + 11 + + 1 + + 11 + + + ru + Бухгалтер + + + + + + 5 + + 78 + + + + 13 + + 79 + + + + + + 44 + + 27 + + 1 + + 11 + + + + 5 + + 30 + + + ru + подпись + + + + + + 12 + + 77 + + + + + 30 + + + ru + расшифровка подписи + + + + + + + + 45 + + 11 + + 1 + + 11 + + + + + + 46 + + 27 + + 1 + + 11 + + + + + + 47 + + 80 + + 1 + + 81 + + + ru + Остаток внесен + + + + + + 5 + + 82 + + + ru + в сумме + + + + + + 7 + + 83 + + + + + 84 + + + + + 85 + + + + + 86 + + + ru + руб. + + + + + + + 87 + + + + + 88 + + + ru + коп. по кассовому ордеру № ____ " " _____________ 20 __ г. + + + + + + + + 48 + + 80 + + 1 + + 89 + + + ru + Перерасход выдан + + + + + + 7 + + 90 + + + + + 84 + + + + + 85 + + + + + 91 + + + + + 84 + + + + + 92 + + + + + + 49 + + 27 + + 1 + + 11 + + + + + + 50 + + 11 + + 1 + + 11 + + + ru + Бухгалтер (кассир) + + + + + + 5 + + 93 + + + + 10 + + 94 + + + + + 95 + Кассир + Бухгалтер + + + + + 96 + + + + + 97 + + + + + 97 + + + + + 97 + + + + + 97 + + + + + 97 + + + + + 94 + + + + + 98 + + + ru + " " _____________ 20 __ г. + + + + + + + + 51 + + 11 + + 1 + + 11 + + + + 5 + + 30 + + + ru + подпись + + + + + + 10 + + 99 + + + + + 30 + + + ru + расшифровка подписи + + + + + + 18 + + 99 + + + + + 99 + + + + + 99 + + + + + 99 + + + + + 99 + + + + + 99 + + + + + 30 + + + + + + 52 + + 100 + + 1 + + 101 + + + + + + 53 + + 100 + + 1 + + 30 + + + ru + л и н и я о т р е з а + + + + + + + + 54 + + 11 + + 1 + + 11 + + + + + + 55 + + 11 + + 1 + + 102 + + + ru + Расписка. + + + + + + 4 + + 11 + + + ru + Принят к проверке от + + + + + + 8 + + 103 + ПредставлениеПодотчетногоЛицаОт + ПодотчетноеЛицо + + + + 15 + + 11 + + + ru + авансовый отчет № + + + + + + 19 + + 104 + НомерДокумента + + + + 22 + + 105 + + + + + + + 56 + + 11 + + 2 + + 106 + + + ru + от + + + + + + + 107 + ДатаДокумента + + + + 7 + + 108 + + + ru + на сумму + + + + + + 10 + + 109 + СуммаОтчетаПрописью + + + + 23 + + 102 + + + ru + , + + + + + + + + 57 + + 11 + + 1 + + 11 + + + + 3 + + 110 + + + ru + количество документов + + + + + + 8 + + 111 + КоличествоДокументов + + + + + 97 + + + + + 112 + + + ru + на + + + + + + + 113 + КоличествоЛистов + + + + 13 + + 97 + + + ru + листах. + + + + + + + + 58 + + 11 + true + + + + 59 + + 11 + + 1 + + 11 + + + ru + Бухгалтер + + + + + + 4 + + 93 + + + + 10 + + 94 + + + + + 93 + + + + 18 + + 114 + + + + + 115 + + + ru + " " _____________ 20 __ г. + + + + + + + 97 + + + + + 97 + + + + + 97 + + + + + 97 + + + + + 116 + + + + + + 60 + + 11 + + 1 + + 11 + + + + 4 + + 117 + + + ru + подпись + + + + + + 10 + + 99 + + + + + 30 + + + ru + расшифровка подписи + + + + + + 18 + + 99 + + + + + + 62 + + 11 + + 1 + + 9 + + + ru + Оборотная сторона формы № АО-1 + + + + + + + + 63 + + 118 + + 1 + + 13 + + + ru + Номер по порядку + + + + + + 3 + + 13 + + + ru + Документ, подтверждающий производственные расходы + + + + + + 7 + + 13 + + + ru + Наименование документа (расхода) + + + + + + 11 + + 119 + + + ru + Сумма расхода + + + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 121 + + + + + 13 + + + ru + Дебет счета, субсчета + + + + + + + + 64 + + 122 + + 11 + + 119 + + + ru + по отчету + + + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + принятая к учету + + + + + + + 123 + + + + + 120 + + + + + 120 + + + + + 120 + + + + + 121 + + + + + + 65 + + 27 + + 3 + + 119 + + + ru + Дата + + + + + + + 121 + + + + + 119 + + + ru + Номер + + + + + + + 121 + + + + 11 + + 119 + + + ru + в руб. коп + + + + + + + 120 + + + + + 121 + + + + + 124 + + + ru + в валюте + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + в руб. коп + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + в валюте + + + + + + + 120 + + + + + 121 + + + + + + 66 + + 27 + + 1 + + 119 + + + ru + 1 + + + + + + + 121 + + + + + 119 + + + ru + 2 + + + + + + + 121 + + + + + 119 + + + ru + 3 + + + + + + + 121 + + + + + 119 + + + ru + 4 + + + + + + + 120 + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + 5 + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + 6 + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + 7 + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + 8 + + + + + + + 120 + + + + + 121 + + + + + 119 + + + ru + 9 + + + + + + + 121 + + + + + + 68 + + 27 + + 1 + + 125 + НомерСтроки + + + + 3 + + 126 + ДокументДата + + + + 5 + + 127 + ДокументНомер + + + + 7 + + 127 + НаименованиеРасхода + + + + 11 + + 128 + ПоОтчету + + + + 14 + + 129 + ПоОтчетуВВалюте + + + + 17 + + 129 + ПоУчету + + + + 20 + + 129 + ПоУчетуВВалюте + + + + 23 + + 127 + ДебетСубСчета + + + + + + 69 + + + 11 + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + 130 + + + + + + 70 + + 27 + + 1 + + 11 + + + + 7 + + 131 + + + ru + Итого + + + + + + 11 + + 132 + ИтогоПоОтчету + + + + 14 + + 133 + ИтогоПоОтчетуВВалюте + + + + 17 + + 133 + ИтогоПоУчету + + + + 20 + + 133 + ИтогоПоУчетуВВалюте + + + + 23 + + 134 + + + + + + 71 + + 11 + + 1 + + 11 + + + + + + 72 + + 11 + + 1 + + 11 + + + ru + Подотчетное лицо + + + + + + 5 + + 78 + + + + 12 + + 11 + + + ru + + + + + + + + 135 + ПредставлениеПодотчетногоЛица + ПодотчетноеЛицо + + + + + + 73 + + 42 + + 1 + + 11 + + + + 5 + + 30 + + + ru + подпись + + + + + + 12 + + 77 + + + ru + + + + + + + + 30 + + + ru + расшифровка подписи + + + + + + + + Text + 1 + 136 + 53 + 0 + 53 + 0 + 7 + 72 + 7 + 72 + false + Stretch + 0 + + + 138 + + + 138 + + true + 137 + 74 + 74 + + 1 + 1 + 23 + + + 2 + 1 + 23 + + + 3 + 1 + 19 + + + 3 + 21 + 3 + + + 4 + 1 + 15 + + + 4 + 17 + 3 + + + 4 + 21 + 3 + + + 5 + 1 + 15 + + + 5 + 17 + 3 + + + 5 + 21 + 3 + + + 6 + 1 + 15 + + + 6 + 17 + 7 + + + 7 + 1 + 23 + + + 8 + 1 + 11 + + + 8 + 13 + 11 + + + 9 + 1 + 11 + + + 9 + 13 + 3 + + + 9 + 17 + 4 + + + 10 + 1 + 23 + + + 11 + 1 + 12 + + + 11 + 14 + 2 + + + 11 + 17 + 7 + + + 12 + 1 + 4 + + + 12 + 6 + 2 + + + 12 + 9 + 3 + + + 12 + 13 + 3 + + + 12 + 17 + 7 + + + 13 + 1 + 4 + + + 13 + 6 + 2 + + + 13 + 9 + 3 + + + 13 + 14 + 3 + + + 13 + 19 + 5 + + + 14 + 1 + 12 + + + 14 + 19 + 5 + + + 15 + 1 + 12 + + + 15 + 14 + 6 + + + 15 + 21 + 3 + + + 16 + 1 + 23 + + + 17 + 1 + 17 + + + 17 + 19 + 5 + + + 18 + 1 + 17 + + + 18 + 19 + 5 + + + 19 + 1 + 5 + + + 19 + 7 + 10 + + + 19 + 19 + 5 + + + 20 + 1 + 17 + + + 20 + 19 + 5 + + + 21 + 1 + 3 + + + 21 + 15 + 3 + + + 21 + 19 + 5 + + + 22 + 1 + 3 + + + 22 + 5 + 9 + + + 22 + 15 + 9 + + + 23 + 1 + 4 + + + 23 + 6 + 4 + + + 23 + 11 + 4 + + + 23 + 16 + 8 + + + 24 + 1 + 23 + + + 25 + 1 + 7 + + + 25 + 9 + 2 + + + 25 + 13 + 11 + + + 26 + 1 + 1 + 3 + + + 26 + 5 + 3 + + + 26 + 9 + 2 + + + 26 + 13 + 5 + + + 26 + 19 + 5 + + + 27 + 5 + 3 + + + 27 + 9 + 2 + + + 27 + 13 + 2 + + + 27 + 16 + 2 + + + 27 + 19 + 2 + + + 27 + 22 + 2 + + + 28 + 1 + 7 + + + 28 + 9 + 2 + + + 28 + 13 + 2 + + + 28 + 16 + 2 + + + 28 + 19 + 2 + + + 28 + 22 + 2 + + + 29 + 1 + 4 + + + 29 + 6 + 2 + + + 29 + 9 + 2 + + + 29 + 13 + 2 + + + 29 + 16 + 2 + + + 29 + 19 + 2 + + + 29 + 22 + 2 + + + 30 + 1 + 4 + + + 30 + 6 + 2 + + + 30 + 9 + 2 + + + 30 + 13 + 2 + + + 30 + 16 + 2 + + + 30 + 19 + 2 + + + 30 + 22 + 2 + + + 31 + 1 + 4 + + + 31 + 6 + 2 + + + 31 + 9 + 2 + + + 31 + 13 + 2 + + + 31 + 16 + 2 + + + 31 + 19 + 2 + + + 31 + 22 + 2 + + + 32 + 1 + 7 + + + 32 + 9 + 2 + + + 32 + 13 + 2 + + + 32 + 16 + 2 + + + 32 + 19 + 2 + + + 32 + 22 + 2 + + + 33 + 1 + 7 + + + 33 + 9 + 2 + + + 33 + 13 + 2 + + + 33 + 16 + 2 + + + 33 + 19 + 2 + + + 33 + 22 + 2 + + + 34 + 1 + 1 + + + 34 + 2 + 6 + + + 34 + 9 + 2 + + + 34 + 13 + 2 + + + 34 + 16 + 2 + + + 34 + 19 + 2 + + + 34 + 22 + 2 + + + 35 + 2 + 6 + + + 35 + 9 + 2 + + + 35 + 13 + 2 + + + 35 + 16 + 2 + + + 35 + 19 + 2 + + + 35 + 22 + 2 + + + 36 + 1 + 23 + + + 37 + 1 + 2 + + + 37 + 4 + 1 + + + 37 + 6 + 2 + + + 37 + 9 + 1 + + + 37 + 11 + 13 + + + 38 + 1 + 23 + + + 39 + 1 + 7 + + + 39 + 9 + 15 + + + 40 + 1 + 23 + + + 41 + 1 + 3 + + + 41 + 5 + 6 + + + 41 + 13 + 11 + + + 42 + 1 + 3 + + + 42 + 5 + 6 + + + 42 + 13 + 11 + + + 43 + 1 + 3 + + + 43 + 5 + 6 + + + 43 + 13 + 11 + + + 44 + 1 + 3 + + + 44 + 5 + 6 + + + 44 + 13 + 11 + + + 45 + 1 + 23 + + + 46 + 1 + 23 + + + 47 + 1 + 3 + + + 47 + 5 + 1 + 1 + + + 47 + 7 + 1 + 2 + + + 47 + 11 + 1 + + + 47 + 12 + 12 + + + 48 + 1 + 3 + + + 48 + 12 + 12 + + + 49 + 1 + 23 + + + 50 + 1 + 3 + + + 50 + 5 + 4 + + + 50 + 11 + 6 + + + 50 + 19 + 5 + + + 51 + 1 + 3 + + + 51 + 5 + 4 + + + 51 + 11 + 6 + + + 52 + 1 + 23 + + + 53 + 1 + 23 + + + 54 + 1 + 23 + + + 55 + 1 + 2 + + + 55 + 4 + 3 + + + 55 + 8 + 6 + + + 55 + 15 + 3 + + + 55 + 19 + 2 + + + 55 + 22 + 2 + + + 56 + 3 + 3 + + + 56 + 7 + 2 + + + 56 + 10 + 12 + + + 56 + 23 + 1 + + + 57 + 1 + 1 + + + 57 + 3 + 4 + + + 57 + 8 + 1 + + + 57 + 11 + 1 + + + 57 + 13 + 11 + + + 59 + 1 + 2 + + + 59 + 4 + 5 + + + 59 + 11 + 6 + + + 59 + 19 + 5 + + + 60 + 1 + 2 + + + 60 + 4 + 5 + + + 60 + 11 + 6 + + + 60 + 18 + 6 + + + 62 + 1 + 23 + + + 63 + 1 + 2 + 1 + + + 63 + 3 + 1 + 3 + + + 63 + 7 + 2 + 3 + + + 63 + 23 + 2 + 1 + + + 68 + 1 + 1 + + + 68 + 3 + 1 + + + 68 + 5 + 1 + + + 68 + 7 + 3 + + + 68 + 11 + 2 + + + 68 + 14 + 2 + + + 68 + 17 + 2 + + + 68 + 20 + 2 + + + 68 + 23 + 1 + + + 70 + 1 + 5 + + + 70 + 7 + 3 + + + 70 + 11 + 2 + + + 70 + 14 + 2 + + + 70 + 17 + 2 + + + 70 + 20 + 2 + + + 70 + 23 + 1 + + + 71 + 1 + 23 + + + 72 + 1 + 3 + + + 72 + 5 + 6 + + + 72 + 13 + 11 + + + 73 + 1 + 3 + + + 73 + 5 + 6 + + + 73 + 13 + 11 + + + Подвал + + Rows + 70 + 73 + -1 + -1 + + + + Строка + + Rows + 68 + 68 + -1 + -1 + + + + Титул + + Rows + 1 + 60 + -1 + -1 + + + + Шапка + + Rows + 62 + 66 + -1 + -1 + + + + None + + + Solid + + + None + + + Dotted + + + + + + + + 6 + + + 20 + + + 32 + + + 40 + + + 24 + + + 29 + + + 36 + + + Center + Wrap + + + 36 + Right + Center + Wrap + + + 0 + Center + Wrap + + + Wrap + + + 0 + 0 + Wrap + + + 1 + Center + Center + Wrap + true + + + 0 + Right + Center + Wrap + true + + + 0 + 0 + 1 + Center + Center + Wrap + Parameter + true + + + 1 + Center + Center + Wrap + Parameter + true + + + 0 + 0 + 0 + Center + Top + Wrap + true + + + 0 + Wrap + + + 1 + 0 + 32 + Center + Wrap + + + 1 + 0 + 32 + Left + Bottom + Wrap + + + 1 + 1 + Right + Bottom + Wrap + Parameter + true + + + 1 + Bottom + Wrap + + + 1 + 1 + Right + Bottom + Wrap + Parameter + true + + + + 36 + Center + Wrap + + + 1 + Left + Bottom + Wrap + + + 1 + 1 + Left + Bottom + Wrap + Parameter + true + + + 0 + Wrap + + + 1 + 1 + 1 + 0 + 32 + Center + Center + Wrap + true + + + 1 + 0 + 32 + Center + Center + Wrap + true + + + 0 + Center + Top + Wrap + true + + + 2 + 0 + 40 + Right + Center + Wrap + + + 0 + 32 + Center + Wrap + + + 0 + 40 + Center + Wrap + + + 1 + 0 + 32 + Center + Center + Wrap + Parameter + true + + + 0 + 24 + Center + Wrap + + + 1 + 0 + 32 + Center + Center + Wrap + Parameter + true + + + ru + ДФ=dd.MM.yyyy + + + + + 1 + Center + Wrap + + + 1 + Left + Bottom + Wrap + Parameter + true + + + 3 + Center + Top + Wrap + true + + + 1 + 36 + Left + Wrap + Parameter + + + ru + ДЛФ=DD + + + + + 4 + Left + Bottom + Wrap + true + + + ru + ДФ=dd.MM.yyyy + + + + + 36 + Wrap + + + 1 + 1 + 1 + 0 + Wrap + + + Bottom + Wrap + + + 1 + Center + Bottom + Wrap + true + + + 1 + 0 + 1 + 1 + Center + Bottom + Wrap + Parameter + true + + + 1 + 1 + 1 + 0 + Bottom + Wrap + + + 36 + Right + Wrap + + + 0 + Bottom + Wrap + + + 1 + Bottom + Wrap + Parameter + + + 0 + 24 + Right + Bottom + Wrap + + + 1 + 0 + 32 + Left + Bottom + Wrap + Parameter + true + + + Center + Bottom + Wrap + + + 1 + 20 + Center + Bottom + Wrap + true + + + 1 + Center + Bottom + Wrap + true + + + 2 + Center + Bottom + Wrap + + + 1 + Left + Bottom + Wrap + true + + + 1 + Right + Bottom + Wrap + Parameter + true + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 1 + 32 + Center + Bottom + Wrap + Parameter + + + 32 + Center + Bottom + Wrap + + + 1 + 32 + Right + Bottom + Wrap + Parameter + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 36 + Center + Bottom + Wrap + + + 1 + 32 + Center + Center + Wrap + Parameter + + + 1 + Center + Bottom + Wrap + Parameter + true + + + 1 + Left + Bottom + Wrap + + + 1 + Center + Bottom + Wrap + + + 1 + 32 + Right + Bottom + Wrap + Parameter + true + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 29 + Center + Bottom + Wrap + + + 1 + 40 + Center + Bottom + Wrap + Parameter + true + + + 1 + 2 + 1 + 2 + Bottom + Wrap + + + 45 + Bottom + Wrap + + + 1 + Right + Bottom + Wrap + Parameter + + + 1 + Right + Bottom + Wrap + Parameter + true + + + 20 + Left + Top + Wrap + false + + + Left + Bottom + Wrap + Parameter + false + + + 1 + Left + Bottom + Wrap + true + + + 0 + Wrap + + + 1 + Left + Wrap + true + + + 1 + Left + Wrap + Text + true + + + 60 + Wrap + + + 0 + Top + Wrap + + + 60 + 40 + Center + Center + Wrap + + + 1 + 60 + 40 + Center + Bottom + Wrap + true + + + 60 + 32 + Wrap + + + 60 + 24 + Wrap + + + 0 + 60 + 32 + Center + Bottom + Wrap + + + 1 + 75 + 32 + Bottom + Wrap + + + 0 + 60 + 29 + Left + Bottom + Wrap + true + + + 1 + Bottom + Wrap + + + 60 + 40 + Wrap + + + 0 + 0 + 60 + 32 + Center + Center + Wrap + + + Center + Bottom + Wrap + true + + + 1 + Left + Wrap + + + 0 + Center + Wrap + + + 1 + 29 + Left + Wrap + Parameter + + + 24 + Wrap + + + 32 + Wrap + + + 0 + Left + Wrap + + + 0 + Center + Top + Wrap + + + 120 + Wrap + + + 3 + Wrap + + + Top + Wrap + + + 1 + 40 + Left + Bottom + Wrap + Parameter + true + + + Left + Wrap + Parameter + + + Center + Wrap + + + Right + Wrap + + + Wrap + Parameter + + + ru + ДЛФ=DD + + + + + 32 + Center + Top + Wrap + Text + true + + + Top + Wrap + Parameter + + + 40 + Wrap + + + 24 + Right + Wrap + Parameter + + + 29 + Center + Wrap + + + 24 + Wrap + Parameter + + + 0 + 36 + Center + Wrap + + + 0 + 32 + Left + Wrap + + + 36 + Wrap + + + 0 + Center + Top + Wrap + Template + true + + + 126 + Wrap + + + 1 + 1 + 1 + Center + Center + Wrap + true + + + 1 + 1 + Center + Center + Wrap + true + + + 1 + 1 + 1 + Center + Center + Wrap + true + + + 48 + Wrap + + + 1 + 1 + Center + Wrap + true + + + 1 + 1 + 0 + 1 + Center + Center + Wrap + true + + + 1 + Right + Top + Wrap + Parameter + + + 1 + Center + Top + Wrap + Parameter + + + ru + ДФ=dd.MM.yyyy + + + + + 1 + Left + Top + Wrap + Parameter + + + 1 + Right + Top + Wrap + Parameter + true + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 1 + Right + Top + Wrap + Parameter + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + Right + + + Left + Center + Wrap + true + + + 1 + Right + Center + Wrap + Parameter + true + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 1 + Right + Center + Wrap + Parameter + + + ru + ЧЦ=15; ЧДЦ=2 + + + + + 1 + 1 + 0 + 0 + Center + Center + Wrap + + + 1 + 1 + 40 + Left + Bottom + Wrap + Parameter + true + + + Top + #FFFFFF + + + 72 + + + \ No newline at end of file diff --git "a/Enums/\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214\320\237\320\270\321\201\320\265\320\274.xml" "b/Enums/\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214\320\237\320\270\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..7981a4d --- /dev/null +++ "b/Enums/\320\222\320\260\320\266\320\275\320\276\321\201\321\202\321\214\320\237\320\270\321\201\320\265\320\274.xml" @@ -0,0 +1,145 @@ + + + + + + 6df372c3-ecef-4e97-ae5b-8fd84f5f7f10 + 05b2914e-fafd-43aa-aaec-5803b3256f51 + + + 0eeb6cac-9388-4451-b541-96bf8df74cbf + 122bb402-6f74-49fd-9b8d-cba0423a8834 + + + a60cc03f-029f-413f-8d29-8d9a2784d8c1 + 2b713dfd-9eba-42a2-acb8-e2d3d6a3ed55 + + + + ВажностьПисем + + + ru + Важность писем + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Высокая + + + ru + Высокая + + + en + High + + + + + + + + Обычная + + + ru + Обычная + + + en + Normal + + + + + + + + Низкая + + + ru + Низкая + + + en + Low + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270.xml" "b/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270.xml" new file mode 100644 index 0000000..40b0c81 --- /dev/null +++ "b/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270.xml" @@ -0,0 +1,145 @@ + + + + + + 390bebe5-3562-44f7-b7b0-0cc11ff9ceaf + b04c481d-2234-4d34-b220-ea2cda1e0400 + + + aad77444-ed9f-44f3-be5f-2c4aba31d69a + 04b2ef19-dabe-47b9-a266-070729f59b48 + + + a899e13c-0663-4b2b-af37-1fa93787e521 + 4bded45a-310a-4bca-be8e-f70e8e0497ca + + + + ВариантыВажностиЗадачи + + + ru + Варианты важности задачи + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Высокая + + + ru + Высокая + + + en + High + + + + + + + + Обычная + + + ru + Обычная + + + en + Normal + + + + + + + + Низкая + + + ru + Низкая + + + en + Low + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" "b/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\222\320\260\321\200\320\270\320\260\320\275\321\202\321\213\320\222\320\260\320\266\320\275\320\276\321\201\321\202\320\270\320\227\320\260\320\264\320\260\321\207\320\270/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\222\320\270\320\264\321\213\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/Enums/\320\222\320\270\320\264\321\213\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\320\261\320\274\320\265\320\275\320\260.xml" new file mode 100644 index 0000000..4659154 --- /dev/null +++ "b/Enums/\320\222\320\270\320\264\321\213\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -0,0 +1,133 @@ + + + + + + ae9e277b-e286-4ec9-acab-1b10d6585114 + d74a2308-0610-4746-8cc7-b1654bb6c9d2 + + + 3af034d1-fb6d-485d-b92a-c9a3ec4eb56b + 3d0bc7fe-8926-4c1c-9fa2-71eb5098d8c7 + + + c5f01980-950f-498a-8d82-76d9ea080c8a + 3b4af99d-0895-4a23-a193-faa78f098937 + + + + ВидыНастроекОбмена + + + ru + Виды настроек обмена + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + СрокУстареванияДанных + + + ru + Срок устаревания данных + + + + + + + + МаксимальныйРазмерФайла + + + ru + Максимальный размер файла + + + + + + + + ШаблоныТекстовПисем + + + ru + Шаблоны текстов писем + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\222\320\270\320\264\321\213\320\237\320\260\320\277\320\276\320\272\320\237\320\270\321\201\320\265\320\274.xml" "b/Enums/\320\222\320\270\320\264\321\213\320\237\320\260\320\277\320\276\320\272\320\237\320\270\321\201\320\265\320\274.xml" new file mode 100644 index 0000000..b57a968 --- /dev/null +++ "b/Enums/\320\222\320\270\320\264\321\213\320\237\320\260\320\277\320\276\320\272\320\237\320\270\321\201\320\265\320\274.xml" @@ -0,0 +1,193 @@ + + + + + + 53dd9300-f8d3-4731-81a0-d3e1ef959b51 + a36c98e1-e0c5-44bc-91a7-c5dcaa286a21 + + + e7ad4c4f-2ec0-4cb5-834a-18919760b99d + 3f78e46d-9517-47e3-898a-8297550fae75 + + + 69eefe9d-8911-4b08-95c8-e538cf1f1e9e + 347f4f4b-2784-4713-9f6e-7df7dcdafd3d + + + + ВидыПапокПисем + + + ru + Виды папок писем + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Входящие + + + ru + Входящие + + + en + Inbox + + + + + + + + Исходящие + + + ru + Исходящие + + + en + Outbox + + + + + + + + Отправленные + + + ru + Отправленные + + + en + Sent + + + + + + + + Общая + + + ru + Общая папка + + + en + General + + + + + + + + Корзина + + + ru + Корзина + + + en + Trash + + + + + + + + Черновики + + + ru + Черновики + + + en + Drafts + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" "b/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..2ade918 --- /dev/null +++ "b/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,161 @@ + + + + + + 5e76e7ee-1b11-4ecb-98e5-4a396575d881 + bfa632f7-0a40-45d6-a874-53f07855d280 + + + e61a4298-b373-4720-b7c5-d93a67e9a82d + 7eb0a7ee-0d5a-49cb-989f-3971618f9635 + + + 090476e6-731f-48e6-9644-5022f95c42c5 + 82ddb21a-c6f5-4139-bdac-8b71b01c4e22 + + + + ОценкиРезультатаВыполнения + + + ru + Оценки результата выполнения + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + ВыполненоНейтрально + + + ru + Выполнено нейтрально + + + en + Executed neutrally + + + + + + + + ВыполненоПоложительно + + + ru + Выполнено положительно + + + en + Executed positively + + + + + + + + ВыполненоПоложительноСЗамечаниями + + + ru + Выполнено положительно с замечаниями + + + en + Executed positively with remarks + + + + + + + + ВыполненоОтрицательно + + + ru + Выполнено отрицательно + + + en + Executed negatively + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" "b/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\236\321\206\320\265\320\275\320\272\320\270\320\240\320\265\320\267\321\203\320\273\321\214\321\202\320\260\321\202\320\260\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" "b/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..7bf87c5 --- /dev/null +++ "b/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,145 @@ + + + + + + 6ca9a137-1f3e-4f83-a59e-e74cc2deed78 + 42197162-37d2-451b-96ad-64943d86b9e0 + + + 58a07a18-974f-4a99-9f3e-3a65efbff0df + ea839678-4752-4e58-bef0-37c673011831 + + + 2907e3db-9def-44bb-b91f-45c861f81962 + 3cbd090d-14f7-49c7-9883-697b175cb515 + + + + ПравилаОкончанияПовторения + + + ru + Правила окончания повторения + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Никогда + + + ru + Никогда + + + en + Never + + + + + + + + ПослеЧислаПовторов + + + ru + После числа повторов + + + en + Number of repetitions + + + + + + + + ДоДаты + + + ru + В дату + + + en + Before date + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" "b/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\237\321\200\320\260\320\262\320\270\320\273\320\260\320\236\320\272\320\276\320\275\321\207\320\260\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\240\320\276\320\273\320\270\320\220\320\264\321\200\320\265\321\201\320\260\321\202\320\276\320\262\320\222\320\237\320\270\321\201\321\214\320\274\320\265.xml" "b/Enums/\320\240\320\276\320\273\320\270\320\220\320\264\321\200\320\265\321\201\320\260\321\202\320\276\320\262\320\222\320\237\320\270\321\201\321\214\320\274\320\265.xml" new file mode 100644 index 0000000..70c64fc --- /dev/null +++ "b/Enums/\320\240\320\276\320\273\320\270\320\220\320\264\321\200\320\265\321\201\320\260\321\202\320\276\320\262\320\222\320\237\320\270\321\201\321\214\320\274\320\265.xml" @@ -0,0 +1,107 @@ + + + + + + 98c7c481-d20f-4d81-bf21-1579dd9f77cd + f6b4e433-df7f-498f-905f-54382b7891bd + + + 0db85665-67a8-42fd-8dcd-fdeb9d5bda6d + 1e4612cc-8725-42dd-9d7b-827ec284a080 + + + 543606fc-b8cd-4c74-b66d-58152a23f8d0 + ce5dbe89-b688-4a5b-b070-8cfae070bd5d + + + + РолиАдресатовВПисьме + + + ru + Роли адресатов в письме + + + + false + + true + BothWays + + + + + + + + Auto + + + + + Отправитель + + + ru + От: + + + en + From: + + + + + + + + Получатель + + + ru + Кому: + + + en + TO: + + + + + + + + ПолучательКопии + + + ru + Копия: + + + en + CC: + + + + + + + + ПолучательСкрытойКопии + + + ru + Скрытая: + + + en + BCC: + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262.xml" "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262.xml" new file mode 100644 index 0000000..7cfb78b --- /dev/null +++ "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262.xml" @@ -0,0 +1,145 @@ + + + + + + 0750610f-a1d8-4cdf-87a7-d00a41dac674 + 07f7b44b-8372-43ff-a002-01b09963bac0 + + + fc0eed1e-51a4-4de6-a232-0c70c15c475a + 51a2737a-040c-48b4-8192-87f5725e4722 + + + 2d2e389d-6c2c-45ca-b5e6-0e58dfe2482b + 69c66679-044d-4b93-a247-fb15b8d6fbee + + + + СостоянияБизнесПроцессов + + + ru + Состояния бизнес процессов + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Активен + + + ru + Активен + + + en + Active + + + + + + + + Остановлен + + + ru + Остановлен + + + en + Paused + + + + + + + + Прерван + + + ru + Прерван + + + en + Interrupted + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262/Ext/ManagerModule.bsl" "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\201\320\276\320\262/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" new file mode 100644 index 0000000..b58e137 --- /dev/null +++ "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" @@ -0,0 +1,145 @@ + + + + + + b69ee6fc-ed06-4a1c-9362-b30d573ae186 + 164d3aff-e99a-48d7-bb05-0bc5eba33c6e + + + ea57106f-9913-4c10-9ac0-7a931ba427f4 + eec64d96-c0d5-4c9c-99d3-625d83fefa82 + + + 686684e2-ee99-4d11-b3c2-2fc85911d6fd + df1bcf46-e599-4935-8efb-eb5a97574750 + + + + СостоянияЗаписейРабочегоКалендаря + + + ru + Состояния записей рабочего календаря + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Принято + + + ru + Принято + + + en + Accept + + + + + + + + ПодВопросом + + + ru + Под вопросом + + + en + Probable + + + + + + + + Отклонено + + + ru + Отклонено + + + en + Rejected + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\277\320\270\321\201\320\265\320\271\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\241\321\202\320\260\321\202\321\203\321\201\321\213\320\227\320\260\321\217\320\262\320\276\320\272\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" "b/Enums/\320\241\321\202\320\260\321\202\321\203\321\201\321\213\320\227\320\260\321\217\320\262\320\276\320\272\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..6a003a9 --- /dev/null +++ "b/Enums/\320\241\321\202\320\260\321\202\321\203\321\201\321\213\320\227\320\260\321\217\320\262\320\276\320\272\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" @@ -0,0 +1,103 @@ + + + + + + d3fdfabf-879f-4556-ab3b-84afa41ca477 + 0b3e14c2-984b-4421-828e-d8198c771ceb + + + 36e3c1bc-1591-4053-8298-34f6a936bcf4 + f9761e18-f61d-411a-b2b2-de4f285cccdc + + + 2d006908-f66d-4b63-9bd8-5d1e5321cce4 + 416d1dcd-a048-493e-aebb-a54e4d29772a + + + + СтатусыЗаявокНаОбслуживание + + + ru + Статусы заявок на обслуживание + + + + false + + true + BothWays + + + + + + + + Auto + + + + + НаРассмотрении + + + ru + На рассмотрении + + + + + + + + Утверждена + + + ru + Утверждена + + + + + + + + Отклонена + + + ru + Отклонена + + + + + + + + Выполняется + + + ru + Выполняется + + + + + + + + Выполнена + + + ru + Выполнена + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" "b/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" new file mode 100644 index 0000000..217c66c --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217.xml" @@ -0,0 +1,161 @@ + + + + + + 42813b12-2779-4259-90bd-5b093cb61795 + 4c49f32f-7fa4-45e2-87d8-79e1bdf045e6 + + + e71d674e-bd9a-4947-9a13-de2a4a7ea3dc + 043ed84f-e362-48e6-83bd-39f155eb7f40 + + + 532343ad-5abb-49c6-b836-6027b0260754 + e1fd09a4-7740-4121-86ae-0af43e17bd54 + + + + ТипЗаписиКалендаря + + + ru + Тип записи календаря + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Мероприятие + + + ru + Мероприятие + + + en + Action + + + + + + + + ПовторяющеесяСобытие + + + ru + Повторяющееся событие + + + en + Repeating event + + + + + + + + Событие + + + ru + Событие + + + en + Event + + + + + + + + ЭлементПовторяющегосяСобытия + + + ru + Элемент повторяющегося события + + + en + Element of the repeating event + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" "b/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\320\227\320\260\320\277\320\270\321\201\320\270\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\217/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/Enums/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 0000000..71c4fa7 --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,75 @@ + + + + + + 8f389aaa-a0a5-48ec-bed8-207c5d112665 + 3a53fc8e-8e37-44bf-bf15-734ea2ff4394 + + + 697e6ebb-1b42-4aa9-bda1-6dd2d60b24e5 + d1780ca1-9710-47c7-ae4b-acf059f168ea + + + 10862708-e11b-4357-94c3-545fb5c9629a + 19b27008-0aaf-4674-825a-4bf4d2926da7 + + + + ТипыОбъектов + + + ru + Типы объектов + + + + false + + true + BothWays + + + + + + + + Auto + + + + + ВходящиеПисьма + + + ru + Входящие письма + + + en + Incoming letter + + + + + + + + ИсходящиеПисьма + + + ru + Исходящие письма + + + en + Outgoing letters + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\321\213\320\236\321\202\320\262\320\265\321\202\320\260.xml" "b/Enums/\320\242\320\270\320\277\321\213\320\236\321\202\320\262\320\265\321\202\320\260.xml" new file mode 100644 index 0000000..11f3b63 --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\321\213\320\236\321\202\320\262\320\265\321\202\320\260.xml" @@ -0,0 +1,129 @@ + + + + + + 2394191e-7509-426f-b7ce-0e618707769a + 8bf2b081-3aad-4ea1-bb94-9fb5b4a3f99a + + + 6f0eeb9a-da2f-4d0b-972b-00a65ab29908 + c4c81c60-ae16-43ad-bbe2-0e3b609241cf + + + 2771022f-651b-4379-887f-663814208d66 + f1a7139e-b406-4572-b76f-d6b941eadacd + + + + ТипыОтвета + + + ru + Типы ответа + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + ОтветНаПисьмо + + + ru + Ответ на письмо + + + en + Answer to the letter + + + + + + + + ПересылкаПисьма + + + ru + Пересылка письма + + + en + transfer of the letter + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\321\213\320\237\320\273\320\260\321\202\320\265\320\266\320\265\320\271.xml" "b/Enums/\320\242\320\270\320\277\321\213\320\237\320\273\320\260\321\202\320\265\320\266\320\265\320\271.xml" new file mode 100644 index 0000000..422f206 --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\321\213\320\237\320\273\320\260\321\202\320\265\320\266\320\265\320\271.xml" @@ -0,0 +1,121 @@ + + + + + + 1042546b-014d-4d1a-bbc1-55a347bbcb6c + e57dbc9e-5661-4c16-918a-e22a7815eedc + + + 5422e9ad-bc91-4a6b-b972-101a0f701c25 + f3e6afe4-9f54-49cf-b05c-d534bde4e533 + + + 2df19a40-ceea-419e-a277-013e34740f33 + 6cca8b72-4080-43c2-93f4-c1b8344cd371 + + + + ТипыПлатежей + + + ru + Типы платежей + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Наличный + + + ru + Наличный + + + + + + + + Безналичный + + + ru + Безналичный + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" "b/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" new file mode 100644 index 0000000..90619ee --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260.xml" @@ -0,0 +1,91 @@ + + + + + + 4bf870e6-aee3-4a87-94aa-5a1cb30a53b7 + ee56ac92-86cd-49a2-979e-04f34c320bfc + + + 143e20ce-3af4-4fdc-b625-cdb014ec3a52 + a0e54afe-88ff-4a6a-99bb-846630505de2 + + + a8739552-b410-45d6-b070-538dfa1379bf + 7ba61c31-9de5-4a55-867e-48c1ab94f1cb + + + + ТипыСобытийПротокола + + + ru + Типы событий протокола + + + + false + + true + BothWays + + + + + + + + Auto + + + + + Информация + + + ru + Информация + + + en + Information + + + + + + + + Ошибка + + + ru + Ошибка + + + en + Error + + + + + + + + Предупреждение + + + ru + Предупреждение + + + en + Warning + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/ManagerModule.bsl" "b/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\242\320\270\320\277\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\260/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 0000000..2cd7ca5 --- /dev/null +++ "b/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,209 @@ + + + + + + c6d88aec-7584-458b-8baa-cf06296e0d61 + 43e182df-143f-4e7f-9d2b-3e573a4e5bf6 + + + b8ffb68f-371c-47b9-b24a-a406321bd8c5 + b247ced5-bf33-4701-88a5-5ff208cb4864 + + + 908dc6d8-26ba-47c8-9f25-71e92e86ec08 + 5fcfb6c6-4d83-49bb-8784-8fc7a09d5370 + + + + ЦветаОбъектов + + + ru + Цвета объектов + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Нет + + + ru + Нет + + + en + Default + + + + + + + + Красный + + + ru + Красный + + + en + Red + + + + + + + + Синий + + + ru + Синий + + + en + Blue + + + + + + + + Желтый + + + ru + Желтый + + + en + Yellow + + + + + + + + Зеленый + + + ru + Зеленый + + + en + Green + + + + + + + + Оранжевый + + + ru + Оранжевый + + + en + Orange + + + + + + + + Лиловый + + + ru + Лиловый + + + en + Purple + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\246\320\262\320\265\321\202\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" "b/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..ec0f005 --- /dev/null +++ "b/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,161 @@ + + + + + + 0641d446-6aa9-477b-babb-6f2c1178416e + 404e0a47-4219-492b-ae4b-c10b89d3d8fd + + + 72f90ec5-03f6-40ea-8415-fbf59198fec6 + 4f84f1d7-5d13-40db-8534-884de55c8883 + + + 2855bd7a-03f6-46b9-a9e2-c2fe136f21d7 + 3d1fe907-ebc2-4d0c-83ad-85c95007f9c2 + + + + ЧастотаПовторения + + + ru + Частота повторения + + + + false + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + true + BothWays + + + + + + + + Auto + + + + + Ежедневно + + + ru + Ежедневно + + + en + Everyday + + + + + + + + Еженедельно + + + ru + Еженедельно + + + en + Every week + + + + + + + + Ежемесячно + + + ru + Ежемесячно + + + en + Every month + + + + + + + + Ежегодно + + + ru + Ежегодно + + + en + Every year + + + + + + + + \ No newline at end of file diff --git "a/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" "b/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..5f28270 --- /dev/null +++ "b/Enums/\320\247\320\260\321\201\321\202\320\276\321\202\320\260\320\237\320\276\320\262\321\202\320\276\321\200\320\265\320\275\320\270\321\217/Ext/ManagerModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274.xml" "b/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274.xml" new file mode 100644 index 0000000..e341f99 --- /dev/null +++ "b/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274.xml" @@ -0,0 +1,81 @@ + + + + + 191e28ae-d1af-4967-b158-7eddc2fafb14 + + f3696f2b-2cc7-401c-b069-7186fb287aa8 + 962220a7-6c00-4bbf-9b75-7c76a854ede3 + + + fc5af0ab-699b-45c0-b0f0-ba81c18f2884 + 2a4d8ecd-fa32-4c75-9dac-cbd55185d44d + + + 387368aa-3e5a-4e35-97a8-f0bdc1519dc4 + a4484c15-569b-4118-93d0-32c6738ba07e + + + b07d2ed9-9d56-4a7c-838f-bf4bc6a4fb4d + faa71816-7382-4331-8cf5-0f5a0f3415e8 + + + 8ee8d0d8-6db2-4848-81fc-d9125faf1d3b + f082a35a-747d-47e3-b8c8-7540a273b1a0 + + + + ОбменССервером + + + ru + Обмен с сервером + + + + false + 30 + Variable + 25 + AsDescription + InDialog + false + BothWays + + ExchangePlan.ОбменССервером.StandardAttribute.Description + ExchangePlan.ОбменССервером.StandardAttribute.Code + + Begin + DontUse + Directly + + + + + + + + + false + false + DontUse + Auto + false + + Managed + Use + + + ru + Клиент обмена + + + + + + + DontUse + + + + \ No newline at end of file diff --git "a/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274/Ext/Content.xml" "b/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274/Ext/Content.xml" new file mode 100644 index 0000000..7560d42 --- /dev/null +++ "b/ExchangePlans/\320\236\320\261\320\274\320\265\320\275\320\241\320\241\320\265\321\200\320\262\320\265\321\200\320\276\320\274/Ext/Content.xml" @@ -0,0 +1,11 @@ + + + + InformationRegister.ПротоколСобытий + Deny + + + InformationRegister.ИзмененныеНастройкиСинхронизации + Allow + + \ No newline at end of file diff --git a/Ext/HomePageWorkArea.xml b/Ext/HomePageWorkArea.xml new file mode 100644 index 0000000..e767889 --- /dev/null +++ b/Ext/HomePageWorkArea.xml @@ -0,0 +1,13 @@ + + + OneColumn + + +
CommonForm.РабочийСтол
+ 10 + + true + +
+
+
\ No newline at end of file diff --git a/Ext/Logo.xml b/Ext/Logo.xml new file mode 100644 index 0000000..6bef125 --- /dev/null +++ b/Ext/Logo.xml @@ -0,0 +1,7 @@ + + + + Picture.png + false + + \ No newline at end of file diff --git a/Ext/Logo/Picture.png b/Ext/Logo/Picture.png new file mode 100644 index 0000000..6a64215 Binary files /dev/null and b/Ext/Logo/Picture.png differ diff --git a/Ext/MainSectionCommandInterface.xml b/Ext/MainSectionCommandInterface.xml new file mode 100644 index 0000000..0d2894e --- /dev/null +++ b/Ext/MainSectionCommandInterface.xml @@ -0,0 +1,72 @@ + + + + + + false + + + + + false + + + + + false + + + + + false + + + + + + NavigationPanelOrdinary + + + NavigationPanelOrdinary + + + NavigationPanelOrdinary + + + NavigationPanelOrdinary + + + NavigationPanelOrdinary + + + ActionsPanelCreate + + + ActionsPanelCreate + + + ActionsPanelCreate + + + ActionsPanelCreate + + + ActionsPanelCreate + + + ActionsPanelCreate + + + ActionsPanelTools + + + ActionsPanelTools + + + + NavigationPanelOrdinary + NavigationPanelSeeAlso + ActionsPanelCreate + ActionsPanelTools + + \ No newline at end of file diff --git a/Ext/ManagedApplicationModule.bsl b/Ext/ManagedApplicationModule.bsl new file mode 100644 index 0000000..adadc72 --- /dev/null +++ b/Ext/ManagedApplicationModule.bsl @@ -0,0 +1,81 @@ + +#Область ОпределениеПеременных + +Перем ЭтоЧистаяБаза; // Признак того, что база только что создана, или полностью очищена +Перем ТекущийРаздел; // Текущий используемый раздел программы + +#КонецОбласти + +#Область ОбработчикиСобытий + +Процедура ПередНачаломРаботыСистемы(Отказ) + + // Получим имя каталога временных файлов + ИмяКаталогаВременныхФайлов = ПолучитьИмяКаталогаВременныхФайлов(); + + Параметры = ОбщегоНазначенияВызовСервера.УстановитьПервоначальныеНастройки( + ИмяКаталогаВременныхФайлов); + + ЭтоЧистаяБаза = Параметры.ЭтоЧистаяБаза; + ТекущийРаздел = Параметры.ТекущийРаздел; + +КонецПроцедуры + +Процедура ПриНачалеРаботыСистемы() + + СборСтатистикиВызовСервера.ЗаписатьПоказатель("Приложение.Запуск"); + + Если ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ИспользоватьПароль") + И Не ОбщегоНазначенияВызовСервера.ПолучитьЗначениеКонстанты("ХешПароля") = 0 Тогда + + ПараметрыОбработчика = Новый Структура(); + ПараметрыОбработчика.Вставить("ЭтоЧистаяБаза", ЭтоЧистаяБаза); + ПараметрыОбработчика.Вставить("ТекущийРаздел", ТекущийРаздел); + + ОбработчикЗакрытияФормы = Новый ОписаниеОповещения("ОбработчикЗакрытияФормыВводаPINКода", + ОбщегоНазначенияКлиент, ПараметрыОбработчика); + + ПараметрыОткрытияФормы = Новый Структура(); + ПараметрыОткрытияФормы.Вставить("Команда", "ВвестиПароль"); + Результат = ОткрытьФорму("ОбщаяФорма.ВводПароля", ПараметрыОткрытияФормы,,,,, + ОбработчикЗакрытияФормы, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + + Возврат; + + КонецЕсли; + + ОбщегоНазначенияКлиент.ВыполнитьДействияПриЗапускеСистемы(ЭтоЧистаяБаза, ТекущийРаздел); + + ПодключитьОбработчикОповещения("ОбработкаОбщихОповещений"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ПолучитьИмяКаталогаВременныхФайлов() + + ИмяКаталогаВременныхФайлов = СокрЛП(КаталогДокументов()); + Если СтрЗаканчиваетсяНа(ИмяКаталогаВременныхФайлов, "\") + Или СтрЗаканчиваетсяНа(ИмяКаталогаВременныхФайлов, "/") Тогда + ИмяКаталогаВременныхФайлов = ИмяКаталогаВременныхФайлов + "temp"; + ИначеЕсли СтрНайти(ИмяКаталогаВременныхФайлов, "\") > 0 Тогда + ИмяКаталогаВременныхФайлов = ИмяКаталогаВременныхФайлов + "\temp"; + ИначеЕсли СтрНайти(ИмяКаталогаВременныхФайлов, "/") > 0 Тогда + ИмяКаталогаВременныхФайлов = ИмяКаталогаВременныхФайлов + "/temp"; + КонецЕсли; + + Возврат ИмяКаталогаВременныхФайлов; + +КонецФункции + +Процедура ОбработкаОбщихОповещений(ИмяСобытия, Параметр, Источник) Экспорт + + Если ИмяСобытия = "СинхронизацияЗавершена" Тогда + ОчисткаБазыДанныхВызовСервера.ЗапуститьОчисткуОтСтарыхДанныхВФоне(); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file diff --git a/Ext/SessionModule.bsl b/Ext/SessionModule.bsl new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Ext/SessionModule.bsl @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 0000000..06e6b19 --- /dev/null +++ "b/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,113 @@ + + + + + + 519924d0-4293-4abd-92ed-36cc0e837436 + 3698230d-3372-4792-831c-021df8c1be72 + + + 71c959f7-0395-4850-8e40-96bad4327702 + 745ac0ff-c934-4596-aea0-dc6e34eaef1b + + + 85f45745-0c32-4ac2-9d54-ad81e6a147f6 + 58acac7a-70f5-41be-9bbf-5c7c13e857ba + + + f6b1f18c-9b41-4510-8ed4-f1148be33563 + 57437477-6a32-4df6-8136-933da05ff1bd + + + e4b73ae0-e307-4bb7-9364-e1fdbd6593e5 + 20313f0e-64c9-4ce4-bc5c-0c940c16f853 + + + 6a12eb2e-5c49-4bbb-ba33-c11bf3054904 + 9c3c66fb-2bce-4018-a3d4-dfcd1ef8c169 + + + f89f8db4-d219-42f1-85d0-0faa1d61deaf + 38e09508-3ed2-4abc-a5c9-3ec914f8d4d2 + + + + ДатыЗагрузкиОбъектов + + + ru + Даты загрузки объектов + + + + false + InDialog + + + + + Second + Independent + true + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + Объект + + + ru + Объект + + + + + xs:string + + 10 + Variable + + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + true + true + false + DontIndex + DontUse + Use + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..8fb7855 --- /dev/null +++ "b/InformationRegisters/\320\224\320\260\321\202\321\213\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -0,0 +1,67 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Записывает дату загрузки объекта на устройство +// +// Параметры: +// ОбъектСсылка - СправочникСсылка, ДокументСсылка - Ссылка на прикладной объект. +// +Процедура ОбновитьДатуПоследнегоИзмененияОбъекта(ОбъектСсылка, ДатаАктуальности = Неопределено) Экспорт + + Если НЕ ЗначениеЗаполнено(ДатаАктуальности) Тогда + ДатаАктуальности = ПолучитьДатуАктуальности(ОбъектСсылка); + КонецЕсли; + + НаборЗаписей = РегистрыСведений.ДатыЗагрузкиОбъектов.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Объект.Установить(ОбъектСсылка); + НаборЗаписей.Записать(); + + МенеджерЗаписиРегистра = РегистрыСведений.ДатыЗагрузкиОбъектов.СоздатьМенеджерЗаписи(); + МенеджерЗаписиРегистра.Объект = ОбъектСсылка; + МенеджерЗаписиРегистра.Период = ДатаАктуальности; + МенеджерЗаписиРегистра.Записать(); + +КонецПроцедуры + +// Возвращает признак того, что объект был загружен с сервера +// +// Параметры: +// ОбъектСсылка - СправочникСсылка, ДокументСсылка - Ссылка на прикладной объект. +// +// Возвращаемое значение: +// Истина - Если в регистре есть записи по указанному объекту. +// +Функция ОбъектБылЗагруженССервера(ОбъектСсылка) Экспорт + + НаборЗаписей = РегистрыСведений.ДатыЗагрузкиОбъектов.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Объект.Установить(ОбъектСсылка); + НаборЗаписей.Прочитать(); + + Возврат НаборЗаписей.Количество() > 0; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Возвращает дату актуальности объекта +// - Для записей календаря - наибольшее из текущей даты и даты окончания;текущая дата или дата актуальности; +// - Для остальных объектов - текущая дата. +// +// Параметры: +// ОбъектСсылка - СправочникСсылка, ДокументСсылка - Ссылка на прикладной объект. +// +Функция ПолучитьДатуАктуальности(ОбъектСсылка) + + // todo: для документов возможно изменение + Возврат ТекущаяДата(); + +КонецФункции + +#КонецОбласти + +#КонецЕсли + diff --git "a/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" "b/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" new file mode 100644 index 0000000..d9fb84b --- /dev/null +++ "b/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" @@ -0,0 +1,215 @@ + + + + + + d80d383d-d8b9-4adf-a7a4-ae5f87d6b1e0 + 4d00257f-3425-4568-bd7e-5ae98a9f0f54 + + + dfb13d71-0ba5-4ebd-94bf-878eee7aa30c + 5d63bbec-f1ec-4677-8047-75d80a64a875 + + + c6479031-3652-46aa-8cd3-6a0be3490096 + ee39d646-91d9-48be-a83e-254a8e2eef16 + + + c3ab41ca-d3a3-451b-8887-0a059c775f27 + 6b1522dc-dd5c-4d85-9800-5fdd2838621e + + + 63fe52f7-2af2-412a-8fc7-025544f976bc + a2f463a5-786c-4e3a-b74e-05b6859d3c23 + + + 95e1d57e-795e-4e8d-a7b8-a2c3e23d6176 + 71bbbd22-8bbe-4bea-bd68-816ae836efc9 + + + 2295b84e-138e-4aef-b7d0-698023f28435 + 9009fc8a-2dc7-4436-8b5a-aaaf71fd7365 + + + + ИзмененныеНастройкиСинхронизации + + + ru + Измененные настройки синхронизации + + + + false + InDialog + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + ВидНастройки + + + ru + Вид настройки + + + + + cfg:EnumRef.ВидыНастроекОбмена + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + true + true + false + DontIndex + DontUse + Use + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" "b/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..8818b9a --- /dev/null +++ "b/InformationRegisters/\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\275\321\213\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" @@ -0,0 +1,28 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Делает запись об изменившейся настройке обмена +// +// Параметры: +// ВидНастройки - ПеречислениеСсылка.ВидыНастроекОбмена - Измененная настройка обмена. +// +Процедура ДобавитьЗапись(ВидНастройки) Экспорт + + МенеджерЗаписи = РегистрыСведений.ИзмененныеНастройкиСинхронизации.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.ВидНастройки = ВидНастройки; + МенеджерЗаписи.Записать(); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Записано изменение настройки ""%1""'; + |en = 'Change of parameter is registered for ""%1""'"), + Строка(ВидНастройки))); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли + diff --git "a/InformationRegisters/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.xml" "b/InformationRegisters/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.xml" new file mode 100644 index 0000000..f2dae39 --- /dev/null +++ "b/InformationRegisters/\320\236\320\261\321\212\320\265\320\272\321\202\321\213\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.xml" @@ -0,0 +1,384 @@ + + + + + + 460e9825-2eef-4c97-b447-a339a93d39a5 + 5b22a3d0-6ce4-4fd2-b1ab-436280fec0e1 + + + 3690c519-1f2c-4794-a2a9-301d69dd9c7a + d20d95dc-d854-46b1-b148-eaf8112ebe9d + + + c3dea913-40e2-41af-b284-a36bcaaace96 + 0c10ad8f-9605-4b9f-b321-1482c5cb8cad + + + b294c0f6-1961-451c-b2da-0cc5f229ae87 + 2bdec5b0-7d2d-42ed-a329-e39cc01e0474 + + + ec871934-bc6a-4deb-a3c7-6c3cf1a7055d + a39d414c-0e6e-4a00-842c-dc8f719d7cdc + + + a751e1eb-4cc1-465c-8880-da238a431ade + c82d2595-1e2f-491c-806a-23e6d3873e8a + + + 2c2f1138-c923-4135-af9f-246ae78206d5 + 15c146e5-dcc8-4c1d-b1b4-2b46454779b7 + + + + ОбъектыУведомлений + + + ru + Объекты уведомлений + + + + false + InDialog + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + Сообщение + + + ru + Сообщение + + + + + xs:string + + 120 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + ДатаИВремяСобытия + + + ru + Дата и время события + + + + + xs:dateTime + + DateTime + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Обработано + + + ru + Обработано + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + Объект + + + ru + Объект + + + + + cfg:DocumentRef.СписаниеДенежныхСредств + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + true + true + true + DontIndex + DontUse + Use + + + + + ДатаВремяУведомления + + + ru + Дата время уведомления + + + + + xs:dateTime + + DateTime + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + DontIndex + DontUse + Use + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" new file mode 100644 index 0000000..92f08da --- /dev/null +++ "b/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200.xml" @@ -0,0 +1,195 @@ + + + + + + 666ae591-3722-4c82-89ea-cf60b5294c16 + d4878269-b118-47de-8b9a-5ac5c82e3746 + + + 0063692b-a794-42f1-a6ba-51f49dad5151 + 7c1ad7a6-fb92-4883-9999-f7343d59d69c + + + ad7a92a1-c7fb-4e45-b523-f2f104c4926d + bab57fac-ac5f-46c4-9d32-46beceb8241d + + + 9494b86e-392b-4cad-bc51-7bddd7488e8f + eb5912e0-fad6-4315-89e3-6e4bc32844e9 + + + 3aa853c6-1660-4f97-a3a7-b3bf6f4113ff + 461ba497-d941-4f0f-8512-0639f6c25a0e + + + e82b5bd3-26cd-492b-b98e-9a6107ffcb99 + 6917573a-303b-4f2c-ace3-4e8ed2f527cd + + + 8a2139bc-a8ae-4256-b051-6a2249cc5038 + 79a623aa-570a-4869-aea7-8515a1338ae4 + + + + ОчередьСообщенийНаСервер + + + ru + Очередь сообщений на сервер + + + + false + InDialog + + + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + Данные + + + ru + Данные + + + + + v8:ValueStorage + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + МоментВремени + + + ru + Момент времени + + + + + xs:decimal + + 20 + 0 + Nonnegative + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + Index + DontUse + Use + + + + + Идентификатор + + + ru + Идентификатор + + + + + v8:UUID + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + DontIndex + DontUse + Use + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200/Ext/ManagerModule.bsl" "b/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..9e9eef3 --- /dev/null +++ "b/InformationRegisters/\320\236\321\207\320\265\321\200\320\265\320\264\321\214\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\320\271\320\235\320\260\320\241\320\265\321\200\320\262\320\265\321\200/Ext/ManagerModule.bsl" @@ -0,0 +1,65 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Удаляет указанное сообщение из очереди +// +// Параметры: +// Идентификатор - УникальныйИдентификатор - Идентификатор сообщения. +// +Процедура УдалитьСообщение(Идентификатор) Экспорт + + НаборЗаписей = РегистрыСведений.ОчередьСообщенийНаСервер.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Идентификатор.Установить(Идентификатор); + НаборЗаписей.Записать(); + + РегистрыСведений.ПротоколСобытий.ДобавитьИнформацию( + СтрШаблон( + НСтр("ru = 'Сообщение обмена ""%1"" удалено из очереди'; + |en = 'The message ""%1"" is removed from queue'"), + Идентификатор)); + + Выборка = РегистрыСведений.ОчередьСообщенийНаСервер.Выбрать(); + Если Выборка.Следующий() Тогда + Константы.ЕстьНеотправленныеДанные.Установить(Истина); + КонецЕсли; + +КонецПроцедуры + +// Очищает очередь сообщений подготовленных для сервера +// +Процедура ОчиститьОчередьСообщенияДляСервера() Экспорт + + Выборка = РегистрыСведений.ОчередьСообщенийНаСервер.Выбрать(); + + Пока Выборка.Следующий() Цикл + + УдалитьСообщение(Выборка.Идентификатор); + + КонецЦикла; + +КонецПроцедуры + +// Возвращает количество сообщений готовых к отправке на сервер +// +// Возвращаемое значение: +// Счетчик - Число сообщений в очереди. +// +Функция КоличествоСообщенийВОчереди() Экспорт + + Счетчик = 0; + Выборка = РегистрыСведений.ОчередьСообщенийНаСервер.Выбрать(); + + Пока Выборка.Следующий() Цикл + Счетчик = Счетчик + 1; + КонецЦикла; + + Возврат Счетчик; + +КонецФункции + +#КонецОбласти + +#КонецЕсли + diff --git "a/InformationRegisters/\320\237\320\276\320\272\320\260\320\267\320\260\321\202\320\265\320\273\320\270\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270.xml" "b/InformationRegisters/\320\237\320\276\320\272\320\260\320\267\320\260\321\202\320\265\320\273\320\270\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270.xml" new file mode 100644 index 0000000..9d3b356 --- /dev/null +++ "b/InformationRegisters/\320\237\320\276\320\272\320\260\320\267\320\260\321\202\320\265\320\273\320\270\320\241\321\202\320\260\321\202\320\270\321\201\321\202\320\270\320\272\320\270.xml" @@ -0,0 +1,320 @@ + + + + + + 99ae728a-c0b6-43ee-b481-38bfcbe3617d + 936ea59e-543c-462b-8ff3-840bc56f0ce2 + + + f3e07f83-d71e-4bd3-b77d-2120dc8ce0d7 + 1e854ab4-734a-42c5-bad9-0c7be6eed76f + + + bea7ad49-efa3-462f-bb73-e3baff04d83d + fa21762a-aa8f-4395-8173-88e1126b6de8 + + + 04dbc21a-d3d2-499c-8af1-016a6fbb359c + 80cf3336-daa7-4af4-b512-b1a49b8d7797 + + + 37985fe2-b599-4974-a4e1-f94f2de5a138 + f8126da6-3bc5-4593-9b6f-40faae1b3924 + + + 5e6862aa-07b0-436e-b245-437f6c6b1a36 + 944681eb-b526-4022-bac1-0fb5e6ffcda3 + + + 377fd29b-8ed2-4958-8db9-31b35bedd4c7 + 82d1ef4b-14ee-4303-a296-7c825aa00430 + + + + ПоказателиСтатистики + + + ru + Показатели статистики + + + + false + InDialog + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + ShowError + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + Значение + + + ru + Значение + + + + + xs:boolean + xs:string + xs:dateTime + xs:decimal + + 10 + 0 + Any + + + 100 + Variable + + + Date + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + Показатель + + + ru + Показатель + + + + + xs:string + + 50 + Variable + + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + true + DontIndex + DontUse + Use + + + + + МоментВремени + + + ru + Момент времени + + + + + xs:decimal + + 15 + 0 + Nonnegative + + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + Index + DontUse + Use + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260.xml" new file mode 100644 index 0000000..f3ff5d6 --- /dev/null +++ "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -0,0 +1,287 @@ + + + + + + 3dc29ada-68ba-43de-a019-911aabd224ca + 69771b7a-e30d-47e1-aee4-acd5049806b2 + + + 3ec76e6d-2709-4c43-9980-1a3a24bfe6c1 + 08c23966-c001-4064-bdc1-f333543ffe25 + + + beeaa0e0-73f0-481e-9212-e8e74a3a8a66 + 427a941c-4c50-419f-8cd2-22c52633301c + + + aee113b0-4888-424b-9bf7-778138b64e34 + ed7bdd05-72e2-442e-b945-0fb0b95b08f1 + + + 4c72420a-ab4d-4be7-8e24-10eaa4fcc80a + 8f19bf5d-0b03-4812-8631-df065381a154 + + + 8fc27a39-fa71-4320-9ca8-8e41532f284c + 75a82e4c-f744-4a8b-8975-cad4ffb91304 + + + fbc0153c-3b33-4594-93ab-1f15eb2d9f64 + b3aeda6e-ff52-4d0d-b408-b554c986323c + + + + ПолученныеДанныеОбмена + + + ru + Полученные данные обмена + + + + false + InDialog + + InformationRegister.ПолученныеДанныеОбмена.Form.ФормаСписка + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + Данные + + + ru + Данные + + + + + v8:ValueStorage + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + МоментВремени + + + ru + Момент времени + + + + + xs:decimal + + 15 + 0 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + Index + DontUse + Use + + + + + УдалитьМоментВремени + + + ru + Удалить момент времени + + + + + xs:decimal + + 15 + 0 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + Index + DontUse + Use + + + + + ИдентификаторСообщения + + + ru + Идентификатор сообщения + + + + + v8:UUID + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + Index + DontUse + Use + + + + + НомерЧасти + + + ru + Номер части + + + + + xs:decimal + + 10 + 0 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + DontIndex + DontUse + Use + + +
ФормаСписка
+
+
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ManagerModule.bsl" "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..8155f86 --- /dev/null +++ "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ManagerModule.bsl" @@ -0,0 +1,129 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Добавляет запись в регистр ПолученныеДанныеОбмена. +// +// Параметры: +// ИдентификаторСообщения - УникальныйИдентификатор - Идентификатор сообщения; +// НомерЧасти - Число - Номер записываемой части сообщения; +// ДанныеЧасти - ХранилищеЗначения - Данные части сообщения. +// +Процедура ДобавитьЗапись(ИдентификаторСообщения, НомерЧасти, ДанныеЧасти) Экспорт + + МенеджерЗаписиРегистра = РегистрыСведений.ПолученныеДанныеОбмена.СоздатьМенеджерЗаписи(); + + МенеджерЗаписиРегистра.ИдентификаторСообщения = ИдентификаторСообщения; + МенеджерЗаписиРегистра.НомерЧасти = НомерЧасти; + МенеджерЗаписиРегистра.Данные = ДанныеЧасти; + МенеджерЗаписиРегистра.МоментВремени = ТекущаяУниверсальнаяДатаВМиллисекундах(); + + МенеджерЗаписиРегистра.Записать(); + +КонецПроцедуры + +// Удаляет из регистра все записи, относящиеся к указанному сообщению. +// +// Параметры: +// ИдентификаторСообщения - УникальныйИдентификатор - Идентификатор удаляемого сообщения. +// +Процедура УдалитьСообщение(ИдентификаторСообщения) Экспорт + + НаборЗаписейРегистра = РегистрыСведений.ПолученныеДанныеОбмена.СоздатьНаборЗаписей(); + НаборЗаписейРегистра.Отбор.ИдентификаторСообщения.Значение = ИдентификаторСообщения; + НаборЗаписейРегистра.Отбор.ИдентификаторСообщения.Использование = Истина; + НаборЗаписейРегистра.Записать(); + +КонецПроцедуры + +// Собирает из частей первое сообщение +// +// Параметры: +// Счетчик - Число - Номер получаемого сообщения в очереди. +// +// Возвращаемое значение: +// Структура - Параметры сообщения обмена +// ** ИмяФайла - Строка - Имя файла с записанным сообщением; +// ** ИдентификаторСообщения - УникальныйИдентификатор - Идентификатор сообщения. +// +Функция ПолучитьСообщение(Счетчик = Неопределено) Экспорт + + ИскомыйИдентификатор = Неопределено; + + Если Счетчик <> Неопределено Тогда + + Выборка = РегистрыСведений.ПолученныеДанныеОбмена.Выбрать(, "МоментВремени Возр"); + Идентификатор = Неопределено; + ТекущийСчетчик = 0; + + Пока Выборка.Следующий() Цикл + + Если Выборка.ИдентификаторСообщения <> Идентификатор Тогда + Идентификатор = Выборка.ИдентификаторСообщения; + ТекущийСчетчик = ТекущийСчетчик + 1; + КонецЕсли; + Если ТекущийСчетчик = Счетчик Тогда + ИскомыйИдентификатор = Идентификатор; + Прервать; + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + ВыборкаПервойЧасти = РегистрыСведений.ПолученныеДанныеОбмена.Выбрать(, "МоментВремени Возр"); + Если ИскомыйИдентификатор = Неопределено Тогда + ВыборкаПервойЧасти.Следующий(); + Иначе + Пока ВыборкаПервойЧасти.Следующий() Цикл + Если ВыборкаПервойЧасти.ИдентификаторСообщения = ИскомыйИдентификатор Тогда + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + ИдентификаторСообщения = ВыборкаПервойЧасти.ИдентификаторСообщения; + МассивИменФайловЧастейДляОбъединения = Новый Массив; + + СтруктураОтбора = Новый Структура("ИдентификаторСообщения", ИдентификаторСообщения); + ВыборкаЧастей = РегистрыСведений.ПолученныеДанныеОбмена.Выбрать(СтруктураОтбора); + + Пока ВыборкаЧастей.Следующий() Цикл + ДанныеСообщения = ВыборкаЧастей.Данные.Получить(); + //ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml"); + //ВыборкаЧастей.Данные.Получить().Записать(ИмяВременногоФайла); + //МассивИменФайловЧастейДляОбъединения.Добавить(ИмяВременногоФайла); + КонецЦикла; + + //ИмяФайлаСообщения = ПолучитьИмяВременногоФайла("xml"); + //ОбъединитьФайлы(МассивИменФайловЧастейДляОбъединения, ИмяФайлаСообщения); + + //Для Каждого Часть Из МассивИменФайловЧастейДляОбъединения Цикл + // УдалитьФайлы(Часть); + //КонецЦикла; + + Сообщение = Новый Структура; + Сообщение.Вставить("Данные", ДанныеСообщения); + Сообщение.Вставить("ИдентификаторСообщения", ИдентификаторСообщения); + + Возврат Сообщение; + +КонецФункции + +// Удаляет все полученные данные обмена и настраивает систему для приема новых данных. +// +Процедура ОчиститьРегистр() Экспорт + + Константы.ИдентификаторПоследнегоЗагруженногоСообщения.Установить(УникальныйИдентификаторПустой()); + Константы.НомерПоследнейЗагруженнойЧастиСообщения.Установить(0); + + НаборЗаписей = РегистрыСведений.ПолученныеДанныеОбмена.СоздатьНаборЗаписей(); + НаборЗаписей.Записать(); + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли + diff --git "a/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" new file mode 100644 index 0000000..7cdcdea --- /dev/null +++ "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" @@ -0,0 +1,20 @@ + + +
+ + ФормаСписка + + + ru + Форма списка + + + + Managed + false + + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" new file mode 100644 index 0000000..4aa2ec8 --- /dev/null +++ "b/InformationRegisters/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -0,0 +1,124 @@ + +
+ + false + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа пользовательских настроек</v8:content> + </v8:item> + + false + Vertical + false + + + + List + None + true + true + ExpandTopLevel + true + AsFile + Список + Список.DefaultPicture + None + false + 60 + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + Items + false + + true + false + Auto + СписокКомпоновщикНастроекПользовательскиеНастройки + + + false + + + + + Список + SearchStringRepresentation + + + + + + + Список + ViewStatusRepresentation + + + + + + + Список + SearchControl + + + + + + + Список.МоментВремени + true + + + + + Список.ИдентификаторСообщения + true + + + + + Список.НомерЧасти + true + + + + +
+
+ + + + cfg:DynamicList + + true + + false + true + InformationRegister.ПолученныеДанныеОбмена + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + + + + +
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" new file mode 100644 index 0000000..c87ca56 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" @@ -0,0 +1,408 @@ + + + + + + 8b3f77ae-4231-47d5-914d-af58ba96c118 + 4578e918-fd9b-48e9-8fa3-cc584222a1e0 + + + 08c489e3-4341-45b9-9676-f186e91aa114 + cbfa2972-3d06-4c43-a687-82c1618e9a82 + + + dedaa823-dc82-4041-ad2c-84b8c40e1ce9 + dc664a88-0fcb-455b-ad33-2290fe85a4a8 + + + 05d3d43f-817b-4b67-b41d-767d9cc19bbe + a065dbe5-4226-4e23-85d2-233f544eb1d5 + + + 3f016779-7875-4aa2-870d-b32531d9f158 + 05e74bc4-84dc-4e93-b23b-b7a62251a3a1 + + + 18a40410-692c-4fcd-bef0-7041ade0b44e + f33eca8b-ecc5-4978-bd1a-5e5971c3df28 + + + 25a4d717-5d8a-46a9-bffe-feffc8a39dff + 5b79c157-4c68-4074-b34e-60e4912772c6 + + + + ПротоколСобытий + + + ru + Протокол событий + + + + false + InDialog + InformationRegister.ПротоколСобытий.Form.ФормаЗаписи + InformationRegister.ПротоколСобытий.Form.ФормаСписка + + + Second + Independent + true + false + Managed + DontUse + false + false + + + + + + DontUse + + + + + ИдентификаторОбъекта + + + ru + Идентификатор объекта + + + + + v8:UUID + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + Описание + + + ru + Описание + + + + + xs:string + + 0 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + ТипОбъекта + + + ru + Тип объекта + + + + + xs:string + + 0 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + ТипСобытия + + + ru + Тип события + + + + + cfg:EnumRef.ТипыСобытийПротокола + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + НеобходимоОтобразитьПослеСинхронизации + + + ru + Необходимо отобразить после синхронизации + + + + + xs:boolean + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + Index + DontUse + Use + + + + + ТипСобытияИндекс + + + ru + Тип события индекс + + + + + xs:decimal + + 10 + 0 + Any + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + СессияСинхронизации + + + ru + Сессия синхронизации + + + + + xs:decimal + + 10 + 0 + Nonnegative + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + DontUse + Use + + + + + МоментВремени + + + ru + Момент времени + + + + + xs:decimal + + 15 + 0 + Nonnegative + + + false + + + + false + + false + false + + + true + + DontCheck + Items + + + Auto + Auto + + + Auto + false + true + false + Index + DontUse + Use + + +
ФормаСписка
+
ФормаСпискаСобытий
+
ФормаЗаписи
+
+
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/ManagerModule.bsl" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/ManagerModule.bsl" new file mode 100644 index 0000000..68fc6b0 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/ManagerModule.bsl" @@ -0,0 +1,204 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Добавляет событие в протокол событий +// +// Параметры: +// Описание - Строка - Описание события; +// ТипСобытия - Строка - Тип события. +// +// Возвращаемое значение: +// Число - Момент времени записи события по объекту. +// +Функция Добавить(Описание, ТипСобытия) Экспорт + + МенеджерЗаписиРегистра = РегистрыСведений.ПротоколСобытий.СоздатьМенеджерЗаписи(); + + МенеджерЗаписиРегистра.Период = ТекущаяДата(); + МенеджерЗаписиРегистра.МоментВремени = ТекущаяУниверсальнаяДатаВМиллисекундах(); + МенеджерЗаписиРегистра.ТипСобытия = ТипСобытия; + МенеджерЗаписиРегистра.Описание = СокрЛП(Описание); + + МенеджерЗаписиРегистра.Записать(); + + Возврат МенеджерЗаписиРегистра.МоментВремени; + +КонецФункции + +// Добавляет запись по указанному объекту данных в протокол +// +// Параметры: +// Описание - Строка - Описание события; +// ТипСобытия - Строка - Тип события +// ТипОбъекта - Строка - Строковое представление типа объекта; +// ИдентификаторОбъекта - Строка - Идентификатор объекта. +// +// Возвращаемое значение: +// Число - Момент времени записи события по объекту. +// +Функция ДобавитьПоОбъекту( + Описание, + ТипСобытия, + ТипОбъекта, + ИдентификаторОбъекта) Экспорт + + Если Не ЗначениеЗаполнено(Описание) Тогда + Возврат 0; + КонецЕсли; + + МенеджерЗаписиРегистра = РегистрыСведений.ПротоколСобытий.СоздатьМенеджерЗаписи(); + МенеджерЗаписиРегистра.Период = ТекущаяДата(); + МенеджерЗаписиРегистра.МоментВремени = ТекущаяУниверсальнаяДатаВМиллисекундах(); + + МенеджерЗаписиРегистра.ИдентификаторОбъекта = ИдентификаторОбъекта; + МенеджерЗаписиРегистра.Описание = СокрЛП(Описание); + МенеджерЗаписиРегистра.ТипСобытия = ТипСобытия; + МенеджерЗаписиРегистра.ТипОбъекта = ТипОбъекта; + + МенеджерЗаписиРегистра.НеобходимоОтобразитьПослеСинхронизации = Ложь; + + МенеджерЗаписиРегистра.Записать(); + + Возврат МенеджерЗаписиРегистра.МоментВремени; + +КонецФункции + +// Добавляет событие типа Информация в протокол событий +// +// Параметры: +// Описание - Строка - Текст ошибки. +// +// Возвращаемое значение: +// Число - Момент времени записи предупреждения. +// +Функция ДобавитьИнформацию(Описание) Экспорт + + Возврат Добавить(Описание, Перечисления.ТипыСобытийПротокола.Информация); + +КонецФункции + +// Добавляет события типа Информация по указанному объекту данных в протокол событий. +// +// Параметры: +// Описание - Строка - Текст информации; +// ТипОбъекта - Строка - Строковое представление типа объекта; +// ИдентификаторОбъекта - Строка - Идентификатор объекта. +// +// Возвращаемое значение: +// Число - Момент времени записи события по объекту. +// +Функция ДобавитьИнформациюПоОбъекту(Описание, ТипОбъекта, ИдентификаторОбъекта) Экспорт + + Возврат ДобавитьПоОбъекту( + Описание, + Перечисления.ТипыСобытийПротокола.Информация, + ТипОбъекта, + ИдентификаторОбъекта); + +КонецФункции + +// Добавляет событие типа Предупреждение в протокол событий +// +// Параметры: +// Описание - Строка - Текст ошибки. +// +// Возвращаемое значение: +// Число - Момент времени записи предупреждения. +// +Функция ДобавитьПредупреждение(Описание) Экспорт + + Возврат Добавить(Описание, Перечисления.ТипыСобытийПротокола.Предупреждение); + +КонецФункции + +// Добавляет событие типа Ошибка в протокол событий +// +// Параметры: +// Описание - Строка - Текст ошибки. +// +// Возвращаемое значение: +// Число - Момент времени записи сообщения об ошибке. +// +Функция ДобавитьОшибку(Описание) Экспорт + + Возврат Добавить(Описание, Перечисления.ТипыСобытийПротокола.Ошибка); + +КонецФункции + +// Устанавливает в протоколе событий у записи признак того, что запись необходимо показать +// пользователю после завершения процесса синхронизации. +// +// Параметры: +// МоментВремени - Число - Дата в миллисекундах, для которой нужно получить описание события. +// Необходимость - Булево - Признак необходимости отображения сообщения; +// +Процедура УстановитьНеобходимостьОтображенияПослеСинхронизации(МоментВремени, Необходимость) Экспорт + + НаборЗаписейРегистра = РегистрыСведений.ПротоколСобытий.СоздатьНаборЗаписей(); + НаборЗаписейРегистра.Отбор.МоментВремени.Установить(МоментВремени); + НаборЗаписейРегистра.Прочитать(); + + Для Каждого Запись Из НаборЗаписейРегистра Цикл + Запись.НеобходимоОтобразитьПослеСинхронизации = Необходимость; + КонецЦикла; + + НаборЗаписейРегистра.Записать(); + +КонецПроцедуры + +// Получает описание события +// +// Параметры: +// МоментВремени - Число - Дата в миллисекундах, для которой нужно получить описание события. +// +// Возвращаемое значение: +// Описание - есть описание, на указанный момент времени; +// Неопределено - нет описания. +// +Функция ПолучитьОписаниеСобытияПоМоментуВремени(МоментВремени) Экспорт + + СтруктураОтбора = Новый Структура("МоментВремени", МоментВремени); + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(,,СтруктураОтбора); + Если Выборка.Следующий() Тогда + Возврат Выборка.Описание; + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +// Возвращает признак наличия ошибки в указанной сессии обмена с сервером. +// +// Параметры: +// НомерСессии - Число - номер сессии обмена с сервером. +// +// Возвращаемое значение: +// Булево - Истина, если в указанной сессии есть ошибки. +// +Функция ЕстьОшибкиВСессииОбмена(НомерСессии = Неопределено) Экспорт + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать( + ТекущаяДата() - 7 * 24 * 60 * 60,,, + "МоментВремени Убыв"); + + Пока Выборка.Следующий() Цикл + + Если Выборка.СессияСинхронизации = НомерСессии + И Выборка.НеобходимоОтобразитьПослеСинхронизации Тогда + + Возврат Истина; + + КонецЕсли; + + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти + +#КонецЕсли diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/RecordSetModule.bsl" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/RecordSetModule.bsl" new file mode 100644 index 0000000..e0127aa --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/RecordSetModule.bsl" @@ -0,0 +1,62 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ, Замещение) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + // Заполнение индекса типа события для отображения картинки в списке + Для Каждого Запись Из ЭтотОбъект Цикл + + Запись.ТипСобытияИндекс = 0; + + Если Запись.ТипСобытия = Перечисления.ТипыСобытийПротокола.Предупреждение Тогда + Запись.ТипСобытияИндекс = 1; + + ИначеЕсли Запись.ТипСобытия = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + Запись.ТипСобытияИндекс = 2; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Процедура ПриЗаписи(Отказ, Замещение) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Если ЭтотОбъект.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + // При записи каждой 10-й записи удаляются записи протокола старше 7 дней. + ГенераторЧисел = Новый ГенераторСлучайныхЧисел(); + ОчередноеЧисло = ГенераторЧисел.СлучайноеЧисло(1, 10); + Если ОчередноеЧисло = 5 Тогда + + ГраницаУдаления = ТекущаяДата() - 7 * 24 * 60 * 60; + ПротоколВыборка = РегистрыСведений.ПротоколСобытий.Выбрать(, ГраницаУдаления); + + Пока ПротоколВыборка.Следующий() Цикл + + МенеджерЗаписи = РегистрыСведений.ПротоколСобытий.СоздатьМенеджерЗаписи(); + МенеджерЗаписи.Период = ПротоколВыборка.Период; + МенеджерЗаписи.МоментВремени = ПротоколВыборка.МоментВремени; + + МенеджерЗаписи.Удалить(); + + КонецЦикла; + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270.xml" new file mode 100644 index 0000000..f426be9 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270.xml" @@ -0,0 +1,20 @@ + + +
+ + ФормаЗаписи + + + ru + Форма записи + + + + Managed + false + + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form.xml" new file mode 100644 index 0000000..97a6948 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form.xml" @@ -0,0 +1,152 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Событие</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Event</v8:content> + </v8:item> + + LockOwnerWindow + + Abort + Cancel + Copy + CustomizeForm + Delete + Help + Ignore + No + OK + Reread + RestoreValues + Retry + SaveValues + Write + WriteAndClose + Yes + + + + ПриСозданииНаСервере + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа период вид</v8:content> + </v8:item> + + + + ru + Группа период вид + + + Horizontal + None + false + + + + Запись.ТипСобытияИндекс + None + 3 + 1 + false + false + + CommonPicture.КоллекцияСтрокВидыСобытийПротокола + true + + + WithoutBorder + + AsFile + + + + + Запись.Period + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата</v8:content> + </v8:item> + + + None + true + + + + + + Запись.СессияСинхронизации + None + + + + + + + + СписокТекстом + + Top + + + + ОписаниеПриИзменении + + + + Запись.ТипОбъекта + + None + + + + + + Запись.ИдентификаторОбъекта + + None + + + + + + + + + cfg:InformationRegisterRecordManager.ПротоколСобытий + + true + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Событие</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Event</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form/Module.bsl" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form/Module.bsl" new file mode 100644 index 0000000..5bf5a4b --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Ext/Form/Module.bsl" @@ -0,0 +1,133 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Запись.ИдентификаторОбъекта = УникальныйИдентификаторПустой() Тогда + + Элементы.ТипОбъекта.Видимость = Ложь; + Элементы.ИдентификаторОбъекта.Видимость = Ложь; + + КонецЕсли; + + СписокТекстом = + " + | + | + | + | + | + |
"; + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + СписокТекстом = СтрЗаменить(СписокТекстом, "%1", "14"); + Иначе + СписокТекстом = СтрЗаменить(СписокТекстом, "%1", "12"); + КонецЕсли; + + Счетчик = 1; + ЕстьОшибки = Ложь; + СписокТекстом = СтрЗаменить( + СписокТекстом, + "%content%", + "content = ""text/html,width=320,initial-scale=1, user-scalable = no"""); + + Если Запись.ТипСобытия = Перечисления.ТипыСобытийПротокола.Информация Тогда + Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + + ИначеЕсли Запись.ТипСобытия = Перечисления.ТипыСобытийПротокола.Предупреждение Тогда + Картинка = БиблиотекаКартинок.ЗадачаНеУспешноеВыполнение; + + ИначеЕсли Запись.ТипСобытия = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + ЕстьОшибки = Истина; + + КонецЕсли; + + Если ТипЗнч(Картинка) = Тип("Картинка") Тогда + ДвоичныеДанныеФото = Картинка.ПолучитьДвоичныеДанные(); + Формат = Строка(Картинка.Формат()); + Иначе + ДвоичныеДанныеФото = Неопределено; + Формат = ФорматКартинки.НеизвестныйФормат; + КонецЕсли; + + СтрокаИсточника = "data:image/" + Формат + ";base64," + Base64Строка(ДвоичныеДанныеФото); + + ПозицияНачалаОписанияОшибки = СтрНайти(Запись.Описание, ":#"); + + Если ПозицияНачалаОписанияОшибки > 0 Тогда + + СтрокаНачало = СтрШаблон( + "%2", + Строка(Счетчик), + НСтр("ru = 'Показать дополнительную информацию (для администратора)'; + |en = 'Show more (for administrators)'")); + + ПозицияНачалаТекстаОбОшибке = ПозицияНачалаОписанияОшибки + 2; + СтрокаТекстОшибкиДляАдминистратора = СтрШаблон( + "
%2
", + Строка(Счетчик), + Сред(Запись.Описание, ПозицияНачалаТекстаОбОшибке)); + + СтрокаТекстОшибкиДляАдминистратора = + СтрЗаменить(СтрокаТекстОшибкиДляАдминистратора, Символы.ПС, "
"); + + СтрокаТекстОшибкиДляПользователя = + Сред(Запись.Описание, 1, СтрНайти(Запись.Описание, "#") - 1); + + СтрокаТекстОшибкиДляПользователя = + СтрЗаменить(СтрокаТекстОшибкиДляПользователя, Символы.ПС, "
"); + + ОднаСтрока = СтрШаблон( + "
%1%2%3

", + СтрокаТекстОшибкиДляПользователя, + СтрокаНачало, + СтрокаТекстОшибкиДляАдминистратора); + Иначе + + ОднаСтрока = СтрШаблон( + "
%1

", + СтрЗаменить(Запись.Описание, Символы.ПС, "
")); + + КонецЕсли; + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ОднаСтрока = СтрЗаменить(ОднаСтрока, "#height", "24"); + Иначе + ОднаСтрока = СтрЗаменить(ОднаСтрока, "#height", "16"); + КонецЕсли; + + СписокТекстом = СписокТекстом + ОднаСтрока; + + СписокТекстом = СписокТекстом + "
"; + +КонецПроцедуры + +&НаКлиенте +Процедура ОписаниеПриИзменении(Элемент) + + Модифицированность = Ложь; + +КонецПроцедуры + +#КонецОбласти + diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" new file mode 100644 index 0000000..e79d8d0 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" @@ -0,0 +1,20 @@ + + +
+ + ФормаСписка + + + ru + Форма списка + + + + Managed + false + + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" new file mode 100644 index 0000000..b49a4b3 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" @@ -0,0 +1,378 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Протокол событий</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Event protocol</v8:content> + </v8:item> + + false + useIfNecessary + + false + + + + + + + + List + Top + true + false +
false
+ false + Beginning + ExpandTopLevel + true + AsFile + Список + + CancelSearch + Change + Choose + Copy + CopyToClipboard + Create + DynamicListStandardSettings + Find + FindByCurrentValue + ListSettings + LoadDynamicListSettings + OutputList + Refresh + SaveDynamicListSettings + SearchHistory + SetDateInterval + + None + None + false + 60 + + Custom + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + Items + false + + true + false + Auto + + + false + + + + + Список + SearchStringRepresentation + + + + + + + Список + ViewStatusRepresentation + + + + + + + Список + SearchControl + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа строки</v8:content> + </v8:item> + + + + ru + Группа строки + + + 1 + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа первая строка</v8:content> + </v8:item> + + + + ru + Группа первая строка + + + 1 + Horizontal + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа дата тип</v8:content> + </v8:item> + + + + ru + Группа дата тип + + + 1 + InCell + + + + Список.ТипСобытияИндекс + 3 + false + false + + CommonPicture.КоллекцияСтрокВидыСобытийПротокола + true + + + AsFile + + + + + Список.Period + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Дата</v8:content> + </v8:item> + + false + 12 + 1 + + + + + + Список.СессияСинхронизации + 2 + + + + + + + + Список.ТипОбъекта + 1 + + + + + + Список.ИдентификаторОбъекта + 1 + + + + + + + + Список.Описание + true + false + 1 + 2 + + + + + + + +
+
+ + + + cfg:DynamicList + + + Список.Period + Список.ТипСобытия + + + false + true + InformationRegister.ПротоколСобытий + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + + МоментВремени + Desc + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + + + + Период + + + + + ТипСобытия + Equal + Перечисление.ТипыСобытийПротокола.Ошибка + + + + + ЦветТекста + web:FireBrick + + + + + + + ОписаниеСобытия + + + + + 1 + Equal + 1 + + + + + ЦветТекста + web:DimGray + + + + + + + ИдентификаторОбъекта + + + ТипОбъекта + + + + + ИдентификаторОбъекта + NotFilled + + + + + Текст + + + + false + Видимость + false + + + false + Отображать + false + + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Вывести как текст</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Show as text</v8:content> + </v8:item> + + + + ru + Вывести протокол + + + ВывестиПротокол + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Очистить протокол</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Remove all protocol events</v8:content> + </v8:item> + + + + ru + Очистить протокол + + + ОчиститьПротокол + DontUse + + + \ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" new file mode 100644 index 0000000..d83567d --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,35 @@ + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ВывестиПротокол(Команда) + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("Текст", РаботаСПротоколомСобытийВызовСервера.ПолучитьТекстПротокола()); + + ОткрытьФорму("ОбщаяФорма.ОтображениеПротоколаСобытий", ПараметрыФормы, ЭтаФорма,,,, Неопределено, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура ОчиститьПротокол(Команда) + + ОчиститьПротоколСервер(); + Элементы.Список.Обновить(); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервереБезКонтекста +Процедура ОчиститьПротоколСервер() + + Набор = РегистрыСведений.ПротоколСобытий.СоздатьНаборЗаписей(); + Набор.Записать(); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" new file mode 100644 index 0000000..46f3436 --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271.xml" @@ -0,0 +1,20 @@ + + +
+ + ФормаСпискаСобытий + + + ru + Форма списка событий + + + + Managed + false + + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" new file mode 100644 index 0000000..c7e291a --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form.xml" @@ -0,0 +1,169 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Протокол синхронизации</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Synchronization protocol</v8:content> + </v8:item> + + false + Top + + Right + false + + + + + + + ПриОткрытии + ПриСозданииНаСервере + + + + СписокТекстом + None + + + + СписокТекстомПриНажатии + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Моменты времени событий</v8:content> + </v8:item> + + + v8:ValueListType + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Список текстом</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заголовок сообщения</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + Идентификатор + + + + + 1 + Equal + 1 + + + + + Видимость + false + + + Отображать + false + + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сообщить администратору</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Write to the administrator</v8:content> + </v8:item> + + + + ru + Сообщить администратору + + + СообщитьАдминистратору + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Повторить</v8:content> + </v8:item> + <v8:item> + <v8:lang>en</v8:lang> + <v8:content>Repeat</v8:content> + </v8:item> + + + + ru + Повторить попытку + + + ПовторитьПопытку + DontUse + + +
\ No newline at end of file diff --git "a/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" new file mode 100644 index 0000000..6d5588d --- /dev/null +++ "b/InformationRegisters/\320\237\321\200\320\276\321\202\320\276\320\272\320\276\320\273\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Ext/Form/Module.bsl" @@ -0,0 +1,273 @@ + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Свойство("Заголовок") Тогда + АвтоЗаголовок = Ложь; + Заголовок = Параметры.Заголовок; + КонецЕсли; + + ЗаголовокСообщения = НСтр("ru = 'Сообщение администратору'; en = 'Write to administrator'"); + + Если Параметры.Свойство("МоментыВремениСобытий") Тогда + МоментыВремениСобытий.ЗагрузитьЗначения(Параметры.МоментыВремениСобытий); + КонецЕсли; + + СписокТекстом = + " + | + | + | + | + | + |
"; + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + СписокТекстом = СтрЗаменить(СписокТекстом, "%1", "14"); + Иначе + СписокТекстом = СтрЗаменить(СписокТекстом, "%1", "12"); + КонецЕсли; + + Счетчик = 1; + ЕстьОшибки = Ложь; + СписокТекстом = СтрЗаменить( + СписокТекстом, + "%content%", + "content = ""text/html,width=320,initial-scale=1, user-scalable = no"""); + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("НеобходимоОтобразитьПослеСинхронизации", Истина); + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(,,СтруктураОтбора); + Пока Выборка.Следующий() Цикл + + Счетчик = Счетчик + 1; + + Если Выборка.ТипСобытия = Перечисления.ТипыСобытийПротокола.Информация Тогда + Картинка = БиблиотекаКартинок.ЗадачаУспешноеВыполнение; + + ИначеЕсли Выборка.ТипСобытия = Перечисления.ТипыСобытийПротокола.Предупреждение Тогда + Картинка = БиблиотекаКартинок.ЗадачаНеУспешноеВыполнение; + + ИначеЕсли Выборка.ТипСобытия = Перечисления.ТипыСобытийПротокола.Ошибка Тогда + Картинка = БиблиотекаКартинок.КомандаУдалитьСтроку; + ЕстьОшибки = Истина; + + КонецЕсли; + + ДвоичныеДанныеФото = Картинка.ПолучитьДвоичныеДанные(); + Формат = Строка(Картинка.Формат()); + + СтрокаИсточника = "data:image/" + Формат + ";base64," + Base64Строка(ДвоичныеДанныеФото); + + ПозицияНачалаОписанияОшибки = СтрНайти(Выборка.Описание, ":#"); + + Если ПозицияНачалаОписанияОшибки > 0 Тогда + + СтрокаНачало = СтрШаблон( + "%2", + Строка(Счетчик), + НСтр("ru = 'Показать дополнительную информацию (для администратора)'; + |en = 'See details'")); + + ПозицияНачалаТекстаОбОшибке = ПозицияНачалаОписанияОшибки + 2; + СтрокаТекстОшибкиДляАдминистратора = СтрШаблон( + "
%2
", + Строка(Счетчик), + Сред(Выборка.Описание, ПозицияНачалаТекстаОбОшибке)); + + СтрокаТекстОшибкиДляАдминистратора = + СтрЗаменить(СтрокаТекстОшибкиДляАдминистратора, Символы.ПС, "
"); + + СтрокаТекстОшибкиДляПользователя = + Сред(Выборка.Описание, 1, СтрНайти(Выборка.Описание, "#") - 1); + + СтрокаТекстОшибкиДляПользователя = + СтрЗаменить(СтрокаТекстОшибкиДляПользователя, Символы.ПС, "
"); + + ОднаСтрока = СтрШаблон( + "
%2%3%4

", + СтрокаИсточника, + СтрокаТекстОшибкиДляПользователя, + СтрокаНачало, + СтрокаТекстОшибкиДляАдминистратора); + Иначе + + ОднаСтрока = СтрШаблон( + "
%2

", + СтрокаИсточника, + СтрЗаменить(Выборка.Описание, Символы.ПС, "
")); + + КонецЕсли; + + Если ЭтоУстройствоСБольшимЭкраном() Тогда + ОднаСтрока = СтрЗаменить(ОднаСтрока, "#height", "24"); + Иначе + ОднаСтрока = СтрЗаменить(ОднаСтрока, "#height", "16"); + КонецЕсли; + + СписокТекстом = СписокТекстом + ОднаСтрока; + + КонецЦикла; + + СписокТекстом = СписокТекстом + "
"; + + Элементы.СообщитьАдминистратору.Видимость = Ложь; + Элементы.ФормаПовторитьПопытку.Видимость = Ложь; + + Если ЕстьОшибки Тогда + + Элементы.СообщитьАдминистратору.Видимость = Истина; + Элементы.ФормаПовторитьПопытку.Видимость = Истина; + + Если Не ЭтоУстройствоСБольшимЭкраном() Тогда + Элементы.СообщитьАдминистратору.Заголовок = + НСтр("ru = 'Сообщить админ-у'; en = 'Write to the admin'"); + КонецЕсли; + + КонецЕсли; + + Если Параметры.Свойство("КнопкаПовторить") Тогда + Элементы.ФормаПовторитьПопытку.Видимость = Параметры.КнопкаПовторить; + КонецЕсли; + + Если НЕ ЭтоУстройствоСБольшимЭкраном() Тогда + Элементы.ФормаПовторитьПопытку.Отображение = ОтображениеКнопки.Картинка; + КонецЕсли; + + СтруктураОтбора = Новый Структура; + СтруктураОтбора.Вставить("НеобходимоОтобразитьПослеСинхронизации", Истина); + + Выборка = РегистрыСведений.ПротоколСобытий.Выбрать(,,СтруктураОтбора); + Пока Выборка.Следующий() Цикл + + МенеджерЗаписи = РегистрыСведений.ПротоколСобытий.СоздатьМенеджерЗаписи(); + + МенеджерЗаписи.Период = Выборка.Период; + МенеджерЗаписи.МоментВремени = Выборка.МоментВремени; + + МенеджерЗаписи.Прочитать(); + + Если МенеджерЗаписи.Выбран() Тогда + МенеджерЗаписи.НеобходимоОтобразитьПослеСинхронизации = Ложь; + МенеджерЗаписи.Записать(); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + РаботаСHTMLКлиентСервер.ДобавитьТегиКСсылкам(СписокТекстом); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура СписокТекстомПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) + + РаботаСHTMLКлиент.ОткрытьСсылку(ДанныеСобытия.Href, СтандартнаяОбработка); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОбработатьРешениеВопросСообщитьАдминистратору(ОтветПользователя, ДопПараметры) Экспорт + + Если ОтветПользователя = КодВозвратаДиалога.Таймаут + Или ОтветПользователя = КодВозвратаДиалога.Нет Тогда + Возврат; + КонецЕсли; + + Попытка + + Описание = НСтр("ru = 'Ошибка при синхронизации'; en = 'Synchronization errors'"); + + ОбменВызовСервера.ОтправитьИПолучитьДанные(ТекущаяДата(), "ОтправитьОтчетОПроблеме", Ложь, Описание); + + ТекстПредупреждения = + НСтр("ru = 'Сообщение успешно отправлено. + |Ответственные лица оповещены о проблеме.'; + |en = 'Message sent'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, , ЗаголовокСообщения); + + Элементы.СообщитьАдминистратору.Доступность = Ложь; + + Исключение + + Инфо = ИнформацияОбОшибке(); + РаботаСПротоколомСобытийВызовСервера.ДобавитьОшибку(ПодробноеПредставлениеОшибки(Инфо)); + + ТекстПредупреждения = + НСтр("ru = 'Не удалось отправить сообщение. + |Воспользуйтесь другими способами связи. + |Текст протокола можно скопировать. + | + |Подробности см. в протоколе'; + |en = 'The message isn''t sent + |See protocol for details'"); + + ПоказатьПредупреждение( , ТекстПредупреждения, ,ЗаголовокСообщения); + + КонецПопытки; + +КонецПроцедуры + +&НаКлиенте +Процедура СообщитьАдминистратору(Команда) + + ДопПараметры = Неопределено; + ОбработчикВыбораПользователя = + Новый ОписаниеОповещения("ОбработатьРешениеВопросСообщитьАдминистратору", ЭтаФорма, ДопПараметры); + + ТекстВопроса = НСтр("ru = 'Информация об ошибках будет передана администратору. + |Продолжить?'; + |en = 'All errors will be sent to administrator + |Continue?'"); + + ВариантыВыбора = РежимДиалогаВопрос.ДаНет; + ВариантПоУмолчанию = КодВозвратаДиалога.Нет; + + ПоказатьВопрос(ОбработчикВыбораПользователя, ТекстВопроса, ВариантыВыбора, , + ВариантПоУмолчанию, ЗаголовокСообщения, ); + +КонецПроцедуры + +&НаКлиенте +Процедура ПовторитьПопытку(Команда) + + ЭтаФорма.Закрыть(); + + Оповестить("ПовторитьСинхронизацию"); + +КонецПроцедуры + +#КонецОбласти diff --git a/Languages/English.xml b/Languages/English.xml new file mode 100644 index 0000000..09942be --- /dev/null +++ b/Languages/English.xml @@ -0,0 +1,16 @@ + + + + + English + + + ru + English + + + + en + + + \ No newline at end of file diff --git "a/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" "b/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" new file mode 100644 index 0000000..6817132 --- /dev/null +++ "b/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git "a/SessionParameters/\320\222\320\265\321\200\321\201\320\270\321\217\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" "b/SessionParameters/\320\222\320\265\321\200\321\201\320\270\321\217\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" new file mode 100644 index 0000000..d2f4501 --- /dev/null +++ "b/SessionParameters/\320\222\320\265\321\200\321\201\320\270\321\217\320\241\320\265\321\200\320\262\320\270\321\201\320\260.xml" @@ -0,0 +1,22 @@ + + + + + ВерсияСервиса + + + ru + Версия сервиса + + + Версия сервиса используемая в текущем сеансе обмена + + xs:string + + 3 + Variable + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" "b/SessionParameters/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..970f3f7 --- /dev/null +++ "b/SessionParameters/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\233\320\276\320\272\320\260\320\273\321\214\320\275\321\213\320\265\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,18 @@ + + + + + ИспользоватьЛокальныеУведомления + + + ru + Использовать локальные уведомления + + + + + xs:boolean + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\232\320\276\320\275\320\265\321\206\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" "b/SessionParameters/\320\232\320\276\320\275\320\265\321\206\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" new file mode 100644 index 0000000..f839692 --- /dev/null +++ "b/SessionParameters/\320\232\320\276\320\275\320\265\321\206\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" @@ -0,0 +1,25 @@ + + + + + КонецРабочегоДня + + + ru + Конец рабочего дня + + + en + End of day + + + + + xs:dateTime + + Time + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\235\320\260\321\207\320\260\320\273\320\276\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" "b/SessionParameters/\320\235\320\260\321\207\320\260\320\273\320\276\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" new file mode 100644 index 0000000..217480b --- /dev/null +++ "b/SessionParameters/\320\235\320\260\321\207\320\260\320\273\320\276\320\240\320\260\320\261\320\276\321\207\320\265\320\263\320\276\320\224\320\275\321\217.xml" @@ -0,0 +1,25 @@ + + + + + НачалоРабочегоДня + + + ru + Начало рабочего дня + + + en + Beginning of day + + + + + xs:dateTime + + Time + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\237\320\265\321\200\320\270\320\276\320\264\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" "b/SessionParameters/\320\237\320\265\321\200\320\270\320\276\320\264\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 0000000..6a86789 --- /dev/null +++ "b/SessionParameters/\320\237\320\265\321\200\320\270\320\276\320\264\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,23 @@ + + + + + ПериодУведомления + + + ru + Период уведомления + + + + + xs:decimal + + 3 + 0 + Any + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\237\321\203\321\202\321\214\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\244\320\260\320\271\320\273\320\276\320\262.xml" "b/SessionParameters/\320\237\321\203\321\202\321\214\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\244\320\260\320\271\320\273\320\276\320\262.xml" new file mode 100644 index 0000000..1a6dd3b --- /dev/null +++ "b/SessionParameters/\320\237\321\203\321\202\321\214\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260\320\244\320\260\320\271\320\273\320\276\320\262.xml" @@ -0,0 +1,22 @@ + + + + + ПутьКаталогаФайлов + + + ru + Путь каталога файлов + + + + + xs:string + + 0 + Variable + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\260\321\217\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" "b/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\260\321\217\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" new file mode 100644 index 0000000..6ac5dc2 --- /dev/null +++ "b/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\260\321\217\320\241\320\265\321\201\321\201\320\270\321\217\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.xml" @@ -0,0 +1,23 @@ + + + + + ТекущаяСессияСинхронизации + + + ru + Текущая сессия синхронизации + + + + + xs:decimal + + 10 + 0 + Nonnegative + + + + + \ No newline at end of file diff --git "a/SessionParameters/\320\255\321\202\320\276\320\247\320\270\321\201\321\202\320\260\321\217\320\221\320\260\320\267\320\260.xml" "b/SessionParameters/\320\255\321\202\320\276\320\247\320\270\321\201\321\202\320\260\321\217\320\221\320\260\320\267\320\260.xml" new file mode 100644 index 0000000..6ba9e21 --- /dev/null +++ "b/SessionParameters/\320\255\321\202\320\276\320\247\320\270\321\201\321\202\320\260\321\217\320\221\320\260\320\267\320\260.xml" @@ -0,0 +1,18 @@ + + + + + ЭтоЧистаяБаза + + + ru + Это чистая база + + + + + xs:boolean + + + + \ No newline at end of file diff --git "a/Subsystems/\320\227\320\260\321\217\320\262\320\272\320\270\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" "b/Subsystems/\320\227\320\260\321\217\320\262\320\272\320\270\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" new file mode 100644 index 0000000..951a2bf --- /dev/null +++ "b/Subsystems/\320\227\320\260\321\217\320\262\320\272\320\270\320\235\320\260\320\236\320\261\321\201\320\273\321\203\320\266\320\270\320\262\320\260\320\275\320\270\320\265.xml" @@ -0,0 +1,86 @@ + + + + + ЗаявкиНаОбслуживание + + + ru + Заявки на обслуживание + + + + true + false + + + + 827e4f7c-d45d-4671-aca9-82de680566ec + 24c6ddfb-4560-47dd-b2a3-91b87d89dac6 + 48f78aff-592d-47d6-981a-17e1ccd80d3b + Enum.ВажностьПисем + Enum.ВидыПапокПисем + Enum.РолиАдресатовВПисьме + 3602f989-d95a-4407-a856-47cee47b9834 + fbb4ea14-0cee-442e-9073-99f2f46b4552 + 82f49b06-4559-46fc-9235-00ec09f1532f + 7a93b44d-8aaf-46a3-bcb3-1d666b7cb189 + 0fbfd60a-6ce3-4bc5-b383-caf857372380 + 66d6b61d-1c95-4d71-b0a1-574be3f53fdc + 432e4683-8060-4491-8d7a-0a8fa8a4fea1 + a6866669-784b-4eb7-8b33-d3172ebb0c09 + 0a888eb8-75e5-48a7-81b1-bb78cb43a07a + 91cbcd37-2ae7-4c27-9298-2b509efe0674 + f5a65a87-56d8-42ba-b13c-72e650c5c17d + 2016a1f3-72ac-47d7-b36e-0e99cf5586a0 + Constant.ПоУмолчаниюОтвечатьВсем + Constant.ПомечатьПрочтеннымиПриОткрытии + Constant.ПомечатьПисьмаПрочтеннымиПриПредПросмотреПериод + Constant.ПоказыватьТолькоНепрочтенныеПисьма + Constant.ПоказыватьПредпросмотрВСпискеПисем + Constant.ПодтверждатьУдаление + 231dfdb7-02b4-45e6-a5f2-560b5f785683 + af42fa68-d098-447f-9578-c62f3319c76c + abc26072-cf0e-4156-8da6-68e6a5fcbbc0 + Constant.ВключатьВложенияПриПересылке + Constant.ВключатьВложенияПриОтвете + CommonPicture.РазделПочта + CommonPicture.НеПрочитанные + CommonPicture.КомандаСменитьУчетнуюЗапись + CommonPicture.КомандаПрочтенноеПисьмо + CommonPicture.КомандаПереслатьБелая + CommonPicture.КомандаПереслать + CommonPicture.КомандаПеренаправитьЗадачу + CommonPicture.КомандаПереместитьВПапкуБелая + CommonPicture.КомандаПереместитьВПапку + CommonPicture.КомандаОтправитьПисьмо + CommonPicture.КомандаОтветитьВсемБелая + CommonPicture.КомандаОтветитьВсем + CommonPicture.КомандаОтветитьБелая + CommonPicture.КомандаОтветить + CommonPicture.КомандаНепрочтенноеПисьмо + CommonPicture.КомандаНаписатьПисьмо + CommonPicture.КоллекцияСтрокСостоянийПисем + CommonPicture.КоллекцияСтрокСкрепка + CommonPicture.КоллекцияСтрокПиктограммФайлов + CommonPicture.КоллекцияСтрокНовоеПисьмо + CommonCommand.НовоеСписаниеДенежныхСредств + 0a0a7c71-893c-48b6-8ac7-5a9b2fac486b + 6c5b98a1-f6e4-467d-aabe-651fd0ba4c5e + dc96c1b7-2b65-44be-82b5-6fccd11b51d4 + 8eeb0ba7-cd78-41c7-92e3-bc628d64f4dd + 37c45f9f-f1e4-4436-9fd2-61afe28437ee + 4aab5d08-bd4f-4a51-8edc-5d37be6978d0 + CommonPicture.КомандаПапка + c8b0b2a4-a9ee-4a7f-8e6f-cba7169008d3 + Enum.ТипыОбъектов + Enum.ТипыОтвета + CommonPicture.КоллекцияСтрокКнопка + a17a006c-2240-4c63-8afd-8eb6e8ae069d + 005c3b7e-d28a-4e57-814d-11f10c25bc06 + Enum.СтатусыЗаявокНаОбслуживание + + + + + \ No newline at end of file diff --git "a/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" "b/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" new file mode 100644 index 0000000..30f8c8e --- /dev/null +++ "b/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213.xml" @@ -0,0 +1,27 @@ + + + + + ОсновныеОбъекты + + + ru + Основные объекты + + + + true + false + + + + 04d01631-ef08-4002-a230-70796f4737a1 + fd5d605e-aeba-4e49-aa49-2120c2ffac6a + Catalog.Контрагенты + 50de2705-86db-4dd0-984e-154d244e6d90 + abb4f920-6054-44a2-a5e2-25665f727e0c + + + + + \ No newline at end of file diff --git "a/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213/Ext/CommandInterface.xml" "b/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213/Ext/CommandInterface.xml" new file mode 100644 index 0000000..909d8d3 --- /dev/null +++ "b/Subsystems/\320\236\321\201\320\275\320\276\320\262\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\321\213/Ext/CommandInterface.xml" @@ -0,0 +1,30 @@ + + + + + + false + + + + + false + + + + + false + + + + + false + + + + + false + + + + \ No newline at end of file diff --git "a/Subsystems/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" "b/Subsystems/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" new file mode 100644 index 0000000..7f45dd3 --- /dev/null +++ "b/Subsystems/\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\321\217.xml" @@ -0,0 +1,24 @@ + + + + + Синхронизация + + + ru + Синхронизация + + + + true + false + + + + CommonModule.ОбменЭкспорт + CommonModule.ОбменИмпорт + + + + + \ No newline at end of file diff --git "a/Subsystems/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\320\276\320\265.xml" "b/Subsystems/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\320\276\320\265.xml" new file mode 100644 index 0000000..d479e47 --- /dev/null +++ "b/Subsystems/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\320\276\320\265.xml" @@ -0,0 +1,79 @@ + + + + + Служебное + + + ru + Служебное + + + + true + false + + + + CommonModule.ОбменВызовСервера + CommonModule.ОбменДемоДанныеВызовСервера + CommonModule.ОбменКлиент + CommonModule.ОбменВызовСервераПовтИсп + 37c45f9f-f1e4-4436-9fd2-61afe28437ee + CommonModule.ОбменФормированиеСообщенийВызовСервера + SessionParameter.ПутьКаталогаФайлов + SessionParameter.ТекущаяСессияСинхронизации + SessionParameter.ЭтоЧистаяБаза + ExchangePlan.ОбменССервером + CommonForm.НастройкаПодключения + CommonForm.ОтображениеПротоколаСобытий + CommonForm.СообщениеОПроблеме + CommonForm.СообщениеРазработчикам + CommonForm.Синхронизация + CommonPicture.ДлительнаяОперация + CommonPicture.ЗадачаНеУспешноеВыполнение + CommonPicture.ЗадачаУспешноеВыполнение + Constant.АдресВебСервиса + Constant.АдресЦентральнойБазы + Constant.ВерсияАренды + Constant.ВыгружатьПротоколСобытийНаСервер + Constant.ДатаПоследнегоОбновления + Constant.ДиагональЭкрана + Constant.ЕстьНеотправленныеДанные + Constant.ИдентификаторПоследнегоЗагруженногоСообщения + Constant.ИмяОперационнойСистемы + Constant.КодУстройства + Constant.МаксимальныйРазмерФайла + Constant.НомерПоследнейЗагруженнойЧастиСообщения + Constant.ОтправлятьДанныеСразу + Constant.ПериодПервичнойЗагрузкиДанных + Constant.ПоддерживаемыеВерсииФорматаОбмена + Constant.ПодробнаяИнформацияОСинхронизации + Constant.ПользовательЦентральнойБазы + Constant.ПоследняяОтправленнаяНаСерверЗаписьПротокола + Constant.СессияСинхронизации + Constant.СрокУстареванияДанных + cfe36fc6-f878-40fa-80d9-e96cbe3e63f0 + 91cbcd37-2ae7-4c27-9298-2b509efe0674 + Constant.ЭтоДемоРежим + Enum.ВидыНастроекОбмена + Enum.ТипыСобытийПротокола + f631351a-165e-4a05-bf14-ec93717a0e30 + InformationRegister.ДатыЗагрузкиОбъектов + InformationRegister.ИзмененныеНастройкиСинхронизации + InformationRegister.ОчередьСообщенийНаСервер + InformationRegister.ПолученныеДанныеОбмена + InformationRegister.ПротоколСобытий + CommonPicture.КоллекцияСписокСобытийПротокола + CommonPicture.КоллекцияСтрокВидыСобытийПротокола + CommonPicture.КомандаОбновитьСписок + CommonPicture.КомандаОбновитьВнимание + CommonModule.РаботаСПротоколомСобытийВызовСервера + Constant.ПарольПользователя + CommonCommand.Настройки + CommonCommand.Поддержка + + + + + \ No newline at end of file diff --git "a/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274\320\270.xml" "b/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274\320\270.xml" new file mode 100644 index 0000000..1bfd9f6 --- /dev/null +++ "b/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274\320\270.xml" @@ -0,0 +1,24 @@ + + + + + УправлениеВзаиморасчетами + + + ru + Управление взаиморасчетами + + + + true + false + + + + a48062eb-5a1e-47f7-9dc7-6f2248eb4572 + e608da27-2600-4ebe-a559-d07da7abc3c0 + + + + + \ No newline at end of file diff --git "a/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\320\276\320\263\320\276\320\262\320\276\321\200\320\260\320\274\320\270.xml" "b/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\320\276\320\263\320\276\320\262\320\276\321\200\320\260\320\274\320\270.xml" new file mode 100644 index 0000000..07f51ee --- /dev/null +++ "b/Subsystems/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\320\276\320\263\320\276\320\262\320\276\321\200\320\260\320\274\320\270.xml" @@ -0,0 +1,28 @@ + + + + + УправлениеДоговорами + + + ru + Управление договорами + + + + true + false + + + + 18a7d6e0-d693-489b-bccc-d32c492689a6 + 9c2769ce-c30d-4d39-8372-23aa26682b17 + bd8e2abe-ada1-4350-a6a0-508f1d720e67 + CommonCommand.ПерейтиВСписанияДенежныхСредств + 60fa5bde-4619-4b0e-b9a2-d2ec70eb51c7 + 124226ad-b058-4d9b-9e34-bbf898148020 + + + + + \ No newline at end of file