Альтернативные способы работы с XML. Часть 3: Введение в XSL-преобразования или трансформация XML

Публикация № 146223

Разработка - Математика и алгоритмы

68
В современном IT мире XML является универсальным средством хранения и доставки информации. Он широко используется как в настольных приложениях, так и при веб-разработке, поддерживая парадигму MVC (model-view-controller), которая означает использование разделения логики работы с данными, пользовательского интерфейса и их взаимодействия при создании приложений. Т.о. XML с точки зрения MVC является одним из вариантов обеспечения функции взаимодействия между данными и пользовательским интерфейсом.

В современном IT мире XML является универсальным средством хранения и доставки информации. Он широко используется как в настольных приложениях, так и при веб-разработке, поддерживая парадигму MVC (model-view-controller), которая означает использование разделения логики работы с данными, пользовательского интерфейса и их взаимодействия при создании приложений. Т.о. XML с точки зрения MVC является одним из вариантов обеспечения функции взаимодействия между данными и пользовательским интерфейсом.

Особенно отчетливо это прослеживается в веб-приложениях, когда серверная процедура, обрабатывая некую бизнес-логику (данные), отдает другой серверной процедуре (или клиенту) результат в виде XML. Эта процедура в свою очередь получает XML, разбирает его по определенным правилам и формирует готовый HTML-код веб-страницы, для отображения пользователю. Такой подход значительно упрощает поддержку подобных приложений, особенно если проект сложный. Он позволяет разным специалистам сосредотачиваться только на своих зонах ответственности: программисты отвечают за обработку данных и выдачу результата, верстальщики эти данные визуализируют.

Разбирать XML по определенным правилам можно с помощью серверного языка программирования, а можно сделать трансформацию при помощи шаблонов XSL и получить на выходе готовый результат. Выходным результатом может быть не только веб-страница на языке HTML, при помощи XSL данные одного XML-файла можно переложить (трансформировать) в другой, с совершенно другой структурой. Нас с вами интересует именно последний вариант, поскольку 1С не предназначена для написания веб-приложений.

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

В качестве примера могу привести собственную разработку Анализатор мобильной связи. В программе есть модуль загрузчиков файлов с детализацией разговоров разных операторов сотовой связи. Порой приходится иметь дело с самыми запутанными XML-файлами. Разбирать такие файлы последовательным чтением довольно трудоемко, поэтому для таких случаев я применяю либо технологию xPath (специальный язык запросов к XML) для разбора файла либо трансформирую исходный XML при помощи преобразований XSL в удобный для последовательного чтения XML. Первый вариант описан в предыдущей публикации Введение в xPath или запросы к XML, а о вторым речь пойдет дальше. Оба варианта базируются на объектной модели документа DOM. Если вы еще не знакомы с этим понятием, то можете прочитать статью Введение в DOM или объектная модель документа XML.

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

Пример работы с преобразованием показан ниже.

Код 1с для преобразования xml

Все, что начинается с "xsl:" - это инструкции процессору преобразования. Остальное включается в результирующий файл как есть.

Разберем инструкции и теги по порядку (отмечены красными цифрами):

  1. Это стандартная инструкция, обязательная для шаблона. Она задает относительный путь (ветку тегов) к которому будут применяться другие инструкции. В нашем случае - это корень (самый верхний тег) исходного файла xml.
  2. Определяется верхний тег phones для результирующего xml.
  3. Задается поиск цепочки тегов Array-Bill > bill > subs (логически это означет найти детальную информацию всех телефонных номеров) относительно корня исходного файла XML. Таких цепочек может быть множество. Поэтому инструкция for-each задает их циклический обход.
  4. При обходе каждой найденной в п.3 цепочки в результирующем XML внутри тега phones будет создаваться тег phone. Инструкция attribute name="id" привязывает к тегу phone атрибут id. Значение атрибута определяется следующей инструкцией value-of select="msisdn", которая определяет, что нужно внутри полученной цепочки Array-Bill > bill > subs найти тег msisdn (логически - это номер телефона) и подстваить его значение.
  5. Инструкиция copy-of select="s_det/crg/*" определяет, что внутри полученной цепочки Array-Bill > bill > subs необходимо найти цепочку тегов s_det > crg (логически эта цепочка ведет к расходам по конкретному телефонному номеру) и все теги внутри этой цепочки скопировать как есть в результирующий xml внутрь созданного в п.4 тега phone.
Теперь давайте разберем на простом тестовом примере возможности преобразования. В реальной жизни XML может быть гораздо более сложной структуры.
 
Подав на вход вышеописанного преобразователя XML следующего содержания:
 
xml источник
 
и применив описанный шаблон, в результирующем XML получим:
 
результирующий xml
 
Т.о. в результирующем XML отсутствуют ненужные для разбора теги, остались только те, которые имеют для нас значение. Структура тегов стала более удобной для последовательного чтения и разбора.
68

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. СергейКа 673 10.08.12 16:48 Сейчас в теме
Тема хорошая, интересная, полезная.
Но разбита на такие кусочки, что отбивает желание плюсовать.
2. Sherlock_kmw 26 10.08.12 17:16 Сейчас в теме
Мне же наоборот кусочки нравятся. набор маленьких статей, которые потом автор, возможно, упакует в один красивый файлик
pvl_mksv; 1cspecialist; +2 Ответить
3. СергейКа 673 11.08.12 14:20 Сейчас в теме
(2) Вот файлик бы со всем этим в одном я бы скачал :)
Согласен с тем, что если информации много, то это не читабельно в одной статье. Но есть же пределы...
4. gaglo 13.08.12 11:43 Сейчас в теме
Тема интересная. Но поскольку описано уже два метода, хотелось бы иметь и рекомендации насчет применения - когда xPath? когда XSL? Хотя бы намёком. Уж если автор сам пишет, что применяет и то, и другое...
5. kapustinag 13.08.12 14:23 Сейчас в теме
Полезная информация, и спасибо за конкретный пример применения.
А то, что тема раскрыта в нескольких статьях - лично у меня никаких претензий. Вряд ли на такой разбивке можно золотые горы заработать, а тема структурирована хорошо.
К тому же это структурирует и последующую дискуссию - вместо обсуждения XML вообще будут обсуждения в соответствии с конкретными темами статей.
1cspecialist; +1 Ответить
6. Новенький_2209 13.08.12 21:05 Сейчас в теме
Тема крута и автор молоток. Имхо, нужно соблюдать некую грань между производительностью и легкостью модификации решения/времени затраченное на модификацию и разработку. В случае сабжа - простым вещам - да. Сложные - один раз сделал, залил в бетоне и забыл. Твой приемник - все сотрет и перепишет циклами, т.к. в нашей 1сной экосистеме пока это не прижилось на массовом уровне. Кроме того, естественно если база - клиент-серверная и XPATH и XSLT нужно юзать в непосредственно на сервере SQL, дергая хранимку, а уже резалт - передавать в 1С для анализа.И это еще +100500 гвоздей в крышку ящика того несчастного, кто будет это все дорабатывать.

R.I.P.

Сам юзал XSLT один раз в жизни, когда одно XML представление, нужно было модифицировать коренным образом в другое. Файло были по 70 метров в среднем. После меня, следующий прог - все стер и написал без XSLT и запросов. Многа-многа кода в регламентном задании ночью - зато он понимает как работает и смог убедить руководство, что мое решения - овнянское, а его - торт! Но правда у меня преобразование шло меньше минуты, а у него - ночью. А ночь - темная в средней полосе, спешить некуда особо :)
vdmkvrshn; veiuper; KAPACEB.AA; Новиков; khaoos; 1cspecialist; +6 Ответить
7. vdmkvrshn 13 19.04.17 11:35 Сейчас в теме
Я вообще фанат этой технологии!! :) С ее изучением я полюбил работать с XML. Писал на ней обмен между типовым решением центральной базы и мобильным приложением: никаких тонн кода - все просто и кратко. Другой программист пришел - смотрит на это, как на нечто магическое, но придерживается правила "работает - не трогай". Если что-надо допилить, обращаются ко мне))

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

См. также

Практика XDTO. Нюансы 51

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Обмен через XML

Некоторые практические моменты работы с XDTO. Дополнения к очевидному.

23.09.2019    3233    Yashazz    24       

Запись/Чтение XML, пример обмена по COM соединению 8

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Обмен через XML

Пример работы с XML, запись и чтение, обмен по COM между одинаковыми конфигурациями.

08.09.2019    1216    user5300    6       

"Хочу универсально!" [Часть 1] 65

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования Разработка

Сентябрьская серия статей про то, как начинающий разработчик Вася проходит путь от простой задачки к созданию своего механизма. На этот раз - открытие значения из текущей колонки.

02.09.2019    3877    SeiOkami    35       

Иерархия без "В ИЕРАРХИИ" 113

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    4267    ildarovich    16       

EnterpriseData – часть 3. Загрузка данных, идентификация объектов 61

Статья Программист Нет файла v8 v8::УФ 1cv8.cf ОС Бесплатно (free) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    3289    ids79    7       

Конвертация данных 2.0. Перенос справочника с иерархией групп и элементов 1

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Обмен через XML

Детективная история о том, как при переносе элементы справочника становились не "видимыми".

09.08.2019    1122    chagbig    4       

Обработчики событий при записи объектов. Зачем и что за чем? 189

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    10200    4    AlbinaAAA    22       

FizzBuzz на 1С. Чем короче, тем веселее. Варианты принимаются... 8

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Мне было скучно, я не мог себя заставить написать ничего полезного. И читал статью на Хабре. Потом я читал комментарии, а потом... нет я не ушел смотреть котиков на ютюбе. Я решил сделать несколько решений задачки FizzBuzz на 1С, с целью "чем короче, тем лучше". Прошу сильно не пинать, это просто развлечение для вечера.

24.07.2019    2573    vandalsvq    16       

Управление качеством кода 124

Статья Программист Руководитель проекта Нет файла v8 Бесплатно (free) Математика и алгоритмы Рефакторинг и качество кода

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    6867    Stepa86    23       

Что делает "В ИЕРАРХИИ" в запросе? 85

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    6557    YPermitin    29       

Создание отчетов с помощью СКД - основные понятия и элементы 190

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    17151    ids79    16       

Реализуем Стек, Очередь и Приоритетную очередь в 1С 51

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В статье рассматриваются способы реализации таких абстрактных структур данных, как стек, очередь и приоритетная очередь, используя готовые типы данных 1С. Выявляются "узкие" места, сложные моменты в реализации и сравнивается скорость работы.

24.06.2019    7084    RonX01    63       

Организация хранения промежуточных данных 3

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Организация хранения промежуточных данных в процедуре сверки.

29.05.2019    1705    scientes    1       

Вычисление 200 тысяч знаков числа pi 73

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    3586    Oleg_nsk    93       

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты 82

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    9742    YPermitin    4       

Конвертация 3.0. Пример доработки: два справочника в один 31

Статья Программист Нет файла v8 КД ERP2 БП3.0 Россия Бесплатно (free) Обмен через XML

Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).

15.05.2019    3129    forusing    4       

Даем названия переменным: как префиксы экономят наше время 10

Статья Программист Стажер Внешняя обработка (ert,epf) v8 Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Понятные названия переменных экономят время и силы разработчика : в начале, когда мы даём названия переменным, в процессе развития разработки, когда мы "на лету" понимаем назначение той или иной переменной, в конце, когда мы передаём разработку на поддержку других программистов, сами переходя к новым разработкам

06.05.2019    2897    Designer1C    69       

Обмен данными между УПП 1.3.64.х и БП 3.0 по расписанию через Универсальный обмен данными + План обмена 2

Статья Программист Нет файла v8 УПП1 Россия Windows Бесплатно (free) Обмен через XML Перенос данных из 1C8 в 1C8

Описание доработки конфигурации УПП 1.3.64.х для выполнения обмена данными по расписанию в БП 3.0. через обработку Универсальный Обмен Данными XML и План Обмена.

09.04.2019    2116    mrcamomile    0       

RabbitMQ + Конвертация Данных 3.0 178

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

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

21.03.2019    13661    barelpro    82       

Заметки по SQL: Срез последних - аналог запроса 15

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Математика и алгоритмы

В статье описывается создание среза последних данных средствами классического языка запросов. Причем метод построения запроса был разработан еще во времена, когда автор работал с СУБД Oracle 9i и программировал на PL SQL. Основная идея заключается преобразовании запроса с подзапросом, в запрос без подзапроса (в примерах описывается преобразование до двух вложенных подзапросов). Запросы тестировались на реальных базах данных. Платформа - 1С:Предприятие 8.3 (8.3.10.2561).

15.01.2019    5800    IVC_goal    5       

EnterpriseData – часть 2. Процесс выгрузки данных 127

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Практика программирования Обмен через XML

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    12587    ids79    27       

Неполадки в работе функционала конфигурации "Бухгалтерия предприятия 3.0" после переноса данных из одной конфигурации в другую через XML 6

Статья Программист Нет файла v8 БП3.0 Россия Бесплатно (free) Обмен через XML

«Подводные камни» в работе конфигурации «Бухгалтерия предприятия 3.0» после переноса данных из одной конфигурации в другую средствами XML.

18.12.2018    2302    faust0923    1       

Новый подход к обмену данными EnterpriseData 202

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Практика программирования Обмен через XML

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

14.12.2018    21197    ids79    72       

MDM система для централизованного управления справочниками предприятия типовыми средствами 7

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Обработка справочников Обмен через XML

Поставили мне пару недель назад задачу настроить единые справочники номенклатуры во всех базах холдинга. Учитывая количество 1С бухгалтерий, которых в процессе выполнения задачи оказалось 32, и учитывая, что они все разных версий (2.0, 3.0, отраслевые), задача казалась из ряда чистой воды подстава. Но решение с технической точки зрения оказалось простейшим.

27.11.2018    3362    lopatin    5       

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации 118

Статья Программист Нет файла v8 v8::УФ БП3.0 УТ11 Россия Windows Бесплатно (free) Практика программирования Обмен через XML

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    18743    ids79    20       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20697    ids79    40       

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C 144

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы Практика программирования

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

23.08.2018    21052    Rain88    42       

Свертка номенклатуры при выгрузке из Управления Торговлей 11 в Бухгалтерию 3.0 13

Статья Программист Нет файла v8 БП3.0 УТ11 БУ УУ Бесплатно (free) Обмен через XML

Свертка номенклатуры при выгрузке из УТ 11 в Бухгалтерию 3. Используется типовой обмен на базе EnterpriseData

20.07.2018    6582    Kutuzov    1       

Обмен через универсальный формат. Пример нестандартной конвертации данных 82

Статья Программист Нет файла v8 УТ11 Россия Бесплатно (free) Обмен через XML Перенос данных из 1C8 в 1C8

В статье описан небольшой пример обмена данными через EnterpriseData без снятия конфигурации с поддержки. Тестовая площадка: Управление торговлей, редакция 11 (11.4.3.126), версия платформы 8.3.11

18.06.2018    22169    artkor    12       

Теорема номер тринадцать 15

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

Использование математических методов для языка запросов.

15.03.2018    8949    vasilev2015    24       

Конвертация данных. Выгрузка контактной информации из регистра сведений в табличную часть 20

Статья Программист Нет файла v8 КД Бесплатно (free) Обмен через XML

Довольно часто встречается задача выгрузить при помощи «Конвертация данных, редакция 2.1» контактной информации контрагента из «Управление торговлей", редакция 10.3» в «Бухгалтерия предприятия, редакция 3.0». Сложность заключается в том, что в УТ контактная информация хранится в регистре сведений, а в БП - в табличной части справочника «Контрагенты». Предлагаю мое, достаточно простое, решение данной задачи.

11.12.2017    14913    Nicholas    9       

Введение в CI для 1С 87

Статья Программист Нет файла v8 Россия Бесплатно (free) Математика и алгоритмы

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

21.11.2017    18784    real_MaxA    22       

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена) 720

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    136988    MaxS    251       

Как работает серверный вызов в 1С 456

Статья Программист Нет файла v8::УФ Бесплатно (free) Математика и алгоритмы

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    42765    pahich    75       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Универсальные функции

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

12.10.2017    14430    for_sale    58       

Групповая разработка конфигураций в крупном холдинге 68

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

О чем мы сегодня поговорим? • О становлении и развитии групповой разработки конфигураций 1С в крупном холдинге с использованием хранилища конфигураций. • Обсудим практически все аспекты использования хранилища в командной разработке. • Я расскажу про те методы и идеи, которые мы пробовали использовать, какие используем до сих пор, от каких отказались и почему.

15.08.2017    17018    stas_ganiev    15       

Что такое конвертация данных 1С (статья написана исключительно для новичков) 79

Статья Программист Стажер Нет файла v8 КД Бесплатно (free) Обмен через XML Перенос данных из 1C8 в 1C8

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

07.08.2017    29350    perepetulichka    33       

Автоматизация процесса 1С-разработки 91

Статья Программист Нет файла v8 Бесплатно (free) Математика и алгоритмы

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

07.06.2017    22511    ekaruk    9       

Перенос данных из базы с поврежденными таблицами 15

Статья Системный администратор Программист Нет файла v8 БП2.0 Казахстан БУ УУ Бесплатно (free) Тестирование и исправление Обмен через XML Перенос данных из 1C8 в 1C8

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

06.06.2017    12260    ermek6    14       

Пишем игру Минер. Обработка событий ActiveX в 1С 29

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Практика программирования Математика и алгоритмы

Пример демонстрирует обработку событий генерируемых компонентой ActiveX в 1С.

29.05.2017    12386    user621724_Dimav1979    11       

Как я доступ на kb.1c.ru получал 90

Статья Программист Нет файла v8 Россия Бесплатно (free) Решение задач на 1С:Специалист Математика и алгоритмы

kb.1c - база знаний по технологическим вопросам крупных внедрений и не только. В этой базе знаний собираются методики и решения технологических проблем эксплуатации 1с, check-list'ы и инструкции по настройке ПО на серверах. Какие-то из размещенных статей дублируются на ИТС. Когда я искал пути получения доступа к нему я столкнулся с проблемой: мало кто доподлинно знает как получить доступ к нему, не работая у франчайзи 1с. Я опишу путь, который прошёл я, как физическое лицо.

01.05.2017    22029    ikekoval    33       

Улучшение стандарта "Структура модуля" 6

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы

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

26.03.2017    11933    o.nikolaev    23       

Работа со схемой XML в модуле обмена от Битрикс 18

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Обмен через XML

Пошаговое руководство «Как добавить поле для выгрузки в модуль обмена для битрикс» Анамнез: УПП 1.3 (Полиграфия, но не суть важно); модуль обмена 1С-Битрикс 5.0.0.5. Допустим, нам нужно добавить в структуру XML-файла поле «Основной менеджер». Поверхностный анализ модуля обмена дает нам информацию о том, что используется пространство имен «urn:1C.ru:commerceml_2».

28.12.2016    11017    ogroup    6       

"Распределение в запросе" или "избавляемся от перебора" 182

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы Универсальные функции

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27750    alexandersh    45