Cube_krsk

34
Рейтинг

Cube_krsk



  •   Регистрация: 10.06.2010 (13 лет назад)

  •   Был(а) на сайте: 09.03.2023

Подписчики 1

Рейтинг 34

Синхронизация группы домена со списком пользователей 1С

Инструменты и обработки Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Инструменты администратора БД

Обработка предназначена для автоматизированной синхронизации списка пользователей 1С и списка пользователей домена, являющихся членами определенной группы.

1 стартмани

18.04.2011    13830    102    Cube_krsk    4       

10

Менеджер архивов

Инструменты и обработки Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m) Внешняя обработка (ert,epf) Архивирование (backup)

Обработка для полуавтоматического удаления старых архивов. Платформа 8.2 (обычные формы).

1 стартмани

17.12.2010    8612    51    Cube_krsk    1       

6

Комментарии

DevПример работы с криптографией в Web-клиенте 1С#1 30.09.22 12:53
Повелся на надпись на заборе:
"2. Подписывать и "выплевывать" для сохранения файл sig."

Не верьте, это враньё.
Файл подписи создается по формату p7s, ему тупо присваивается расширение sig в коде обработки и всё.
DevОтключить поиск по колонке в динамическом поиске#4 28.02.20 10:18
ДинамическийСписок (DynamicList)
УстановитьОграниченияИспользованияВОтборе (SetRestrictionsForUseInFilter)

Синтаксис:
УстановитьОграниченияИспользованияВОтборе(<Поля>)

Параметры:
<Поля> (необязательный)
Тип: Массив.
Пути к полям компоновки, на которые требуется установить ограничение.

Описание:
Запрещает использование указанных полей и всех их дочерних полей в настройках отбора.
Поля, на которые установлено ограничение, не входят в коллекцию доступных полей.
После вызова метода список полей с ограничениями замещается указанным. Вызов метода с пустым списком полей отменяет ранее установленные ограничения.

Доступность:
Сервер.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#87 26.02.19 9:13
(73) В настройках сканера EDA50 стояла кодировка ISO 8859-1. Поставил UTF-8 и русский шрифт начал сканироваться нормально.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#86 26.02.19 6:42
(85) Прошу прощения за сей пост - забыл, что компонента общая для любых бродкастов, а не только для сканера штрихкодов...
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#85 26.02.19 4:45
Ну, и раз пошла такая пьянка, то совсем не понятны телодвижения с методом компоненты "ПолучитьШаблонОписанияДанных" - зачем он нужен? Что, нельзя было для параметра "CaptureData" сделать так же, как для параметра "FilterName" - передаешь значение и всё, остальные телодвижения делает компонента внутри?
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#84 26.02.19 4:44
(83) Пусть хоть так. Сейчас вообще нет возможности получить список полей, доступных для отслеживания. Например, на ТСД EDA50 я никак не могу найти в интернете имя поля, возвращающего тип штрихкода (EAN13, EAN8, DataMatrix и т.д.). Занимаюсь брутфорсом... Причем безуспешно.
Поэтому я и писал в (74), что неплохо было бы получить XML, содержащий список всех возможных полей. А, если, этот список будет ещё и значения этих полей содержать - вообще будет шикардос!
Можно сделать в виде служебного поля "AllData" и при получении XML, она будет содержать всевозможные поля интента с их значениями.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#81 25.02.19 11:44
(75) Немного не так выразился.
Неплохо было бы, чтобы компонента имела функцию, возвращающую массив имен доступных полей интента.
Вот тут есть пример: http://forum.infostart.ru/forum92/topic166842/message2034308/#message2034308

Имея такой массив, можно было бы заполнить им список выбора у поля на форме, чтобы пользователь не вбивал имя поля с клавиатура, а выбирал из списка.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#80 25.02.19 8:06
(79) После продолжительных тестов, выяснил, что если перед удалением мобильного приложения закрывать мобильную платформу и выгружать её из памяти через диспетчер приложений, то ошибок нет.

Теперь наиболее вероятным я вижу сценарий, что при ПодключитьВнешнююКомпоненту() создаётся временный файл, куда сохраняется компонента из макета и при закрытии приложения платформа остаётся запущенной и не освобождает этот файл, поэтому после удаления приложения, его установки и запуска, происходит крах платформы и она закрывается, освобождая этот несчастный файл.
Поэтому и падает приложение через раз: после падения платформы, она выгружается из памяти и файл освобождается, что позволяет один раз удалить приложение, установить его и запустить, а последующий удаление, установка и запуск приводят к краху платформы и всё повторяется.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#79 25.02.19 7:14
Наткнулся на нехорошую ошибку, которую научился воспроизводить со 100% результатом: если мобильное приложение удалить, заново установить и запустить, то стабильно через раз приложение падает с ошибкой:

Код
java.lang.UnsatisfiedLinkError: dalvik.system.DexClassLoader[DexPathList[[zip file "/data/user/0/com.e1c.mobile/files/1C/1cem/76624a6c-6eb9-516e-b5f4-9ad5799f6cb6/ExtCompT/com_iksoftware_unimes.apk"],nativeLibraryDirectories=[/data/user/0/com.e1c.mobile/files/1C/1cem/76624a6c-6eb9-516e-b5f4-9ad5799f6cb6/ExtCompT, /system/lib, /vendor/lib]]] couldn't find "libcom_iksoftware_unimes.so"
   at java.lang.Runtime.loadLibrary0(Runtime.java:984)
   at java.lang.System.loadLibrary(System.java:1530)
   at com.iksoftware.unimes.BroadcastMessage.run(BroadcastMessage.java:46)
   at android.os.Handler.handleCallback(Handler.java:751)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:154)
   at android.app.ActivityThread.main(ActivityThread.java:6130)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)


Через раз - имеется ввиду, что каждый раз приложение удаляется и устанавливается заново из того же файла 1cema.xml, то есть каждый раз происходит первый запуск мобильного приложения.

Приложение простое с единственным кодом (закомментированный кусок оставил для наглядности, для воспроизведения ошибки он не нужен):

Код
Процедура ПриНачалеРаботыСистемы()
   
   Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаШироковещательныхСообщений", "Broadcasts", ТипВнешнейКомпоненты.Native) Тогда
      КомпонентаШироковещательныхСообщений = Новый("AddIn.Broadcasts.UniversalBroadcast");
      КомпонентаШироковещательныхСообщений.УстановитьПараметр("FilterName", "scan.rcv.message");
      //ШаблонОписанияДанных = КомпонентаШироковещательныхСообщений.ПолучитьШаблонОписанияДанных();
      //КомпонентаШироковещательныхСообщений.УстановитьПараметр("CaptureData", ОбщегоНазначенияКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонОписанияДанных, "data", XMLСтрока(Ложь), XMLСтрока(0)));
      //Если НЕ КомпонентаШироковещательныхСообщений.Подключить() Тогда
      //   ТекстОшибки   = "";
      //   КодОшибки   = КомпонентаШироковещательныхСообщений.ПолучитьОшибку(ТекстОшибки);
      //   ПоказатьПредупреждение(, "Компонента широковещательных сообщений не подключена по причине: " + КодОшибки + ", " + ТекстОшибки);
      //КонецЕсли;
      ПоказатьПредупреждение(, "Компонента широковещательных сообщений успешно подключена");
   Иначе
      ПоказатьПредупреждение(, "Компонента широковещательных сообщений не подключена");
   КонецЕсли;
   
КонецПроцедуры


При последующих запусках приложения (не первых), всё работает стабильно и ошибок нет.

Проверял на платформах 8.3.13.45 и 8.3.10.84, ТСД EDA50 (android 7.1.1) и HT380K (android 6.0) - в любых комбинациях ТСД и платформы поведение одинаковое.
ВКМногофункциональная компонента для мобильной платформы: широковещательные сообщения (broadcasts), буфер обмена (clipboard), Bluetooth#74 12.02.19 10:41
Также неплохо было бы получать со сканера XML без обработки компонентой, так как я не знаю, как называются поля в XML, чтобы подставить их в ПолучитьШаблонОписанияДанных()...