Поиск по блогу

среда, 27 мая 2015 г.

Шифрование строковых данных с помощью CAPICOM.EncryptedData

Шифрование строковых данных. Менеджер криптографии.
Просмотр криптопровайдеров ОС Windows. Инициализация менеджера криптографии.
Шифрование строковых данных с помощью CAPICOM.EnvelopedData

Шифрование с помощью объекта EncryptedData библиотеки CAPICOM является самым простым в реализации, так как в данном случае не требует сертификатов и всего что с ними связано в отличии от объекта EnvelopedData и объекта МенеджераКриптографии языка 1С.

EncryptedData - объект, который предоставляет разработчику свойства и методы для шифрования/дешифрования некой информации с использованием секретного ключа. Этот объект поддерживает следующие симметричные алгоритмы: RC2, RC4, DES, 3DES. Общая схема симметричного шифрования:
1. Симметричное шифрование
Методы объекта:
  • Decrypt - выполняет дешифрование данных, используя секретный ключ;
  • Encrypt - выполняет шифрование данных, с применением секретного ключа;
  • SetSecret - устанавливает секретный ключ.
Свойства объекта:
  • Algorithm - алгоритм. используемый для шифрования/дешифрования;
  • Content - содержит данные для шифрования либо дешифрованные данные.

понедельник, 25 мая 2015 г.

Что такое оперативное, а что такое неоперативное проведение документов.

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

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

пятница, 22 мая 2015 г.

Понятие момента времени. МоментВремени.

Для определения положения документа на временной оси используется реквизит документа Дата, он является стандартным реквизитом.
1. Стандартные реквизиты документа
Дата содержит время с точностью до секунды. Это позволяет контролировать последовательность внесения документов в базу данных.
2. Расположение документов на оси времени
Однако при большом объеме создаваемых документов может возникнуть ситуация, когда несколько документов будут иметь одинаковое значение даты (т. е. будут созданы в течение одной секунды). Возникает вопрос, как в этом случае определить в какой последовательности были созданы документы?

пятница, 15 мая 2015 г.

Шифрование строковых данных с помощью CAPICOM.EnvelopedData

Шифрование строковых данных. Менеджер криптографии.
Просмотр криптопровайдеров ОС Windows. Инициализация менеджера криптографии.
Шифрование строковых данных с помощью CAPICOM.EncryptedData

Создание тестового сертификата


Для получения необходимых утилит для работы с тестовыми сертификатами необходимо установить Visual Studio Express, ибо других способов получения этих утилит я не нашел. Перечень необходимых утилит:
  • makecert - средство создания сертификатов;
  • cert2spc - средство проверки сертификата издателя программного обеспечения;
  • pvk2pfx - средство создания файлов обмена личной информации.
Создадим самозаверяющий сертификат, который будет использоваться для шифрования, с указанием поддерживаемого криптопровайдера Microsoft Strong Cryptographic Provider с помощью утилиты makecert.exe:

makecert.exe -r -n "cn=1centerprise8.blogspot.com" -sp "Microsoft Strong Cryptographic Provider" -sky exchange -sv C:\test_cert\1centerprise.pvk C:\test_cert\1centerprise.cer

1. Создание самозаверяющего сертификата X.509
Во время создания сертификата утилита makecert.exe запросит ввод пароля на контейнер, который хранит закрытый ключ, в нашем случае, это файл с расширением pvk, вводим и запоминаем. На выходе получим два файла: 1centerprise.pvk и 1centerprise.cer.

воскресенье, 10 мая 2015 г.

Грабли метода ПрочитатьXML() объекта ФабрикаXDTO

Что таит в себе окно редактирования XDTO-пакета

Фабрика XDTO - это библиотека типов, которая описывает определенные структуры XML. В языке программирования платформы 1С имеется объект ФабрикаXDTO, который содержит все пакеты XDTO, имеющиеся в конфигурации, а также предопределенные пакеты (например, пакет типов XML схемы). У данного объекта метод ПрочитатьXML(), позволяет читать элементы данных XDTO указанного типа из объекта чтения XML:

ФайлXML = Новый ЧтениеXML;
ФайлXML.УстановитьСтроку(СтрокаXML);

Пока ФайлXML.Прочитать() Цикл

Если ФайлXML.ЛокальноеИмя = "Message" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ФайлXML);
КонецЕсли;

КонецЦикла;

ФайлXML.Закрыть();


Первый параметр метода является обязательным, в который передается объект чтения XML. Второй параметр метода необязательный, в который передается тип элемента данных XDTO. Если тип не указан, то будет сделана попытка определить тип данных по текущему состоянию объекта ЧтениеXML.

пятница, 8 мая 2015 г.

Маленькие хитрости больших запросов

Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос. Создается этот объект вызовом конструкции Новый Запрос. Запрос удобно использовать, когда требуется получить сложную выборку данных, сгруппированную и отсортированную необходимым образом. Классический пример применения запроса - получение сводки по состоянию регистра накопления на определенный момент времени. Так же, механизм запросов позволяет легко получать информацию в различных временных разрезах.

Текст запроса – это инструкция, в соответствии с которой должен быть выполнен запрос. В тексте запроса описывается:
  • таблицы информационной базы, используемые в качестве источников данных запроса; 
  • поля таблиц, которые требуется обрабатывать в запросе; 
  • правила группировки; 
  • сортировки результатов; 
  • и т. д.  
Инструкция составляется на специальном языке – языке запросов и состоит из отдельных частей – секций, предложений, ключевых слов, функций, арифметических и логических операторов, комментариев, констант и параметров.

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

Рекомендации по написанию запросов к базе данных на языке запросов платформы 1С: