28 февр. 2016 г.

А ты включил режим "high perfomance"?

Нашел на днях свой прошлогодний отчет для клиента о произведенных настройках сервера. Обратились с проблемой: после перехода с файловой типовой бухгалтерии (до десяти пользователей одновременно) на клиент-сервер начались тормоза. В частности, время восстановления последовательности увеличилось раз в пять. За что, спрашивается, заплатили?
Отдельно стоит выделить настройку управления питанием сервера. Делается просто, но как ни странно, про нее часто забывают. Все последние сервера, которые приходилось дополнительно настраивать, работали со схемой "по умолчанию". Поэтому выкладываю результаты замеров производительности из этого отчета, как аргумент в пользу того, что не стоит пренебрегать данной настройкой.

31 янв. 2016 г.

Просмотр структуры базы данных

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

31 окт. 2015 г.

Определение порядка расчета связанных формул

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

На реальном проекте с помощью такой методики удалось реализовать обработку расчета плана производства, суммарное количество формул составило около тысячи (от 70 строк, 12 месяцев + итоги), порядок расчета связанных областей при изменении ячейки достигал 260 элементов.

22 авг. 2015 г.

Использование полнотекстового поиска при вводе по строке



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

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

15 мар. 2015 г.

Настройка заголовков в СКД


Рассмотрим настройку заголовка на примере моего отчета из предыдущего поста, уберем заголовок "Количество" из шапки отчета.


Для этого перейдем в настройку макета схемы компоновки данных и добавим макет группировки для поля "Склад" с типом макета "Заголовок".

22 авг. 2014 г.

Курс "Разработка мобильного приложения" - новый старт

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

Немного статей и видео по теме:
Что такое мобильная платформа 1С и с чем ее едят?
Мобильная платформа 1С:Предприятия 8
Создание мобильных приложений 1С:Предприятие на Андроиде из 1С: Предприятие 8.3

21 июн. 2014 г.

Генерация XGML-диаграммы движений документов для yEd

Описанное ранее создание UML-диаграммы движений имеет существенный недостаток - результат на выходе статичен, а хотелось бы иметь возможность в последствии еще внести изменения в схему. Поэтому решил написать генерацию диаграммы для какого-нибудь редактора. Искать долго не пришлось, выбор пал на yEd Graph Editor, поскольку уже продолжительное время использую ее для создания разного рода диаграмм и полностью ею доволен. Программа позволяет читать данные из .xgml файлов, которые представляют собой текстовый XML. Разобравшись по быстрому со структурой файла, набросал для себя простенькую обработку.

24 мая 2014 г.

Реализация иерархии в перечислениях

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

12 февр. 2014 г.

Запись во внешний источник данных 1С, новые возможности

В 8.3.4 в свойствах объекта "Внешний источник данных" появилась вкладка "Функции". Для внешних таблиц MSSQL данный функционал позволяет подключить к 1С хранимые процедуры и функции на стороне SQL. В том числе и процедуры, содержащие запросы SQL на добавление и обновление данных внешней таблицы.


По сравнению с прошлым примером количество кода 1С уменьшится, поскольку подключение через COM-объект и формирование запросов SQL на стороне 1С нам больше не потребуется.

5 февр. 2014 г.

Получение уникального идентификатора ссылки в СКД

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


Далее проведем эксперимент по быстродействию получения результата через запрос с последующей обработкой выборки и вариантов с использованием СКД.


30 янв. 2014 г.

Динамический отчет (СКД)

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


Потом возникла мысль попробовать объединить все схемы в один отчет, чтобы не плодить лишних объектов в конфигурации. При этом количество вариантов в этих схемах заранее неизвестно. Ok, challenge accepted.

29 янв. 2014 г.

Генерация UML диаграммы движений документов

При разработке более-менее сложной учетной системы разработчик обычно пытается предварительно определиться с взаимосвязями объектов этой системы. Может подойти как обычный листок бумаги с карандашом, так и специализированное ПО. Так же при проектировании диаграмм можно придерживаться определенных стандартов, например UML (Unified Modeling Language). С UML можно познакомиться с помощью курса "Моделирование на UML", почитать в онлайне книгу "Моделирование на UML" или курс лекций "Нотация и семантика языка UML" . Подборку программного обеспечения для создания UML диаграмм можно посмотреть по этим ссылкам: List of Unified Modeling Language tools, Инструменты UML-моделирования. Я в своих экспериментах использовал для генерации диаграмм онлайн-редактор CodeUML и плагин к IDE Eclipse, который можно скачать на сайте PlantUML.

14 янв. 2014 г.

Интерактивный контроль заполнения полей

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

В итоге получилось простое решение с использованием обработчика ожидания.

10 янв. 2014 г.

Программирование за 21 день - Complete!

Наконец то дошли руки доделать курс "Программирование в 1С - за 21 день". Итого полтора месяца со дня получения первого письма :) Для новичка курс вообще самое то, чтобы быстро пробежаться по основным объектам. А я и с новой платформой поработал, и несколько фишек для себя уяснил. Так что тоже не зря. Еще понравились новые возможности платформы в плане написания кода, все эти подсветки, всплывающие подсказки (теперь с параметрами функций и процедур :))  и прочее. Так что, пилите баги, господа разработчики платформы, ждемс.
А у меня, в итоге, получилась база с такими вот котами.

11 дек. 2013 г.

Прощай, облако.


Вечером вчерашнего дня на хотмайловскую почту свалилось письмо следующего содержания:

Уважаемый пользователь! 

Для подписки, указанной ниже, был достигнут месячный лимит бесплатного использования Windows Azure, и она была отключена.
Название подписки: Бесплатное пробное использование
Для получения дополнительных сведений о лимите использования учетной записи перейдите по этой ссылке:https://account.windowsazure.com
Если срок действия подписки не заканчивается в текущем месяце, возможность использования службы Windows Azure будет возобновлена для подписки в следующем месяце.
Если необходимо снова активировать службу для этой подписки сейчас, можно обновить свою подписку до платной, войдя в систему по адресу http://account.windowsazure.com с использованием своего Windows Live ID mickey1cx@hotmail.com. Выбрав свою подписку, перейдите по ссылке, чтобы обновить подписку до платной. В случае обновления подписки до платной к ней будут применяться стандартные тарифы, после того как будет превышен месячный лимит бесплатного использования служб, предусмотренный вашим предложением.
Если в текущем месяце срок действия подписки заканчивается и вы не желаете обновлять свою подписку до платной, все данные будут удалены через 90 дней. Не забудьте извлечь все необходимые данные.
Спасибо за использование веб-служб Microsoft Online Services.
Windows Azure
Как скажете. Надо бы тогда зайти и посмотреть, как это выглядит в картинках.

29 нояб. 2013 г.

Программирование в 1С - за 21 день!

На днях Евгений Гилев и Насипов Фарит анонсировали запуск нового бесплатного курса "Программирование в 1С - за 21 день!" по платформе 1С: Предприятие 8.3. После подписки на курс в течении этого периода ежедневно будут приходить ссылки на обучающие видеоматериалы (теория, задание по теме и вариант решения). Прохождение тренинга займет 40-60 минут ежедневно. В процессе изучения рассматриваются все основные объекты конфигурации, бизнес-процессы и задачи, отчеты и фишки нового интерфейса "Такси". В результате получаем прокачку компетенций и CRM-систему.

Azure'ние QlikView

Квест по установке 1С в Azure быстро закончился, а постоянно сокращающийся срок полезного использования требовал продолжения поисков применения технологии. К тому же мой облачный тамагоччи стал потреблять в день больше предоставленных на месяц микрокредитов, чем явно ускорил свой неотвратимый хеппиэнд.


Поэтому ради интереса я задумал подцепить тот самый QlikView к удаленным данным 1С. При этом обойтись без этих всяких коннекторов, а обращаться к облаку из скрипта загрузки на чистом SQL. И чтобы особо не заморачиваться над переводом запросов 1С в запросы SQL было решено быстренько, пока теплые, надергать их из профайлера SQL.

22 нояб. 2013 г.

Уходим в облака, разворачиваем 1С в Windows Azure

Попалась на днях статейка "1С в Azure". Конечно же, захотелось пощупать существующее "облако" самостоятельно, пока не началось. Сразу скажу, что в целом реализация понравилась. Навскидку плюсы:
- нет необходимости сразу платить суммы отстатыщ за нормальное серверное железо;
- отпадает головная боль по поводу подбора серверного железа, просто выбирай, сколько ядер/гигов надо сейчас, при необходимости всегда можно убрать/добавить;
- дистрибутивы серверного ПО так же присутствуют в "облаке", как Windows, так и Linux-подобные;
- наличие обширной документации (в основном, английский) позволяет разобраться с настройками;
- наверняка еще есть плюсы, до которых еще не добрался.
В общем развернуться есть где, осталось только научиться этим всем в полной мере пользоваться :) Для ознакомления с продуктом Microsoft предлагает бесплатный тестовый месяц. Для получения доступа идем на http://www.windowsazure.com/ru-ru/pricing/free-trial/ и начинаем регистрацию.

4 окт. 2013 г.

Разработка своего коннектора 1С для QlikView на C#

На сайте QlikCommunity можно найти материалы по SDK (v.11, v.10) для разработки своего коннектора. Нужные файлы находятся в разделе QVX SDK Libraries and Examples (QvxSDK_2.0.zip). В архиве находятся примеры, необходимые файлы для разработки, и документация. Для разработки нам потребуется Visual Studio. Знание C# необязательно, документации, примеров и умения пользоваться поиском оказалось вполне достаточно для создания примитивного коннектора.
На видео можно посмотреть, что у меня получилось, работа с QlikView начинается c 04:35.