При разборе проблем, связанных с эксплуатацией 1С, анализ технологического журнала играет немаловажную роль. При этом объемы данных для анализа могут достигать приличных размеров. Что, в свою очередь, приводит к необходимости использования инструментов, обеспечивающих приемлемую скорость разбора файлов журнала. Например, использование утилит bash. В качестве вводной статьи могу порекомендовать ознакомиться с публикацией на ИТС. Практическое применение рассмотрим на примере анализа взаимоблокировок.13 авг. 2017 г.
grep всему голова
При разборе проблем, связанных с эксплуатацией 1С, анализ технологического журнала играет немаловажную роль. При этом объемы данных для анализа могут достигать приличных размеров. Что, в свою очередь, приводит к необходимости использования инструментов, обеспечивающих приемлемую скорость разбора файлов журнала. Например, использование утилит bash. В качестве вводной статьи могу порекомендовать ознакомиться с публикацией на ИТС. Практическое применение рассмотрим на примере анализа взаимоблокировок.12 июн. 2017 г.
Где моя отладка, чувак?

Обычно, когда отваливается отладка, первоначальными подозреваемыми становятся брандмауэр или антивирус. Соответственно, самый простой способ проверить их влияние на возникшую проблему - отключить их и запустить отладочный сеанс. Но в некоторых случаях проблема может скрываться совершенно в другом месте. Общая рекомендация - не начинать бездумно применять все подряд "шаманские" способы из интернета, а в необходимом объеме собрать техническую информацию о возникающих событиях и ошибках, сопровождающих запуск отладки на исследуемой машине.
1 апр. 2017 г.
Знакомство с Docker'ами
Собственно, руки давно уже чесались попробовать. Я часто использую VirtualBox для организации различного окружения под свои потребности, как на работе, так и дома. Общие плюсы виртуализации и конкретику Docker расписывать не буду, перейду сразу же к практической части.
Развертывание под Windows возможно в двух вариантах:
- Docker for Windows под Win 10 Pro 64x с включенным Hyper-V, позволяет использовать контейнеры под win/linux.
- DockerToolbox под другие 64х ОС без поддержки или выключенным Hyper-V с использованием VirtualBox, работает только контейнерами под linux.
Я хоть и сижу под необходимой версией, но поскольку VirtualBox не работает при включенном Hyper-V, то буду пробовать второй вариант.
Развертывание под Windows возможно в двух вариантах:
- Docker for Windows под Win 10 Pro 64x с включенным Hyper-V, позволяет использовать контейнеры под win/linux.
- DockerToolbox под другие 64х ОС без поддержки или выключенным Hyper-V с использованием VirtualBox, работает только контейнерами под linux.
Я хоть и сижу под необходимой версией, но поскольку VirtualBox не работает при включенном Hyper-V, то буду пробовать второй вариант.
6 мар. 2017 г.
Проблемы производительности. Фрагментация индексов.
12 февр. 2017 г.
Произвольная иерархия в СКД: вывод дерева значений
Просматривал утром статистику посещений блога, наткнулся на переход с форума Инфостарта, из темы про сохранение дерева значений в табличный документ. Самый простой способ - рекурсивный обход строк дерева, автор так и поступил. Но тема перекликается с моей предыдущей статьей о произвольной иерархии СКД, только использование внешних наборов данных в ней не рассматривается. Поэтому решил исправить данный недостаток и набросать небольшой пример вывода дерева значений с помощью системы компоновки данных.
31 янв. 2017 г.
Произвольная иерархия в СКД
Относительно недавно попал на доработку отчет, содержащий приличное количество кода, который в итоге был выброшен полностью, поскольку возможностей системы компоновки данных вполне хватило для получения необходимого результата. Большая часть этого кода как раз отвечала за построение иерархической структуры. К сожалению, этому разработчику продемонстрировать возможности СКД возможности нет. Но поделиться со всеми остальными коллегами, интересующимися данной темой, это всегда пожалуйста :)
В СКД можно реализовать следующие варианты построения иерархии:
- к основному набору данных достраивается иерархическая структура;
- рекурсивное построение иерархии по одному набору данных.
В этом посте я хочу рассмотреть второй вариант на примере ресурсных спецификаций в демо-базе 1С:ERP 2.
В СКД можно реализовать следующие варианты построения иерархии:
- к основному набору данных достраивается иерархическая структура;
- рекурсивное построение иерархии по одному набору данных.
В этом посте я хочу рассмотреть второй вариант на примере ресурсных спецификаций в демо-базе 1С:ERP 2.
6 нояб. 2016 г.
Автоматизированное тестирование: обмен данными между клиентом и менеджером

Разрабатывая сценарный тест с использованием механизма автоматизированного тестирования, столкнулся с необходимостью передачи произвольных данных, генерируемых на клиенте тестирования, на сторону менеджера для использования в качестве входных данных в последующих шагах сценария. В моем случае на одном этапе выполнения теста создавался пакет документов и генерировались штрихкоды на товары. На следующем этапе было необходимо запустить обработку для работы с ТСД и выполнить считывание этих штрихкодов.
13 окт. 2016 г.
Передача данных таблицы значений с сервера на клиент
Навеяно публикацией на Инфостарте, с использованием передачи через XML. За идею плюс, но на мой взгляд, мудрено и многовато кода. Старый добрый способ с массивом структур прост и эффективен. Так же где то год назад добавил в копилку и успешно использую вариант с передачей на сервер копии реквизита формы, содержащего таблицу значений. Данный способ хорош тем, что при необходимости данные таблицы можно передать на сервер без остального контекста формы, не затрачивая время на перенос этих данных в тот же самый массив структур. Опять же, на стороне сервера можно использовать такие методы данной коллекции, как Выгрузить / Загрузить.17 авг. 2016 г.
Учебная платформа 1С - теперь бесплатно
Буду краток :) Ссылки обнаружены на http://devtrainingforum.v8.1c.ru/forum/.
Платформа, "Практическое пособие разработчика" и другие книги, а так же несколько конфигураций (2,2 Гб)
Только платформа
Для получения необходимо указать только ФИО и email, на который придет ссылка для скачивания.
Платформа, "Практическое пособие разработчика" и другие книги, а так же несколько конфигураций (2,2 Гб)
Только платформа
Для получения необходимо указать только ФИО и email, на который придет ссылка для скачивания.
11 июн. 2016 г.
OneScript, сделай мне много баз, бесплатно, без СМС

После первых экспериментов с OneScript решил сделать себе создавалку баз на сервере 1С по списку. Реализовать такую задачу можно двумя путями. Через COM-соединение с агентом сервера и запуск 1С с ключом CreateInfoBase. Решил сделать оба варианта для оценки плюсов и минусов, и само собой, ради практики. Кстати, оказалось, вовремя сделал скрипты. Коллега вчера попробовал залить дамп базы, но не угадал со свободным место на диске. В итоге файл настроек кластера повредился. Лекарство в этом случае одно - снести каталог кластера и настроить все руками заново. Как вариант, можно попробовать бэкапить все файлы *.lst в каталоге. В моем случае половина файла 1CV8Clst.lst после падения оказалась забита нулями. Но вернемся к скриптам.
5 июн. 2016 г.
One Script to rule them all

Говорят, хороший программист должен быть ленивым. Больше думать, меньше писать, использовать готовый код. А так же автоматизировать некоторые свои рутинные ручные операции. В последнем случае можно использовать такие языки, как VBS, Python. Для самых "ленивых" 1С-ников, которые хотят автоматизироваться уже прямо сейчас, без изучения нового языка, существует проект OneScript (1Script). Скрипты для него пишутся на языке 1С, наличие платформы не обязательно.
Разработка рекомендована к ознакомлению и применению. Можно долго расписывать все плюсы использования скриптов. Но лучше попробовать самостоятельно написать какой-нибудь простой сценарий, чтобы войти во вкус. В качестве примера приведу свой скрипт запуска тестирования и исправления базы. Сначала производится восстановление последнего полного бэкапа SQL в тестовую базу. Затем запускается процесс ТИС, лог результата сохраняется в каталог со скриптом. Запуск скрипта можно сделать по расписанию, чтобы на начало рабочего дня иметь результат тестирования.
1 мая 2016 г.
Состояние обновления базы
Всем привет. С тех пор, как пошли проекты на 1С: ERP, времени на блог совсем не осталось. Поэтому просто поделюсь своей обработкой мониторинга состояния обновления. Но сначала немного о механизме обновления 1С: ERP.
Начиная с релиза 2.1.2 необходимые для обработки данные регистрируются в плане обмена ОбновлениеИнформационнойБазы. Если верить статье Как разрабатывается 1С:ERP, то такой же механизм будет использоваться в новых Управлении Торговлей и Комплексной Автоматизации. Кстати, там же можно найти и ответ по поводу "странных" комментариев в коде ERP: УТКА / НЕ УТКА :)
Начиная с релиза 2.1.2 необходимые для обработки данные регистрируются в плане обмена ОбновлениеИнформационнойБазы. Если верить статье Как разрабатывается 1С:ERP, то такой же механизм будет использоваться в новых Управлении Торговлей и Комплексной Автоматизации. Кстати, там же можно найти и ответ по поводу "странных" комментариев в коде ERP: УТКА / НЕ УТКА :)
28 февр. 2016 г.
А ты включил режим "high perfomance"?
Нашел на днях свой прошлогодний отчет для клиента о произведенных настройках сервера. Обратились с проблемой: после перехода с файловой типовой бухгалтерии (до десяти пользователей одновременно) на клиент-сервер начались тормоза. В частности, время восстановления последовательности увеличилось раз в пять. За что, спрашивается, заплатили?Отдельно стоит выделить настройку управления питанием сервера. Делается просто, но как ни странно, про нее часто забывают. Все последние сервера, которые приходилось дополнительно настраивать, работали со схемой "по умолчанию". Поэтому выкладываю результаты замеров производительности из этого отчета, как аргумент в пользу того, что не стоит пренебрегать данной настройкой.
31 янв. 2016 г.
Просмотр структуры базы данных
Казалось бы, зачем изобретать очередной "велосипед", когда можно найти среди готовых решений что-то более менее подходящее. Но, как говорится, дьявол в деталях. В моем случае среди найденных вариантов не было ни одного под управляемые формы с иерархическим просмотром структуры метаданных. Стоит отметить, что мой первоначальный вариант заполнял таблицы полей и индексов на сервере для выделенной строки. Но при просмотре структуры конфигураций 1С: ERP задержка при передаче контекста формы с клиента на сервер и обратно составила около 2 секунд. Поэтому для обеспечения комфорта просмотра заполнение таблиц полей и индексов было перенесено на клиент, данные для заполнения формировались в неконтекстных серверных процедурах.
31 окт. 2015 г.
Определение порядка расчета связанных формул
Пару лет назад возникла идея реализовать некий аналог таблицы Excel на основе табличного документа 1С. Главной задачей подобной разработки было создание алгоритма, позволяющего определить по формулам связи ячеек документа и их порядок расчета. Позже приоритеты сместились и разработку пришлось забросить. Но необходимость реализации Excel-подобного интерфейса ввода все таки возникла и теоретические наработки наконец-то превратились в работающий код.
На реальном проекте с помощью такой методики удалось реализовать обработку расчета плана производства, суммарное количество формул составило около тысячи (от 70 строк, 12 месяцев + итоги), порядок расчета связанных областей при изменении ячейки достигал 260 элементов.
На реальном проекте с помощью такой методики удалось реализовать обработку расчета плана производства, суммарное количество формул составило около тысячи (от 70 строк, 12 месяцев + итоги), порядок расчета связанных областей при изменении ячейки достигал 260 элементов.
22 авг. 2015 г.
Использование полнотекстового поиска при вводе по строке
Потребовалось тут как то реализовать в документе ввод по строке с поиском по строковым реквизитам справочника. Реализовывать по старинке через запрос при работающем и более функциональном полнотекстовом поиске совершенно не хотелось. К сожалению, на данный момент, даже при включении в настройках справочника использования полнотекстового поиска при вводе по строке поиск происходит только по указанным полям в настройке "Поле ввода".
Для демонстрации решения в тестовой базе буду использовать процедуру ОбработкаПолученияДанныхВыбора модуля менеджера справочника, чтобы механизм поиска действовал во всей конфигурации.
Первые наброски выглядят следующим образом:
15 мар. 2015 г.
Настройка заголовков в СКД
Рассмотрим настройку заголовка на примере моего отчета из предыдущего поста, уберем заголовок "Количество" из шапки отчета.
Для этого перейдем в настройку макета схемы компоновки данных и добавим макет группировки для поля "Склад" с типом макета "Заголовок".
22 авг. 2014 г.
Курс "Разработка мобильного приложения" - новый старт
Сайт "Курсы по 1С" заново запускает бесплатный курс по разработке мобильного приложения. Обучение на этот раз происходит по обычному формату - качай материалы и делай в удобное время. Тем более, интерес к мобильной платформе у заказчиков постепенно растет. Поэтому, все кто не успел поучаствовать в прошлый раз - налетай, разбирай.
Немного статей и видео по теме:
Что такое мобильная платформа 1С и с чем ее едят?
Мобильная платформа 1С:Предприятия 8
Создание мобильных приложений 1С:Предприятие на Андроиде из 1С: Предприятие 8.3
Немного статей и видео по теме:
Что такое мобильная платформа 1С и с чем ее едят?
Мобильная платформа 1С:Предприятия 8
Создание мобильных приложений 1С:Предприятие на Андроиде из 1С: Предприятие 8.3
21 июн. 2014 г.
Генерация XGML-диаграммы движений документов для yEd
Описанное ранее создание UML-диаграммы движений имеет существенный недостаток - результат на выходе статичен, а хотелось бы иметь возможность в последствии еще внести изменения в схему. Поэтому решил написать генерацию диаграммы для какого-нибудь редактора. Искать долго не пришлось, выбор пал на yEd Graph Editor, поскольку уже продолжительное время использую ее для создания разного рода диаграмм и полностью ею доволен. Программа позволяет читать данные из .xgml файлов, которые представляют собой текстовый XML. Разобравшись по быстрому со структурой файла, набросал для себя простенькую обработку.24 мая 2014 г.
Реализация иерархии в перечислениях
Все мы привыкли, что перечисления в 1С обычно содержат небольшой, редко изменяемый, набор значений и в иерархическом представлении, соответственно, не нуждаются. Но в активно развивающейся учетной системе может возникнуть ситуация, что какое-нибудь перечисление будет периодически дополняться новыми значениями. И в определенный момент возникнет ситуация, в которой со списком этих значений станет неудобно работать. Как следствие, может возникнуть вопрос о реализации механизма группировок в перечислении. И если пользователю особо не важно, как это будет реализовано, лишь бы удобно было работать, то нам, разработчикам, желательно реализовать это все с наименьшими изменениями конфигурации.
Следовательно, о создании справочника с одноименными предопределенными элементами с последующей подменой реквизитов и правкой кода речь не идет. Хотелось бы так же обойтись без создания служебных объектов для хранения соответствия значений перечисления определенной группе. Поэтому всю необходимую информацию можно хранить либо в макетах перечисления, либо в самом коде. В моей реализации все необходимые данные будут находится в модуле менеджера перечисления.
Следовательно, о создании справочника с одноименными предопределенными элементами с последующей подменой реквизитов и правкой кода речь не идет. Хотелось бы так же обойтись без создания служебных объектов для хранения соответствия значений перечисления определенной группе. Поэтому всю необходимую информацию можно хранить либо в макетах перечисления, либо в самом коде. В моей реализации все необходимые данные будут находится в модуле менеджера перечисления.
Подписаться на:
Сообщения (Atom)







