Музыка
rls2

RLS 2.0

Мы уже рассматривали механизм разделения доступа на уровне записей (Record Level Security — RLS) в .

Прогресс не стоит на месте. Уже команда БСП (Библиотека Стандартных подсистем) выпустила встроенную подсистему с Быстрыми RLS. Среди пользователей это обновление получило неофициальное наименование «RLS 2.0».

Постановка задачи

Итак, рассмотрим такую задачу. У нас есть типовая конфигурация 1С со встроенной подсистемой БСП. Возьмём для примера 1С:ERP.Управление Холдингом версии 3.2. Требуется настроить раздельный по Организациям доступ к документу Заявка на оплату.

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


LibGDX_Logo

Пишем игры на Java: библиотека LibGDX

Познакомился с любопытной разработкой — библиотекой LibGDX для Java. Она представляет собой игровой «движок», облегчающий создание компьютерных игр. Конечно, проект куда более скромный, чем такие гиганты как Unity и Unreal Engine. Тем не менее, с его участием разрабатываются в том числе и коммерчески-успешные (пусть и небольшие) игры, которые, например, продаются в Steam или Google Play. Среди подобных проектов можно выделить, например, карточный рогалик Slay the spire, FTL-вариация Space Heaven или клон знаменитой Цивилизации для Android — проект unCiv. На сайте представлена своеобразная «витрина» таких игр.


compare_logo2

Найдите 10 отличий (инструменты сравнения)

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

Конфигуратор

Самый доступный для нас инструмент. Есть 1С — будет и «сравнивалка». Вызывается из меню Файл — Сравнить. Функционал самый скромный среди всех предложенных инструментов. Тем не менее, у него есть полезная для нас функция: утилита помимо классических текстовых файлов умеет сравнивать и табличные документы. Например, таким способом можно узнать, отличия между конфигурациями, выполнив выгрузку Отчёта по конфигурации (Конфигурация — Отчёт по конфигурации).


Как выполнить код в типовой форме отчёта

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

ReportCurrency (MetaData)

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


git

Git commit

«Just for fun» — Линус Торвальдс

 

Имя Линуса Торвальдса известно всем, кто хоть как-то имеет отношение к IT. Этот человек дважды изменил отрасль. Первый раз, конечно же, когда создал операционную систему Linux, которая стала стандартом на серверах и всё чаще используется на десктопах. Однако, мало кто знает о втором достижении Торвальдса — создании Git.

Git — это распределённая система контроля версий. Она позволяет нескольким разработчикам одновременно вести работу над некоторым проектом, отслеживая изменения. В число функций также входит откат к любой версии проекта, работа с несколькими ветками, публикация своего проекта в открытый доступ. В Сети есть множество сервисов, предоставляющие готовые хранилища разработки на git. Система может использована для работы над любым проектом — речь необязательно идёт о программировании. Например, редакторы могут работать над сценарием к фильму, сохранив все ключевые функции git.

Однако, среди программистов навык работы с Git наиболее востребован. Неделю назад наткнулся на качественный обучающий курс. Посему и публикую ссылку на него (плейлист в YouTube):

 

 


java

Ещё кофе? (разработка бота для BlackJack на Java)

Некоторое время назад начал изучать Java. Кто не знает — язык программирования от Sun, ныне им владеет Oracle. С первых дней инструмент порадовал своей мощью. В первую очередь продвинутыми средствами объектно-ориентированного программирования. Всё строго, точно и функционально.

Позанимавшись немного с самоучителем, я решил сделать небольшой проект. В образовательных целях. Задачу поставил себе так: написать самообучающийся бот для игры в BlackJack. «Мозгами» боту служит искусственная нейронная сеть, привязанная к каждому из виртуальных картёжников. На вход сети подаём сигналы об имеющихся на руках у игрока картах. Выход ещё более простой — решение взять новую карту или остановиться. Ну и несколько скрытых полносвязных слоёв, где и происходит вся «магия». Обучать агентов будем, используя генетические алгоритмы, заставляя многократно играть с себе подобными.


СКД Лого

Программный вывод СКД

Система Компоновки Данных (СКД) — инструмент, заменивший собой построитель отчётов в 1С:Предприятие версии 8.1. Позволяет гибко компоновать, структурировать и выводить разрозненные данные на форму или в программную коллекцию. Быстро создать отчёт на СКД можно буквально в несколько щелчков мышью, воспользовавшись встроенным мастером в платформе для объекта метаданных Отчёт.

Но как быть, если требуется вывести данные, вне Отчёта? Встроенный язык 1С:Предприятия предлагает гибкие (и достаточно сложные) API для взаимодействия с объектами СКД. Однако, часто задача стоит в простом выводе на форму документа на СКД, задав разве что парочку параметров. Просто вывести. Хотелось бы, чтобы это делалось одной строкой кода, разбираться в перипетиях объектов нет ни сил, ни желания. Предлагаю готовый код для этого с кратким примером.


Условное оформление с группировкой в 1С

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

Постановка

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

Визуальная настройка

Для начала попытаемся решить задачу с помощью визуальной настройки условного оформления. Для этого выбираем интересующую форму и открываем ссылку УсловноеОформление в Конфигураторе. Задаём Отбор, Оформление и выбираем Оформляемые поля.


Глубокие мечты

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

DeepDream

Некоторое время назад я стал увлекаться искусственным интеллектом и нейронными сетями. Среди них есть и так называемые «мечтающие сети». Одна из реализаций носит название «DeepDream» . Принцип работы примерно следующий: Имеется нейронная сеть, натренированная на наборе ImageNet, включающий в себя около 14 миллионов изображений, разделенных по 21 тысяче категорий. Сети предоставляется какая-то картинка, DeepDream отыскиевает в ней знакомые элементы и «дорисовывает» их, согласно своим представлениям. Получаются своеобразные психоделические картинки. Из побочных эффектов можно отметить большое количество глаз и носов животных в сгенерированных изображениях, что объясняется большим количеством животных в обучающей выборке.


vendor

Современные веяния

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

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