Программирование

BigDecimal : делим 1 рубль на троих

В одном известном ИТ подкасте Radio-T сказали как-то, что за хранение денежных значений
в float надо вон из профессии. Вот тогда я задумался. Как же это в 1с. И как это вообще так.

Разгадка оказалась проста, имелась ввиду Java. В Java есть тип BigDecimal для точного представления десятичных дробей. Т.е. имелось ввиду, что float и double в Java для хранения денег не подходят из-за ошибок округления.

Чтение EML файла электронной почты MS Outlook

Для создания корпоративного хранилища электронной почты потребовалась функция импорта EML файлов.
Исходники найдены были на stackoverflow.com и портированы с Visual Basic.

//CDO это Collaboration Data Objects
msg = Новый ComОбъект("CDO.Message");
stream = Новый ComОбъект("ADODB.Stream");

NULL, да не NULL

Если вы пользуетесь в запросе конструкциями вида

... ГДЕ Продукция.Родитель = &А ИЛИ Продукция.Родитель.Родитель = &А ИЛИ ...

Тестируем передачу выражений по ссылке

Перем Г;

// Испытания присваивания по ссылке.

// Тестовая процедура.
Процедура Тест(Б)
   
// вернем значение в переменную,
    // переданную по ссылке
   
Б=1;
КонецПроцедуры

Выравнивание по ширине при сохранении в PDF

Платформа 8.2 и 8.3 по-разному сохраняют табличный документ в формате PDF. В версии 8.2 не сохраняется форматирование по ширине.

Вот пример исходный табличный документ:

исходный MXL табличный документ 1Сисходный MXL табличный документ 1С

Вот так он будет сохранен в PDF из 1С 8.2:

Выявление различий двух табличных частей документов

Родился простой и компакный кодик, позволяющий технично выявить различие двух табличных частей документов. Код простой, но новичкам пригодится. В данном примере сраниваем две таб. части, содержащие колонки "Номенклатура", "Ед. измерения" и "Количество".

//выгружаем сравниваемые колонки в таблицы значений

Программное создание дополнительных реквизитов

Допустим вам надо предоставить клиенту обработку, которая должна работать с доп. реквизитами типовой конфигурации. Например необходимо в заказе покупателя поддерживать реквизиты ORDER_ID, DEP_ID, CLIENT_ID, PLDATE, PAYTYPE, котрые получаются при обмене с ИнфоАптека 3. Объяснять заказчику как добавить доп. реквизиты не всегда удобно. Сделаем это сами за него.

Ларёк 1С

Литература по 1C


Поиск во всей базе по строковым реквизитам (с регулярными выражениям)

Мы разберем обработку поиска строк в базе средствами SQL. При открытии обработки нас встречает закладка подключения:

Подключение к SQL и CLRПодключение к SQL и CLR Здесь указываем пути и пароли к нашей базе, обратите внимание как оригинально в коде получаютя текущие значения ИмяСервера и ИмяБазы.

Отключаем режим совместимости 8.1 на УПП 1.2.19. Что может вылезти.

Настало время отключить режим совместимости, как один из шагов на пути к повышению производительности. Характеристики нашей базы: конфигурация УПП 1.2.19 сильно переписанная, объем базы 160 Гб, платформа версии 8.2.17.169, MS SQL 2005 SP4.

Выполнили рекомендации фирмы 1С по адаптации конфигурации. Этот шаг проходит быстро и без особых вопросов. Сам документ на диске ИТС (Адаптация конфигураций 1С:Предприятия 8.1 к работе на платформе 1С:Предприятие 8.2 без режима совместимости с версией 8.1).

Обязательный шаг - отключение режима на тестовой базе. Тоже прошел успешно.

Справочники

Документы

Отчеты

Обработки

RSS-материал