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

Публикация № 1063641 20.05.19

Приемы и методы разработки - Практика программирования

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

Я расскажу вам про интернет-технологии и их возможное будущее в мире 1С.

 

Ситуация с интернет-технологиями в 2018 году

Мы живем в удивительное время – сейчас нет таких приложений или устройств, которые бы не работали с интернетом. Интернет-технологии и протокол HTTP – повсюду. Куда ни глянь, в любом месте – везде вы наткнетесь на интернет.

Основной тренд интернет-технологий в 2018 году:

  • Растет популярность концепции микросервисов – маленьких приложений, которые независимы, масштабируемы и т.д. и общаются по HTTP.

  • Создается множество различных интеграционных служб – сейчас в любом чайнике уже есть HTTP-сервер, который позволяет вам управлять чайником с телефона. Это все тоже интернет-технологии.

  • И, что самое интересное, всех этих сервисов нужно все больше и больше – аппетит приходит во время еды. Эта тенденция будет только расти и расти. И скоро уже, наверное, в вилке или в ложке будет стоять какой-нибудь веб-сервер.

 

Потребность в HTTP-приложениях

Как я уже сказал, потребность в HTTP-приложениях растет. Какими они вообще могут быть?

  • Это могут быть сайты;

  • Сервера с веб-интерфейсами;

  • Админские приложения и инструменты – те же Zabbix, Jenkins – у них у всех есть веб-интерфейс.

Современные приложения, как правило, уже не десктопные. Они уже работают в браузере, и в будущем, на мой взгляд, все будет только больше и больше уходить в веб.

Поэтому, если вам в вашей системе 1С нужно что-то сделать интересное, классное, привлекательное для клиентов – вам тоже, скорее всего, придется смотреть в сторону HTTP-протокола и веб-приложений.

  • Например, вам может потребоваться какой-то красивый современный веб-интерфейс к 1С.

  • Или вам может потребоваться какая-то витрина данных для удаленного филиала, где можно заполнить какие-то три поля, чтобы подать заявку в Service Desk. Это может быть всего лишь одна формочка – отправлять эти данные в 1С может быть даже избыточно.

  • Потребность в HTTP-приложениях в любом случае есть, она понятна, вам всегда может потребоваться что-то, что взаимодействует по HTTP. Обычно для таких вещей приходится привлекать сторонние команды разработчиков, которые знают JavaScript, PHP, NodeJS, т.е. какой-нибудь фреймворк, который умеет вашему приложению (например, вашей 1С) отвечать по HTTP-протоколу. Получается, что вам приходится нанимать веберов и зависеть от них, а они начинают хитрить, говорить, что им некогда, что это стоит много денег и т.д.

  • Но мы, как 1С-ники, можем реализовать такие приложения сами – нам для HTTP-приложений не нужны Node.js-еры или питонщики. Цель этого доклада – рассказать о том, как мы можем делать все это сами.

Типичный пример – у бизнеса появляется классная идея сделать слушалку для запросов клиентов, которая будет по HTTP из базы 1С возвращать какие-то JSON-чики. И ваш заказчик просит вас такую сделать.

Вы говорите – я могу сделать HTTP-сервис на 1С, захостим на наших мощностях, все будет отлично.

Вам говорят – нет, он должен хоститься в Амазоне или в облаке Azure, чтобы был доступ по всему миру – как мы туда 1С прокинем? Нам нужно что-то полегче, чем 1С.

Вы говорите – тогда нужно на Python или на NodeJS писать – я это не умею.

Бизнес говорит – ну придумай что-нибудь, ты же 1С-ник, ты должен уметь все.

И мы начинаем думать, какой инструмент веб-разработки нам, как 1С-никам, подошел бы.

 

История разработки OneScript.Web

Сейчас хочется немного истории.

  • В 2014 году я на конференции Инфостарта презентовал любопытный инструмент, который я написал. Этот инструмент я назвал OneScript. На тот момент мне хотелось просто поделиться с сообществом тем, что есть такая любопытная штука, с которой можно делать разные интересные вещи.

  • В 2015 году инструментом OneScript заинтересовались в одном крупном федеральном ритейлере, и мы в этой компании начали активно его применять. Это дало очень большой позитивный выхлоп. Впоследствии инструменты, которые там родились, вышли в мир OpenSource.

  • 2016-2017 год. Продукт начал широко развиваться – родилось большое количество решений, написанных с его помощью. OneScript стал широко известен в сообществе.

  • По состоянию на сегодняшний день «знание OneScript» – это отдельный навык, который можно встретить в резюме.

  • По сути, мы вместе с вами, с сообществом OpenSource-разработчиков 1С, создали внутри нашей отрасли отдельную отрасль «автоматизации автоматизаторов», продвигая в среде 1С-специалистов такую концепцию, как DevOps.

  • Сегодня OneScript, как инструмент, применяется уже в сотнях компаний, причем, как правило, в крупных, потому что им это нужнее. В мелких компаниях не особо нужно себя автоматизировать, а когда баз становится много, там уже без автоматизации никуда.

  • Мы настроены серьезно и будем продолжать расширять наш инструментарий.

И сегодня я так же, как и в 2014 году, хотел бы анонсировать новый продукт на базе OneScript, который называется OneScript.Web. Это рабочее название. Возможно, кто-то предложит более классное, но пока оно такое.

  • Как я уже говорил, потребность в HTTP-приложениях огромна, рынок требует, чтобы они были.

  • Нам нужно научиться писать их самим, чтобы не зависеть от каких-то сторонних веб-разработчиков – мы можем делать это сами.

  • Причем, это не только сайты, это, скорее, веб-приложения или какие-то REST-сервисы, но и сайты в том числе.

  • Самое главное, что теперь появился инструмент написания веб-приложений на языке 1С.

 

Архитектура фреймворка 1Script.Web

Как я уже говорил, OneScript.Web сделан на базе уже известного инструмента OneScript.

Архитектурно он основан на кроссплатформенном веб-фреймворке от Microsoft ASP.NET MVC – поэтому, благодаря новому .NET Core, абсолютно кроссплатформенный, будет работать на любых linux-системах и даже в докер-контейнерах.

Иными словами, OneScript.Web – это MVC-фреймворк, которым можно управлять с помощью кода 1С.

 

Подход MVC

Как работает протокол HTTP? У вас есть некий браузер, в котором клиент в адресной строке что-то вбивает, этот запрос уходит на сервер, там он обрабатывается, и обратно в браузер возвращается ответ. Так работают абсолютно все HTTP-приложения.

И подход MVC – это такой подход к проектированию веб-приложений, когда внутри этого «черного ящика»-сервера обработка HTTP-запроса поделена на три части – модель, контроллер и представление (Model, View и Controller), каждая из которых отвечает за свою осмысленную деятельность.

Если упрощать и возвращаться к 1С, то:

  • Модель – это предметная область, метаданные, то, чем наше приложение вообще занимается. Это какие-то описания реального мира – контрагенты, номенклатура, что угодно.

  • View – это представления, формочки, то, что видит на экране пользователь.

  • А Controller – это входная точка обработки, с которой все начинается. Чаще всего, это либо HTTP-сервис, либо обработчик команды в модуле формы. Прямого аналога в мире 1С нет.

 

URL – основа навигации по приложению

Взаимодействие с удаленным веб-приложением всегда строится вокруг URL – именно он является «точкой входа» для получения от приложения какой-то информации.

Как правило, URL выглядит следующим образом: есть имя сервера, и дальше через какие-то сегменты (разделы) вы осуществляете навигацию внутри приложения.

Эти сегменты URL можно представить как некие классы внутри приложения, у которых есть методы. То есть, какой-то клиент по этому адресу может запросить у определенного класса вашего приложения вызов определенного действия.

Как вы можете ответить на этот запрос в приложении, написанном на OneScript.Web?

Чтобы запрос по этому адресу смог обрабатываться в вашем коде 1С, вам нужно просто добавить в ваше приложение модуль с соответствующим названием и реализовать в нем обработку этого метода. Например, вы можете создать в модулях приложения контроллер обработки заказа – файл orders.os с методом Details и каким-то параметром этого метода.

Все это довольно гибко настраивается, для этого существует схема шаблонизации:

  • Вы задаете в приложении один или несколько шаблонов маршрута, по которым ваше приложение будет отвечать.

  • Все варианты настройки шаблонов маршрутов я описывать не буду – их очень много.

  • Если в адресной строке будет вбит URL, который не совпадает с шаблоном, программа будет автоматически отвечать «404 Не найдено».

  • А в случае совпадения с шаблоном запрос будет попадать в ваш код – в соответствующий метод контроллера.

Вот так это работает.

 

Инициализация приложения

Как происходит инициализация приложения?

Вспомним картинку с браузером – HTTP-запрос пролетает некий конвейер. Пришел запрос, как-то обработался, и возник ответ. За то, как этот запрос обрабатывается, отвечает конвейер обработки запроса.

Этот конвейер состоит из кубиков, которые по-английски называются Middleware (софт, который посередине). Я не знаю, как перевести это слово на русский, дам шоколадку тому, кто скажет хороший перевод этого слова на русский язык.

Так вот, путь обработки запроса строится из блоков, кубиков конвейера.

  • Например, приходит HTTP-запрос.

  • Если в нем есть обращение к какому-то статическому файлу на диске, этот файл сразу отдается клиенту. Например, пришел запрос к картинке, которая есть на диске – она отдается клиенту.

  • Дальше проверяется логин-пароль.

  • И, если запрос попадает в шаблонный URL, клиенту возвращается ответ.

Как настроить такой конвейер?

  • В фреймворке есть модуль приложения, и в нем, как в настоящей 1С, есть инициализирующая процедура «ПриНачалеРаботыСистемы».

  • В ней вы можете набрать конвейер, просто вызывая методы приложения, как блоки/кубики, в нужном порядке.

На скриншоте показано, как с помощью кода построить конвейер, который был описан на предыдущем слайде.

Первые две строчки я могу поменять местами. Например, мы не хотим отдавать картинки кому попало, мы хотим, чтобы всегда спрашивался пароль, а только потом отдавались картинки. Тогда мы первые две строчки просто поменяем местами, чтобы у нас сначала спрашивался пароль.

Тогда конвейер будет выглядеть следующим образом:

  • Сначала авторизация;

  • Потом проверка на отдачу статики;

  • И затем бизнес-логика.

Конвейер обработки можно строить любым образом – например, мы можем вообще выкинуть весь этот MVC и просто отдавать статические файлы по паролю – тогда мы можем построить конвейер так, как на слайде.

Соответственно, в процедуре «ПриНачалеРаботыСистемы» мы решаем, что вообще будет делать наше веб-приложение – будет ли в нем нужна авторизация, маршрутизация и пр.

 

Вызов методов приложения. РезультатДействия

А что же такое Контроллер? Это, как я уже говорил, входная точка, которая обрабатывает запрос.

По сути, это модуль 1С, у которого есть экспортные методы. Все экспортные методы вашего модуля-контроллера доступны извне – внешняя система по URL может вызвать любой экспортный метод вашего контроллера.

Например, метод-действие Details возвращает некое представление – вьюшку «КарточкаТовара». Это – экспортный метод, который вызывается по URL в браузере.

Запрос приходит в контроллер, в нем выполняется некое действие и возвращается результат этого действия, как отдельный объект.

Что такое «Результат действия»? Это – базовый тип для различных вариантов ответа клиенту. Нам необязательно отвечать клиенту именно HTML-страничкой:

  • Мы можем отдать ему с сервера какой-то файл на скачивание;

  • Мы можем ответить ему каким-то JSON или XML;

  • Мы можем просто возвращать коды ошибок – «Не найден», «Не авторизован» и т.д.

HTTP-приложения традиционно отвечают разным типом содержимого. Для каждого из таких типов содержимого в системе предусмотрен отдельный объект:

  • РезультатДействияСодержимое;

  • РезультатДействияФайл;

  • РезультатДействияПредставление;

  • РезультатДействияКодСостояния и т.д.

Контроллер должен вернуть один из таких результатов действия. Это сделано для разделения ответственности, потому что формирование и отправка ответа – это разные действия.

 

Как верстать страницы?

Итак, самое интересное – как же верстать HTML-страницы?

Понятно, что мы можем ответить XML-кой, но интересно строить еще и интерфейс – красивые формы, чтобы там все было модно-молодежно и т.д. И это – самая сложная часть, потому что мир фронтэнда крайне разнообразен.

  • Существуют тысячи фреймворков и способов формирования веб-интерфейса (HTML-интерфейса). И выбрать какой-то, который был бы прост для вхождения 1С-ников, достаточно сложно – потому что все это выглядит очень низкоуровневым. Вообще, HTML и CSS – это, по сути, язык ассемблера, они очень низкоуровневые, очень избыточные. И мыслить в терминах HTML и CSS – это трудоемко. Нужно что-то более высокоуровневое.

  • Например, уже сейчас с помощью различных JS-фреймворков типа React, Angular и пр. вы можете строить Single Page Application, передавая им на вход JSON-чики, сформированные с помощью Oscript.Web, а какие-то JavaScript-еры вам будут писать интерфейс на Angular.

  • Как я уже говорил, рынку требуется построение фронтэнд-а для 1С. Поэтому мы в «Серебряной пуле» ведем свои исследовательские работы по теме «Фронтэнд для 1С-ников» – об этом вчера рассказывал Алексей Лустин.

  • Также есть доклад Игоря Антонова, который рассказывал, как строить интерфейсы для 1С на React – вы также можете применить его наработки.

И сейчас движок OneScrip.Web предлагает для верстки страниц родной ASP-шаблонизатор, который называется Razor. Он достаточно простой, легковесный и мощный, представляет собой HTML-страницу с вкраплениями кода на C#. Поскольку это родной движок от Microsoft, в него ничего дополнительно не прикручено, поэтому русскоязычная документация, которая есть на сайте Microsoft полностью соответствует тому, что вы можете делать с веб-движком OneScript с помощью Razor.

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

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

И дальше внутри Razor-овской вьюшки вы можете работать с этим объектом, как со структурой – через @ можете обращаться к методам класса 1С, перебрать строки, колонки с помощью цикла «Для каждого из» – что угодно.

Сейчас развитие фреймворков, особенно WebAssembly, идет семимильными шагами.

  • Мы уже можем уйти от HTML и верстать так, как показано на слайде – создавать высокоуровневые компоненты – командные панели, кнопки. Такое можно делать на React или на Blazor.

  • Можно пойти еще дальше и сделать это все через «Новый ВебФронт», о котором рассказывал Алексей.

Вариантов, которые можно было бы применить, очень много. Пока что мы не выбрали какой-то идеальный. Поэтому так же, как это было с обычным OneScript, с OneScript.Web мы тоже рассчитываем на то, что сообщество OpenSource подскажет нам наиболее правильный путь.

 

Работающие приложения. Odminus

Какие уже существуют работающие приложения, которые можно пощупать?

  • Во-первых, существует хранилище готовых пакетов OneScript – то самое облачное хранилище пакетов, с которого мы все, как девопсеры (те, кто занимается DevOps для 1С), скачиваем готовые приложения. У нас есть консольный пакетный менеджер opm, мы набираем в нем «opm install ЧтоНибудь» – и с этого сайта hub.oscript.io скачивается какой-то пакет. Веб-интерфейс хаба пакетов написан на движке OneScript.Web.

  • Кроме того, мы у себя внутри разрабатываем Личный кабинет клиента «Серебряной пули», тоже на OneScript.Web.

  • И существует еще одна почти готовая разработка, которую можно щупать и смотреть – административная консоль кластера 1С. Называется она Odminus. Название канонично написано через «о», потому что правильный «одмин» всегда пишется через «о».

Что такое Odminus?

  • Это – та самая «Административная консоль управления серверами в кластере 1С», но только в браузере.

  • При этом, за счет того, что она использует сервер администрирования RAS, она еще и не зависит от версий платформы.

  • И, самое главное – не требует регистрации COM-компонент. Зачем я вообще начал ее писать? Потому что каждый раз, когда мне нужно было посмотреть сеансы на сервере или завершить какой-то сеанс, мне приходилось перерегистрировать COM-оснастку, потому что сервер, на котором находится нужный мне сеанс – другой версии. Я выходил из себя из-за того, что мне приходилось делать какие-то лишние телодвижения, чтобы что-то поправить. Поэтому я разработал эту веб-консоль. Теперь, чтобы сделать что-нибудь с кластером, мне достаточно просто зайти на страничку в браузере – ничего не устанавливая и не настраивая.

  • Код открытый, его можно дорабатывать – он написан на 1С. Эту веб-консоль уже сейчас можно брать и дописывать исключительно средствами языка 1С, не изучая вообще никаких PHP.

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

Можно зайти на страницу агента кластера – он покажет, где он хостится, какой у него сетевой порт. Это – честная HTML-ная веб-форма – здесь все, как положено.

Вот так выглядит устройство этого кластера – информационные базы, менеджеры и т.д. Все можно посмотреть.

Можно добавить какой-то рабочий сервер, поработать с объектами кластера.

Можно прямо в браузере отрегулировать интервал перезапуска и лимит по памяти.

Бекэндом для приложения Odminus является код на 1С, реализующий обертку к стандартной консольной утилите от фирмы 1С, которая называется RAC (Remote Administration Client).

Я даже не писал эту обертку сам, ее написал Артем Кузнецов – OpenSource рулит. Я просто скачал с хаба opm готовый пакет, который вы уже сейчас можете использовать. С помощью этой обертки я получил готовую объектную модель для управления своими серверами, чтобы просто писать: Кластер.Серверы(), ИнформационнаяБаза.Сеансы() и прочее.

Я просто взял готовое решение и, вызывая его методы в контроллерах своего приложения, рисую такие веб-формочки. В приведенном на слайде куске кода я получаю кластер по ID, передаю объект кластера в формочку, и она рисуется.

Даже без веб-движка, если вам нужно как-то порулить вашим кластером, вы можете скачать эту библиотеку и в объектной модели работать с кластером 1С без COM, на Linux, без регистрации версий и т.д. Я рассказываю это к тому, что в экосистеме пакетов OneScript уже сейчас представлено очень большое количество инструментов, с которыми можно работать.

 

Выгоды и перспективы

Зачем все это нужно?

  • Это все нужно для того, чтобы быстро выводить свое решение на рынок. Если у вас или у вашего бизнеса есть некая идея, но вы понимаете, что вам придется для ее реализации пойти покланяться в ножки команде веб-разработчиков – попросить их сделать для вас маленький HTTP-сервис, который будет что-нибудь отвечать. Чтобы этого избежать, остаться в рамках той же команды и решить свою задачу, не завися не от кого и не прося никого – можете воспользоваться инструментом OneScript.Web. Он даст вам быстрый старт уже имеющейся командой, независимо от смежников.

  • Более того, вам не потребуется лицензия 1С на эти серверы. В 1С каждый HTTP-вызов требует лицензию, а OneScript.Web не требует никаких лицензий. Развернули его на сервере и точно так же отвечаете по HTTP, по REST, какими угодно файликами. Никаких лицензий при этом не требуется.

  • Программируете вы все равно на 1С. Это – тот же самый язык 1С, только несколько библиотечек добавлено сверху.

  • Тут еще и удовольствие, что вы изучаете что-то новое, модное. Как я уже говорил, в каждой кофеварке сегодня стоит веб-сервер. OneScript.Web тоже сделан на базе очень легковесного, контейнеризируемого веб-сервера от Microsoft – Kestrel. Если вы вдруг делаете умную кофеварку с HTTP-сервисом, которым хотите управлять с телефона, вы можете залить в нее код на 1С, и он будет работать, потому что занимает очень мало места. OneScript.Web использует новое ядро ASP.NET от Microsoft, которое как раз заточено под такие легковесные приложения. Поэтому вы можете программировать кофеварки на 1С и оставаться при этом в тренде. Это очень круто, на мой взгляд.

 

**********************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2018 EDUCATION. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tusv 203 20.05.19 19:21 Сейчас в теме
Когда то игрался с v7script.dll Елы палы работал и без 1с
2. blackhole321 1270 20.05.19 20:22 Сейчас в теме
3. FreeArcher 122 21.05.19 06:03 Сейчас в теме
Может я пропустил, но что будет web сервером выступать IIS или Nginx+PHP тоже можно, какие модули потребуются?

У вас нет образа docker (раз его упоминали) чтобы развернуть быстро и посмотреть действительно это того стоит?
5. ltfriend 790 21.05.19 08:35 Сейчас в теме
(3) причём тут вообще PHP? А пропустили последний пункт в конце статьи из списка «Зачем все это нужно?». Как я понял, сделано это все на .net core, а там используется свой кроссплатформенный веб-сервер Kestrel. В итоге, как в статье и было сказано, можно использовать хоть на кофеварке. Доп. софта ни какого не нужно. Как вариант, можно дополнительно использовать nginx в качестве обратного прокси для повышения производительности.
Кстати вопрос к автору: как с производительностью?
25. ArchLord42 77 23.05.19 02:50 Сейчас в теме
(5) запросы обрабатываются примерно с такой же скоростью как и чистый asp.net core. Производительность oscript в целом приблизительно равна c#, но не во всех случаях)
28. Perfolenta 198 25.06.19 13:02 Сейчас в теме
(25) ну, это вы серьезно загнули, на счет производительности сравнимой с C#....
8. sikuda 659 21.05.19 09:37 Сейчас в теме
(3) Для любителей PHP лучше транслятор 1С-PHP php1c.ru ;)
10. JohnyDeath 300 21.05.19 10:19 Сейчас в теме
(3) Советую ознакомиться с подробным примером от автора: https://infostart.ru/public/783435/
Serg O.; azhilichev; +2 Ответить
4. insurgut 197 21.05.19 06:15 Сейчас в теме
Что-то я с типичным примером не понял - а что мешает HTTP-сервис 1С поднять, который будет доступен "по всему миру"?
7. azhilichev 202 21.05.19 08:50 Сейчас в теме
(4) Наверное, ограничения по лицензиям 1С.
YPermitin; JohnyDeath; +2 Ответить
11. FreeArcher 122 21.05.19 11:01 Сейчас в теме
(7) Не понятно в чем ограничение? Лицензия задействуется только на момент соединения, это меньше секунды. Как правило через http сервисы делают для личных кабинетов, где количество одновременно работающих пользователей очень небольшое. А если ещё использовать схему когда раз получаются данные и потом просто используются, то лицензия и вовсе не надолго занята будет. Вобщем это не должно быть проблемой.
12. YPermitin 11336 21.05.19 12:52 Сейчас в теме
(11) Вы говорите про технический аспект лицензирования.

А есть само лицензионное соглашение, где явно сказано, что лицензий нужно столько, сколько клиентов будет подключаться.

Так что придется в этом случае лицензии все же покупать и договариваться с фирмой "1С".

Пруф: http://v8.1c.ru/predpriyatie/questions_licence.htm#mvv
kwazi; azhilichev; +2 Ответить
13. FreeArcher 122 21.05.19 13:04 Сейчас в теме
(12)
В соответствии с действующим Лицензионным соглашением, организация должна приобрести такое количество клиентских лицензий, сколько в действительности пользователей одновременно работают с системой "1С:Предприятие 8".


Так одновременно будет работать 1-2 клиента по 1 секунде, на них и будет выдана лицензия. И при использование 1Script.Web ничего не меняется ведь, схема забора лицензий такая же, что и если бы запирал сервер на PHP или на чем то другом.
ice-net; YPermitin; +2 1 Ответить
14. YPermitin 11336 21.05.19 13:07 Сейчас в теме
(13)
Так одновременно будет работать 1-2 клиента по 1 секунде, на них и будет выдана лицензия. И при использование 1Script.Web ничего не меняется ведь, схема забора лицензий такая же, что и если бы запирал сервер на PHP или на чем то другом.


Лицензия выдается на пользователей, а не на клиентов и соединения.

Если нет доверия к моим словам, то Вы можете написать в саппорт фирмы "1С", описав ситуацию.
Возможно, их ответ Вас очень удивит.
15. FreeArcher 122 21.05.19 13:25 Сейчас в теме
(14) Да я не то что не доверяю, я хочу понять. Просто нельзя учесть сколько пользователей работают в момент времени.

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

Это в компании число пользователей условно постоянно, а как только выходим в веб оно становится постоянно меняющимся.
16. acanta 21.05.19 13:32 Сейчас в теме
(15) точно. Представим себе Гугл, который взимает плату с владельца сайта в интернете за каждого пользователя, который на него зашёл из поисковика.
Причем для доступа пользователя требуется внесение аванса в пользу гугля от владельца сайта.
При отсутствии аванса Гугль не открывает страницу результата поиска и пишет пользователю сообщение что у владельца сайта закончились деньги.
Внесённый аванс наш Гугль не возвращает, но если владелец хочет сделать ещё один сайт, то можно получить скидку при условии замены старого сайта на новый.
17. YPermitin 11336 21.05.19 13:32 Сейчас в теме
(15) вот тут то и нужно идти в фиому 1С для обсуждения сотрудничества.

Ситуация схожа с лицензированием мобильной платформы. Почти.
22. Darklight 27 22.05.19 13:46 Сейчас в теме
(12)Да, с лицензированием web-среды в 1С всё очень туго. Увы. В этом плане - OneSncript.Web - это как глоток свежего воздуха свободы. Но, чтобы был целый зелёный сад свежего воздуха тут конечно в комплекте должен быть и фроентэнд и бакэнд, понятный 1С-снику (об этом я ниже в отдельном комментарии надписал, т.к. это уже за рамками данного контекста).

Ещё в пользу OneScript.Web - развернуть его в стороннем облаке гораздо дешевле и проще чем, чем всю платформу 1С (в силу его легковестности, кроссплатформенности и, главное, независимости от установки лицензионных ключей - которые ставить в облаке очень сложно). В общем - проморгала 1С целый рынок, ну есть конечно 1С-Битрикс - но это всё-таки уже для крупных компаний, это не дешёвое решение, и требующее отдельно обученных специалистов. Да и в облаков с развёрнутым 1С-Битрикс не та уж много существует и не дёшёвы они (ну я предполагаю - не ручаюсь за достоверность - не сталкивался лично).
9. FreeArcher 122 21.05.19 10:13 Сейчас в теме
(4) Как я понял это замена прослойки (проксирующего веб сервера, например php, не важно). Т.е. фронтенд пишется на JS, но из JS достучатся до http сервиса 1С с авторизацией проблематично. А например из PHP вобще без проблем. Т.е. как работаю личные кабинеты в интернет магазинах например: JS=>PHP=>1C и обратно. По скольку на PHP писать 1С-ники не хотят, они могут заменить эту прослойку на 1Script.Web.
Пусть автор поправит.

(5) Спасибо за пояснения.

(6) Кстати я уже попробовал пример из другой статьи работает. Вот только после изменения кода приходится перезапускать 1Script.Web, не привычно. Ну и конечно, вроде бы от знания PHP избавляет, но боюсь на начальном этапе потребуется знать С# разбираться в исходниках, решать какие то вопросы и расширять функционал.
18. Evil Beaver 7222 21.05.19 18:39 Сейчас в теме
(9)
после изменения кода приходится перезапускать 1Script.Web, не привычно

Платформу 1С тоже приходится перезапускать после изменения кода, и ничего. В девелопе уже лежит fast-reload версия для контроллеров, но она только в исходниках.

Т.е. как работаю личные кабинеты в интернет магазинах например: JS=>PHP=>1C и обратно. По скольку на PHP писать 1С-ники не хотят, они могут заменить эту прослойку на 1Script.Web.

Ну так тоже можно, а можно и JS не писать, а делать олдскульный HTML с минимумом jQuery/bootstrap, тогда кубиков будет два: OsWeb=>1C

боюсь на начальном этапе потребуется знать С# разбираться в исходниках, решать какие то вопросы

Не бойтесь. C# это такой же 1С, только на английском. Все классы похожи на 1С. И потом, изучив C# вы автоматически изучите синтаксис JavaScript, PHP, Java, Groovy и C++ Радикальный рост компетенций и зарплаты в перспективе!

И все это легко, т.к. там учить то и нехер, на самом деле. Одну-две книжки в метро зачитать.

Бесплатный секрет вот вам рассказал, если чо.
Darklight; JohnyDeath; +2 Ответить
30. jif 16.09.19 11:10 Сейчас в теме
(18)
Бесплатный секрет вот вам рассказал, если чо.


Добрый день, Андрей. Подскажите пожалуйста литературу по C# для начала изучения! С каких материалов, по Вашему мнению, стоит начать ? Спасибо!
32. Necessitudo 18.09.19 15:04 Сейчас в теме
(18) Андрей - а если C# учить просто, то зачем был придуман OneScript, хотя уже есть PowerShell?
6. azhilichev 202 21.05.19 08:49 Сейчас в теме
Был на Хакатоне-2019 от "Серебряной пули". Алексей Лустин на мастер-классе показывал пример разработки на 1Script.Web. Прикольно. Но нужна документация.
Darklight; JohnyDeath; +2 Ответить
19. Glebis 11 22.05.19 10:24 Сейчас в теме
Midleware. Шоколадка за лучший перевод на русский.

Софтосредник.
Где могу забрать шоколадку?
20. YPermitin 11336 22.05.19 12:45 Сейчас в теме
(19) прокладка или костыль еще можно перевести :)
21. Darklight 27 22.05.19 13:36 Сейчас в теме
(19)"Посредник" проще (ну или "Посредник бизнес логики" - но это уже слишком длинно), ну можно ещё "Сервиспосредник"
23. Darklight 27 22.05.19 14:12 Сейчас в теме
Очень интересное решение - пока никак не доходя руки пощупать. Но всё-таки без фронтэнда и бакэнда которые были бы реализованы в аналогичном понятном, 1С-разработчику, ключе - данное решение очень ограничено в применении. Ну если опять-таки - не учить разработчика 1С разработке WEB-приложений, да ещё и языку C# и работе с базами данных, пусть хоть и через фреймворки - но это всё будут другие фреймворки, целая туча различных фреймворков - да ещё и на английском - в общем далеко не всем 1С-разработчикам это подсилу - так что пока обойти "Вы говорите – тогда нужно на Python или на NodeJS писать – я это не умею" - не эти, так другие сторонние и чуждые 1С-нику концепции разработки всё-равно ему придётся изучать.

Вот хорошо было бы если для:
Фронтенда - можно было бы набрасывать Web-морду хоть в том же конфигураторе 1С (или EDT) как это привычно 1С-разработчику - а потом выгружать её в XML (хоть тот же 1С-вский от выгрузки метаданных) и уже на основе этого XML - генерировать свою HTML страницу (напрямую или через конвертирование в другой фремворк, да хоть в тот же RAZR), если не целиком, то хоть ограничено (и имметь готовые web-компоненты для этого, на JavaScript). Ну и код алгоритмов формы 1С конвертировать в JavaScript как это делает платформа 1С для WEB-Клиента (ну хотя бы тоже ограничено). Вот это было бы мощное решение. И нет тут ничего не выполнимого - всё это можно сделать и в одиночку (базиз), и потом потихоньку развивать OpenSoure сообществом.

Бакэнд - аналогично тоже нужен фремворк, понятный 1С-разработчику. В первую-очередь - это просто доступ к СУБД, в терминах платформы 1С. Да, я не спорю, что в мире .NET есть свои фремворки для работы с СУБД, и может даже более мощные, чем 1С Предприятие 8, но их концепция далека от привычной. Иметь привычный фремворк для работы с СУБД - тоже очень хорошо. Причём саму СУБД так же можно спроектировать через 1С конфигуратор (или EDT) - выгрузить проект в xml файл, и на его основе сгенерировать набор классов в DotNET - а-ля структура метаданных 1С Предприятие 8, подключить это всё к OneScript как библиотеку - и использовать эти объекты метаданных доступа к СУБД почти так же как и в "родной" среде 1С Предприятие 8.

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

Ну и сам по себе OneScript.Web мне тоже интересен, т.к. есть у меня и Мобильный 1С проект, требующий наличия web-сервера, способного обслуживать тысячи одновременных обращений (ну, я так предполагаю), при сотнях тысяч пользователей, а лицензионная политика 1С мне такое не позволяет сделать, даже если я бы купил несколько тысяч лицензий - и даже это очень дорого для такого проекта. А OneScript.Web это позволил бы сделать, правда не знаю - справился бы он технически с нагрузкой в 10К-соединений в секунду! Ну тут я лукавлю - конечно же, для такой нагрузки полюбому придётся делить рабочее серверное пространство на несколько параллельных blade-стеков обслуживания (иначе будет не оправдано дорого). Но 1000 одновременных соединений - на сервер - это необходимый минимум!


В общем - OneScript.Web проект очень интересный и перспективный! Автору большой респект!
24. SkyHunter 22.05.19 19:27 Сейчас в теме
Бизнес говорит – ну придумай что-нибудь, ты же 1С-ник, ты должен уметь все.


Опять исход от неверной посылки, что 1Сник должен уметь всё, быть этаким человеком-оркестром. Опять это желание сэкономить на количестве спецов.

А правильный ответ -- этим должны заниматься специально обученные люди, использующие нативные, проверенные годами и опытом инструменты.
zqzq; Elisy; acanta; +3 Ответить
26. Elisy 941 23.05.19 07:58 Сейчас в теме
Подход интересный. Инструмент полезен для мелких ненагруженных систем.
К сожалению, не может конкурировать со связкой Asp.Net MVC + 1С.

Что произойдет при увеличении нагрузки? 1С станет слабым звеном.

Вижу нерешаемые структурные проблемы
1. Сам по себе скрипт 1С медленный.
2. Нет многопоточности
3. Коммьюнити раз в 100000 меньше, чем у C# Asp.Net MVC.

Что планируется делать с частыми задачами Asp.Net MVC? Переписывать средствами 1С?
1. OAuth авторизация
2. Обработка ошибок 404, 500
3. Кэширование
4. Сокеты
5. Настройка допустимых сиволов URL, максимального тела запроса,
6. https- www-редиректы
7. Bundle-минифицирование css и js
8. Управление заголовками
27. Evil Beaver 7222 30.05.19 17:34 Сейчас в теме
Сам по себе скрипт 1С медленный

Можно замеры конкретных кусков кода 1Script в сравнении с 1С, на основании которых вы сделали такой вывод? 1Script не медленнее 1С.

Нет многопоточности

Откуда такой вывод? В Node.js, кстати говоря, ее тоже нет. И ничего, пишут промышленные сервера :) А в 1Script.Web есть потоки на уровне Kestrel.

Что планируется делать с частыми задачами Asp.Net MVC
1. OAuth авторизация
2. Обработка ошибок 404, 500
3. Кэширование
4. Сокеты
5. Настройка допустимых сиволов URL, максимального тела запроса,
6. https- www-редиректы
7. Bundle-минифицирование css и js
8. Управление заголовками


Планируется дать примерно те же средства, которые дает платформа 1С. Что-то позволить, а что-то спрятать в платформу/опции Kestrel
29. shiaju 14 08.07.19 13:12 Сейчас в теме
(27) "Не медленнее 1С" вовсе не означает "быстрый", к сожалению. Я тут на днях попробовал шутки ради решить пару задач с https://projecteuler.net и, в общем, сильно удивился, насколько 1С неэффективно считает.
31. alyaev.a.v 17.09.19 15:43 Сейчас в теме
В чем может быть проблема?

Необработанное исключение: ScriptEngine.Compiler.CompilerException: {Модуль C:\WORK\OneScript\odminus\models\modules\АдминистрированиеАген­та.os / Ошибка в строке: 3 / Библиотека не найдена logos}

Все стандартно установлено,логос установлен, другие проекты работают.
33. infokey 01.03.20 10:25 Сейчас в теме
Все любители шоколада отдыхают, а приз получает автор MVC - Microsoft за перевод: Middleware - "ПО промежуточного слоя".
Оставьте свое сообщение

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

Практика программирования v8 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    5300    Eugen-S    24    

СКД: 5 советов, как сделать лучше

Практика программирования v8 v8::СКД 8.3.14 Бесплатно (free)

Несколько примеров решения задач с использованием разных подходов

27.10.2021    5700    Neti    19    

Полезные примеры СКД, ч.2

Практика программирования v8 v8::СКД Бесплатно (free)

Еще несколько примеров решения задач в СКД.

06.04.2021    11923    Neti    8    

Неочевидные нюансы записи управляемой формы

Практика программирования v8 v8::УФ Платформа 1C v8.2 1cv8.cf Бесплатно (free)

Разберем несколько нюансов записи управляемой формы.

02.04.2021    14708    SeiOkami    54    

Использование классов .Net в 1С для новичков Промо

Разработка внешних компонент Универсальные функции Практика программирования v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    86817    Serginio    116    

Обзор полезных методов БСП 3.1.4

БСП (Библиотека стандартных подсистем) Практика программирования v8 1cv8.cf Бесплатно (free)

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

25.03.2021    47570    rayastar    53    

Звуковое управление в 1С 8.3

Практика программирования v8 1cv8.cf Бесплатно (free)

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    7691    velemir    33    

Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)

Практика программирования v8 ERP2 БУ Бесплатно (free)

Покажу точки входа для доработки "типового" проведения документов в ERP для регистров оперативного учета. Рассмотрим три основные ситуации: нужно изменить имеющееся проведение документа; нужно сделать записи в существующие регистры; нужно с нуля описать алгоритм проведения в добавленный регистр. Пример реализован на 1С:ERP Управление предприятием 2 (2.5.4.120)

10.01.2021    12049    BuriyLesha    10    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    41381    unichkin    74    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    9441    comol    31    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

БСП (Библиотека стандартных подсистем) Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

30.08.2020    21829    quazare    34    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    36746    tormozit    107    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    9886    SeiOkami    34    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    89760    user5300    28    

Конвертация расширения cfe в конфигурацию сf руками

Практика программирования v8 1cv8.cf Бесплатно (free)

Как быстро преобразовать расширение в конфигурацию (для дальнейшего переноса в основную конфигурацию, например).

18.03.2020    11689    wtlz    35    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    83228    tormozit    131    

Эволюция расширения конфигурации

Практика программирования v8 1cv8.cf Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    16463    Xershi    47    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    70773    ids79    27    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    46090    John_d    22    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    55187    tormozit    51    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

Практика программирования v8 Россия Бесплатно (free)

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    38071    kuzyara    38    

Мониторим производительность с помощью 1С RAS

Практика программирования v8 1cv8.cf Бесплатно (free)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    15933    ivanov660    51    

30 задач. Странных и не очень

Практика программирования v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    25846    YPermitin    63    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    51967    tormozit    74    

Обновление релиза измененной типовой конфигурации

Практика программирования v8 1cv8.cf Бесплатно (free)

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

29.11.2019    16048    John_d    76    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Практика программирования v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    13246    Sibars    19    

Шпаргалка (БСП). Добавление в новый документ механизма печати дополнительных печатных форм

Практика программирования v8 1cv8.cf Бесплатно (free)

Постоянно приходится вспоминать, как добавить механизм печати (БСП) в новый документ. Поэтому решил написать шпаргалку.

10.10.2019    32822    John_d    21    

Выгрузка документа по условию Промо

Практика программирования v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    18186    m-rv    3    

Таблица значений. Нюансы

Практика программирования v8 Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    55702    Yashazz    56    

[Шпаргалка] Программное создание элементов формы

Работа с интерфейсом Практика программирования v8 1cv8.cf Бесплатно (free)

Программное создание практически всех популярных элементов формы.

06.09.2019    111732    rpgshnik    77    

Агрегатные функции СКД, о которых мало кто знает

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    82198    ids79    56    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования v8 Бесплатно (free)

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    23625    m-rv    18    

Регистры бухгалтерии. Общая информация

Математика и алгоритмы Практика программирования v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    48980    YPermitin    27    

Три костыля. Сказ про фокусы в коде

Практика программирования v8 Бесплатно (free)

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    30660    YPermitin    81    

Отслеживание выполнения фонового задания

Практика программирования v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    46683    ids79    22    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    37907    m-rv    23    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    162839    ids79    77    

Фоновое выполнение кода в 1С - это просто

Практика программирования v8 1cv8.cf Бесплатно (free)

Как легко запускать выполнение в фоне, не прибегая к долгому описанию фоновых процедур.

02.08.2019    64293    avalakh    27    

Разбираемся с параметрами редактирования СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    44732    json    17    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    30978    itriot11    34    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    112070    ids79    18    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    50230    ids79    27    

Регистры сведений. За кулисами

Практика программирования v8 1cv8.cf Бесплатно (free)

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    35116    YPermitin    15    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    22853    SeiOkami    53    

Работа с настройками системы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    88895    ids79    18    

Регистры накопления. Виртуальные таблицы. Часть №2: "Остатки" и "Остатки и обороты"

Практика программирования v8 1cv8.cf Бесплатно (free)

Описание работы платформы 1С:Предприятие 8.2 с виртуальными таблицами регистров накопления "Остатки" и "Остатки и обороты". Анализ SQL-запрос при работе с виртуальными таблицами

22.05.2019    47355    YPermitin    9    

Регистры накопления. Структура хранения в базе данных

Практика программирования v8 1cv8.cf Бесплатно (free)

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

16.05.2019    67058    YPermitin    31