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

среда, 30 декабря 2015 г.

Настройка системы для формирования документов Word или Excel на стороне сервера

Допустим, необходимо формировать документ офисного пакета Microsoft Office на стороне сервера, то есть от имени сервера 1С, но не всегда установка "из коробки" позволяет выполнять данную операцию. так как обычно происходит исключительная ошибка создания COM-объекта. В этом случае требуется более тонкая настройка системы в целом. Настройка заключается в установке прав доступа сервера 1С к DCOM-приложению и папке Desktop. Рассмотрим процесс настройки.

Откройте оснастку "Службы компонентов", для этого в командной строке выполните команду dcomcnfg (или comexp.msc /32 для 64-разрядной Windows, см. рисунок 1).
Рисунок 1. Запуск оснастки "Службы компонентов"
В узле Настройка DCOM найдите элемент Microsoft Excel Application(если хотите выполнять формирование документов Excel) или элемент Документ Microsoft Office Word 97 - 2003(если хотите выполнять формирование документов Word), нажмите правой кнопкой мыши и выберите пункт Свойства (см. рисунок 2).
Рисунок 2. Выбор приложения DCOM

воскресенье, 27 декабря 2015 г.

Актуальные часовые пояса на старой платформе

Изменения в часовых поясах страны напрямую затрагивают информационную систему, которая функционирует в нескольких часовых поясах. Обычно такие масштабы использования ИС используются в крупных организациях. С проблемой часовых поясов могут столкнуть и мелкие организации, которые, допустим, производят обмен данным между собой с использованием универсального времени (UTC).

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

Обновить информацию о часовых поясах можно двумя способами:
  1. Обновить платформу;
  2. Указать путь к актуальной базе часовых поясов.
Первый способ актуализации информации о часовых поясах нарушает золотое правило системного администратора "Работает - не лезь", так как обновление платформы может повлечь за собой другие проблемы, отнять уйму времени и сил! Второй способ отлично подходит для решения проблемы с минимальными затратами.

четверг, 17 декабря 2015 г.

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


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

Неприятна данная ошибка тем, что у неё множество причин, и что бы её исправить, нужно провести целый комплекс мероприятий.

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


Допустим, имеется информационная база, с которой платформа 1С работает в клиент-серверном варианте. Создание электронной подписи будем выполнять на стороне сервера, в этом случае рекомендуется использовать сертификаты и ключи, находящиеся в хранилище локального компьютера, так как они будут доступны любому пользователю Windows. А так же имеется установленный сертификат в хранилище локального компьютера в разделе Личное (см. рисунок 1) с привязкой к закрытому ключу (см. рисунок 2).
Рисунок 1. Сертификат локального хранилища

среда, 9 декабря 2015 г.

СКД. Программная компоновка результата.

Рассмотрим программное формирование результата отчета на примере события ПриКомпоновкеРезультата, которое вызывается по-умолчанию при формировании отчета или при выполнении отчета с помощью метода СкомпоноватьРезультат().

// 1. Установим признак отказа от выполнения стандартной обработки события.
СтандартнаяОбработка = Ложь;

// 2. Получим макет, в котором хранится "шапка" и "подвал" отчета.
МакетДопОформление = ЭтотОбъект.ПолучитьМакет("ПФ_MXL_ДопОформлениеСКД");

// 3. Выведем в табличный документ шапку отчета.
ШапкаОтчета = МакетДопОформление.ПолучитьОбласть("ШапкаОтчета");
ДокументРезультат.Вывести(ШапкаОтчета);


// 4. Получим копию настроек компоновки данных.
НастройкиОтчета = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();

// 5. Установим значение параметра компоновки данных ОтчетнаяДата (Вкладка "Параметры" схемы компоновки данных).
ПараметрОтчетнаяДата = Новый ПараметрКомпоновкиДанных("ОтчетнаяДата");
Если НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрОтчетнаяДата) <> Неопределено Тогда
 НастройкиОтчета.ПараметрыДанных.УстановитьЗначениеПараметра(ПараметрОтчетнаяДата, ЭтотОбъект.ОтчетнаяДата);
КонецЕсли;

четверг, 3 декабря 2015 г.

Сжатие (шринк) журнала транзакций в MS SQL

Краткое описание моделей восстановления MS SQL

Довольно популярная ошибка СУБД в кругах 1Сников "Журнал транзакций для базы данных заполнен", если информационная база развернута в клиент-серверном варианте с использованием MS SQL и все настройки были оставлены по-умолчанию (см. рисунок 1).
Рисунок 1. Ошибка переполнения журнала транзакций
Конечно, MS SQL умеет автоматически усекать журнал транзакций (физически размер файла журнала транзакций не уменьшается), но бывают исключения, при которых происходит задержка усечения (начинается физическое увеличение размера файла журнала транзакций).

Для борьбы с переполнением журнала транзакций предусмотрены следующие вариант настройки СУБД:
  • создание резервной копии журнала;
  • освобождение места на диске, чтобы журнал мог автоматически расти;
  • перемещение файла журнала на диск с достаточным объемом свободного места;
  • увеличение размера файла журнала;
  • добавление файла журнала на другой диск;
  • завершение или уничтожение длительной транзакции.
Но, бесконечно свободного места на жестком диске не бывает, а усечение не уменьшает размер файла физического журнала, поэтому для уменьшения физического размера файла журнала необходимо выполнить его сжатие (шринк).

среда, 2 декабря 2015 г.

СКД. Вывод информации табличной части в одну ячейку.

Использование нескольких схем компоновки данных в одном отчете
Выгрузка отчета в таблицу/дерево значений

1) Использование функции СКД - СоединитьСтроки().


У данного способа, как мне кажется, есть минус, но он работает, но минус большой. Рассмотрим на примере: имеется в конфигурации документ "Поступление товара" с табличной частью "Товары", необходимо вывести в отчет документы и наименования поступившего товара для каждого документа.

Создадим отчет, добавим основную схему компоновки данных, в СКД добавим набор данных типа "запрос" и сформируем простенький запрос (см. рисунок 1).
Рисунок 1. Запрос набора данных