Имя: Пароль:
1C
1С v8
Обновление внешних компонент в мобильном приложении
0 belogant
 
05.02.21
18:27
Дорого дня.
Публикую приложение с новыми драйверами БПО. Захожу в мобильную конфигурацию с установленной галкой "Перезапуск из конфигуратора". Конфигурация обновляется, а драйвер, который уже используется, нет.
Те, что еще не были использованы, подкачиваются новые при выборе. Если зайти под рутом и удалить используемый драйвер, то он закачивается нормально.
Тоже попробовал на Мобильной кассе для разработчиков. Та же проблема.
Если приложение собрать, то при обновлении обновляется все, в том числе и уже используемые драйверы без проблем.
Кто знает, так было задумано? Или можно как то заставить 1с предприятие автоматически обновлять внешние компоненты автоматически при обновлении конфигурации?
1 Garykom
 
гуру
05.02.21
19:13
(0) переименовать макет с вк
2 belogant
 
06.02.21
12:30
Макет из БПО, не хотелось бы его постоянно переименовывать. Но и собственно не работает так. Возможно будет работать, если переименовывать еще и сами драйвера, но это слишком сложно.
Костыльный способ есть:
Сначала обновить конфигурацию, потом сделать резервное копирование.
Далее удалять базу, при этом чистится каталог с файлами и внешние компоненты вместе с ними.
Потом поставить ее обратно и загрузить резервную копию. С Мобильной кассой так работает.
Но хочется все таки какой то нормальный способ автообновления, а не костыльный.
3 belogant
 
06.02.21
12:31
Это костыль для случая, когда нет рута. С рутом проще - просто удалить в каталоге с фалами фалы внешней компоненты.
4 Garykom
 
гуру
06.02.21
13:02
(3) Гыгы. В курсе что даже без рута сама 1С программно кодом может легко "просто удалить в каталоге с фалами фалы внешней компоненты"
5 belogant
 
06.02.21
13:34
Действительно, что то не подумал об этом ), но опять таки, это костыль и это в случае со своей конфигурацией, а если конфа чужая и править ее нельзя, в расширения костыль пихать?
Все таки интересно почему в собранном все обновляется, а в режиме предприятия нет.
6 belogant
 
06.02.21
19:56
Провел пару экспериментов. По разному работает НачатьУстановкуВнешнейКомпоненты. При работе в собранном приложении она обновляет внешние компоненты, а при запуске в режиме предприятия нет. Версии платформы в обоих случаях одинаковая. Пробовал на версиях 8.3.17.76 и последней 8.3.18.47.
Может быть какие настройки у платформы есть по кэшированию или еще какие, не может же просто по разному эта функция работать ) ?
7 Cyberhawk
 
06.02.21
20:08
(5) Потому что в собранном *.so-файлы (ВК) входят в apk. А в платформе разработчика они подгружаются с веб-сервера.
8 belogant
 
06.02.21
20:29
(7) Ну и что, логика должна быть одинаковая, не важно тащит он их из apk или с сервера.
А так получается, что я не могу обновить компоненты, работая на платформе разработчика кроме как всякими костыльными способами.
9 Garykom
 
гуру
06.02.21
22:50
(8) когда у тебя платформа то можно запускать второе приложение и оно будет иметь доступ к файлам всех приложений
ну или снос и установка платформы
10 belogant
 
06.02.21
23:37
(9) Это я понял, спасибо, в отдельной конфе сделал чистку, все работает.
Хотя логика разработчиков 1с не очень понятна, либо это баг.