Для тех кто не знаком со встроенным языком 1с

Текущая версия страницы пока не проверялась опытными участниками и Встроенный язык 1С:8 наиболее подобен по своему синтаксису языку Visual . Мы не будем делать исключение из этого общепринятого способа кто еще не знаком с разработкой на платформе «1С:Предприятие 8», Зарезервированные слова – это операторы встроенного языка и их . Статья для тех кто приступает к изучению языка платформы 1С – полезная. Вновь создаваемые имена не должны совпадать с зарезервированными 1 ) Представление о встроенном языке платформы 1С:Предприятие

Сообщения нескольких абонентов могут находиться в одной физической базе; если мы видим, что какой-то абонент стал генерировать много трафика — мы выносим его в отдельную физическую базу или даже отдельный сервер БД.

У нас есть главная БД, где хранится таблица роутинга с информацией о локации всех абонентских базах данных. Чтобы главная БД не была узким местом, таблицу роутинга и другие часто востребованные данные мы держим в кэше.

Если начнет тормозить БД абонента, будем внутри резать на партиции. Поскольку терять сообщения пользователей плохо, мы поддерживаем наши БД репликами. Комбинация синхронной и асинхронной реплик позволяет подстраховаться на случай потери основной БД.

Потеря сообщения произойдет только в случае одновременного отказа основной БД и ее синхронной реплики. Если теряется синхронная реплика — асинхронная реплика становится синхронной. Если теряется основная БД — синхронная реплика становится основной БД, асинхронная реплика — синхронной репликой. Elasticsearch для поиска Поскольку, помимо прочего, СВ — это еще и мессенджер, здесь нужен быстрый, удобный и гибкий поиск, с учетом морфологии, по неточным соответствиям.

Мы решили не изобретать велосипед и использовать свободную поисковую систему Elasticsearch, созданную на основе библиотеки Lucene. Elasticsearch мы также разворачиваем в кластере master — data — dataчтобы исключить проблемы в случае выхода из строя узлов приложения. На github мы нашли плагин русской морфологии для Elasticsearch и используем.

В индексе Elasticsearch мы храним корни слов которые определяет плагин и N-граммы. По мере того, как пользователь вводит текст для поиска, мы ищем набираемый текст среди N-грамм. Такой подход позволяет искать и по началу, и по середине, и по окончанию слова. Общая картина Повтор картинки из начала статьи, но уже с разъяснениями: Балансировщик, выставленный в интернет; у нас — nginx, может быть любой.

Инстансы Java-приложения общаются между собой через Hazelcast. Для работы с веб-сокетом используем Netty. Java-приложение написано на Java 8, состоит из бандлов OSGi. В планах — миграция на Java 10 и переход на модули. Разработка и тестирование В процессе разработки и тестирования СВ мы столкнулись с рядом интересных особенностей продуктов, используемых нами. Нагрузочное тестирование и утечки памяти Выпуск каждого релиза СВ — это нагрузочное тестирование.

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

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

Весёлый клип на песенку про Старика Хоттабыча. песенки для детей! детское видео

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

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

В качестве генератора нагрузки мы используем JMeter. Работать с вебсокетом он не умеет, нужен плагин.

Встроенный язык программирования 1С:Предприятие

С него мы и решили начать. Почти сразу после начала серьезного тестирования мы обнаружили, что в JMeter начались утечки памяти. Плагин — это отдельная большая история, при звездах у него форка на github-е. Сам автор в него не коммитит с года мы брали его в году, тогда это не вызвало подозренийнесколько github issues по поводу утечек памяти, 7 незакрытых pull request-ов. Если решите проводить нагрузочное тестирование с помощью этого плагина, обратите внимание на следующие обсуждения: Решается либо переходом на ConcurrentLinkedDeque, либо synchronized-блоками.

Для себя выбрали первый вариант https: Утечка памяти, при дисконнекте не удаляется информация о соединении https: Там вообще своя жизнь, свой мир: Выравнивание — это корреспонденция счетов.

Чуть позже мы о ней еще поговорим. Причем, если вы заглянете в российский учебник по бухучету, то там вам скажут, что контировка — это проводка. А вSAP контировка — это добавление аналитических признаков общими словами. Когда вы первый раз пообщаетесь с саповцем, вы его вообще не поймете.

Он вам будет говорить слова, который он считает абсолютно правильными, абсолютно методологически верными. Но на самом деле эти слова появились из-за некорректного перевода: Транзакция — это программа. Это не транзакция СУБД. А это просто скриншот печатной формы SAP. Если кто-то не видел, можете посмотреть.

Здесь БЕ балансовые единицы — это код рублей. Период — это 01 месяц январь. И вы еще жалуетесь на табличный документ 1С? А это — варианты экспорта. Помните, как мы для 1С: В SAP уже лет варианты экспорта только.

О том, что вы видите справа — они и не мечтали. Штрих-код в печатную форму вставить? Вы что, это будет проект на долларов десятки тысяч, может.

Вот так выглядят отчеты в SAP. Конечно же, я здесь немного лукавлю, потому что в SAP для отчетности есть отдельный инструмент, но он стоит отдельных денег. А тут показаны штатные отчеты. Их, конечно, можно настраивать — например, там есть развертка, смена развертки.

Этому даже отдельно учат. А ниже показаны настройки отчетов СКД, если кто-то вдруг их забыл. Больше я ничего не могу сказать. Попробуем перейти к бизнес-сущностям. Вот, пожалуйста, так в SAP выглядит План счетов.

О программировании на 1С Предприятие 8 / Habr

Может, конечно, кто-то на практике и прикрутил туда РСБУ-шный план счетов, но я просто не видел. Как видите, по сути, план счетов является иерархическим, но, поскольку в SAP иерархии нет, как таковой, вообще нигде, то соответственно, приходится довольствоваться тем, что.

Это в 1С вы привыкли: Там есть линейный список, и они в нем могут попробовать что-то поискать. Кстати, процедура поиска — это вообще отдельная песня. Для этого учатся у консультантов. Для тех, кто все еще думает, что в SAP можно вести бухгалтерский учет, вы просто посмотрите, как в SAP будет выглядеть ваша проводка для тех, кто не понял, я расшифровал, как она в 1С будет выглядеть.

Соответственно, чтобы из стандартной записи проводки в SAP получать привычные для нас проводки по РСБУ, нужно нанимать консультантов, а это — отдельные люди, которые получают большие деньги. И чтобы все это настроить, нужен месяц работы — целый месяц работы только для того, чтобы были нормальные проводки по РСБУ. Себестоимость и НДС — не буду даже говорить, это отдельная песня.

По поводу признания расходов и выручки — они используют общий подход МСФО: Я, когда увидел, что в SAP всего этого нет, полез на форум, думаю, может, люди это как-то все-таки делают? А на форуме мне отвечают: Существует очень популярное заблуждение, что в SAP все предусмотрено, поэтому дорабатывать ничего не требуется. Для примера я взял типичный для меня процесс — казначейство, то, с чего начинаются финансы.

Попытался найти что-то подобное в SAP — и не нашел.

Знакомимся с 1С:Предприятие. Часть 5. Встроенный язык

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

Несколько сильных сторон 1С в сравнении с SAP

Если ты до этого программировал на Delphi, то освоение языка 1С для тебя будет безболезненным. Каждая операция в языке 1С должна завершаться точкой с запятой. Знак точка с запятой не ставиться после всевозможных операторов и других зарезервированных слов. Впрочем, как и во всех серьезных языках программирования. А писать придется по-русски?

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

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

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

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

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

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