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

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

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

запросы в иерархии производительность платформа внутренние механизмы

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

Начало

Конструкция "В ИЕРАРХИИ" в запросах позволяет получить подчиненные элементы иерархического объекта конфигурации по заданному отбору. Это может быть иерархический справочник, план счетов, план видов характеристик и др. Сегодня в статье рассмотрим пример использования, а также действия платформы на стороне СУБД, влияние на производительность.

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

Использование

Рассмотрим простой пример использования конструкции "В ИЕРАРХИИ". При выполнении следующего запроса будут получены подчиненные элементы иерархического справочника "Товары" для переданного значения параметра "Ссылка".

ТекстЗапроса = 
"ВЫБРАТЬ
| Товары.Ссылка,
| Товары.Артикул
|ИЗ
| Справочник.Товары КАК Товары
|ГДЕ
| Товары.Ссылка В ИЕРАРХИИ(&Ссылка)"

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

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

Вернемся к тестовому запросу. Передадим в параметр "Ссылка" ссылку на группу "Группа - 1" (см. скриншот выше). Тогда результат выполнения запроса будет выглядеть следующим образом:

Как мы видим, запрос вернул ссылку на саму верхнюю группу (переданную параметром), а также вложенные группы с находящимися в них элементами. Таким образом, использование конструкции "В ИЕРАРХИИ" позволяет удобным образом получать иерархически подчиненные данные. 

Синтаксис языка запросов 1C:Предприятия и классического SQL очень похожи во многих моментах. Но для выражения "В ИЕРАРХИИ" нет аналога в языке запросов SQL как, например, для выражения языка запросов платформы "В" есть аналогичный SQL-оператор "IN". Поэтому интересной является работа платформы с СУБД при использовании данного оператора.

За кулисами

Итак, приступим. Для примера будем использовать написанный ранее запрос к справочнику "Товары". Анализировать действия платформы будем для ситуации, когда в качестве параметра передана группа верхнего уровня "Группа 1", что мы уже сделали ранее.

Теперь по порядку. В первом случае платформа выполнит следующие действия на SQL-сервере:

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

2. На втором этапе дважды выполняется запрос:

На скриншоте подробно прокомментирован текст SQL-запроса. Если кратко, то запрос позволяет выбрать подчиненные элементы для групп, ссылки на которые находятся во временной таблице. Остается вопрос: "Зачем запрос выполняется дважды?". Тут ответ простой: сначала запрос получает подчиненные элементы для групп первого уровня, которые уже содержатся во временной таблице (см. пункт 1). Затем второй запрос получает подчиненные элементы для подчиненных групп второго уровня. Поскольку на третьем уровне иерархии не присутствует ни одна группа справочника, то данный запрос более не выполняется.

В нашем случае, второй запрос вернет пустой результат, так как для записей, находящихся на 3-м уровне иерархии, нет подчиненных элементов (там нет ни одной группы). 

3. Для получения конечного результата платформа формирует следующий SQL-запрос:

Результат именно этого запроса в дальнейшем может обрабатываться алгоритмами на встроенном языке платформы. Таким образом, записи во временной таблице '#tt1' используются для установки условия выборки из таблицы справочника "_Reference41".

4. На последнем шаге платформа очищает и удаляет временную таблицу '#tt1', поскольку в дальнейшем она уже не будет использоваться.

Пример посложнее

Рассмотрим пример посложнее, чем простой запрос к справочнику. Допустим, у нас есть запрос к регистру бухгалтерии "Хозрасчетный".

ВЫБРАТЬ
	ХозрасчетныйОстатки.Организация КАК Организация,
	ХозрасчетныйОстатки.Валюта КАК Валюта,
	ХозрасчетныйОстатки.Подразделение КАК Подразделение,
	ХозрасчетныйОстатки.Счет КАК Счет,
	ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
	ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
	ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
	ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
	РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В ИЕРАРХИИ (&Счет), , ) КАК ХозрасчетныйОстатки

Условие по счету установлены с помощью инструкции "В ИЕРАРХИИ" по значению "10". На сервере СУБД платформа выполнит ряд запросов.

 
 Запросы платформы при использовании "В ИЕРАРХИИ"

Таким образом, инструкция "В ИЕРАРХИИ" работает практически во всех случаях одинаково в несколько этапов:

  1. Получаем ссылку на текущий элемент и подчиненные ему элементы.
  2. В несколько запросов получает элементы для всех последующих уровней иерархии.
  3. Полученные данные используются в последующих запросах платформы. Как они будут использоваться сильно зависит от конкретного запроса в конфигурации (запрос к справочнику, виртуальным таблицам и др.).

Вроде, все не так уж и сложно.

Влияние на производительность

В примере выше мы видели, что платформа сгенерировала несколько запросов для получения элементов на каждом уровне иерархии. Но что, если иерархия будет содержать не 2, 3, 5 уровней, а 10, 20, 50! Чем больше уровней, тем больше запросов будет сформировано.

Плюс ко всему, в нашем примере запрос был очень простой. Но что, если это будет запрос тяжелого отчета, где условие "В ИЕРАРХИИ" будет применено множество раз. Если справочник очень большой, а пользователь в отчете случайно сделал отбор по пустой ссылке? Тогда будет выбран весь справочник!

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

Вот некоторые материалы, в которых Вы можете найти информацию о влиянии инструкции "В ИЕРАРХИИ" на производительность:

Сам по себе оператор "В ИЕРАРХИИ" очень мощный, но требует осторожного использования.

Делайте выводы!

Выводы делать Вам. Скажу лишь, что оператор "В ИЕРАРХИИ" используется платформой для системы компоновки данных, когда в условиях отбора присутствуют "В ГРУППЕ", "В ГРУППЕ ИЗ СПИСКА" и прочие. Думаю, не стоит объяснять, что при особых манипуляциях пользователи могу поставить очень сложный отбор в отчете или динамическом списке. Это может стать причиной значительного повышения нагрузки на всю информационную систему, "тормозам" или даже зависанию.

Ну и, разумеется, при разработке обращайте внимание на оператор "В ИЕРАРХИИ". Очень удобный с одной стороны, и опасный с другой.

Другие ссылки

101

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

Комментарии
Избранное Подписка Сортировка: Древо
1. insurgut 196 16.07.19 13:26 Сейчас в теме
А в чем мораль? В ИЕРАРХИИ работает ровно так, как задумано, и любые попытки оптимизации обычно только снижают производительность.

Ну а то, что может сделать пользователь прямого отношения к этому оператору не имеет никакого. Хуже или лучше сам оператор "В ИЕРАРХИИ" в зависимости от действий пользователя не становится.
3. YPermitin 6416 16.07.19 13:36 Сейчас в теме
(1) морали в моих статьях нет :)

Оператор все же может влиять на производительность. Посмотрите ссылки из статьи. Наверное, самый наглядный пример - это его появление в отчете на СКД. Пример на сайте gilev.ru.
6. kolya_tlt 11 16.07.19 13:47 Сейчас в теме
(3) мораль такова что данную конструкцию лучше запретить и выпилить из платформы. от неё одни не счастья.
8. insurgut 196 16.07.19 14:59 Сейчас в теме
(6) точно так же как и иерархию в справочниках/счетах учета. Дерево значений - тоже грохнуть. :)
12. for_sale 820 16.07.19 16:52 Сейчас в теме
(6)
Да-да, и ножи кухонные запретить - по новостям говорили, что одна женщина мужа таким ножом зарезала! И телеграм тоже запретить - там одни террористы! И вообще - давайте всё запретим!!! Тогда ничего не будет происходить и не будет никаких несчастий))
w.r.; korppinen; +2 Ответить
9. insurgut 196 16.07.19 15:03 Сейчас в теме
(3) но это же очевидно, как и то, что альтернативы ей для иерархических справочников нет.
30. Chai Nic 137 13.11.19 08:00 Сейчас в теме
(9) Альтернатива - "закат солнца вручную", то есть реализация иерархии через ссылки, с последующим всем)
32. AlexPC 13.11.19 11:38 Сейчас в теме
(9)
но это же очевидно, как и то, что альтернативы ей для иерархических справочников нет.


1. Отказ от нормальных форм sql позволяет увеличить производительность чтения, в т.ч. и при работе с иерархическими справочниками.
2. Явное хранение иерархии в объектах БД позволяет отказаться от конструкции "В ИЕРАРХИИ".
и т.п.
2. VmvLer 16.07.19 13:27 Сейчас в теме
4. YPermitin 6416 16.07.19 13:36 Сейчас в теме
5. ellavs 634 16.07.19 13:40 Сейчас в теме
Спасибо. Приятно смотреть, когда скриншоты с такими хорошими пояснениями.
taiwanchik; kuzyara; YPermitin; +3 Ответить
7. ids79 4461 16.07.19 14:35 Сейчас в теме
Спасибо.
Как всегда все понятно и доходчиво.
Я как раз в процессе написания статьи про иерархию в СКД.
YPermitin; +1 Ответить
17. YPermitin 6416 16.07.19 20:37 Сейчас в теме
(7) ждем с нетерпением!

Спасибо!
10. Dach 285 16.07.19 15:15 Сейчас в теме
Просто оставлю это здесь:

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

https://infostart.ru/public/158512/

"В ИЕРАРХИИ" и "УПОРЯДОЧИТЬ ПО ИЕРАРХИЯ" / "ИТОГИ ПО ИЕРАРХИЯ"

https://infostart.ru/public/417128/
YPermitin; +1 Ответить
28. ildarovich 6793 26.08.19 11:28 Сейчас в теме
В (10) уже давали ссылку на идею, позволяющую обойтись без конструкции "В ИЕРАРХИИ" при решении многих задач на иерархию. Теперь нашел возможность несколько усовершенствовать тот подход и написал новую статью, связанную с затронутой темой. Статья называется "Иерархия без "В ИЕРАРХИИ".
YPermitin; +1 Ответить
29. YPermitin 6416 26.08.19 18:45 Сейчас в теме
(28) спасибо Вам огромное!

Плюсы уже доставлены :)
11. s22 19 16.07.19 15:56 Сейчас в теме
Лучше бы сделали в конфе теневую таблицу

Родитель | подчинены(любого уровня вложенности)

тогда все сведется к внутреннему соединению.
В запросах будет использоваться прозрачно.
Chai Nic; FAMыч; SlavaKron; YPermitin; +4 Ответить
14. kote 501 16.07.19 17:38 Сейчас в теме
(11) не вариант, т.к. будет нужна будет еще одна промежуточная таблица подчиненности.. и сложности с выводом одного уровня подчиненности, не?
18. s22 19 16.07.19 20:39 Сейчас в теме
(14)
) не вариант, т.к. будет нужна будет еще одна промежуточная таблица подчиненности.. и сложности с выводом одного уровня подчиненности, не?

какие сложности?
"промежуточная таблица подчиненности"? зачем Есть справочник. Есть эта таблица.
22. kote 501 17.07.19 16:48 Сейчас в теме
(18) Как это реализуется в таблицах: одна запись (потомок) ссылается на одну запись (родитель)

Теперь, Вы пишите

Родитель | подчинены(любого уровня вложенности)


Т.е. тут либо родитель должен содержать все ссылки на потомков, либо потомки - на всех родителей

Теперь вопрос: как можно реализовать то, что Вы предлагаете без промежуточных таблиц?
Для каждого уровня вложенности создать еще одно поле? Тогда иерархические запросы будут совсем неудобны для использования..

Или есть еще какой-то способ?

Расскажите, если не сложно - как это должно выглядеть, пожалуйста.
23. s22 19 17.07.19 16:56 Сейчас в теме
(22)
Т.е. тут либо родитель должен содержать все ссылки на потомков, либо потомки - на всех родителей

2 поля.
Родитель и все его потомки
таблица теневая, т.е. делается на уровне платформы.

Запрос будет сводиться к внутреннему соединению.
33. Chai Nic 137 13.11.19 16:53 Сейчас в теме
(11) Можно и дальше расширить идею. Заранее считать агрегаты регистров по иерархии. Чтобы остатки по группе например получать моментально.
34. s22 19 13.11.19 20:05 Сейчас в теме
Да. Вообще хорошо, если бы такие вещи можно было настраивать. Кроме того подобные таблицы должны быть в статусах актуальности. Если не актуальна, то не используется.
Актуальность восстанавливать в фоне.
13. Froloid 66 16.07.19 16:57 Сейчас в теме
Когда то крутилась в голове мысль "Как СУБД отрабатывает конструкцию "В иерархии"" (а ещё и конструкцию "Количество (Различные ..)". Но в условиях ненадобности интерес не довёл дело до трассировки запросов на стороне СУБД.

Однако гипотетически как получить иерархию было понятно и самым сложным нюансом казался "Как определить максимальную глубину справочника".

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


Чтобы выяснить это "Поскольку", на ум приходит только рекурсивные запросы начиная с корня для каждого последующего уровня, до тех пор, пока не получим пустой результат. То есть конструкция, которая не может быть отработана за одно обращение к СУБД (точнее одним запросом со стороны 1С).

Хорошо бы раскрыть этот ключевой нюанс данной конструкции.
Dnki; RickyTickyTok; ogoneksergei; YPermitin; +4 Ответить
15. Dach 285 16.07.19 18:01 Сейчас в теме
(13)

Платформа при трансляции текста запроса задает глубину вложенности исходя из настроек справочника

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


посмотрите (10), в первой публикации как раз этот вопрос наиболее полно и раскрыт
YPermitin; +1 Ответить
20. Froloid 66 17.07.19 11:25 Сейчас в теме
(15) То есть в указанном примере в конфигурации установлено ограничение по максимальной глубине в 3 уровня? С трудом верится.
21. Dach 285 17.07.19 12:47 Сейчас в теме
(20) а Вы и не верьте)) возьмите профайлер и потрассируйте запросы, меняя уровень иерархии
16. Dorosh 139 16.07.19 18:47 Сейчас в теме
Принято ругать конструкцию В ИЕРАРХИИ за тормознутость, но родной для скуля CTE работает еще медленнее. Как-то движимый любопытством написал и протестировал скульный запрос с CTE и 1с с иерархией. Оба запроса возвращали одинаковый набор данных из спр Контрагенты. Иерархия победила, за счет параллелизма. Рекурсивный запрос принципиально выполняется в 1 поток.
YPermitin; +1 Ответить
19. logarifm 1059 17.07.19 08:41 Сейчас в теме
Наглядные примеры того как не стоит обращаться из избыточными операторами. Но иногда без этого не обойтись. Ведь пользователю глубоко пофигу на производительность системы. Это наши проблемы. По этому еще интересней, когда В ИЕРАРХИИ и список групп они указывают.

Вообще автор молодец уже много статей написано по производительности и моменты работы Движка SQL. Ждем последующих статей...

ЗЫ. От себя еще хочу добавить СКД серьезно теряет производительность при группировке колонок (ведь за кулиссами там происходит нечто таинственное)
24. FreeArcher 89 18.07.19 06:53 Сейчас в теме
А если мы используем конструкцию В ИЕРАРХИИ (&П), но в параметр подставляется не группа, а элемент. Запросы будут усложнятся или платформа поймет, что эта запись равнозначна =&П?
25. SlavaKron 18.07.19 09:31 Сейчас в теме
(24) Есть ведь справочники с иерархией элементов, то есть родителем одного элемента является другой элемент.
26. FreeArcher 89 18.07.19 10:20 Сейчас в теме
(25) Есть. Но у меня вопрос когда элемент не имеет подчиненных.
Я хочу понять делая универсальным вызовы в запросе используя В или В ИЕРАРХИИ предполагая, что параметры могут принять массив значений или группу утяжеляем ли мы план запросов или 1С "умная" и она поймет данную ситуацию?
frkbvfnjh; +1 Ответить
27. Evil Beaver 6405 18.07.19 11:24 Сейчас в теме
(44) Смотришь на автора, сначала плюсуешь, потом читаешь.
31. frkbvfnjh 558 13.11.19 10:53 Сейчас в теме
Меня огорчает лишь одно - нельзя использовать конструкцию В ИЕРАРХИИ при соединении таблиц и мне пофигу как долго бы этот запрос выполнялся, жаль что 1С не хочет "замутить" такое :(
Оставьте свое сообщение

См. также

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

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

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

02.09.2019    5960    SeiOkami    35       

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

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

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

22.08.2019    5607    ildarovich    17       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

22.08.2019    5410    ids79    7       

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

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

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

25.07.2019    15916    4    AlbinaAAA    24       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

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

19700 руб.

Как проводятся документы в типовых конфигурациях от 1С 139

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

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    17209    skv_79    32       

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

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

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

24.07.2019    3212    vandalsvq    16       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

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

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

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

22.07.2019    9533    Stepa86    33       

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

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

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

25.06.2019    24697    ids79    17       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

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

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

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

24.06.2019    8327    RonX01    63       

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

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

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

29.05.2019    2226    scientes    1       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

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

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

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

28.05.2019    4309    Oleg_nsk    93       

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

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

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

20.05.2019    13146    YPermitin    5       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

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

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

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

06.05.2019    3653    Designer1C    69       

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

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

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

15.01.2019    6790    IVC_goal    5       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

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

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

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

10.11.2018    24056    ids79    40       

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

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

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

23.08.2018    24903    Rain88    42       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

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

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

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

15.03.2018    9793    vasilev2015    24       

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

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

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

21.11.2017    19862    real_MaxA    22       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

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

29700 руб.

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

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

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

18.11.2017    45610    pahich    77       

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

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

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

12.10.2017    15265    for_sale    58       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

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

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

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

15.08.2017    18114    stas_ganiev    15       

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

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

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

07.06.2017    23472    ekaruk    9