Ответы пользователя по тегу
  • Как сделать веб сервис для совместной работы в базе 1с?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Дополнительно, если конфигурация поддерживает режим работы на управляемых формах, то можно как альтернативу терминальному серверу рассмотреть работу с конфигурацией через веб-сервис.
    Это когда вы публикуете конфу через Апач, например, и можете запускать конфигурацию в любом браузере.
    Но тут нужно, чтобы конфа поддерживала работу в управляемом режиме. Думаю, что БСХП должна этот режим поддерживать.
    Ответ написан
    Комментировать
  • Как убрать обязательную авторизацию веб-сервиса 1С?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Можно также отпроксировать запрос на Nginx+NodeJS, например.
    NodeJS будет авторизоваться на вебсеврисе по правилам 1С, а авторизацию на прокси NodeJS можно сделать по АПИ-токену по всем правилам REST-API.
    Ответ написан
    Комментировать
  • Как подружить обмен данными между 1С и Django REST Framework?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Для примера взаимодействия 1С с любым интернет-сервисом можно взять обработку на инфостарте, которая взаимодействует с внешним сервисом через HTTPS-запросы: https://infostart.ru/public/1310842/

    Также рекомендую ознакомиться с моими ответами по этой тематике:
    Как организовать общение между базой данных 1с и django?
    Как происходит взаимодействие сайта и 1С: Предприятие?
    Ответ написан
    Комментировать
  • Как оформить права на свой код?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    1. Рекомендую сначала написать модуль и продать его. Далее, если удасться продать модуль более чем одному заказчику, то уже задуматься об оформлении интеллектуальной собственности (ИС).
    2. ИС рекомендую оформлять на организацию, а не на физлицо.
    3. Оформление ИС на программу ЭВМ занимает 4 часа работы - заявка заполняется онлайн и подписывается ЭЦП при наличии, ну или в бумажном виде. Через 2 мес вам выдадут свидетельство.
    4. Чтобы продавать программный продукт вовсе не обязательно иметь свидетельство. Ваше право на программу ЭВМ возникает в момент создания программного продукта, а не в момент регистрации. Не все юристы это знают, поэтому и требуют на каждом шагу свидетельство.
    5. Госпошлина - порядка 4к руб. Срок 2 мес.

    Удачи!
    Ответ написан
    3 комментария
  • Как получить УникальныйИдентификатор (guid) с помощью консоли запросов 1С?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    На языке запросов - никак.
    Однако, есть удобный набор обработок - Инструменты разработчика
    В инструментах разработчика можно выводить результаты запроса с отображением гуидов ссылок и вообще в любых списках справочников и документов. Рекомендую.
    Ответ написан
    1 комментарий
  • Как получить/установить дату создания документа 1С?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Для документа создаем реквизит ДатаСоздания
    В модуле объекта (документа) пишем код:
    Если ЭтоНовый() Тогда
    		ДатаСоздания = ТекущаяДата();
    	КонецЕсли;


    Код будет работать для новых документов.
    Ответ написан
    2 комментария
  • Сервер для 1с предприятия?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Рекомендую не париться с инфраструктурой и арендовать сервер в облаке. В итоге выйдет дешевле и много надежнее. Мы например, хостимся в Яндекс.Облаке уже 2 года. Сейчас они сделали специальные сборки для 1С - т.е. можно развернуть сервер 1С одной кнопкой + арендовать СУБД - постгри или скуль. А можно и на одной виндовой машине все самому замутить. Выйдет порядка 7к руб в мес. Рекомендую.
    Ответ написан
  • Как правльно отправлять HTTP post запрос из 1с?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    В свое время нашел обработку на инфостарте, которая взаимодействует с внешним сервисом через HTTPS-запросы: https://infostart.ru/public/1310842/
    Можно взять как пример.
    Ответ написан
  • Как произвести обновление программного обеспечения при непрерывном производстве 24\7. В частности больших баз 1С?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    В текущей постановке вопроса - без остановки базы - никак.
    Однако, если определить требования простоя, то возможно.
    Например, простой базы 60 минут недопустим. В то время как простой базы 5 мин для обновления вполне приемлем.
    Если допускается простой для обслуживания в 5 мин, то в этот интервал можно уложиться.

    Что такое обновление базы 1С.
    В процессе обновления выполняется накатывание нового кода, а также реструктуризация базы. Накатывание кода происходит быстро.
    Основное время обновления занимает реструктуризация ИБ.
    Вопрос в том - как сократить время реструктуризации ИБ.
    Не каждое обновление затрагивает таблицы базы данных. Поэтому не каждое обновление будет долгим.
    Рассмотрим случай, когда внесли изменение в большую таблицу.
    Выполнение реструктуризации средствами 1С процесс долгий. Сначала создается новая таблица с новой структурой. Далее в эту новую таблицу перекладываются записи (по одной!) из старой таблицы. Мощность оборудования мало что решает при таком подходе. Какие бы мощные сервера не были, они не могут сильно ускорить процесс перекладывания записей "по одной".
    Решение:
    1. Организационное. Заранее определять "тяжелые" и "легкие" релизы. Т.е. релизы, которые затрагивают тяжелые таблицы, и которые не затрагивают.
    2. Технические. Не вносить изменения в существующие поля "тяжелых" таблиц, а только добавлять новые поля, сбоку. При таком подходе можно вмешаться в процесс реструктуризации ИБ.
    Дело в том, что когда вы добавляете новое поле, то 1С все-равно выполняет реструктуризацию, даже, если это поле пустое. Такая 1С-ка "тупая". Ничего не поделаешь. Однако это можно компенсировать при работе на уровне СУБД. На этапе реструктуризации можно подменять имена таблиц таки образом, что 1С-ка будет реструктуризировать пустую таблицу. Далее заменять таблицу обратно. Например:
    Дано:
    Таблица - А - большая и тяжёлая
    В таблицу А добавили новое поле АБ
    Задача:
    Надо выполнить реструктуризацию таблицы А максимально быстро.
    Решение:
    На уровне скуля переименовываем таблицу А в _А
    Включаем реструктуризацию 1С
    Реструктуризация создает недостающую таблицу А в соответствии с конфигурацией
    Перекачиваем данные из _А в А средствами СУБД - на уровне скуля это делается максимально быстро.
    Запускаем 1С, убеждаемся в работоспособности данных
    Удаляем _А

    Как-то так.

    P.S. Динамическое обновление НЕ советую применять никогда.
    Ответ написан
    1 комментарий
  • Как организовать общение между базой данных 1с и django?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    В общем случае задачу обмена 1С с сайтом можно решить так.
    На стороне 1С:
    1. Создаем ПланОбмена и включаем в состав плана обмена объекты, изменения которых требуется выгружать на сайт
    2. Создаем РегламентноеЗадание, которое раз в сутки или чаще запускает процесс обмена данными с сайтом
    3. Пишем код на 1С, который забирает из ПланаОбмена новые зарегистрированные изменения, сереализует их в заданный формат - XML или JSON, и отправляет на сервер сайта через HTTPS-запрос.
    4. После успешной выгрузки данных на сайт получаем от сайта номер квитанции, которая ранее была отправлена на сайт. По номеру квитанции снимает с регистрации изменения на плане обмена, т.к. они подтверждены сайтом как принятые.

    На стороне сайта:
    1. Реализуем REST API для взаимодействия с 1С - чтобы 1С могла через HTTPS-запросы отправлять и получать данные.
    2. Реализуем таблицу для хранения квитанций для ПланаОбмена 1С
    3. Реализуем парсинг полученных данных из XML или JSON
    4. Реализуем запись в базу полученных данных

    PS На стороне 1С можно обойтись и без ПлановОбмена и выгружать данные выборкой запросом
    Соответственно можно обойтись и без квитанций, т.к. это сущность для ПланаОбмена
    Можно выгружать по одному объекту и снимать его с регистрации в ПланеОбмена сразу после 200 от сайта.

    Вариантов много. Зависит от задачи и требований.
    Ответ написан
    Комментировать
  • Как настроить интеграцию 1С с приложением на node.js?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Правильнее будет на стороне бэкенда организовать некий АПИ. При этом 1С умеет вызывать сторонний REST API для отправки данных.
    На стороне 1С рекомендую задействовать объект метаданных - ПланОбмена, чтобы выгружать не все данные, а только те, которые были добавлены/модифицированы с момента последнего сеанса обмена.
    Ответ написан
    Комментировать
  • Как сделать выгрузку файлов 1С в NodeJs?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Требуется на стороне nodeJS реализовать REST API, а на стороне 1С встроенными в платформу средствами делать вызовы REST API.
    Если нужен пример работы с REST API со стороны 1С могу поискать...
    Ответ написан
  • Какую версию 1C ЗУП выбрать: 2.5 или 3.1*?

    WhiteSsnoww
    @WhiteSsnoww
    Программист
    Только 3.1
    Конечно ЗУП 2.5 хорошая, выстраданная конфигурация. ЗУП 3.1 сыровата. Однако это вопрос времени. Вы же не рассматриваете вопрос внедрения ЗиК 7.7 )) Хотя ЗиК в свое время была лучше ЗУП 2.5.
    Ответ написан
    Комментировать