Буглов Евгений

5
Рейтинг

Евгений Буглов
evgeny43



  •   Регистрация: 03.03.2014 (4 года назад)

  •   Был(а) на сайте: вчера в 14:39

Рейтинг 5

DataMatrix для 1С 2

v8 Абонемент ($m)

Компонента для создания DataMatrix (в папке при скачивании находятся 6 файлов. 4 из которых необходимы для работы и должны располагаться на пк в 1 папке, 1 - картинка с примером, 1- текстовый документ с инструкцией).

1 стартмани

26.04.2018    1910    3    1    

Печать на сервере 1с. DLL для 1С, способная печатать картинки и pdf файлы в серверном контексте (например, при работе веб-сервиса) 3

v8 Россия Абонемент ($m)

Не знаю, пригодится кому или нет, писалось для себя, т.к  возникла необходимость печатать на принтере этикеток sscc напрямую с ТСД  через web - сервис. Как известно, веб сервис в 1С работает только в серверном контексте и, к сожалению, разработчики платформы пока не позаботились о возможности вызывать метод  при таких условиях. 

1 стартмани

13.03.2018    3069    6    2    

Комментарии

MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#122 21.08.18 9:56
(121)
Цитата
dataBytes
Спасибо, полезная информация, когда то до этого сам доходил, но уже забыл.
Как раз собирался вспомнить как получить все поля интента )
MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#117 31.07.18 12:22
(116) не за что, я попробовал по быстрому разобраться, раз не получилось, так же отложил , на момент острой необходимости в 12 платформе)
P.S 8.3.9 платформа (хороший wifi - редко - плохая связь - часто) валится при связи с сервером (точно узнать не смог, но скорее всего недополучив пакет в конце , вместо того что бы вызвать исключение и продолжить работу падает , либо отправляет не до конца собраный xml файл в диссериализатор и там падает))_) -- 8.3.10.84 пока полет нормальный.
MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#115 31.07.18 8:53
(113) Пишу для уважаемого DMon, а также для всех кому эта информация будет полезна.
на 8.3.12 + скорее всего драйвер работать не будет .
А причина в следующем :
Формат обработки сообщения push уведомлений изменен согласно последним требованиям google .
Теперь 1с принимает внешние сообщения только по протоколу GCM от google .


Манифест андроида отвечающий за эту часть :
БЫЛО


-<receiver android:name="com.e1c.mobile.PushNotificationReceiver" android:enabled="true">


-<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE"/>

<category android:name="com.e1c.mobile"/>

</intent-filter>

</receiver>

СТАЛО




-<receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:permission="com.google.android.c2dm.permission.SEND" android:exported="true">


-<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE"/>

<category android:name="${applicationId}"/>

</intent-filter>

</receiver>


-<service android:name="com.e1c.mobile.PushNotificationService" android:exported="false">


-<intent-filter>

<action android:name="com.google.android.c2dm.intent.RECEIVE"/>

</intent-filter>

</service>

<provider android:name="com.e1c.mobile.SoundAssetProvider" android:exported="true" android:enabled="true" android:authorities="${applicationId}.soundasset"/>


____________________________________________________________­_______________

Из того что я успел разобрать - получается следующее ( прошу поправить если не прав , информация взята на основе данных о новом формате уведомлений и частично разобранном апк платформы)
Для отправки push уведомлений теперь необходимо google play и google story т.к используется их библиотека и api для кодирования сообщения и отправки через облачное хранилище 1с-ке (другими словами требуется интернет). Возможно отправку через интернет удастся обойти (тут я просто чего то не понимаю, но возможно библиотека google все же для приложений установленных на 1 устройстве не отправляет все в облачное хранилище, а оповещает сразу). Потом требуется регистрировать приложение в google api и получать для него уникальный ключ, но я надеюсь и это удастся обойти , взяв за основу оригинальный ключ и придумав свой . К сожалению до кода ресивера apk я так и не смог добраться, как следвие нехватки опыта работы на андроиде , возможно туда можно подсунуть в нужном формате intent игнорирую шифроку библиотеками google , если у кого получится , поделитесь пожалуйста , но у меня есть подозрение , что там все так же как и в типовом примере google- происходит просто отправка сообщения в класс библиотеки google с его дальнейшей дешифровкой.



Если я где то ошибся, буду рад быть просвещенным)
MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#110 13.07.18 17:55
(109)
Ну если часто переключаться между базами, то да)) тут лучше подойдет решение DMon , если просто то в андроид студии , есть механизмы похожие на 1с в упр. приложении , где ты можешь поместить во временное хранилище данные под уникальный идентификатор формы - делаю приблизительно тоже самое , только данные не исчезают после закрытия формы . Влом было разбираться как сохранить по другому и так андроид программирование с 0 изучал под текущую задачу) мб, когда появится время или перейду на стадию модернизации приложения, которое пишу, улучшу и драйвер до более юзабильного вида)
MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#108 13.07.18 14:05
(107)
Нажать на клавиатуре андроид(Navigation bar) назад, или закрыть как обычное приложение, на работу повлиять не должно, т.к оно работает и в офф-лайн режиме .
в моем случае мне необходимо его установить 1 раз для 1 базы(иногда переключить на другую, но редко), поэтому я особо не заморачивался с серверной регистрацией в по (другими словами с регистрацией без вызова интерфейса ).
ВКНе найден файл внешней компоненты#12 28.06.18 17:20
в общем я сделал следующий обходной трюк , может быть кому поможет, у меня пока работает, но на 100% я не уверен.

Код
        МакетКомпаненты=ПолучитьМакет("КомпонентаПечатиШтрихкодов");
   Адрес=ПоместитьВоВременноеХранилище(МакетКомпаненты);
   
   ИмяКомпоненты=ПолучитьИмяКомпоненты();
   
   ПодключениеВыполнено = ПодключитьВнешнююКомпоненту(Адрес, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
   Если ПодключениеВыполнено Тогда
      Попытка
         КомпонентШК = Новый("AddIn."+ИмяКомпоненты+".Barcode");
      Исключение
         КомпонентШК= Неопределено;
         Возврат;
      КонецПопытки;   
   Иначе
      Возврат;
   КонецЕсли;



Код
Функция ПолучитьИмяКомпоненты()
   ИмяКомпоненты=Строка(новый УникальныйИдентификатор);
   ИмяКомпоненты=СтрЗаменить(ИмяКомпоненты,"-","");
   ПервыйСимвол= Лев(ИмяКомпоненты,1);
   Если ПервыйСимвол="1" или
      ПервыйСимвол="2"  или
      ПервыйСимвол ="3" или
      ПервыйСимвол="4" или
      ПервыйСимвол="5"  или
      ПервыйСимвол ="6" или
      ПервыйСимвол="7" или
      ПервыйСимвол="8"  или
      ПервыйСимвол ="9" или
      ПервыйСимвол ="0" тогда
      ИмяКомпоненты=ПолучитьИмяКомпоненты();
   КонецЕсли;   
   Возврат ИмяКомпоненты;
   КонецФункции



Т.О я регистрирую компоненту каждый раз под новым именем , и надо помнить, что имя компоненты не может начинаться с цифры, в следствии чего и есть код который отсеивает такие неприятности.
ВКНе найден файл внешней компоненты#11 28.06.18 14:45
не , это не решение вопроса, у меня такая же проблема с этой компонентой ... час поработает , а потом валится перезапуск сервера, изменение чего то в конфе, а потом ее обновление , динамически или нет , решает проблему помогает ненадолго, но это не вариант .
DevКак получить guid в запросе 1с?#29 19.06.18 17:16
(8)если очень хочется , то и числом гуид может быть.
просто надо привести каждое составляющее гуида к примеру к 10 системе счисления.
MobileDevУправляемый Android Service перехвата сообщений Broadcast со сканера штрих-кодов в 1С (ver. 1.2.1)#99 09.06.18 18:02
(98) Добрый вечер. оно есть в этой теме в 76 сообщении
ВКПечать на сервере 1с. DLL для 1С, способная печатать картинки и pdf файлы в серверном контексте (например, при работе веб-сервиса)#2 07.05.18 9:46
(1) Если все сделано по инструкции, но не работает - то мне известна только 1 причина , из за которой может пойти не так .
в моем случае сервер 1с у меня работает от системной записи , если у вас это не так, то необходимо дать доступ вашей учетной записи виндовс, под которой работает сервер 1с до компоненты. (п.с на некоторых пк адекватно регистрируется компонента без "/codebase", а на некоторых с.. , попробуйте оба варианта).
тут есть 2 варианта :
1) в реестре пробежаться по всем записям сделанным компонентой и вами ( щелкать по ним правой кнопкой мыши , и выбирать меню разрешить доступ и т.д)
2) можно дать учетной записи доступ ко всем компонентам на пк .

в разделе Component Services/Computers на My Computer клик правой кнопкой, Свойства (Properties)
закладка Безопасность COM (COM Security)
в разделе Права доступа (Access Permissions) нажать Изменить настройки по умолчанию... (Edit Default...), в открывшемся окне добавить для пользователя, под которым запускается служба SQL Server, права Локальный доступ (Local Access)
в разделе Разрешения на запуск и активацию (Launch and Activation Permissions) нажать Изменить настройки по умолчанию... (Edit Default...), в открывшемся окне добавить для пользователя, под которым запускается служба SQL Server, права Локальный запуск, Локальная активация (Local Launch, Local Activation)



Component Services--- служба компонент "Панель управления\Все элементы панели управления\Администрирование\Службы компонентов".
И не забудьте дать доступ учетной записи 1с , до физического нахождения ком компоненты ( т.е то место куда вы ее скопировали )


P.S "/codebase"
до перерегистрации компоненты, не забудьте почистить реестр от ее остатков в ручном режиме, в противном случае есть большая вероятность, что перерегистрация не поможет.