Персональный блог Игоря Антонова aka "spider_net"

1С:Предприятие

Подписаться на эту метку по RSS

Поиск циклических ссылок в 1С:Предприятие 8.3.10


Рубрика: 1С:Предприятие -> Программирование
Метки: | |
Просмотров: 7108
Поиск циклических ссылок в 1С:Предприятие 8.3.10

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

Время жизни объектов в платформе «1С:Предприятие 8» определяется стратегией на основе подсчета ссылок (reference counting). Идея проверена временем и предельна проста. Для каждого объекта есть некий счетчик. При создании ссылки на объект – значение счетчика увеличивается на единицу. При удалении ссылки – наоборот, уменьшается. Как только счетчик становится равен нулю, платформа выполняет удаление объекта и занимаемая им память освобождается. Все достаточно просто. Проблемы начинаются, когда объекта ссылаются друг на друга – появляется циклическая ссылка.

Читать дальше

1С:Предприятие 8.3. Маленькая, но полезная настройка редактора кода. Добавляем подсветку выделенных идентификаторов кода


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 29655
1С:Предприятие 8.3. Маленькая, но полезная настройка редактора кода. Добавляем подсветку выделенных идентификаторов кода

По долгу службы мне приходится работать сразу в нескольких редакторах/IDE: 1С:Предприятие 8.3, Atom, Visual Studio и PhpStorm. Во всех перечисленных средах, по умолчанию активирована настройка, выделяющая одинаковые идентификаторы кода. Например, пишу я какую-то процедуру или объявляю переменную. Теперь я хочу быстренько подсветить имя переменной во всем написанном мной коде. В Visual Studio/Atom/PhpStorm мне достаточно сделать по ней дабл клик и редактор сразу выполнит подсветку. Таким образом, взглянув на код я сразу могу увидеть, где именно используется переменная/идентификатор.

Подобной фичи долгое время не было в редакторе кода «1С:Предприятие 8». Выполнять аналогичную операцию приходилось с помощью поиска.

Читать дальше

1С:Предприятие 8.3. Маленький трюк, упрощающий поиск документации


Рубрика: 1С:Предприятие -> Программирование
Метки: | |
Просмотров: 4971
1С:Предприятие 8.3. Маленький трюк, упрощающий поиск документации

Я занимаюсь разработкой под платформу «1С:Предприятие 8» уже почти 8 лет и за это время успел перечитать/переварить мегабайты различной документации. Инфостарт, ИТС, книги – верные друзья современного разработчика. На мой взгляд, с поставкой документации у 1С всегда получалось не очень хорошо. Возьмем основной и максимально актуальный источник – «ИТС». Я пользуюсь этим порталом давно и более-менее приловчился, но по первости это было просто невыносимо. Вы пользовались MSDN или MDN (Mozilla developer network)? Это более крутые порталы и они хранят гораздо больше информации, но найти ее значительно легче, чем на «ИТС».

Читать дальше

Хранилище конфигурации. Выборочное сравнение


Рубрика: 1С:Предприятие -> Программирование
Метки: | | | |
Просмотров: 6487
Хранилище конфигурации. Выборочное сравнение

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

Читать дальше

Нестандартное применение функциональных опций в 1С:Предприятие 8.3


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 8877
Нестандартное применение функциональных опций в 1С:Предприятие 8.3

С выходом платформы «1С:Предприятие 8.2» в дереве конфигурациипоявился новый объект – "Функциональные опции". Он активно применяется во всех типовых конфигурациях, основанных на управляемых формах, и служит для упрощения процесса отображения отдельных реквизитов, объектов в интерфейсе. Например, в вашей конфигурации есть модуль для обмена с внешним веб-сервисов. Это модуль задействует ряд реквизитов в документах, регистрах и отдельные компоненты в подсистемах. Модуль является опциональным и необходим не каждой компании. Логично, раз модуль нужен не всем, то и отображать вся связанные с ним элементы/поля тоже нужно не всегда.

В старых версиях платформы, решение подобных задач требовало написание дополнительного кода, который приходилось вызывать во всех зависимых участках. Например, если нам требовались скрыть определенные реквизиты формы (в зависимости от значения настройки), то требовалось вызывать соответствующий код при открытии формы. Это было не очень удобно и в большинстве случаев разработчики на подобные вещи забивали.

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

Читать дальше

Пример создания HTTP-сервиса в 1С:Предприятие 8.3. Часть 2. Кейсы


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 7417
Пример создания HTTP-сервиса в 1С:Предприятие 8.3. Часть 2. Кейсы

На прошлой неделе опубликовал первую заметку из небольшого цикла “Создание HTTP-сервисов в 1C:Предприятие 8.3”. В ней я рассмотрел создание примитивного сервиса, который отзывался на запросы клиента и возвращал набор данных. Сегодня настало время второй части статьи и здесь не будет программирования. В ней я хочу заострить внимание на практических кейсах применения данной возможности. Попробую ответить на вопрос - “Зачем вообще заморачиваться с созданием HTTP-сервисов в 1С?”.

Читать дальше

Пример создания HTTP-сервиса в 1С:Предприятие 8.3. Часть 1


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 56835
Пример создания HTTP-сервиса в 1С:Предприятие 8.3. Часть 1

Компания «» активно развивает платформу "1С:Предприятие" и с каждым релизом добавляет новые возможности. После старта развития ветки 8.3 новинок стало появляться особенно много и из-за постоянной занятости не успеваешь их все опробовать в деле. Не так давно я рассказывал и показывал как разработать полноценное мобильное приложение (да-да, на "1С:Предприятие"), а сегодня мне хотелось бы поговорить о создании HTTP-сервисов средствами платформы.

Возможность разработки HTTP-сервисов в составе конфигурации появилась еще в версии 8.3.5. За это время компонента несколько раз обновлялась, и сегодня ей вполне можно пользоваться, не опасаясь за наличие «детских» ошибок. Мне еще не доводилось применять функционал платформы «1С:Предприятие» для создания http-сервисов в реальных условиях, поэтому пока опыт ограничивается учебными проектами. Однако, я вижу перспективы применения механизма http-сервисов в одном из текущих рабочих проектов. В этом цикле небольших заметок попробую показать типовые примеры использования http-сервисов в конфигурациях для платформы «1С:Предприятие».

Читать дальше