Сообщения

Работа с двоичными данными на примере генерации UUID версии 1

Изображение
Наконец-то платформа 1С с версии 8.3.9 позволяет разработчику работать с двоичными данными в полном объеме при помощи встроенных функций, не прибегая к COM-объектам и внешним компонентам. Рассмотрим упрощенный алгоритм генерации уникального идентификатора версии 1, то есть по алгоритму основанному на времени. Конструкция Новый УникальныйИдентификатор() генерирует уникальный идентификатор версии 4, то есть по алгоритму основанному на случайном числе. Выяснить версию уникального идентификатора очень легко, так как уникальный идентификатор хранит в себе версию, поэтому можно либо самому декодировать UUID и вычислить версию, либо прибегнуть к помощи сайтам, которые умеют декодировать UUID (см. рисунок 1). Рисунок 1. Результат декодирования UUID версии 4 на сайте https://realityripple.com/Tools/UnUUID/

Получение остатков и оборотов по каждому товару на каждый день запросом

Изображение
Как-то на собеседовании мне прилетело тестовое задание, в котором одним из пунктов было получение остатков и оборотов по каждому товару на каждый день одним запросом. Делюсь своим вариантом решения в надежде что кто-то в комментариях поделится своим вариантом решения.  Вся соль задачи состоит в том, что обращения к виртуальной таблице остатков и оборотов в запросе не достаточно, так как эта виртуальная таблица содержит периоды, по которым были движения, если так можно выразиться (см. рисунок 1). Иными словами, если Товар №1 поступил в магазин в начале недели (в понедельник) в количестве 5ти штук и за неделю не было ни одной продажи, то виртуальная таблица по этому товару за эту неделю выдаст лишь одну запись за понедельник, которая будет отражать остатки на начало и конец дня, приход (+5), расход (0) и оборот (0).

Открытие формы выбора с отбором. Варианты установки отбора.

Изображение
Рассмотрим различные варианты установки отбора при выборе объекта на документе ДокументОтборПриемаТовара . У документа имеются следующие реквизиты (см. рисунок 1): ПоставщикОтбор (тип СправочникСсылка.Поставщики); ТоварОтбор (тип СправочникСсылка.Товары); ОтветственныйОтбор (тип СправочникСсылка.Ответственный); ПриемТовара (тип ДокументСсылка.ПриемТовара). Рисунок 1. Структура документа ДокументОтборПриемаТовара Выбирать будем документ ПриемТовара , а отбор в форме выбора будет устанавливаться по реквизитам с постфиксом Отбор. Документ ПриемТовара имеет реквизиты (см. рисунок 2): Поставщик (тип СправочникСсылка.Поставщики); Ответственный (тип СправочникСсылка.Ответственный); Комментарий (Тип Строка). А так же табличную часть Товары, состоящую из реквизитов Товар (тип СправочникСсылка.Товары) и Количество (тип Число). Рисунок 2. Структура документа ПриемТовара

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

Изображение
1. Создаем доменную учетную запись. Тут ничего подробно расписывать не буду, да и не занимаюсь я администрированием сети, пусть лучше этим займется мастер своего дела - системный администратор. 2. Блокируем начало сеансов Запускаем консоль администрирования серверов 1С:Предприятие, открываем свойства информационной базы и устанавливаем галочку для свойства Блокировка начала сеансов включена . Учтите, что как только вы примените данное свойства, начало любых сеансов будет блокироваться, поэтому для выполнения следующего пункта конфигуратор должен быть запущен до применения свойства. 3. Делаем резервную копию Тут уж как вам душа велит. Как по мне, самый простой и надежный способ создания резервной копии - это выгрузка информационной базы через конфигуратор.

Открываем доступ пользователю к хранилищу сертификатов локального компьютера

Изображение
В данной статье рассматривается решение проблемы доступа к хранилищу сертификатов на операционных системах семейства Windows! В библиотеке стандартных подсистем (БСП), начиная с версии 2.3, реализован мощный программный интерфейс для работы с криптографическими операциями. Выполнение криптографических операций требует обращение к хранилищу сертификатов, где хранится информация о сертификатах, установленных на компьютере. В момент программного обращения к хранилищу сертификатов, с целью получения информации о сертификате, может возникнуть ошибка доступа. Данная ошибка возникает по причине отсутствия необходимых прав у пользователя ОС к хранилищу сертификатов. ОС Windows сертификаты хранит в двух основных хранилищах, которые подразделяются на вложенные хранилища. Основные хранилища: Хранилище локального компьютера - содержит сертификаты, доступ к которым осуществляется выполняющимися на компьютере процессами; Хранилище текущего пользователя - интерактивные приложения обычно пом...