Ивкин Марк

37
Рейтинг

markivkin
Марк Ивкин



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

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

Подписчики 2

Рейтинг 37

Я у мамы декоратор...

Инструменты и обработки Программист Платформа 1С v8.3 Бесплатно (free) Конфигурация (md, cf) Инструментарий разработчика

Пример реализации общей функциональности для в 1С, похож на Декоратор, но реализован на уровне модулей. Может пригодиться разработчикам. Тестировалось на 1С:Предприятие 8.3 (8.3.19.1264).

15.11.2021    4692    19    markivkin    3       

6

Таблица значений в табличный документ (СКД)

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

Иногда бывает необходимость получить табличный документ по какому то набору данных. Например, требуется вывести какие то проверочные таблички пользователям или отправить результат запроса почтой. Для таких надобностей создавать специальные отчеты, хранить где-то схему, настройки, не имеет смысла. Получить табличный документ с группировкой из таблицы значений с помощью механизма СКД можно применив эту функцию.

1 стартмани

12.08.2020    40247    16    markivkin    5       

12

Заполнение справочника видов алкогольной продукции

Инструменты и обработки Программист Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Бухгалтерия 3.0 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Windows Абонемент ($m) Внешняя обработка (ert,epf) Мастера заполнения

Приятная мелочь для бухгалтеров и внедренцев в организациях, занимающихся розничной продажей алкоголя. Обработка заполняет актуальными значениями справочник "Виды алкогольной продукции" в БП 2.0, БП 3.0, а также в конфигурациях, базирующихся на БП (1С:Общепит, Бит.Ресторан и т.п.).

1 стартмани

23.09.2013    34874    104    markivkin    6       

11

Комментарии

MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#12 21.03.22 19:38
(11) Если интересны подробности, на сервере вертится Django, API поднята с использованием Django REST framework. Может что то с сервисом, но проявляется так, как будто в заголовке данные авторизации не отправляются... или отправляются в каком то ином виде, в таком, котором этот сервис их не понимает. Для подтверждения гипотезы было бы интересно перехватить http-запрос с мобильного устройства, но копать в ту сторону бросил, как только заработало.
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#10 20.03.22 20:43
Решение довольно тривиальное, если заголовки http-запроса формировать специально для базовой авторизации, то работает и с мобильного приложения. Что типа такого:

[1C-CODE]
Функция ЗаголовкиДляМобильногоПриложения(ИмяПользователя, Пароль)
СтрокаАвторизации = СтрШаблон("%1:%2", ИмяПользователя, Пароль);
СтрокаАвторизации64 = Base64Строка(ПолучитьДвоичныеДанныеИзСтроки(СтрокаАвторизации));
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", СтрШаблон("Basic %1", СтрокаАвторизации64));
Возврат Заголовки;
КонецФункции
[/1C-CODE]
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#9 19.03.22 12:15
(7) Обновление не помогло, все тоже самое. laperuz, сори что затянул с ответом, не было возможности сразу сделать вызовы и большое спасибо за возможность проверить на стороннем сервисе. Оба варианта с ним работают. В логах примерно в 12.03-12.05 обращение. Интересно, запросы отличаются? Первый раз дергал из запущенного приложения, второй раз из мобильной платформы, из эмулятора.

По логам точно ясно, что запросы отличаются. В строке лога приведенной в первом сообщении нет имени пользователя. Ушел разбираться что не так....
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#8 17.03.22 19:08
(7) Большое спасибо за наводку! Как то упустил этот момент, у меня платформа постарше 8.3.19.1264. Возможно в новых версиях заработает.
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#6 16.03.22 21:39
Бесполезно, альтернативный способ дернуть GET-метод ровно с таким же результатом. Собственно это и ожидалось. Библиотека под капотом должна быть той же самой. Приплыл... Проект на грани провала. Надо уходить в нативную разработку на андроид.
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#5 16.03.22 21:27
Коллеги, код конечно есть, он тривиален до безобразия. Из формы вызывается функция в которую передаются данные

Функция ПолучитьДанныеПользователя(АдресСайта, ИмяПользователя, Пароль) Экспорт

В ней создается соединение, дергается запрос и все!

И это код работает если запустить на компьютере, и запуск того же кода, с вводом тех же самых данных пользователя не работает именно на мобильной платформе. Логи я приводил.

Правда я дергал метод соединения вот так Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос);

Пойду еще в варианте Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>) попробую! Единственный альтернативный вариант, но надежд не питаю. Скорей всего особенности работы или ошибка мобильной платформы.

Дополнительно: мобильный отладчик подключал, смотрел на мобильном девайсе и в эмуляторе. Данные пользователя в функцию попадают.
MobileDevРазличия в формировании HTTP запроса из платформы на PC и мобильной платформы#1 15.03.22 22:03
Добрый день!

Странная история: есть сайт с api на сервере, доступ по https с авторизацией. В разработке мобильное приложение которое должно получать данные с сервера. При разработке дергаю сервис из приложения запущенного на компьютере, все работает отлично. Запускаю на мобильном приложении получаю ошибку 403 "Учетные данные не были предоставлены". Код одинаковый, но работает по разному из платформы 1с на PC и на мобильной платформе.

Попросил логи веб-сервера, вот такая картина:
Платформа на PC: 78.107.201.153 - user123 [14/Mar/2022:17:34:56 +0000] "GET /api/user/user123/ HTTP/1.1" 200 8 "-" "1C+Enterprise/8.3"
Мобильная платформа: 78.107.201.153 - - [14/Mar/2022:17:36:46 +0000] "GET /api/user/user123/ HTTP/1.1" 403 82 "-" "1C+Enterprise/8.3"

Отсутствует пользователь, в верхней строке он есть "user123", в нижней нет.

Есть подозрение что это ошибка или особенность мобильной платформы. Кто нибудь сталкивался с такой особенностью? Есть идеи как можно обойти проблему?

Код тривиальный создается соединение, выполняется GET запрос. И код работает только на PC, не работает на мобильном устройстве.
ПубликацииЯ у мамы декоратор...#0 13.11.21 14:01
Пример реализации общей функциональности для в 1С, похож на Декоратор, но реализован на уровне модулей. Может пригодиться разработчикам. Тестировалось на 1С:Предприятие 8.3 (8.3.19.1264).
DevТаблица значений в табличный документ (СКД)#0 12.08.20 17:41
Иногда бывает необходимость получить табличный документ по какому то набору данных. Например, требуется вывести какие то проверочные таблички пользователям или отправить результат запроса почтой. Для таких надобностей создавать специальные отчеты, хранить где-то схему, настройки, не имеет смысла. Получить табличный документ с группировкой из таблицы значений с помощью механизма СКД можно применив эту функцию.
DevЗаполнение справочника видов алкогольной продукции#6 14.01.17 11:54
Критика совершенно справедливая. :) Даже захотелось самому себя отмодерировать, и пожестче :).

Смотрим дату, вспоминаем события осени 13 года... Вводится алкогольное декларирование, в 1С появляется справочник алкогольной продукции, который изначально пустой, но для тех кто занимается алкоголем, он должен быть заполнен по регламентированными данными. Как справочник валют или единиц измерения. В тот момент, работая у франчей и обходя своих клиентов с обновлениями, существенно облегчал им жизнь. Всего лишь, счел нужным поделится с коллегами этой мелочью, может кому то жизнь облегчил. Уж извините... Не со зла...

Никто не обещал поддержку, адаптацию под УТ и т.п. Черным по белому БУ2.0, и дата актуальности тоже видна - 2013 год. Сейчас я работаю в другой области, что там с алкогольным регулированием понятия не имею, очень возможно что и сам справочник уже не актуален. Поднимать тему специально ради этой обработки не буду.

Займитесь этим сами, поднимите предметную область, напишите разные варианты для актуальных версий, можете сослаться на эту обработку, хотите я ссылку здесь на Вашу новую версию опубликую? Вам люди спасибо скажут! ;)