1C и bCrypt шифрование

Опубликовано Опубликовано в рубрике 1C Программирование, Сайтостроение

Доброго времени суток, уважаемые читатели.

Сегодня я расскажу об одном весьма интересном опыте. Потребоваль для одного проекта вести базу логинов и паролей к сайту в 1С. Да так, чтоб в базе пароли хранились не в открытом виде, а зашифрованные методом bCrypt. Ввиду того, что 1С понятия не имеет что это такое, было принято шифрование выполнять на стороне веб-сервера, а со стороны 1С вызывать web-service, передавая в качестве параметра пароль в открытом виде, а в ответ получая зашифрованную строку.

Итак реализация:

На стороне веб-сервера находится файл Service.php

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

выглядит это следующим образом:

Вызываем сервис http://hotel.skalnyy.com/api/Service.php без указания параметра Pass, получаем ответ:

Вызываем сервис http://hotel.skalnyy.com/api/Service.php?Pass=123 указывая параметру Pass пароль, который мы хотим зашифровать, получаем ответ:

 

на стороне 1С:7.7:

<< Продолжение следует… >>

1C: Распределение таблиц 1С базы данных SQL по разным дискам, используя файловые группы.

Опубликовано Опубликовано в рубрике 1C Программирование, MS SQL Server

Функционал SQL-сервера в части поддержки файловых групп, и схем секционирования применительно к 1С, мало кто использует. Сложно сказать почему. Возможно из-за недостаточной информированности программистов, возможно из-за того, что базы 1С никогда не вырастают до больших размеров. Ведь базы 1С редко когда содержат данные за период более чем 5 лет. Возможно, потому, что многие пользователи (как и программисты) видят в “свертке” (обрезке) базы панацею от всех бед и ошибок прошлого периода. Возможно потому, что 1C, как платформа, не способна поддерживать непротиворечивый и актуальный массив информации за длительный период (5-10 и более лет). Посему больших баз 1С попросту не бывает. Мы, например, не видели баз размером более чем 150 гигабайт.

Но между тем, файловые группы как раз и предназначены для использования в больших базах (больших по меркам SQL-сервера, а не 1С, естественно). Для базы данных мы можем определить несколько файловых групп (по умолчанию файловая группа одна – это файл “имя_базы.mdf”, и имеет тип PRIMARY), каждую из которых можем разместить на отдельном диске (файлы файловых групп, отличные от группы PRIMARY, имеют расширение ndf). Для каждой таблицы базы данных мы можем указать файловую группу, в которой физически будет хранится данная таблица. (далее…)

1C Выгрузка Таблицы Значений в Excel

Опубликовано Опубликовано в рубрике 1C Программирование

Формирование книги Excel:

Использование:

 

sql state 25000 native 0 — Ошибка загрузки данных 1С под sql2005/2008

Опубликовано Опубликовано в рубрике 1C Программирование, MS SQL Server

Недопустимое имя объекта «master..sksprocesses»

«Идем в скуль, разворачиваем «базы данных» — «системные базы данных» — «master», тыкаем на «представления», выбираем «создать представление». Если выскочило «добавление таблицы», жмакаем закрыть, в поле кода (там по дефолту стоят select и from) копируем следующий текст: select * from sysprocesses where cmd <> ‘checkpoint’ и нажимаем кнопку «выполнить код sql» (находится выше слева, красный восклицательный знак), если код поменялся и не выскочило ошибок — это хорошо, жмем сверху кнопку «сохранить» и называем это представление вот так: sksprocesses » и потом ставим права юзеру на выборку из этой таблицы.

1C — SQL. Быстрое удаление документов.

Опубликовано Опубликовано в рубрике 1C Программирование, MS SQL Server, Разное

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

КАК МАКСИМАЛЬНО БЫСТРО ВЫПОЛНИТЬ СВЕРТКУ БАЗЫ 1С?

(далее…)

1С: Пример работы с файлами DBF по интерфейсу ADO

Опубликовано Опубликовано в рубрике 1C Программирование, Разное
В статье описан пример работы с файлами DBF по интерфейсу ADO из 1С v 7.7 Источник: http://kb.mista.ru/article.php?id=309

Драйвер ADO уже встроен в систему Windows, и дополнительно устанавливать его не нужно. Он представляет собой всего лишь удобную Active-X оболочку для доступа к данным, которую можно использовать почти из любых языков и сред программирования (включая 1С:Предприятие 7.7 и 8.0).

Интерфейс ADO во многих случаях более удобен и безопасен для работы с файлами DBF, чем штатный объект 1С:

  • Выводит понятные сообщения при ошибках.
  • Не обрушивает систему 1С при ошибках (в отличие от штатного XBase).
  • Позволяет одновременно и без проблем открывать несколько файлов.
  • Имеет удобный SQL-подобный синтаксис запросов (не надо изучать нестандартные интерфейсы).

Тот же самый драйвер ADO можно применять для доступа к самым разным источникам данных (например, к базе Oracle), с небольшими отличиями в строке подключения. Строки подключения для разных источников данных можно найти здесь: http://www.connectionstrings.com/

Ниже приведен пример создания, заполнения и чтения файла DBF.

Проблема с кодировками

При загрузке файлов в непредусмотренной кодировке происходит загрузка символов «крокозябликами». Штатный механизм XBASE этим недугом не страдает, и позволяет явно указать кодировку файла при загрузке. lobo пишет: 23 .02.07 — 12:24 попробуй HKEY_LOCAL_MACHINE\Software\microsoft\jet\4.0\Engines\Xbase DataCodePade=OEM  поменять на ANSI

добавка от vde69: для избавления от проблем с кодировками рекомендую следующий сборный патч реестра

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase]
«DataCodePage»=»ANSI»
«BDE»=dword:00000002

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\CodePage]
«1250»=»c_1251.nls»
«1251»=»c_1251.nls»
«1252»=»c_1251.nls»


Описание интерфейса ADO находиться в файле adovbs.inc


http://x-romix.narod.ru/ado_dbf.zip
(размер файла ert — 4 килобайта, скачивать ЛЕВОЙ кнопкой мыши).

1С: Универсальная загрузка из Excel методом ADO

Опубликовано Опубликовано в рубрике 1C Программирование, Разное

Инструмент для загрузки данных в 1с из любого файла excel

Данный метод не требует наличия установленного Microsoft Excel

1. Создаем отчет Excel_Импорт:

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

А теперь немного описания:
Переменная Парам — передает список колонок которые необходимо получить из Ексель, возможны варианты: «F1,F2» — вернет 1 и 2 колонку, «*» — вернет все колонки, «F5» — вернет только 5 колонку…
После вызова отчета программа предложит выбрать файл ексель, после чего вернет в приложение ТаблицуЗначений (ТЗ) содержащую требуемые данные из Ексель.

1С 7.7 и Git

Опубликовано Опубликовано в рубрике 1C Программирование, Разное

006

Данная статья описывает как применить систему контроля версий файлов к программированию 1С 7.7 О то, что такое Git и как с ним работать написано в онлайн документации, доступной по адресу http://git-scm.com/book/ru.

Установочный файл Git для Windows http://msysgit.github.io/

Для удобной работы с Git в среде Windows можно использовать надстройку TortoiseGit. https://code.google.com/p/tortoisegit/

Добавим путь к Git в переменную Path.

Сам файл конфигурации является запакованным, его можно декомпилировать в набор текстовых файлов с помощтю утилиты GComp http://1c.alterplast.ru/gcomp/

Нужная версия для работы с Git – 2.2.16 http://www.1cpp.ru/forumfiles/Attachments/gcomp_bin_2_2_16.zip.

(далее…)