HTML-клиент у конфигурации 1С

Публикация № 1042420

Разработка - Системная интеграция - Интеграция с WEB

Конфигурация http html css js http-сервис сайт

146
Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

С чего все началось

Заказчик, крупная компания транспортной доставки, решила расширить сеть пунктов выдачи заказов (ПВЗ) с помощью партнерских ПВЗ - других юридических лиц со складскими помещениями. Но т.к. это может быть что угодно от ларька до СТО, то интерфейс системы надо сделать со следующими признаками:

  1. Простой
  2. Приятный
  3. Доступ с браузера
  4. Не надо устанавливать ничего дополнительного

Из-за этого стандартный веб-клиент 1С не подошел. Поэтому приняли решение делать альтернативную веб-версию. А поскольку у заказчика уже был печальный опыт работы с веб-разработчиками (после первого этапа и получения оплаты они куда-то сливались) я предложил сделать то же, но на 1С. С одной оговоркой - попросил для начала заказать шаблон страниц. Большую помощь также дала публикация "Мини-сайт на http-сервисах".

Общее описание

Самописная конфигурация на основе БСП, которая ведет простой учет движения заказа - от момента приемки на ПВЗ и до выдачи либо отправки возвратов, а также учет денежных средств. Но это не главное, можно настроить и над типовой.
С заказчиком были утверждены определенные сценарии и под каждый были добавлены шаблоны URL в http-сервис и создана страница с контентом.

Для связи с клиентом используются куки, которые также хранятся в БД.

Практически все страницы используют модальные окна, иначе количество сценариев бы выросло в разы. В моем случае я использовал JQuery, для интерактивности Ajax. Но ничто не мешает использовать другие библиотеки.

Благодаря такой реализации, frontend можно изменять на лету. Но для backend надо каждый раз прописывать изменения в модуле http-сервиса и обновлять ИБ.

По сценариям пользователь может делать следующее:

  1. Просмотр списка заказов с разными фильтрами по статусу.
  2. Поиск заказа по номеру, штрихкоду, данным покупателя.
  3. Просмотр данных заказа
  4. Оформить выдачу или отказ от заказа
  5. Принять заказы, отправленные со склада и напечатать акт приема-передачи
  6. Собрать возвраты, отменить сборку, отправить возвраты на склад - и напечатать соответствующие акты
  7. Провести инвентаризацию
  8. Сделать инкассацию денег, полученных за заказы
  9. Сформировать и вывести произвольные отчеты.

Демонстрация

HTTP-сервисы

 
Основой являются http-сервисы, которые формируют и отображают контент, а также реализовывают backend функции - прочитать или внести изменения в БД. Реализовать взаимодействие с сайтом можно было двумя способами: для каждой операции реализовать страничку со своим адресом или же все делать в пределе одной странице с помощью Post-запросов. Я выбрал первый вариант, но Post-запросы тоже использую (шаблон-URL API).

Контент


Справочники "Изображения", "Скрипты", "Стили", "ФайлыHTTP"  являются вспомогательными (css + js + img) и содержат в себе соответствующую информацию. Можно как загрузить туда текст или изображение, так и указать URL (подключить файл). За их передачу на клиент отвечают одноименные http-сервисы.

 
Скриншоты


Для формирования динамического содержимого используются справочники "МакетыБлоков" и "ИсточникиДанных". Источники данных - это описание запроса, параметров и полей, которые он вернет. В макетах описывается выборка из источников, связь параметров и формирования HTML-представление данных.

 
Скриншоты


Основным источником контента является справочник "Страницы". Страница отвечает за отображение контента для определенных сценариев (в моем случае список заказов, открытие заказа, выдача заказа и т.д.)
К странице можно подключить произвольное количество стилей и скриптов. Подключаются с помощью тегов <link> и <script src="">. Также была реализована возможность выгрузки в каталог на веб-сервере, для уменьшения нагрузки на 1С и ускорения загрузки веб-страницы.
В зависимости от состояния выгрузки каждого файла в каталог будут прописываться разные адреса.  В тексте страницы прописывается html-код, вставить определенный параметр, который http-сервис преобразует в значение, вставить блок (список заказов ПВЗ, данные конкретного заказа и т.д.).

Печать документов и отчеты

Для фиксации факта определенных операций необходимо было обеспечить печать документов, как результат их проведения. Необходимо было, чтобы это работало сразу на большинстве популярных браузеров без установки дополнительно ПО. Можно было экспортировать в PDF, но была вероятность, что файл будет загружаться, а не открываться.  Благо Табличный документ можно выгрузить в HTML-формате. Оставалась проблема со штрихкодом, но ее решил, реализовав печать штрихкодов в SVG-формате. Спасибо за Формирование штрихкода EAN-13 в SVG с помощью XDTO.

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

Авторизация

При авторизации на сервер передается логин и пароль, по логину ищется пользователь ИБ, от пароля берется SHA1-хеш и ищется в свойстве СохраняемоеЗначениеПароля пользователя ИБ. Спасибо Антону Ширяеву за его обработку, но на ИС не могу найти публикацию.

После авторизации работником ПВЗ создается запись в регистре сведений Сессии с уникальным идентификатором, сроком действия (длина срока зависит от галочки "Запомнить меня" на странице Авторизации) и вспомогательными данными. Идентификатор передается в куки на клиент через Set-Cookie и при последующих обращениях на сервер можно определить активна ли эта сессия (если нет - надо опять авторизацию проходить), а также получить ключевые данные (Пользователь, ПВЗ и их данные).

Позже пришлось добавить авторизацию по токену, для возможности входа под определенным ПВЗ и исключить передачу паролей. В ИБ можно сформировать токен и ссылку для входа, типа localhost/pvz/hs/index/token?id=1760e3d7-4ec0-4e89-89f9-44bbc6b50162. После перехода по этой ссылке ищется токен, если он актуален - деактивируются все сессии этого клиента, создается новая сессия и высылается идентификатор с ответом.

Frontend и backend

Как я уже описал выше, frontend можно изменять на лету, не обновляя конфигурацию.
Для backend http-сервис определяет команду, делает необходимые операции и возвращает результат. Результатом является сериализованная структура в json, которая содержит в себе ключи result(тоже в json) и error(текст). Но для каждой операции надо прописывать ее обработку.

Публикация

API для обмена, HTML-клиент и веб-клиент были опубликованы в разных публикациях, в которых разрешено нужное и запрещено остальное. Для HTML-клиента в описании публикации указаны данные авторизации пользователя http, который имеет необходимые права для работы с заказами, но запрещен вход через остальные клиенты.

Итоги

За время полноценной работы системы (уже больше полгода) система показала себя с лучшей стороны. Пользователей около 20, так что про замеры нагрузки говорить не приходится. Но со своей изначальной задачей она справилась - новые ПВЗ заходят и сразу же адаптируются. О каких-то критических замечаниях я не слышал. Постепенно допиливаю и улучшаю. На у с помощью html + css + js можно сделать очень многое.

В целом вышло немного сумбурно и не описание опыта, а описание продукта. Тем не менее с помощью http-сервисов можно не только обмены делать, а и вот такие сайты - а это и было одной из целей публикации.

И еще - на все, кроме первичных макетов страниц, ушли силы одного-двух программистов 1С и не пришлось искать веб-мастеров. В этом и есть выгода.
Если кто-то захочет "пощупать вживую" - пишите в личку, могу организовать доступ.

146

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. alexey.karmanov 187 18.04.19 04:17 Сейчас в теме
Дмитрий, спасибо за статью. Я же правильно понимаю, что при этом у вас куплено как минимум 20 пользовательских лицензий 1С (при 20 текущих возможных подключениях через браузер)?
3. GreenDragon 18.04.19 07:40 Сейчас в теме
(1) Что вы имеете ввиду под термином "подключение"? Ясно же написано - данные передаются посредством http-сервисов. Они тем и хороши, что лицензии потребляются только на момент установления короткой сессии передачи данных от фронта к энду и получения ответа.
8. alexey.karmanov 187 18.04.19 08:41 Сейчас в теме
10. Smaylukk 795 18.04.19 09:04 Сейчас в теме
(8) Лицензии есть. Но пользователи прямо вот чтобы все одновременно подключались - нет. Само подключение на нормальном железе срабатывает меньше секунды, а подключение еще остается висеть. А сформированная html-страничка, которая загржена в браузер, думаю, что уже не должна что-то по лицензиям.
12. GreenDragon 18.04.19 09:09 Сейчас в теме
(8) Различайте web и http сервисы. Подумайте над ситуацией, когда у вас с фронтэндом работает тысяч 15 человек (например, личный кабинет ЖКХ, написанный на пыхе), а бэком является база 1С. Взаимодействие их построено на http-сервисах (данные для формирования платёжки, приём показателей разнообразных счётчиков и прочее). Сколько необходимых лицензий для покупки вы озвучите заказчику решения?
19. alexey.karmanov 187 18.04.19 09:39 Сейчас в теме
(12) К огромному сожалению, я бы озвучил цифру в 15 тысяч лицензий.

Вот как отвечает сама 1с по этому поводу (пункт 59 вот здесь http://v8.1c.ru/predpriyatie/questions_licence.htm):

59. Организация предоставляет доступ к веб-сервисам, реализованным в "1С:Предприятии 8". Какое количество и каких лицензий необходимо приобрести организации?

Ответ "1С":

В данном случае на рабочих местах организации осуществляется доступ к информационной базе "1С:Предприятия 8" с использованием веб-сервисов, причем сами веб-сервисы реализуют всего лишь способ доступа к данным "1С:Предприятия 8" и предметом для отдельного лицензирования не являются. В соответствии с Лицензионным соглашением на "1С:Предприятие 8", каждое рабочее место, с которого тем или иным способом осуществляется доступ к данным информационной базы "1С:Предприятия 8", должно быть обеспечено отдельной клиентской лицензией. То есть организации для работы с программами, в которых используются веб-сервисы, необходимо приобрести клиентские лицензии на такое количество рабочих мест, с которых одновременно осуществляется доступ к информационной базе.

Обратите внимание, что в ответе фигурирует конкретная фраза "доступ к данным" (хотя далее по этому же тексту "доступ к инф. базе").

Но это всё ИМХО, именно поэтому я и задал здесь вопрос по лицензированию, так как для меня самого позиция вендора по этому вопросу пока не ясна.

Если сможете прояснить ситуацию с конкретными ссылками от вендора - буду благодарен.
Diversus; BigB; +2 Ответить
27. rpgshnik 1776 18.04.19 10:09 Сейчас в теме
(19) Пока не ясна я думаю и наказывать не будут. А так да при грамотном знание веб-разработки можно мутить свои сверхтонкие клиенты и запускать тысячи пользователей :))
chemezov; +1 Ответить
49. GreenDragon 18.04.19 10:54 Сейчас в теме
(19) "Доступ к данным" осуществляется в рамках 20-секундной (максимальный дефолт) сессии. Вы когда из 1С распечатали справку и понесли её, допустим в банк. Банк этими данными будет пользоваться. Вы тоже будете на банк лицензии покупать? Пример понятен? Front обратился к web-серверу с post-запросом. Веб-сервер Через коннектор перенаправляет запрос на получение/запись порции данных. Вот в этот момент потребляется лицензия. Далее 1С приложение возвращает ответ web-серверу и... всё. Лицензия больше не нужна. То, что web-сервер будет делать с полученными данными - это как ситуация со справкой в банк, которую я описал выше.

В приведённом ответе от 1С это и написано.
...на такое количество рабочих мест, с которых одновременно осуществляется доступ к информационной базе.


Видите в тексте слово "одновременно"? Вам сама 1С не даст превысить число лицензий.
chemezov; Ditron; +2 Ответить
54. alexey.karmanov 187 18.04.19 11:08 Сейчас в теме
(49) Пример с банком, конечно, утрированный. ИМХО сам вопрос лежит не в технической плоскости, а в юридической. И совершенно очевидно, какую позицию в данном вопросе выгоднее занять вендору. А ответ "1С" можно толковать двояко, поэтому видимо единственный способ выяснить - сделать конкретный запрос в "1С" по лицензированию конкретного программного решения. Попробую задать его и, если не забуду, отпишусь здесь - что они ответили.
114. babys 83 06.08.19 09:30 Сейчас в теме
(54) Нет смысла запрашивать. У меня проект под контролем 1С, 1с + битрикс, все запросы через http, ЗАКУПЛЕНО по рекомендации 1С лицензий под ОДНОВРЕМЕННОЕ КОЛИЧЕСТВО ПОЛЬЗОВАТЕЛЕЙ В 1С. По проекту общая численность пользователей ~100тыс, лицензий 5тыс.

ЗЫ: Возможно, что это мнение 1С только для данного проекта, там много кто на пятки, по цене, наступает.
user1021675; alexey.karmanov; +2 Ответить
115. s_vidyakin 62 06.08.19 15:44 Сейчас в теме
(114) И будет наступать, если жадность "АО 1С" будет продолжать стоять на 1 месте
Сейчас ничего не стоит написать самописную системку с веб-клиентом, хранящую нужные данные в себе, с периодическим обменом с 1С
Доступа к базе напрямую нет - не надо и лицензии. А то что обмен идет раз в секунду это уже технические моменты )
53. GreenDragon 18.04.19 11:08 Сейчас в теме
(19) К вопросу о 15 тысячах лицензий. Я бы вас застрелил из рогатки, если честно. Используйте шину. В случае нехватки лицензий у вас будет только увеличиваться время обработки очереди. Если очередь на кассе растёт, значит пора нанять ещё одного кассира (купить лицензию)
user1021675; +1 Ответить
55. alexey.karmanov 187 18.04.19 11:10 Сейчас в теме
(53) Не надо так. Я уже отписался выше. С технической точки зрения у меня вопросов здесь никаких нет. Здесь вопрос чисто юридического характера.
68. GreenDragon 18.04.19 13:06 Сейчас в теме
(55) Перефразирую. Вы технически не сможете юридически нарушить лицензию.
69. 🅵🅾️🆇 438 18.04.19 13:08 Сейчас в теме
(68) Все так, если вы делаете свой интерфейс через OData, http сервисы, web сервисы.
То можете делать сколько угодно рабочих мест, главное чтоб суммарное количество сеансов в консоле кластера (НЕ РАБОТАЮЩИХ ОДНОВРЕМЕННО ЛЮДЕЙ!) не превышало количество ваших лицензий.
Причем этот пункт четко прописан и оговорен.
Ditron; BigB; +2 Ответить
79. TitanLuchs 154 18.04.19 13:45 Сейчас в теме
(68)
Перефразирую. Вы технически не сможете юридически нарушить лицензию.

Сможет. При работе через http-сервисы в клиент-серверном варианте нужна только лицензия на сервер 1С:Предприятия. Клиентские лицензии не съедаются, независимо от количества пользователей.
То есть тут дело не в лицензиях как таковых, а именно в работающих пользователях. Пока пользователь работает с 1С, даже через свой собственный веб-интерфейс не съедающий лицензии, для него лицензия должна быть выделена.

Хотя вопрос "Какого пользователя надо считать работающим, а какого - нет" остается открытым.
Dach; ellavs; BigB; +3 1 Ответить
100. ellavs 633 19.04.19 17:10 Сейчас в теме
(79) Долго обсуждали в чате эту тему с коллегами. Выяснили, что клиентские лицензии в этом случае "не кушаются". Нужна только одна серверная лицензия (на кластер). В учебном центре 1С эту информацию также подтвердили ("клиентские лицензии при получении данных через http-сервис не нужны"), также коллеги делали запрос в 1С, где эту информацию опять же подтвердили. Клиентские лицензии нужны только если вы подключаетесь через тонкий/толстый/веб-клиенты (не путать веб-клиента с http-сервисами).
user1021675; Tarlich; Dach; +3 Ответить
103. alexey.karmanov 187 22.04.19 04:11 Сейчас в теме
(100) Итого мы имеем 2 противоречащих друг другу позиции от вендора:
- цитата из переписки с вендором, приведенная Юрием в (75) ... "1000 лицензий во всех трех вариантах."
- "клиентские лицензии при получении данных через http-сервис не нужны" ... "также коллеги делали запрос в 1С, где эту информацию опять же подтвердили"
104. Smaylukk 795 22.04.19 09:21 Сейчас в теме
(103) Нет, походу не так. Лицензии для http-соединений не ищутся в момент создания этого соединения. Можно посмотреть в утилите администрирования консоли кластера 1С. Но они по информации от вендора должны быть под количество активных пользователей (как писали выше - не распечатанные программные или usb-ключ).
Правда об этом четко нигде не написано - что такое "активные пользователи", как считать их количество.
106. alexey.karmanov 187 22.04.19 11:14 Сейчас в теме
(104) Давайте попробуем зайти с другой стороны... :)

Вот я читаю Лицензионное соглашение на "1С:Предприятие 8.3"

Раздел "ОПИСАНИЕ ПРАВ И ОГРАНИЧЕНИЙ"

Цитата "Лицензиат имеет право установить и использовать в соответствии с сопроводительной документацией ПРОГРАММНЫЙ ПРОДУКТ на одном компьютере в один момент времени. Использование ПРОГРАММНОГО ПРОДУКТА на нескольких компьютерах допускается только при наличии у Лицензиата Клиентской лицензии "1С:Предприятия 8" на соответствующее количество рабочих мест и только в соответствии с правилами лицензирования рабочего места пользователя (см. далее)."

Раздел "Лицензирование рабочего места"

Цитата "Доступ к ПРОГРАММНЫМ ПРОДУКТАМ осуществляется в один момент времени с такого количества рабочих мест, которое обозначено в Клиентской лицензии "1С:Предприятия 8", правомерно приобретенной Лицензиатом. При этом считается, что к ПРОГРАММНЫМ ПРОДУКТАМ получен доступ с данного компьютера и что они используются в тех случаях, когда осуществляется запись ПРОГРАММНЫХ ПРОДУКТОВ или их частей в память компьютера, а также в иных случаях, когда имеет место прямая или косвенная связь между компьютером, рабочей станцией, карманным персональным компьютером или иным цифровым электронным устройством и ПРОГРАММНЫМИ ПРОДУКТАМИ."

ИМХО рабочее место клиента, который делает запрос к базе через веб-сервисы со своего рабочего места через браузер, попадает под условия необходимости лицензирования рабочего места, так как имеется косвенная связь между его компьютером и ПРОГРАММНЫМ ПРОДУКТОМ (база 1с) через веб-сервисы.
107. Smaylukk 795 22.04.19 11:21 Сейчас в теме
(106) Доступ в один момент времени - вы это не выделили. Лицензия нужна на момент формирования в моем случае HTML-кода (когда идет чтение/запись в память). Загруженная и выведенная в браузер страничка - нужна ли лицензия, когда она просто показывается и никаких действий не делается?
AlexK_2012; Irwin; +2 Ответить
108. alexey.karmanov 187 22.04.19 11:26 Сейчас в теме
(107) Точно, я упустил этот момент.
52. TitanLuchs 154 18.04.19 11:05 Сейчас в теме
(12) А чем в данном случае принципиально отличаются web и http сервисы? Ничем.
56. alexey.karmanov 187 18.04.19 11:12 Сейчас в теме
(52) Юрий, я знаю, что вы специализируетесь как раз на этой теме. Наверняка уже разобрались для себя в вопросах лицензирования и знаете позицию вендора?
59. TitanLuchs 154 18.04.19 11:43 Сейчас в теме
(56) Позиция вендора - количество лицензий должно быть равно количеству одновременно работающих пользователей. То есть, 100 человек сидят в интерфейсе, аналогичном интерфейсу ТС - 100 лицензий должно быть зарезервировано в шкафу, несмотря на то, что физически они не используются сервером.
user1021675; BigB; alexey.karmanov; +3 Ответить
62. Smaylukk 795 18.04.19 11:49 Сейчас в теме
(59) Вопрос в том, как посчитать и доказать, что они одновременно это делали.
70. GreenDragon 18.04.19 13:15 Сейчас в теме
(59) Юрий, лишний раз выражу своё уважение за сверхтонкий клиент. Хоть мы его и не используем, но решение просто потрясающее. С удовольствием слушал ваш доклад на конференции в 2017 году. Но вот в данном случае, меня терзают смутные сомнения в вашей правоте.
У нас организация продаёт запчасти. Обычная торговля в опт и розницу. Для оформления заказов клиентами, уточнения их баланса, остатков складских, отслеживания статусов заказов используется asp.net приложение. Это фронт.
В качестве бэка база 1С, которую сайт дёргает, когда ему требуется информация. Внимание вопрос - сколько лицензий 1С нам требуется приобрести?
TitanLuchs; Elisy; +2 Ответить
75. TitanLuchs 154 18.04.19 13:25 Сейчас в теме
(70) За добрые слова спасибо!
По поводу лицензий - меня спросили про позицию вендора, я привел цитату из моей переписки с вендором. Приведу цитату из моего письма:


Описание примера работы пользователей с БД 1С из браузера:
Используется фронт для создания заказов клиента из браузера: https://digitcat.ru/demo/di-unf/
Одновременно с фронтом работает 1000 человек. Для обработки их запросов на сервере 1С:Предприятия создается 5 сеансов.


Описание технологии:

Вариант 1. Прямой запрос. Пользователь подключается к БД 1С путем набора в адресной строке браузера прямого пути к базе: http://servername.ru/basename/hs/servicename?parameter1=value1¶meter2=value2¶meterN=valueN. 1С возвращает готовый html-код, который отображается в браузере. Все дальнейшие запросы к БД 1С происходят также по прямым ссылкам "http://servername.ru/basename/hs/servicename"

Вариант 2. Запрос через посредника без промежуточной БД на сайте. Есть сайт, который содержит набор php-скриптов. Пользователь подключается к странице сайта: http://sitename.ru/scriptname.php?parameter1=value1¶meter2=value2¶meterN=valueN.
Скрипт получает запросы из браузера, дополнительно их модифицирует: меняет кодировку, часть параметров переводит в понятный 1С формат (например, перевод из кириллицы в формат URL), дополняет запрос новыми параметрами (например, идентификатор сессии, токен для проверки подлинности запроса). Также проверяется доступность БД 1С и если она недоступна, выполняются определенные действия (вывод сообщения об ошибке или редирект на другую страницу).
Конфигурация 1С выполняет этот запрос и возвращает результат, который снова обрабатывается скриптами на сайте: результат декодируется, определяется успешность выполнения запроса (несмотря на то, что номинально запрос выполнен успешно и возвращает ответ "200", с точки зрения логики решения запрос может считаться невалидным; пример - неверный токен или идентификатор сессии и 1С возвращает сообщение об ошибке авторизации, которое выводится вместо страницы со списком номенклатуры).

Вариант 3. Запрос через посредника с использованием промежуточной БД на сайте.
Нам незачем все запросы, поступившие от пользователей, перенаправлять к БД 1С, если с момента выполнения предыдущего запроса данные в 1С не менялись. Например, мы выводим список номенклатуры с актуальными остатками и ценами. С базой работают несколько посетителей, и все их запросы на отображение списка товаров будут возвращать один и тот же результат до тех пор, пока в БД 1С не будут изменены остатки или цены.
Для разгрузки базы 1С мы создаем на сайте собственную БД на MySQL, которая хранит результаты выполнения запросов к БД 1С. Когда первый пользователь в браузере выполняет запрос, он перенаправляется к БД 1С, его результат сохраняется в БД сайта и в дальнейшем сразу возвращается всем остальным пользователям. Вместе с результатом запроса в БД сайта мы храним дату актуальности данных этого запроса.
После модификации данных в 1С конфигурация делает запрос к сайту и устанавливает в БД сайта новую дату актуальности данных.
При следующем запросе пользователя к сайту скрипты php проверяют актуальность данных в БД сайта, определяют, что данные пора обновить, перенаправляют запрос к БД 1С, возвращают его результат пользователю и в этой же транзакции обновляют результат этого запроса в БД сайта.
По сути, получаем работу пользователей с БД сайта с обновлением данных в ней по мере утраты их актуальности (аналог работы сайта на битрикс с собственной базой и периодическим обменом с БД 1С, только обмен делается не по расписанию, а по событию в конфигурации 1С). Блок-схема данного процесса приведена ниже.


С учетом того, что со страницей сайта одновременно работают 1000 пользователей, на стороне сервера 1С во всех трех случаях задействовано 5 сеансов, сколько клиентских лицензий 1С должен купить владелец такого сайта в каждом случае?



Ответ от вендора:
1000 лицензий во всех трех вариантах.


Насколько я понял, интерфейс ТС - это 100% первый вариант. Попадает ли ваш пример под один из трех вариантов - затрудняюсь ответить. Если у вас на сайте нет своей СУБД, а все данные берутся из 1С, то скорее всего это вариант 2 со всеми вытекающими.

Как-то так. Оперируем пока только этими исходными данными, от себя ничего не придумываем. Всех клиентов предупреждаем, что запас лицензий должен быть.
Irwin; vv2; tormozit; GreenDragon; alexey.karmanov; BigB; Soloist; acanta; +8 Ответить
116. AlX0id 06.08.19 16:20 Сейчас в теме
(75)
Вполне себе хамская позиция, на мой взгляд. Да и вряд ли ее можно юридически обосновать в 3 случае.
На мой взгляд напрашивается вопрос - а если из одного сеанса базы я распечатываю 100 тыс листов прайсов и тем самым ознакамливаю клиентов с ценами из БД 1С - мне тоже надо купить 100 тыс лицензий?
72. GreenDragon 18.04.19 13:20 Сейчас в теме
(59) Разжуйте мне, пожалуйста логическую связь между официальной позицией вендора, озвученной в (12) и вашей фразой "100 человек сидят в интерфейсе, аналогичном интерфейсу ТС - 100 лицензий должно быть зарезервировано в шкафу".
78. TitanLuchs 154 18.04.19 13:36 Сейчас в теме
(72) Не уверен, что смогу более подробно разжевать фразу "На каждого работающего пользователя должна быть куплена лицензия". Сервер 1С при работе через http-сервисы лицензию не кушает, но она должна быть - пусть в нераспечатанном виде стоит на полке в шкафу, но она есть и она куплена.
А то, что в одном случае используются web-сервисы, в другом http-сервисы, не меняет сути дела, так как web-сервис это подвид http-сервиса.
ellavs; GreenDragon; +2 Ответить
2. CodeNull 18.04.19 05:30 Сейчас в теме
При авторизации на сервер передается логин и пароль, по логину ищется пользователь ИБ, от пароля берется SHA1-хеш и ищется в свойстве СохраняемоеЗначениеПароля пользователя ИБ. Спасибо Антону Ширяеву за его обработку, но на ИС не могу найти публикацию.

Получается, что авторизация выполняется на уровне ИБ, а не платформы/веб-сервера? Все сервисы изначально доступны без basic или ntlm авторизации?
11. Smaylukk 795 18.04.19 09:07 Сейчас в теме
(2) Да, авторизации веб-сервера нет. Все прописано в http-сервисах. Но опубликованы таким образом у меня только 5 http-сервисов - Index, Изображения, Скрипты, Стили, Файлы - остальные http-сервисы, web-сервисы, oData, веб-клиент закрыты и опубликованы по другому адресу.
4. BudkoT 18.04.19 07:42 Сейчас в теме
Небезопасный велосипед?
5. CodeNull 18.04.19 08:00 Сейчас в теме
(4) Почему небезопасный? Все зависит от алгоритмов авторизации и настроек сервера.
13. Smaylukk 795 18.04.19 09:23 Сейчас в теме
(4) Не могли бы вы расширить свой коммент и обозначить в чем тут вы видите небезопасность?
rpgshnik; +1 Ответить
6. Elisy 924 18.04.19 08:20 Сейчас в теме
В свое время был выбор между http-сервисами 1С и Asp.Net-проектом с подключением к 1С. Выбрали 2й вариант
Какие ограничения у http-сервисов:
1. Производительность - 1С проиграет. Тяжело управлять кэшированием, асинхронные вызовы делать нельзя.
2. SEO-оптимизация затруднительна (URL имеет префикс)
3. Обработка изображений - в 1С ограничена. Изображения должны подаваться в нескольких размерах - для каталога мелкие, для карточки товара - крупные
4. Обработка 404, 500 ошибок. Перенаправление анонимных пользователей на регистрацию или вход.
Т.е. для мелких проектов допустимо использовать 1С. При росте проект упирается в ограничения.

Реализовали несколько крупных проектов. Веб-приложение подключается к 1С и получает необходимые данные или записывает их.
https://www.domosfera.kz
https://www.gallery.kz
https://ogo.kg
mivari; oleg-m; mvxyz; JohnConnor; testnv0; VVi3ard; acanta; TreeDogNight; alexey.karmanov; YPermitin; +10 Ответить
7. YPermitin 6412 18.04.19 08:30 Сейчас в теме
(6) тот момент, когда комментарий не менее полезный, чем сама статья! :)

(0) спасибо автору за статью!
16. Smaylukk 795 18.04.19 09:31 Сейчас в теме
(6) Спасибо за ваш ответ. Согласен, для каждого проекта свои пути реализации. Ваши реализации больше для стороннего пользователя, мой проект - более внутренний. И у заказчика не очень складывалась работа с веб-мастерами по другим проектам.
28. TitanLuchs 154 18.04.19 10:25 Сейчас в теме
(6) Что имеется в виду под "асинхронные вызовы делать нельзя"? JS поддерживает асинхронные http-запросы, 1С способна обработать несколько запросов одновременно.
38. Elisy 924 18.04.19 10:42 Сейчас в теме
(28) Я имел ввиду многопоточность на сторон сервера. В Asp.Net AsParallerl(), async-await
Натолкнули на мысль
В 1С нельзя расшарить один статический объект в памяти среди подключений. Например, сделать счетчик онлайн посетителей.
42. Smaylukk 795 18.04.19 10:46 Сейчас в теме
(38) Через регистр сведений можно, только надо определиться, кто считается онлайн-посетителем.
57. Elisy 924 18.04.19 11:13 Сейчас в теме
(42) Регистры хранятся в БД. Обращения к БД на запись или чтение всегда ресурсоемки. Переменные в памяти намного быстрее работают.
45. TitanLuchs 154 18.04.19 10:49 Сейчас в теме
(38) Если речь конкретно о счетчике онлайн-посетителей, то можно считать активные сессии.
А работать с одним объектом в памяти (с временным хранилищем например) можно попробовать, если включить переиспользование сеансов. Но это при относительно небольшом количестве подключений, конечно же.
tacu; Elisy; +2 1 Ответить
9. logarifm 1059 18.04.19 08:49 Сейчас в теме
(0) Интересные мысли и отличная реализация. Поставил плюс.
14. fr13 637 18.04.19 09:27 Сейчас в теме
Для чего нужна 1С в этом решении? Только ради БД?
17. Smaylukk 795 18.04.19 09:36 Сейчас в теме
(14) Вся логика, справочники, документы, движения - все сначала делалось в конфигурации, только потом делался http-сервис. Также идет обмен с центральной конфигурацией.
И работать можно получается и в тонком, веб-клиенте, и в html-клиенте.
Ну а если брать в целом - любой сайт использует какую-то БД.
И самой большой плюс - фронт и бек можно делать силами 1С разработчика
Zeskord; Elisy; +2 Ответить
20. fr13 637 18.04.19 09:42 Сейчас в теме
(17) Я это к тому, что зачем упираться в ограничения платформы если можно было использовать реляционную (NoSQL) базу, а в качестве бэк энда взять тот же Node.js.
Но если я правильно понял, то так исторически сложилось, что сначала была база на 1С и только потом были прикручены http сервисы.
21. Smaylukk 795 18.04.19 09:49 Сейчас в теме
(20) Заказчик - компания транспортной доставки. Весь учет ведется другой базе на 1С. Этот проект - это только частный случай доставки, который вылился в отдельную базу. Также у заказчика были в наличии только 1С-ники
29. fr13 637 18.04.19 10:26 Сейчас в теме
(21) Я понял. В целом очень достойно. Спасибо что поделились опытом!
34. Elisy 924 18.04.19 10:34 Сейчас в теме
(20)
1. 1C позволяет быстро создать прототип.
2. 1С позволяет не задумываться об интерфейсе администратора. В веб-проектах мало создать интерфейс пользователя, еще нужно управлять данными.
3. В 1С есть специализированные объяекты. Тяжело самому организовать регистр накопления, например.
4. У 1С есть сообщество и много написанных обработок на все случаи жизни.
oleg-m; neuromancer_aza; vovan_victory; EGOLEGE; TitanLuchs; Smaylukk; +6 Ответить
41. fr13 637 18.04.19 10:46 Сейчас в теме
(34) 1-3 ничего не будет стоить, когда речь зайдет об масштабируемости, асинхронности. Про 4 - общество по той же ноде думаете меньше? ))
Тем более уже существует metadata.js
60. Elisy 924 18.04.19 11:45 Сейчас в теме
(41)
1-3 ничего не будет стоить, когда речь зайдет об масштабируемости, асинхронности.

Давайте конкретнее. Оптовая компания в нескольких странах получает заказы, оплату и делает реализации со складов в разных регионах.
Вы хотите сказать, что регистры накопления Остатки, Взаиморасчеты, регистр сведений Цены можно быстее реализовать, чем на 1С? Мало реализовать - ими нужно пользоваться - искать/исправлять ошибки, обрезать через 2-3 года, получать отчеты по ним. Еще нужно, чтобы они быстро работали, для этого крутить индексы в БД. А еще хочется права установить - этот может читать, а этот может записывать. Потом бухгалтерия попросит в свою бухгалтерскую программу выгрузку сделать.

Про 4 - общество по той же ноде думаете меньше? ))

Сообщество по ноде скажет, как вывести 2+2 или какой тип данных взять за основу. Как исправить ошибку сервера. Не более. Спросите это сообщество, как реализовать регистр накопления, в ответ будет тишина.

Тем более уже существует metadata.js

Я несколько лет назад слышал про metadata.js. На тот момент не увидел реализованных проектов. Появились работающие сайты в открытом доступе?
64. fr13 637 18.04.19 12:27 Сейчас в теме
(60) Вы меня не поняли. Я не говорил, что спроектировать БД легче и быстрее сторонними стредствами. Я обратил внимание на маштабируемость системы.
По поводу регистров - а как же весь остальной мир живет без них? ))
Про сайты на метадате сказать ничего не могу, это лучше у автора спросить.
80. TitanLuchs 154 18.04.19 13:56 Сейчас в теме
(64) Мы подобные проекты делаем иногда по несколько штук в месяц - всем хватает масштабирования. Если проект изначально подразумевает, что в нем будет работать много тысяч пользователей, то лучше сразу делать его не на 1С. А если там будет "сейчас 100 посетителей одновременно, через 5 лет максимум 1000", то такие объемы 1С отлично тянет. И во многих случаях, когда больше и не надо, 1С подходит на 100%.
112. nicxxx 236 04.08.19 07:27 Сейчас в теме
(34)
Тяжело самому организовать регистр накопления, например.

Прямо скажем - не очень. Проверено.
Придется написать немного кода на SQL, пару триггеров (для обновления таблиц итогов, если они будут), хранимку для упрощения вызова этого всего, но сам алгоритм несложный.
Если система не планируется быть большой, то даже не надо заморачиваться с таблицами итогов.
113. Elisy 924 05.08.19 06:19 Сейчас в теме
(112)
Вы правы, всегда нужно разумно подходить к задаче. Если не делать итогов, то можно проиграть в скорости и потерять возможность обрезки баз.
Функции, которые выполняет регистр 1С, дополнительно к движениям и итогам
1. Итоги
2. Движения
3. Обмен при РБД
4. Оптимизация по скорости обращения
5. Возможность обрезки базы/данных на любой момент
6. Возможность использовать типы 1С (ссылки справочники, перечисления)
7. Богатые возможности отчетов СКД, в которых участвует регистр
15. FreeArcher 89 18.04.19 09:27 Сейчас в теме
Дмитрий, я правильно понимаю, что на стороне 1С реализован полноценный backend (1с формирует уже готовые HTML) страницы? А какие данные на web сервере расположены?
18. Smaylukk 795 18.04.19 09:38 Сейчас в теме
(15) Сама публикация, а также на веб-сервер можно выгружать в виде файлов изображения, скрипты, стили и другие файлы. 1С в этом случае смотрит - если файл выгружен, то поставляет "внешнюю ссылку", а если нет - то внутреннюю.
22. FreeArcher 89 18.04.19 09:50 Сейчас в теме
(18) А по каким причинам была выбрана именно такая реализация? Как альтернатива есть подход, когда бекенд предоставляет API на получение и изменение данных. А весь web стек (html+css+js) хранится на сервере и просто отрисовывает полученные AJAX запросом данные.
Мне кажется в случае работы с 1С это более удобный подход. Мне самому приходилось держать в макетах HTML код и это жутко не удобно. Почему вы пошли первым путем, есть какие то плюсы в этом?
26. Smaylukk 795 18.04.19 10:03 Сейчас в теме
(22)
(22)
А по каким причинам была выбрана именно такая реализация?

Хотел изучить http-сервисы и подтянуть соседнюю область.

(22)
Мне самому приходилось держать в макетах HTML код и это жутко не удобно

У меня не в макетах, а в справочнике - т.е. можно менять в режиме Предприятия
23. FreeArcher 89 18.04.19 09:52 Сейчас в теме
Скажите у вас web сервер и 1С ws-сервер расположены на одном адресе? Вы не столкнулись с запретом CORS (кросс-доменных) запросов?
24. Smaylukk 795 18.04.19 09:57 Сейчас в теме
(23) Наверное на одном адресе, но я не понял вопроса. С запретом кросс-доменных запросов не сталкивался.
30. TitanLuchs 154 18.04.19 10:27 Сейчас в теме
(23) CORS 1Cка разруливает нормально.
35. FreeArcher 89 18.04.19 10:35 Сейчас в теме
(30) Так это не проблема 1С. Я как то пробовал на JS делать запросы к http сервису 1С и у меня не получилось из за CORS. Хотя этот же код вполне уходил на php сервер. Т.е. у меня не получилось задать правильно заголовки ответа 1С, чтобы разрешить кросдоменный запрос.
Вот если у вас есть пример или ответ был бы благодарен?
46. TitanLuchs 154 18.04.19 10:50 Сейчас в теме
(35) В заголовке ответа должен быть правильный origin - этого достаточно.
chemezov; +1 Ответить
25. ArchLord42 69 18.04.19 10:00 Сейчас в теме
"Я сделал отдачу фронта на 1С потому что могу", так?)
При +- нормальной нагрузке 1С перестанет вывозить вот это вот все, гораздо проще было вынести весь фронт за nginx с кеширование (это всего "10 строк" в конфиге nginx, вместо кучи кода и справочников в 1С), ну и 1С так и оставить бэкендом, но при этом перекрыть доступ в паблик.
Получилось бы абсолютно тоже самое, только не пришлось бы городить велосипед для отдачи статики из 1С, при этом её еще лишний раз нагружая.
32. s_vidyakin 18.04.19 10:33 Сейчас в теме
(25) Еще оптимальнее весь фронт переписать на фреймворке типа Vue.js, учится он за пару дней, справка шикарная на русском. Компонентов готовых навалом. А 1С должна быть только на бекенде.
EGOLEGE; Soloist; A_Max; FreeArcher; +4 Ответить
51. Torin 216 18.04.19 11:01 Сейчас в теме
(32) хотелось бы и Вашу статью увидеть с реализацией на фреймворке vue.js
58. s_vidyakin 18.04.19 11:24 Сейчас в теме
(51) есть такая статья в планах, времени никак не выделю ) Проект на работе с вебом не связан
Начинал пилить веб-компоненты для vue идентичные 1Сным, пока перенес только поле ввода, выглядит вот так
Прикрепленные файлы:
61. FreeArcher 89 18.04.19 11:45 Сейчас в теме
(58) vue идея хорошая. Вот только внешний вид бы не как 1С овский, а то смысла нет. Куча фреймворков сейчас довольно классных под vue, материальный дизайн и все тренды так сказать.
А проект интересный. Если бы на github то можно и попилить совместно.
63. s_vidyakin 18.04.19 11:51 Сейчас в теме
(61) Наоборот, хочу чтоб было точно как в 1С интерфейсе, можно тогда делать бесшовные приложения "продолжения 1С"
Материал не люблю, очень размашистый интерфейс получается, как будто мобильное приложение натянули на комп. Такси более компактен

Кстати куча фреймворков этолько на первый взгляд. Они в основном только под примитивные CMS подходят и дашборды с кнопочками и списками.
Под бизнес я так и не нашел бесплатные на 100% покрывающий нужды на уровне 1С-Такси. Пока у меня в топе iView и ElementUI, возможно они даже клоны. Китайцы рулят ) Платные есть красивые библиотеки но они стоят просто космос
36. Smaylukk 795 18.04.19 10:38 Сейчас в теме
(25) О какой нагрузке вы пишете, примерно?
Касательно остального сообщения - я уверен, что могут накидать еще 10+ способов реализации.
Я реализовал такой. Он справляется с задачей.
Тем более, что 1С сама продвигает веб-клиент, а это не укладывается в мышление, что 1С - только бэкенд.
Но все равно спасибо за ваше мнение
81. ArchLord42 69 18.04.19 13:57 Сейчас в теме
(36) продвигать то продвигает, только вот скорость всего этого решения какая? правильно очень плохая, тонкий клиент подключённый через урл работает раза в 2 быстрее.
А все почему, потому что каждый раз 1с отдаёт статику.
Ставим nginx перед веб клиентом с кешированием и вот тогда начинается более менее адекватная скорость, у вас такая же фигня, вместо того, чтобы просто положить статику за нормальный веб сервер, вы отдаёте её из 1с создавая лишнюю нагрузку и лишний труд для себя, это пока 10 юезров вы её (нагрузку) не ощущаете, как начнётся масштабирование вы поймёте о чем я говорю
83. Smaylukk 795 18.04.19 14:11 Сейчас в теме
(81) Под статикой вы что имеете ввиду - скрипты, стили, картинки? Если да - то у меня есть возможность эти файлы выгрузить в папку на веб-сервере (IIS, Apache) и настроить там кеширование.
87. ArchLord42 69 18.04.19 14:26 Сейчас в теме
(83) Ну так, а почему бы не хранить все изначально там, и редактировать \ поддерживать более цивилизованным способом?
Ну это слишком легко конечно, ни метаданных тебе в 1С не надо добавлять, ни материала на статью не будет, да и 1С совсем бездельничать будет, вместо обработки 30 запросов \ сек, всего-то 1-2 будет ловить, специализированные решения для слабаков, наше 1С - наше все :)
89. Smaylukk 795 18.04.19 14:47 Сейчас в теме
(87) Что-то вы не в настроении.
Я бы поотвечал, но вижу, что вам ответы не нужны.
Хорошего вам дня и прекрасного настроения.
91. ArchLord42 69 18.04.19 15:54 Сейчас в теме
(89) Да все прекрасно у меня с настроением)

Я только хочу донести мысль, что не все надо делать через 1С, а использовать для этого специальные инструменты, которые не только сэкономят время, а еще и уменьшит количество человеко-часов до релиза, что сделает вашего заказчика еще счастливие и у него не пригорит 5 точка, при резком масштабировании проекта.

Мои притензии в основном потому, что такие статьи читают люди не окрепшие "умом", они же повторять начнуть, а мне человеку пришедшему в 1С из веб разработки больно смотреть, как авторы, подобные Вам, создают проблемы себе и выкладывают в паблик, чтобы другие учились.
Ибо все это уже решено сообществом веб разработчиков несколько лет назад, но 1С у нас как всегда впереди планеты всей, т.к. теже хттп сервисы появились не так давно и никто еще не толком знает как их правильно готовить и как легко положить 1С сервер при неверном их использовании :)

Хочу дать 1 совет, если ваш клиент подает нажеды на расширение бизнеса = увеличение потребителей вашего проекта, то проведите тесты хотябы через какой нибуть jMeter или что-то подобные, некоторые недостатки сразу всплывут и Вы их сможете исправить \ переделать до того, как начнуться факапы.

А если есть доступ к записям последней ИС конфы`18, рекомендую посмотреть доклад Игоря Антонова как раз на эту тему, он там как раз рассказывает про фронт на js (react) + бэк на 1С.
93. Smaylukk 795 18.04.19 17:29 Сейчас в теме
(91) Чтобы работать как веб-разработчик - надо быть веб-разработчиком. Вот вы им были до 1С - вам и пригорает. Я пока не вижу смысла учить их. И делаю, как умею. Учитываю, что в вебе постоянно появляются новые языки и фреймворки - люди не сидят на месте и развиваются. 1С тоже. Вполне возможно, что через несколько лет 1С будет уметь из коробки делать это.

А вот почему вы пришли из веба в 1С - я бы послушал/почитал :) , потому как тенденция в обратную сторону
94. ArchLord42 69 18.04.19 18:01 Сейчас в теме
(93) ну программисты, всегда куда-то кочует, это те кто не смог себя найти в данной экосистеме.
Веб. разрабы тоже кочуют хорошо, в ынтерпрайзы на джаву, на мобилки, достаточно в чатике в телеге по нужной тематике посидеть.
В 1С чатах орут, "1С говно, питон \ го \ любой другой язык - тру"
В веб орут, "веб говно, js отстой, джава - тру"

Я не сказать чтобы прям совсем ушел, т.к. кроме 1С проектов, сейчас веду еще и веб, но отношение 70 \ 30.

6 лет назад, я писал на ПХП, тогда еще 5.х версии (питон \ руби тогда в нашем регионе еще не зашел от слова совсем)
и писали (и щас некоторые пишут) на нем нечто убогое типа

<div class = "user" ><?php echo $User->name ?></div>


что приводило более менее большой хтмл шаблон в ужасный и нечитаемый пласт символов.

Ну, а на JS, пусть даже и с jQuery писался довольно низкоуровневый код, чувствовал себя программистом на ассемблере.
А потом была интеграция с 1С и мне она показалась довольно классной штукой, с хорошим уровнем абстракции...конец истории :)
98. Smaylukk 795 19.04.19 10:33 Сейчас в теме
(94) Спасибо за историю, необычно.
А потом была интеграция с 1С и мне она показалась довольно классной штукой, с хорошим уровнем абстракции...конец истории :)
Но все же непонятно, это было правильно решение или нет?
99. ArchLord42 69 19.04.19 14:06 Сейчас в теме
(98)
Да вполне верное.
1С может быть очень интересной :)
92. Steelvan 18.04.19 17:28 Сейчас в теме
(89) Автор молодец что сделал и описал.
На мусорные и критикующие комментарии забей.

Американский менталитет, насри на другого и покажи себя крутым. Это синдром обиженных, показывать себя такими умными и все знающими.
Если они такие умные, так и остались бы в своем вебе. Нет, приходят сюда, копыта на стол и начинают блеять, забрызгивая все вокруг своей слюной.

После таких комментаторов нормальные люди устанавливают галочку "Запретить комментарии". Все желание отбивают что-то писать и чем-то делиться.

Умеешь ? Сделай свое, а мы посмотрим.
chemezov; ShalamovEV; +2 Ответить
82. ArchLord42 69 18.04.19 14:04 Сейчас в теме
(36) а ещё вот Вам завтра понадобится css / js поправить, вы вместо того, чтобы открыть нормальный редактор, с подсветкой и автокомлитом, пойдёте открывать невзрачную форму 1с и там мучаясь править, я конечно понимаю что гордость вам не позволит принять это скорее всего, но ваше решение абсолютно не production ready в такой архитектуре, это так побаловатся с 10 пользователями.
85. Smaylukk 795 18.04.19 14:16 Сейчас в теме
(82) Я и не настаиваю, что это решение очень правильное. Оно просто одно из.
CSS/JS правлю, да в невзрачной форме, но пока не напрягло. Если что -всегда можно прикрутить или открывать в нормальном редакторе.
Но я программист 1С в больше мере.
И это решение позволяет зарабатывать заказчику, его партнерам и мне.
Еще раз спасибо за ваше мнение
chemezov; +1 Ответить
50. Torin 216 18.04.19 10:58 Сейчас в теме
(25)с нетерпением ждём вашу статью с описанной Вами реализацией
86. ArchLord42 69 18.04.19 14:21 Сейчас в теме
(50) да какая там статья, пишем на css \ html + ванильном JS \ vue \ angular \ react \ мой самый любимый и самый лучший фреймворк, а на 1С пару ендпоинтов для отдачи \ принятия конкретных данных и все, по https сервисам написано много, про реакты писать тут смысла нет, не та аудитория.
88. Torin 216 18.04.19 14:38 Сейчас в теме
(86)
по https сервисам написано много, про реакты писать тут смысла нет, не та аудитория


:) Ну звиняйте тогда :)
101. FreeArcher 89 19.04.19 17:51 Сейчас в теме
(86) Раз уж пошел разговор: А OData не более универсальное решение, чем http сервисы. Не пробовали по этому протоколу работать?
31. muskul 18.04.19 10:27 Сейчас в теме
скока стоило если не секрет
43. Smaylukk 795 18.04.19 10:48 Сейчас в теме
(31) В то время работал фултайм и этот проект пилил в свободное время от других задач. Сейчас уже сложно оценить. Да и он не законен - перманентно развивается.
33. Steelvan 18.04.19 10:34 Сейчас в теме
Радуют подобные публикации.

Пожалуй, тоже добавлю свои пять копеек в тему 1С <-> веб.
Прикрепленные файлы:
chemezov; d.menyailov@ngslab.ru; arsvlg; Elisy; +4 Ответить
37. FreeArcher 89 18.04.19 10:39 Сейчас в теме
(33) Что это интепритатор 1С кода на JS или просто картинки?
39. Steelvan 18.04.19 10:43 Сейчас в теме
(37) Да, это интерпретатор кода 1С в код js. С расширением языка 1С для работы с объектами, операторами ++ и --, и еще некоторые изменения.
Прикрепленные файлы:
40. FreeArcher 89 18.04.19 10:45 Сейчас в теме
(39) Жесть ...
А ссылку на проект можно?
47. Steelvan 18.04.19 10:52 Сейчас в теме
(40) У проекта пока нет сайта, он ведется в закрытом режиме.
Как будет что показать обязательно опубликуем.
Сейчас работаем над конструктором форм.
44. Steelvan 18.04.19 10:49 Сейчас в теме
Ну и такие конструкции как попытка, циклы и условия.
Прикрепленные файлы:
48. Torin 216 18.04.19 10:54 Сейчас в теме
Статья очень познавательная и за это + однозначно.
65. 🅵🅾️🆇 438 18.04.19 12:47 Сейчас в теме
Позвольте небольшую корректировку:
слишком много http сервисов насоздавали.
Достаточно было одного "api" и в его модуле реализовать роутер.

По поводу авторизации, идеи к размышлению:
1) можно реализовать вход через oauth2 (социальные сети/почта) ну или свой openid
2) можно реализовать вход по номеру мобильного телефона или через мессенджер (отправлять короткий смс)

Если интересует дальнейшая веб разработка, вот вам точка роста:
последнее время уже не пишут на ванильном js и жукавери, жабаскрипт, нонче, компилируемый.
Тоесть стоит посмотреть в сторону vue/angular/react и почитать про SPA/PWA приложения, рендеринг на сервере это уже моветон)

А в целом вы большой молодец, сами автоматизируем такие вещи, ибо интерфейс 1с для обычного пользователя никуда не годится.
chemezov; oleg-m; Soloist; torbeev; +4 Ответить
Оставьте свое сообщение

См. также

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Немного о интеграции с CRM AMO 7

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Немного информации о том, как настроить интеграцию с CRM AMO. Пример функций для подключения к АМО и обновления заказа. Пример на основе API авторизации.

15.11.2019    1019    xxxAndricxxx    6       

Ещё немного о ИНН и сервисе DaData 24

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    2690    xxxAndricxxx    20       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

Вариант реализации клиента SOAP на примере получения остатков из MERLION 3

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB

В статье приведу пример клиента к сервису SOAP, функции которого принимают несколько значений типа строка или массив строк.

14.11.2019    907    malikov_pro    0       

Разбор любого JSON-объекта в соответствующую структуру 9

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика WEB

Данная публикация предназначена разработчикам 1С, которым приходиться разбирать данные формата JSON. Выложенный пример кода создает объект типа Структура, полностью повторяющий структуру данных формата JSON.

13.11.2019    2044    user665435_al.windstorm    13       

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса 12

Статья Программист Нет файла v8 Россия Бесплатно (free) WEB

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    1720    AVR    0       

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.) 53

Статья Системный администратор Нет файла v8 1cv8.cf Бесплатно (free) WEB Облачные сервисы, хостинг

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    4934    uno-c    25       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Самый примитивный HTTP-сервис в мире 175

Статья Программист Нет файла v8 Бесплатно (free) WEB

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    9416    YPermitin    26       

Свой веб интерфейс к 1С: побеждаем CORS на IIS, сохраняя авторизацию 57

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) WEB Администрирование данных 1С

Если "веб морда" расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С - это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

20.08.2019    4261    Fragster    7       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Вывод отчетов из Штрих-М Торговое предприятие 5 на кассовое ПО Кассир 5 через веб-сервис 3

Статья Системный администратор Программист Нет файла v8 1cv8.cf Розничная и сетевая торговля (FMCG) Россия УУ Windows Розничная торговля Бесплатно (free) WEB

Универсальный механизм вывода отчетов товароучетной системы Штрих-М Торговое предприятие в кассовое ПО Кассир 5 посредством веб-сервиса.

14.08.2019    2155    Van2507    1       

Совсем простой обмен HTTP, 2 функции 60

Статья Программист Нет файла v8 Бесплатно (free) WEB

Функция для вызова рест-сервиса и функция для разбора результата. Быстро, просто, универсально.

12.08.2019    4902    Yashazz    15       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery. Продолжение 53

Статья Программист Расширение (cfe) v8 1cv8.cf Бесплатно (free) WEB

Получение изображений из информационной базы и отправка файлов через "фронт" на HTML/CSS/JS.

08.08.2019    4406    Sedaiko    1       

1Script.Web. Интернет-приложения на языке 1С 121

Статья Программист Нет файла v8 Бесплатно (free) WEB OneScript

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    13750    Evil Beaver    32       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Неверные остатки на сайте битрикс 2

Статья Программист Нет файла v8 УТ11 Бесплатно (free) WEB

Исправление процедуры выгрузки остатков на сайт битрикс из УТ 11

25.04.2019    2772    distorshion    4       

Отправка файлов через SOAP. SOAP with attachments, MTOM 38

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB

В продолжение «своеобразной» поддержки 1С протокола SOAP, описанной в https://infostart.ru/public/965259/, опишу еще одну особенность. 1С не поддерживает возможность отправки файлов-вложений. Для решения этой проблемы пришлось самостоятельно писать формирование пакетов SOAP и разбор ответов сервера.

18.04.2019    4054    mysm    2       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

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

19700 руб.

Парсинг сайтов из 1С на примере ломбарды.рф с помощью XPATH для ДокументDOM 67

Статья Программист Нет файла v8 Бесплатно (free) WEB

На всякую хитрую гайку всегда найдется болт с резьбой (с)

01.04.2019    9048    starik-2005    33       

Логируй больше! 1С + UPD + GELF + Graylog 28

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Практика программирования Администрирование данных 1С WEB Разработка

Наличие производительной платформы управления логами - это жизненно важный элемент в ландшафте систем с высокой активностью. Рассмотрим один из подходов логирования активности систем на платформе 1С в Graylog.

26.02.2019    6747    Lars Ulrich    15       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Создание телеграм бота с гугл авторизацией, обратными вызовами и уведомлениями об обновлении через сервер-маршрутизатор 159

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) WEB

Статья детально рассказывает обо всех аспектах настройки телеграм бота, работающего через сервер-маршрутизатор посредством обратных вызовов. Приведены примеры работы отправки/исправления сообщений, отправки файлов, работы с внутренними и встроенными запросами. Создание клавиатуры. Авторизация пользователей через gmail.

07.11.2018    19879    🅵🅾️🆇    40       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Мой опыт небольшого проекта с веб-сервисами (Часть 2) 20

Статья Программист Нет файла v8 Windows Бесплатно (free) WEB

Продолжение публикации по веб-сервису для реализации странички с выводом данных.

05.10.2018    5054    alex_bitti    0       

Как запустить работу Google Maps в поле HTML формы 1С? 25

Статья Программист Нет файла v8 Россия Бесплатно (free) Практика программирования WEB

Как справиться с передачей события в поле HTML, если надо передать данные. Переход на новую версию Google Maps.

26.09.2018    7282    Green2    10       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

Мой опыт небольшого проекта с веб-сервисами (Часть 1) 23

Статья Программист Нет файла v8 Windows Бесплатно (free) WEB

Хочу поделиться своим опытом использования веб-сервисов на небольшом проекте, который в принципе расширяем до чего-нибудь более существенного.

08.08.2018    7427    alex_bitti    33       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя" 56

Статья Программист Нет файла v8 Энергетика и ЖКХ УУ Управление взаимоотношениями с клиентами (СRM) Дебиторская и кредиторская задолженность Бесплатно (free) WEB

Гончаров Максим делится опытом создания «Личного кабинета потребителя» на сайте водоканала. Он описывает архитектуру системы и объясняет, какую роль в ней играют технологии: «Битрикс», OData, веб-сервисы, «1С:БСП». Также в статье раскрываются возможности использования подсистемы «Анкетирование» в «1С:БСП» как конструктора документов.

25.06.2018    12389    maxx    31       

На что действительно способны HTTP-сервисы 176

Статья Программист Нет файла v8 Бесплатно (free) WEB

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

14.06.2018    26440    dalgaso2010    45