СКД против "ручного" кодинга

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

Разработка - Работа с интерфейсом

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

Сравним по быстродействию типовой отчет БП 1.6 "Обороты Счета" и его аналог,   интерактивно созданный  на СКД . Запуск рассматриваемых отчетов будет осуществляться в конфигурации БП 1.6.

 Экспериментальный отчет ОборотыСчетаБП1_6.erf, оформленный в стиле БП 2.0 , прикреплен к статье для скачивания:

В отчет добавлен небольшой дополнительный функционал : колонки "Обороты Дт" и "Обороты Кт" должны разворачиваться не только по счетам (как в БП 1.6 и в БП 2.0)  , но и произвольным настраиваемым образом . Например , по счетам и первому субконто этих счетов :

 

 

Описание

В СКД созданы три очевидных набора данных :

1. "Остатки "    как запрос к виртуальной таблице "ОстаткиИОбороты" :
2. "ОборотыДт" как запрос к виртуальной таблице "ОборотыДтКт"
3. "ОборотыКт" как запрос к виртуальной таблице "ОборотыДтКт"

Набор "Остатки" левым соединением связан с наборами "ОборотыДт" и "ОборотыКт" . В "Настройках" используется объект "Таблица" :

 

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

Сравнение с БП 1.6

Убрав отметки в настройках у отмеченных выше красным группировок,  можно сравнить по быстродействию представленный отчет и аналогичный типовой "Обороты счета" в БП 1.6 . Возможно также сравнение и с отчетом автора от 2009г.  
//infostart.ru/public/18838/ . Тогда я  не решился использовать СКД и "вручную" реализовал разворачивание колонок "Обороты Дт" и "Обороты Кт" по счетам и первому субконто.  Огромный проигрыш "ручного" кодинга в быстродействии был очевиден уже тогда. Сегодня читатели могут в этом убедиться.
Экспериментальный отчет выигрывает у типового по быстродейтсвию от 2 до 5 раз.

Сравнение с БП 2.0

Типовой отчет "Обороты счета" БП 2.0 более сложен.  В нём использовано  больше  дополнительных наборов данных и прямое сравнение по быстродействию затруднительно. Сравнить можно лишь способы разворачивания оборотов по корр.субконто :

 

Как видно из рисунка , корр.субконто в БП 2.0 располагаются в строках отчета причем "вперемешку" и дебетовые и кредитовые , что снижает, на мой взгляд, читаемость  отчета.   С другой стороны , отчет в БП 2.0  располагает  более разнообразным богатым функционалом.
Публикация автора  Tuning1c  //infostart.ru/public/21923/  содержит отчет "Обороты счета" из БП 2.0 ,  адаптированный для запуска в БП 1.6.

 

Скачать файлы

Наименование Файл Версия Размер
ОборотыСчетаБП1_6.erf

.erf 21,78Kb
252
.erf 21,78Kb 252 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1191 28.09.10 09:05 Сейчас в теме
(0)
СКД это всего лишь "оформительский бантик" к запросу

А разве это не так? Чем можете обосновать? Этот отчет только это утверждение и подтвердил.
2. Ish_2 1058 28.09.10 09:09 Сейчас в теме
(1) Конечно, не так.
Отчет "Обороты счета" является примером сложной перекрестной таблицы.
Реализовать такую построителем невозможно. Остается ручной кодинг.
Сила СКД - в составлении перекрестных таблиц
В теме предлагается читателю сравнить представленный отчет и типовой в БП 1.6 по быстродействию и самостоятельно сделать вывод : что быстрее ?
3. Арчибальд 2712 28.09.10 09:31 Сейчас в теме
Автору респект. Самостоятельно я, будучи семерочником, ни в жисть бы не догадался, что обороты счета в восьмерке являются сложными и перекрестными. :(
9. Ish_2 1058 28.09.10 11:04 Сейчас в теме
(3) Как прожженный "семерочник" оцени код типового отчета в 77.
Поделись впечатлениями .
4. gavril 43 28.09.10 09:40 Сейчас в теме
Ну вот и все.
Ты теперь сам подвязался формировать "Обороты счета", потому как научить настраивать этот отчет пользователя намного сложней, чем писать ручной код как в отчете 1.6
:)
6. Ish_2 1058 28.09.10 10:50 Сейчас в теме
(4) Нет, неверно. Демонстрационный отчет - не для бухгалтера.
Отчет для ветеранов , которые настаивают , что СКД -"бантик".
В теме я почтительно пытался их переубедить .
Убежден , что после такого примера они "дружною толпою" перебегут на сторону энтузиастов СКД.
5. anig99 2760 28.09.10 10:42 Сейчас в теме
быстродействие СКД зависит в большей степени в автоматически налагаемых параметрах на виртуальные таблицы и отбрасыванию ненужных связей и полей... Так что грамотно составленный запрос не будет медленнее СКД.
7. Ish_2 1058 28.09.10 10:59 Сейчас в теме
(5) Неверно.
Перекрестную таблицу ты "грамотно" составленным запросом в 1с не создашь.
Тебе придется "вручную" обрабатывать выборки запроса и в цикле выводить области табличного документа. Посмотри код типового отчета "Обороты Счета" в БП 1.6 или УПП .
Проблема перекрестных таблиц ( то бишь таблиц с динамическими колонками) в СУБД обсуждалась где-то в середине 90-х годов. Разные Субд по-разному решили эту проблему.
8. СергейКа 686 28.09.10 11:03 Сейчас в теме
СКД конечно рулит - не но панацея.
Недавно у меня не получилось выделить (цветом, шрифтом, не важно) итоги по группировкам (строки/колонки - только итоги) в сложной перекрестной таблице. Потратил несколько часов, но так и не допер :(
11. Ish_2 1058 28.09.10 11:12 Сейчас в теме
(8) В конфигураторе - СКД - закладка "Макеты" - Добавить Макет ресурсов.
В появившемся окне
Группировка1 это строки
Группировка2 это колонки.
В перекрестии этих строк и колонок можно создать область макета для форматирования соответствующих ресурсов.
Например , чтобы как- то выделить последнюю итоговую строку отчета - нужно
в группировке 1(строки) поставить "Заголовок" - в Группировке 2(Колонки) поставить "Общий итог подвал". Могу соврать , но примерно так.
14. СергейКа 686 28.09.10 12:17 Сейчас в теме
(11) Эх, если бы было так легко...
Итоговые группировки строк - так получилось без проблем. А вот группировки строк и группировки колонок вместе (пересечение) - нет.
И строки и колонки строятся иерархически.
10. anig99 2760 28.09.10 11:07 Сейчас в теме
А проверял на SQL или файловом варианте?
12. Ish_2 1058 28.09.10 11:14 Сейчас в теме
(10) Конечно. И на файловом и SQL-вариантах представленный отчет выиграл у типового от 2 до 4 раз. Только нужно не забыть в настройках отчета снять (в теме выделено красным) галочки (группировки по корр.субконто).
80. alexk-is 6489 30.09.10 08:31 Сейчас в теме
(10) Да и да. Пропорции ~ сохраняются в обоих случаях
81. Ish_2 1058 30.09.10 10:37 Сейчас в теме
(80) В скобочках замечу, что при модификации типового отчета "Обороты счета" ты не только в текстах модуля убирал расшифровки , но и оптимизировал типовой код вывода отчета методами описанными в "Заметочках по 8-ке".
Но это даже хорошо ! Стало ясно еще более отчетливо :
как угодно оптимизированный "ручной" кодинг проиграет по быстродействию СКД.
88. alexk-is 6489 01.10.10 13:35 Сейчас в теме
(81) Тут такое дело. Есть подозрение, что СКД выигрывает при большом количестве пустых ячеек. В БП пустых и заполненных было ~ поровну, а в УПП пустых было в 2 раза больше.

Насчет оптимизации. Да я отпимизировал существующий код. Но кто сказал, что методика используемая для построения типового отчета является наиболее эффективной? Может проблема здесь? Ведь в типовом отчете данные собираются двумя запросами, а в СКД одним. Уверен, что при достаточной проработке методики формирования отчета можно значительно повысить скорость вывода данных в отчет и без СКД. Например, можно попросить Душелова написать ВК :)
Шёпот теней; +1 Ответить
89. Ish_2 1058 01.10.10 14:01 Сейчас в теме
(88) Уже что-то !
Придётся проверять так : насоздавать "лишних" операций так , чтобы все колонки дебета и кредита были заполнены и тогда уже сравнить СКД и твой отчет с отключенными расшифровками.

Правда , сразу нужно отметить :
Расшифровки, замедляющие быстродействие типового отчета в 2раза (!), всё равно нужны и отключать их при сравнении некорректно . Ведь в СКД расшифровки -то используются и оптимальная работа с расшифровками - это одно из больших преимуществ СКД перед "ручным" кодингом.
При корректном сравнении даже как угодное оптимальные расчет и запись расшифровок займут время и "кодинг" все равно проиграет в разы.

Мой Прогноз : ВК не спасет , Душелов не спасет ... и никто не спасет .
90. hogik 436 01.10.10 17:09 Сейчас в теме
91. Ish_2 1058 01.10.10 18:46 Сейчас в теме
(90) Владимир, Вы зачем "смущаете своим разумением" неокрепшие умы 1с-ников ?
Нехорошо это.
Тут бы с MS SQL, Oracle, DB2 (реляционных по сути) разобраться хоть как нибудь ,
а нам предлагается как спасение - "Постреляционная СУбд Cashe5" , требующая своего языка доступа к Базе данных (SQL- на свалку, все реляционно ориентированные приложения , стало быть тоже). Вот заживём !
Чем черт не шутит , но что-то с 2003г (время написания статьи) я не слышал чтобы Cashe5 отгрызла хоть какой-то кусочек рынка (для бизнес -приложений) у тех же MS SQL, Oracle, DB2 .
Может подождем пока Cashe5 сдохнет... или завоюет весь мир ?
Тогда и обсудим чем она хороша (плоха) ?
92. hogik 436 01.10.10 19:39 Сейчас в теме
(91)
Неокрепшие умы могут не окрепнуть, а задубеть.
Вот это, действительно - "Нехорошо".
Я уважаю Ваш "конкретный" (прагматичный) подход к нашим задачам.
Но не видеть (или не знать), что "...использование реляционного подхода не столь эффективно в таких приложениях, как АСУП,..."(с) - это ОЧЕНЬ "Нехорошо".
Разработчики 1С-ов - видят и знают. Но решают проблемы "реляционного подхода" за деньги пользователя (покупателя). А мы публикуем и долго обсуждаем статьи по алгоритмам из двух циклов. А это ОЧЕНЬ грустно...
93. Ish_2 1058 01.10.10 19:46 Сейчас в теме
(92) Я тоже , кстати, обратил внимание на эту фразу :
"...использование реляционного подхода не столь эффективно в таких приложениях, как АСУП,..."

Сильно.
Тот самый случай , когда невозможно определить :
То ли очень глупо , то ли очень умно.

А то , что мы обсуждаем алгоритмы из двух циклов... Это правда.
Когда-то давно я взгрустнул познакомившись с бухгалтерскими задачами.
Но потом как-то прошло...
94. hogik 436 01.10.10 20:04 Сейчас в теме
(93)
Я не говорю про "бухгалтерские задачи" из двух циклов.
Тема моих высказываний: "Проблема перекрестных таблиц ( то бишь таблиц с динамическими колонками) в СУБД обсуждалась где-то в середине 90-х годов"(с)(7).
Т.е., опять, проводим "научные" исследования на пустом месте, когда "Мы пишем запросы!". Нет никакой проблемы с динамическим колонками - два простейших цикла...
95. Ish_2 1058 02.10.10 06:46 Сейчас в теме
(94) Мы говорим о разном.
Вы мне - алгоритм из двух циклов не стоит обсуждения.
Я Вам про тему статьи : кодинг из двух циклов по быстодействию уступает встроенному средству платформы под названием СКД.
96. Арчибальд 2712 02.10.10 08:52 Сейчас в теме
(95) Что настройка СКД, что результат ручного кодинга - и то и другое 1С преобразует в СУБД-шный запрос. Твое утверждение сводится к тому, что в случае СКД платформа действует оптимально, а ручные циклы обрабатывает коряво. Вполне возможно, что СКД-шный внутренний язык запросов является тем промежуточным состоянием, к которому приводятся "ручные" запросы - ясное дело, на промежуточные преобразования потребуются дополнительные ресурсы.
То есть вопрос - в реализации платформы на практике. Или - насколько 1С-ные разработчики восприняли теорию, которая упомянута в (94).
97. Ish_2 1058 02.10.10 14:02 Сейчас в теме
(96) Код типового отчета "Обороты счета" в БП 1.6 можно условно разделить на два этапа :
- выполнение двух запросов, получение их результатов.
- собственно "ручной" кодинг : цикл, в котором построчно выводятся результаты
запроса в выходной табличный документ (по вашему "Таблица").

Аналог этого отчета на СКД содержит , грубо говоря, те же запросы, а вот обработку результатов запроса и рисование отчета производит внутренними механизмами СКД.

Никакого выигрыша в скорости выполнения запросов ("первый этап") при использовании СКД мы не имеем. Выигрыш имеем за счет реализации "второго этапа" : обработка результатов запроса и рисование отчета.
Никакого своего , "внутреннего" языка запросов СКД не имеет.
А в (94) Владимир говорит о чём -то своём ... далёком и отвлечённом.

P.S. Я изложил упрощенно-грубо , в первом приближении , необходимом для понимания.
99. hogik 436 02.10.10 16:33 Сейчас в теме
(97)
"Владимир говорит о чём -то своём ... далёком и отвлечённом"(с)
Игорь.
Я уже и не знаю о чем говорить. ;-)
Говорю о "теории" про два цикла - мимо.
Предлагаю провести конкретные замеры - мимо.
Предлагают разобраться в сути ускорения - мимо.
И постоянно, с Вашей стороны, "крепкая конкретика", снабженная "качественными" оценками, типа:
"... многократно проиграет в быстродействии."(с)
"... алгоритм , на мой взгляд, для больших таблиц выиграет у любого другого."(с)
"... размер таблиц ... может быть как угодно большим ."(с)
"... таблицы ... могут быть очень большого размера."(с)
"... для как небольших, так и очень больших объемов данных (свыше 120-150 ГБ)."(с)
На мой взгляд это гадание "на кофейной гущи". :-(
Я понимаю, что вы поставлены ("домиком") в условия обязательного использования "1С 8.х" и "запросов". Типа, жизнь заставляет... Но, Вы, как мне показались, пытаетесь осмыслить внутреннее устройство системы, а не тупо жать на кнопки. И это вызывает уважение с моей стороны. И, извините, вызывает желание "подтолкнуть" Вас к более глубокому анализу - зачем, где, когда и почему "Мы пишем запросы!"(с). Я постараюсь больше этого не делать...
100. Ish_2 1058 02.10.10 17:33 Сейчас в теме
(99) Прочитал цитаты и улыбнулся. Посреди Вашего поста (вежливо - расплывчато-уклончивого) смотрятся они особенно диковато.
Мы расходимся с Вами в том , как вести дискуссию в теме.

Я считаю , что автор темы должен играть первым номером. Что это значит ?
Автор темы должен делать утверждения. Они могут быть и неверными. Но они должны быть. Далее автор должен представить конретную разработку , подтверждающую его правоту. Далее автор должен привести сравнительный анализ (с чем -либо), сделать выводы. Причем четкие , определенные - такие, которые можно было бы оспорить.
Ясная, определенная позиция - это клад для оппонента , который хочет эту позицию опровергнуть.
Действительно , возьмем фразу- утверждение (извиняюсь за самоцитирование) - "... многократно проиграет в быстродействии."
Для чего она ? - Она для оппонента, желающего её опровергнуть.
Для этого есть все возможности - в теме-то указано что сравнивать и как сравнивать.
Смотри (88).
Именно этим автор выказывает уважение возможным оппонентам , т.е. честной игрой по правилам. А колкости можно пропукать мимо глаз ...
Я часто (бывает и не по делу) с удовольствием выступаю в темах Арчибальда. Почему ?
Потому что он играет по тем же правилам.

Когда же автор ведет себя безопасно , не делает утверждений , (пусть резких, пусть неверных) , а делится размышлизмами , которые невозможно ни подтвердить, ни опровергнуть - тема получается ни о чём и быстро вянет.

Делайте утверждения , Владимир !
101. hogik 436 02.10.10 19:04 Сейчас в теме
(100)
"Когда ... автор ,,, делится размышлизмами ..."
- Тем самым, автор предлагает собеседнику поразмышлять, т.е. - думать.
"Я считаю , что автор темы должен..."
- Да. Я заметил, что Вы считаете, что все должны излагать свои мысли, так как это Вам хочется. Ваше право - считать. Право других людей - игнорировать Ваши "хотелки".
"Мы расходимся с Вами в том , как вести дискуссию в теме."
- А мы с Вами и не ведем дискуссию. Её, просто, не существует. Пример. Два специалиста обсуждают принципы работы пульта ДУ для телевизора. Один говорит о функциональной нагрузке кнопок (включение, регулятор громкости, выбор каналов и т.д.), а другой о способе передачи информации от ДУ к приёмнику (протокол, физика, принципиальная схема устройства, элементная база и т.д.).
"Делайте утверждения..."
- Игорь. А мои фраза, типа: "Такой задачи (проблемы) не существует". Это, разве, не утверждение. Или надо действовать проще - поставить "минус". Или сказать, что "Автору нужно помочь с выражением того , что он хочет сказать."(с).

Игорь.
Поиск "волшебных палочек" для "автоматизации" труда программиста ведётся с момента появления самой профессии "программист". Язык запросов - одна из таких "палочек". Весь мир (думающая его часть) уже давно пришла к выводу, что эта палочка является зубочисткой. А Вы с 1С-ами пытаетесь ковырять этой палочкой в другом месте. Это не гигиенично... ;-)
P.S. Попробуйте эту "колкость пропустить мимо глаз". ;-)
102. Ish_2 1058 02.10.10 19:35 Сейчас в теме
(101) Слово за слово , глядишь , и перейдем к делу. Берем предложение :
Весь мир (думающая его часть) уже давно пришла к выводу, что эта палочка является зубочисткой. А Вы с 1С-ами пытаетесь ковырять этой палочкой в другом месте.

Утверждение , которое здесь приводится ни опровергнуть , ни подтвердить нельзя.
О чем спорить -то ?
Зубочистка или нет ? Весь мир или не весь мир ? Гигиенично это или нет ?
Всё пустое, всё мимо ...

А Вы начните свою статью словами " Эх, вы одинесники... тёмные и дремучие "
(.. это так - для затравки разговора , чтобы народ подтянулся).
Затем приведите пример , который люди могут потрогать , пощупать , попробовать, сравнить.
Сделайте выводы о гибельности 1с-овского курса, которые можно будет опровергнуть ( плохо -хорошо, быстро-медленно). И тогда мы поспорим .
А сейчас что ? (101) - это мило , забавно... НО НЕ ЦЕПЛЯЕТ.
104. hogik 436 02.10.10 20:03 Сейчас в теме
(102)
"Всё пустое, всё мимо ..."
- У Вас в глаз соринка попала в форме "восьмерки". Протрите глаза. Вы на мои "статейки" и "поделки" смотрели?
"О чем спорить -то ?"
- Именно - так. Спора не может быть. Опять повторю - мы говорим о разных вещах. Думаю, пред началом спора (обсуждения) имеет смысл договориться о предмете спора.
"А Вы начните свою статью словами..."
- Не понял! Я написал статью? Или Вы написали статью? Или Вы мне предлагаете написать статью? Лично я не вижу статьи в обозначенной Вами теме "Мы пишем запросы!". Предмета для статьи - НЕТ. Я не пишу запросы. И у меня не возникает никаких проблем (вопросов) для широкого обсуждения простейших алгоритмов реализации моих задач. А у Вас возникает. Почему?
"Сделайте выводы о гибельности 1с-овского курса..."
- Не могу. Т.к. этот курс будет жить долго и счастливо. Как и многие другие "курсы" для массового потребления, типа MS Windows, SQL серверов, алкоголя, наркотиков и т.д. ;-)
"НО НЕ ЦЕПЛЯЕТ"
- Смените продавца "цеплялки". ;-)
103. Ish_2 1058 02.10.10 19:37 Сейчас в теме
115. Арчибальд 2712 04.10.10 08:43 Сейчас в теме
(97)
Никакого выигрыша в скорости выполнения запросов ("первый этап") при использовании СКД мы не имеем. Выигрыш имеем за счет реализации "второго этапа" : обработка результатов запроса и рисование отчета.
Таки оформительский бантик?
Шёпот теней; +1 Ответить
117. Ish_2 1058 04.10.10 08:52 Сейчас в теме
(115) в приведенной тобой цитате есть слова "обработка результата запроса" , т.е. внутренними механизмами платформы реализация п.1,2,3 из (111).
118. alexk-is 6489 04.10.10 09:54 Сейчас в теме
(115) Разница есть и на первом этапе. В типовом отчете используется 2 запроса, а в СКД один. Не знаю почему разработчики фирмы 1С не смогли обойтись 1 запросом.
Шёпот теней; +1 Ответить
120. Ish_2 1058 04.10.10 10:02 Сейчас в теме
(118) Я тоже думаю, почему в типовом отчете они сделали два отдельных запроса, а не один : левое соединение двух этих отдельных запросов ? Что-то их оттолкнуло от этого шага.
124. Ish_2 1058 04.10.10 10:13 Сейчас в теме
(118) Хотя , понятно что левое соединение двух запросов будет выполняться гораздо медленнее , чем два запроса по отдельности. И выходная выборка в первом случае значительно превосходит по размеру сумму двух выборок во втором случае.
126. alexk-is 6489 04.10.10 10:22 Сейчас в теме
(124) Самое простое, что приходит на ум, сделать второй запрос по результатам первого запроса, а не по первичным данным.
98. Ish_2 1058 02.10.10 16:30 Сейчас в теме
(88) Так и есть !

При сравнении двух отчетов , отключено разворачивание по Кт. Включено только по Дебету. "Лишними" операциями добились заполнения всех колонок счетов дебета , Получили таблицу 2500 строк - 25 колонок ( из которых полностью заполнены 20 по счетам Дебета).

Результаты :
Твой отчет 12 сек
Мой отчет 10 сек

Вывод : в предельном случае (когда все колонки заполнены на 100% ) отчет с отключенными расшифровками проиграет те самые 20%. ЧТо подтверждает результат , который ты получил ранее.


119. alexk-is 6489 04.10.10 09:59 Сейчас в теме
(98) В СКД расшифровки есть, но какой в них прок, если в качестве расшифровки по сумме открываются элементы справочников контрагенты или договоры.
121. Ish_2 1058 04.10.10 10:05 Сейчас в теме
(119) Это уже другой вопрос. к быстродействию выполнения отчета не имеет никакого отношения.
Обработку расшировки при выборе ячейки мы можем сделать какой угодно : по элементу расшифровки определяя все текущие необходимые значения.
123. alexk-is 6489 04.10.10 10:09 Сейчас в теме
(121) В СКД расшифровки аналогичной типовой ведь нет. Ну, нет её. Нет...
125. Ish_2 1058 04.10.10 10:16 Сейчас в теме
(123) Не понял . Что значит "нет" ? В моём отчете ? или в типовом БП 2.0 ?
В моём отчете и не планировалось его делать. Зачем ? Цель была другая. Но ничто не мешает сделать расшифровку в моем отчете , аналогичной в типовом отчете БП 1.6.
127. alexk-is 6489 04.10.10 10:27 Сейчас в теме
(125) Слова, слова... Но за словами я так и не понял, что расшифровки так и не будет в СКД? Тогда можно померяться в быстродействии с расшифровками - тоже тема: Расшифровки СКД против расшифровок типовых отчетов.
128. Ish_2 1058 04.10.10 12:05 Сейчас в теме
(127) Ну что ж. Поехали разбираться.

Расшифровка в СКД в моём отчете уже ЕСТЬ !
Всем ячейкам табличного документа поставлен в соответсвие "ЭлементРасшифровки". При двойном клике на ячейке уже выведенного отчета - я не использую всех возможностей расшифровки и не строю другие отчеты , хотя с помощью переданного в процедуру "ЭлементаРасшифровки" можно получить все необходимые данные для построения подчиненного отчета.
Зачем ? К быстродействию уже выведенного отчета это не имеет никакаго отношения.
Замерить и узнать :
Расшифровки СКД против расшифровок типовых отчетов.

можно уже сейчас. Запусти мой отчет и типовой . Сравни результаты. Вот и всё.

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

122. alexk-is 6489 04.10.10 10:07 Сейчас в теме
(98) Возможно эти 20% из-за второго запроса в типовом отчете.

+119 Расшифровки тоже можно формировать более эффективными методами. Почему это не сделано? Наверное всё дело в пользователях - они не жалуются. Есть варианты: не пользуются этим отчетом; пользуются этим отчетом крайне редко; пользуются другим отчетом, который шевелится побыстрее.
13. alexk-is 6489 28.09.10 12:12 Сейчас в теме
(0) Круть, а что с чем сравнивать?
Я понимаю, что наверное туплю, но всё же - какие обработки скачать? Что сравнить?
Может я просто запутался в этих трех ссылках?
15. Ish_2 1058 28.09.10 12:27 Сейчас в теме
(13)
1. Запусти типовую БП 1.6.
2. Запусти типовой отчет для 62 счета , который называется "Обороты Счета".
Засеки время.
3. Запусти текущий отчет (ОборотыСчетаБП1_6.erf).
4. Убери галочки в настройках как показано на третьем сверху рисунке темы.
5. Установи 62 счет за тот же период.
6. Кнопка Сформировать
Засеки время и сравни с п.2
16. Alraune 1486 28.09.10 12:39 Сейчас в теме
27. alexk-is 6489 28.09.10 17:23 Сейчас в теме
(15) Я не вредный, просто любопытный. Посмотрел в отчете из 6 не работают расшифровки. Вырезал расшифровки из 2. Результат:
2. 12,249 сек
6. 10,42 сек

Не такая уж большая разница получилась :)
28. Ish_2 1058 28.09.10 17:36 Сейчас в теме
(27) Всегда считал , что верна только первая часть пословицы "любопытство не порок..".

1. Ты посчитал что расшифровки можно выбросить из п .2. ?
Мы ими можем пренебречь , они не нужны в отчете ?

2. Возьми больший период (чтобы в типовом он выпонялся 2-3 мин.) .
Тогда какое соотношение ?
29. hogik 436 28.09.10 19:04 Сейчас в теме
(15)
Игорь.
В сообщении (15), думаю, имеет смысл добавить между пунктами #2 и #3 еще один пункт - "перезагрузить систему". Или я ошибаюсь?
32. Ish_2 1058 28.09.10 23:28 Сейчас в теме
(29) Нет , ненужно. Перезагрузка системы , конечно, ничего не даст.
(30) Конечно. Но отчет демонстрационный, код в нём минимален, директивы для компилятора убраны.
(27) Алексей . отправь мне "гостинец" - оформленный как внешний отчет "обороты счета" из типовой. С твоими исправлениями.
Ты не подумай - я тебе верю. Просто проверю.
35. hogik 436 29.09.10 01:40 Сейчас в теме
(32) по ответу на (29).
Даст объективную оценку быстродействия сравниваемых алгоритмов, а не оценку эффективности кэширования системы.
37. Ish_2 1058 29.09.10 08:20 Сейчас в теме
(35) Подробнее.
При старте 1с Предприятие 8.1 метаданные не грузятся.
Подгрузка необходимых метаданных( а не данных !) происходит по мере обращения к ним.
Поэтому если запустить 1с Предприятие 8 и последовательно два раза запустить один и тот же отчет , то можно убедиться , что при втором запуске время исполнения отчета существенно меньше. После первого обращения метаданные уже в кэше.

Теперь вопрос : а третий запуск отчета будет быстрее чем второй ? Другими словами ,
используются при третьем запуске данные( а не метаданные!) кэша 1сПредприятия, которые остались в нем после второго запуска ?

1. Если в отчете используется запрос , для извлечения данных, то третий запуск будет не быстрее. Опыт показывает , что время 2,3, 4, 5 , запуска с небольшой погрешностью одинаково.

2. Если в отчете используется объектная техника доступа к данным ( Получаем объект и обращаемся к его реквизитам через точку) - то всё может быть. Не пробовал.
Правда , такое обращение к к данным в отчете - экзотика.
73. hogik 436 29.09.10 17:07 Сейчас в теме
(37)
Игорь.
Метаданные в кэше это хорошо. Но если из-за этого "время исполнения отчета существенно меньше"(с), то это говорит об очень плохой реализации алгоритмов работы с метаданными. Сомневаюсь я в этом. Думаю, сильнее влияют на время повторного запуска, именно, сами данные. Про третий запуск можно не рассуждать. Но надо сказать - какой отчет запускается третьим. Т.е. если нет желания "перезагружать систему", то можно запустить несколько раз с чередованием два разных отчета. А по уму - надо запускать три раза каждый отчет с "перезагрузкой системы" перед каждой серией тестов. А потом внимательно (вдумчиво) смотреть на числа.
P.S. Извините меня, что я донимаю Вас этой информацией (вопросами). Но сам провести тесты не могу, т.к. у меня нет компьютера. А было бы интересно посмотреть на результат замеров.
74. Ish_2 1058 29.09.10 18:23 Сейчас в теме
(73) Что метаданные не грузятся при запуске Предприятия и подгружаются лишь по мере обращения к ним - это написано в документации. Думаю отыскать это можно.
После первого запуска , второй и последующий запуски отчета одинаковы по времени выполнения - это факт ( и при файловом и SQl- варианте).
Всё остальное - мои рассуждения. Не меньше , но и не больше.
Это я так .. для прояснения ситуации.
76. hogik 436 29.09.10 18:41 Сейчас в теме
(74)
Игорь.
Опят о разном говорим. :-(
Подгружаются метаданные - естественно и логично.
Но я предполагаю не значительное влияние этого на первый запуск.
По сравнению с СУБД-шным+ОС-вым кэшированием.
Завяжем и эту тему...
77. Ish_2 1058 29.09.10 18:58 Сейчас в теме
(76) Да нет . Об одном и том же.
В (75) лишь разделил свои размышления и факты.
А перезапустить систему перед отчетом нетрудно. После презапуска системы показывает такое же время при первом запуске и при втором как и до перезапуска системы.
78. hogik 436 29.09.10 19:43 Сейчас в теме
(77)
Ох. О разном... :-(
Вы писали в (37): "при втором запуске время исполнения отчета существенно меньше.". А в (77) - обратное. Завязываю тему. Не буду Вас отвлекать от дел...
79. Ish_2 1058 30.09.10 07:40 Сейчас в теме
(78)
В (37) речь шла об одном сеансе 1сПредприятия , в котором последовательно дважды запускался отчет.
В (77) сраниваются по быстродействию :
1. Первый запуск сеанса 1сПредприятия : дважды запускается отчет.
- Выход из сеанса
2. Второй запуск сеанса 1сПредприятия : дважды запускается отчет.

И говорится о том , что в п.1 и в п.2 время исполнения отчетов одинаковое.
86. hogik 436 30.09.10 16:48 Сейчас в теме
(79)
Игорь.
Эти фразы не несут разного смысла:
"последовательно дважды запускался отчет"
"дважды запускается отчет"
А другие фразы, думаю, несут разный смысл:
"перезапустить систему"
"перезагружать систему"
"выход из сеанса"
87. Ish_2 1058 30.09.10 18:29 Сейчас в теме
36. alexk-is 6489 29.09.10 08:03 Сейчас в теме
(32) Сделал замер за 4 года. Результаты:
2. 45,173 сек
6. 39,845 сек

Над оптимизацией вывода результатов можно еще поработать. Сбить 2-3 секунды реально. Т.к. ~70% времени выполняются запросы, можно покопать ещё там.

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

Хотя я надеялся, что расшифровки появятся в варианте отчета с СКД.
Прикрепленные файлы:
ОборотыСчетаХозрасчетный.erf
39. Ish_2 1058 29.09.10 08:33 Сейчас в теме
47. Ish_2 1058 29.09.10 10:29 Сейчас в теме
(36) Итак , сравнение быстродействия двух отчетов. Сравниваются :
1. Отчет , прикрепленный к текущей теме (ОборотыСчетаБП1_6.erf)
2. Типовой Отчет конфигурации БП , прикрепленный в (36) и исправленный Alexk-is. Расчет и запись параметров расшифровки удалены из типового отчета.

1с Предприятие 8.1. SQL-вариант. БП 1.6

Настройки для п.1. :См.Рисунок темы третий сверху. Дополнительно :
Отметки у подчеркнутых красным группировок сняты.
У группировок СчетКтКорр и СчетДтКорр установлен тип "Иерархия"
(разворачивать колонки будем только по корр.счетам и корр.субсчетам,
выводим все субконто основного счета)

Настройки для П.2:
Установлены отметки "По субсчетам" и "По корр.субсчетам".
Выводить будем все субконто основного счета.

Для п.1. и п.2. устанавливается один и тот же счет (например счет -группа 62).
и один и тот же период (например, квартал).

По п1. и п.2. запуск осуществляется по 3 раза подряд в отдельных сеансах 1с Предприятия.

Результаты тестирования :
п.1 - 20 сек
п.2. - 37 сек
Проигрыш п.2. в 1.8 раза.

Вопрос : откуда могло взяться соотношение (36) , приведенное Alexk-is :
п.1 - 39 сек
п.2 - 45 сек ?

Предположительный ответ :
Если в настройках п.2 убрать отметку "По субсчетам корр.счетов" ( уменьшаем как минимум в два раза количество колонок) , а настройки п.1 оставляем без изменений то получим :
п.1 - 20 сек
п.2 - 24 сек.
Получается похожее соотношение , как Alexk-is
72. alexk-is 6489 29.09.10 17:03 Сейчас в теме
(47) Нет. Всё не так. Я всё сделал по инструкции.

Переделал отчеты под УПП 1.2.
Результаты:
2. 23,172 сек
6. 11,891 сек
Разница более чем в 2 раза

Из-за чего такое различие по времени выполнения между БП и УПП? Думаю разница в составе данных, попавших в отчет. Соответственно для одного предприятия будет значительная разница, а для другого разницы не будет вообще или она будет не столь значительная.
75. Ish_2 1058 29.09.10 18:36 Сейчас в теме
(72) Я так понимаю , что для УПП ты получил аналогичные результаты тестирования, что и я в (47) , а именно :

Типовой отчет "Обороты счета", в котором для ускорения выключена расшифровка, работает примерно в 2 раза медленнее , чем представленный в текущей теме отчет , использующий СКД.

Теперь о тестировании на БП.
Почему получаем различные результаты ?

Объяснение :
Думаю разница в составе данных, попавших в отчет. Соответственно для одного предприятия будет значительная разница, а для другого разницы не будет вообще или она будет не столь значительная.

- звучит для меня невероятно ( Для счетов в которых есть какие -то обороты ( 5-6 колонок счетов для дебета и кредита) - и строк в отчете не менее 80-100)

Считаю , что в этом случае представленный отчет и для БП должен выиграть в быстродействии как минимум 1.8-2.0 раза.

Без третейского судьи тут никак.

17. Bux2 143 28.09.10 13:03 Сейчас в теме
БП 1.6.25.5 файловый, настройки как в публикации.
За квартал:
-типовой 43
-авторский 8, быстрее в 5,4 раза.

За полугодие:
-типовой 151
-авторский 20, быстрее в 7,6 раза.

Супер.
18. Bux2 143 28.09.10 13:06 Сейчас в теме
Автор, надо в Управленческой ведомости http://infostart.ru/public/18838/ заменить Обороты счета на новый вариант. Обязательно.
19. Ish_2 1058 28.09.10 13:08 Сейчас в теме
(18) Та тема закрыта. Бессмысленно сейчас что - то всерьез делать для БП 1.6.
23. Abadonna 3884 28.09.10 14:22 Сейчас в теме
(19)
Та тема закрыта. Бессмысленно сейчас что - то всерьез делать для БП 1.6.

Да и на 2.0 под 8.1 - тоже бессмысленно ;)
8.2 давно уж на дворе
24. Ish_2 1058 28.09.10 14:29 Сейчас в теме
25. fishca 1191 28.09.10 16:19 Сейчас в теме
(24) вот если бы мы увидели анализ, за счет чего типовой отчет 1.6 проигрывает СКД из 2.0 статья была бы куда полезней, а так похоже на пустую декларацию не очень оптимального кода в 1.6

Ну быстрее отчет работает написанный на СКД и что из этого следует?
26. Ish_2 1058 28.09.10 16:46 Сейчас в теме
(25) Постараюсь.
Итак , у вас есть регистр
Измерение1,Измерение2, Ресурс.
Вам нужно получить отчет "Перекрестная таблица" :
В строках Измерение1 ,В столбцах Измерение2 , в "перекрестье" Ресурс.
Если Измерение1 - Номенклатура , Измерение2 - Склады , Ресурс - Остаток.
То получить нужно :
---------- Склад1 -- Склад2 ----Склад 3
Стол
Стул
Шкаф
ИТОГО

Главной отличительной особенностью такой перекрестной таблицы является неопределенное заранее количество столбцов (динамические столбцы).

Как вы это будете делать в 8-ке ? Без построителя , и без СКД ?
Созданием такой перекрестной таблицы занимался каждый в своей жизни.
И выкручивался как мог - "вручную" . Выкрутились и разработчики "типовой" БП .

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

Правда другие СУбд , решили эту задачу на уровне платформы значительно раньше.
20. Bux2 143 28.09.10 13:11 Сейчас в теме
Значит надо менять Управленческую ведомость - для БП 2 :)
21. Ish_2 1058 28.09.10 13:13 Сейчас в теме
22. L_B 28.09.10 14:04 Сейчас в теме
Круто. КрАсава. Плюс и в мемориз :)
30. detec 133 28.09.10 21:02 Сейчас в теме
Спасибо за пример хорошо сделанного отчёта! Ещё можно ускорить его вынесением выполнения кода на сервер 1С:Предприятие - http://infostart.ru/public/75926/
31. awa 2539 28.09.10 21:55 Сейчас в теме
(0) Режет слух в статье использование термина "раскручивать" вместо "разворачивать". Или это я неправильный?
(26) Не понял, в чем сложность построения такого отчета без СКД и Построителя?
33. Ish_2 1058 28.09.10 23:43 Сейчас в теме
(31) 1. Согласен. Режет.
2. Простой пример перекрестной таблицы реализовать несложно. Да и в (26) речь не о сложности . А о том, что задачу построения перекрестной таблицы лучше эффективнее решать на уровне платформы. То есть при помощи СКД.
34. awa 2539 29.09.10 00:21 Сейчас в теме
(33) Т.е. все-таки речь идет не о сложности (трудоемкости) создания отчета типа "перекрестная таблица" разными способами, а именно об эффективности (времени) выполнения отчета? Тогда вопрос из (25), как мне кажется, остался без ответа. За счет чего отчет на СКД более эффективный? Из-за того, что отчет, созданный "ручным кодингом" недооптимизирован? Или СКД действительно более эффективна в своей внутренней реализации? Мне это действительно интересно!
38. Ish_2 1058 29.09.10 08:31 Сейчас в теме
(34)
За счет чего отчет на СКД более эффективный?


Строго говоря , утверждать что-либо можно только из опыта.
Берем Регистр со структурой в (26) и большим объемом данных. "Ручным" способом (Без построителя и СКД) рисуем отчет из (26) . Затем то же рисуем в СКД и в Построителе.
Сравниваем.

Затем то же проделываем с отчетом "Обороты счета". Сравниваем.
Мой прогноз : СКД победит и в первом и во втором случае.
Предполагаю , что :
СКД действительно более эффективна в своей внутренней реализации
40. Шёпот теней 1767 29.09.10 08:55 Сейчас в теме
... хотелось бы ещЁ подсчитать стоимость ...

штатный отчЁт - уже ничего не стоит ...

просто отчЁт - сделает кто как сможе и будет работать на ... 0...20 % медленне ... и то не факт ... вопрос а судьи кто ? и кто ЧТО знает КАК реализовать ...

отчЁт на СКД - ??? ... крАсивая фишка ... не вижу никакго эффекта ни от её изучения ... ни от её использования ... опытным - это мало помогает ... а для новых - забивает голову "иными" костылями ...

... вотЕСТЬмнение ...

п.с. постоянная потребность в "новых" отчётах - говорит об неУстоявшейся системе и правил Учёта и Управления ... так что ... ? ... вот ...


п.с.2. ВСЁ что меньше 12% - это проценты туда-суда-Нефакт ... увеличение на 50 % - есть вопрос задуматься ... вот если производительность вырастае в разы !!! - тогда есть смысл "смотреть" и изучать ... а так ... вроде все заняты делом а КПД - смешное ... зато пантов-то ... пантов-то ... вотТАКОЕоскорбительноеМнение ...

...
41. afanasko 35 29.09.10 09:20 Сейчас в теме
(40).
п.с. постоянная потребность в "новых" отчётах - говорит об неУстоявшейся системе и правил Учёта и Управления ... так что ... ? ... вот ...

Я считаю, что ты неправ, Шёпот. Требования "новых" отчетов -- прямое следствие роста и развития бизнеса. Если в компании пользуются только отчетами, созданными три года назад -- это свидетельствует о том, что с тех пор компания не далеко продвинулась. Это конечно относится не ко всем инструментам. Некоторые не устаревают очень долго, ими можно пользоваться десятилетиями :).

Бизнес -- как живой организм, так же растет, изменяется и когда-нибудь умирает. Если у бизнеса не возникает новых задач, значит он стоит на месте.
43. Шёпот теней 1767 29.09.10 09:53 Сейчас в теме
(41) ... что я не помню чтоБЫ в Бухгалтерии - менялись отчёты ... ??? ... в принципе СОгласен ... НО!... отчЁт в месяц - возможно ... ))) но ради 12 отчЁтов в год мудрить с СКД ... ? ... можете назвать свою цифру "новых отчЁтов" - динамических компаний ... ? ...

(42) ... в разы ... хм ... ещЁ один вопрос а зачем ... ? важна не только "сама"производительность отчЁта но и количество его вызовов ... например, проведение и перепроведение ВАЖНЕЕ чем раз в день вызвать несколько отчЁтов ( даже пусть в пиковые, отчётные периоды вызывается несколько раз ... и что... ? ... отчет готовится за минуту или за 20 сек - не отчёты ЕСТЬ лимитирующая стадия работы ...)

... хотя в целом производительность в разы - СОгласен ... если Alexk-Is подтвердит ...

... однако, ! ... хотя это будет важно в основном для крупных и очень крупных компаний ... для рядовых - это мёртвому припарка ... повторюсь - лимитирующая стадия работы это не получение отчётов ... !!!

... вот ...

п.с. ускорение отчётов - проще достигуть оптимизацией базы... нужными и точечными данными и их получением (а не тащить всЁ ради не понятной универсальности) ...

... вот ...
42. Ish_2 1058 29.09.10 09:31 Сейчас в теме
(40)
штатный отчЁт - уже ничего не стоит ...
просто отчЁт - сделает кто как сможе и будет работать на ... 0...20 % медленне ... и то не факт ... вопрос а судьи кто ? и кто ЧТО знает КАК реализовать ...
отчЁт на СКД - ??? ... крАсивая фишка ... не вижу никакго эффекта ни от её изучения ... ни от её использования ... опытным - это мало помогает ... а для новых - забивает голову "иными" костылями ...


Представленный отчет является демонстрационным. Как его использовать решает читатель.

ВСЁ что меньше 12% - это проценты туда-суда-Нефакт ... увеличение на 50 % - есть вопрос задуматься ... вот если производительность вырастае в разы !!! - тогда есть смысл "смотреть"


Так об этом и толкую.
Выигрыш от использования СКД для больших, сложных перекрестных таблиц : В РАЗЫ .
Ответ Alexk-Is готовится.
52. Шёпот теней 1767 29.09.10 11:24 Сейчас в теме
(40) ...(51) ... )))

http://infostart.ru/profile/user/15616/photo/album/user_15616/3213/ ... идём сюда и смотрим рисунок ... экономический расчёт ... ))) ... вот ...
53. anig99 2760 29.09.10 11:34 Сейчас в теме
(52) Шепот...прости, но расчет твой устарел... В 1с 8.2 в режиме управляемых форм все делается через СКД...
Плюс не забывай о самообразовании
55. Шёпот теней 1767 29.09.10 11:45 Сейчас в теме
(53) ... дык не вопрос ... вопрос "мы не рабы, рабы немы" ...

(54) ... дык зачем учиться не тому ... и за чей счёт ... ??? ... если предприятие "лох" ... то это его проблемы ... пусть вон "бумагу" и "катриджи" экономят ...

... вот ...
56. Ish_2 1058 29.09.10 11:49 Сейчас в теме
(55) Ты не увиливай. Не спихивай на дурное предприятие .
Вопрос лично к тебе , как к специалисту : должен ты знать СКД или Нет ?
58. Шёпот теней 1767 29.09.10 12:43 Сейчас в теме
(56) ... я бы хотел, как Абадонна ... овладеть прямыми запросами ... а СКД, ваше буду знать только по-необходимости, для работы в 1С ...

... а ещЁ лучше вернуться в "семёрку" а эту "восьмёрку" послать ... причём в очень НЕэтичное место и в очень НЕэстетичной манере ...

... ВОТ ...

... восЬмёрка своими "бантиками" .... уже достигла уровня своей НЕкомпетентности ...

...
59. Ish_2 1058 29.09.10 12:49 Сейчас в теме
(58) "Как Абадонна" - это хорошо.
Только вот с "прямыми запросами" ты чего -то недопонял.
Соединения ADO - к базе SQL в 8-ке для стандартных задач учета просто НЕНУЖНЫ.
Ничего не дают и ничего не ускоряют.
60. Шёпот теней 1767 29.09.10 13:18 Сейчас в теме
(59) ... спорить не буду ... тут мои знАния никакие ... но думается мне, по просмотру исследований Трактора (вроде) преобразования запросов в 1С всЁ таки хромает ... зато порог вхождения в "запросы" минимальный ... вот ...

п.с. при этом мы же знаем что 8 - ка ... это бантики ... хоть и крАААсивые ... однозначно ... !

...
61. Ish_2 1058 29.09.10 13:23 Сейчас в теме
(60) У Трактора идёт обсуждение нюансов преобразования строки запроса 1с в строку запроса SQL. Этот познавательный процесс никакого практического значения для стандартных учетных задач не имеет. Придется использовать стандартные запросы и СКД.
Шёпот теней; +1 Ответить
62. Шёпот теней 1767 29.09.10 13:56 Сейчас в теме
(61) ... что я могу тут сказать ... ? ... надо кого-то позвать ... спросить ... ! ... вообщем кто знает ... вот ...
63. Ish_2 1058 29.09.10 14:03 Сейчас в теме
(62) Верь мне Шепот. Никого не зови.
64. Шёпот теней 1767 29.09.10 14:14 Сейчас в теме
(63) ... верю ... но если данные из трЁх разных источников совпадают - ВЕРЮ в тройне ... ))) .. .вот ...
65. Ish_2 1058 29.09.10 14:19 Сейчас в теме
66. Арчибальд 2712 29.09.10 15:30 Сейчас в теме
(63) Шепот, не верь ему. Он тебя запутает.
Речь о чем идет (заметь, аватарка гласит "Мы пишем запросы"). О том, что восьмерочный механизм СКД настолько приличен, что восьмерочный же кодинг не оправдывает себя - при изрядных трудозатратах выигрыш весьма невелик. Сравнение с семеркой столь же неуместно, как сравнение Виндов с ДОСом - Ясно жде что в ДОСе тот же функционал на порядок быстрее и на два порядка менее требователен к памяти. Однако ж - прогрессьь...
Оставьте свое сообщение

См. также

Подбор в управляемой форме - что может быть проще? Промо

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

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

19.09.2017    46186    starik-2005    66    

Мобильный HTML-интерфейс, взгляд изнутри

Работа с интерфейсом Мобильная разработка v8::Mobile Бесплатно (free)

Для реализации красивого интерфейса в мобильном приложении 1С удобно использовать возможности стека HTML / CSS / JavaScript. О том, как построить отзывчивый HTML-интерфейс с перехватом событий и выполнением JavaScript-кода в поле HTML-документа на форме 1С, рассказал сотрудник отдела мобильной разработки в компании «1С-Рарус» Роман Сухоруков.

28.12.2020    2139    ingeneerz@gmail.com    10    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

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

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

30.11.2020    2648    SizovE    3    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

Работа с интерфейсом Практика программирования v8 v8::УФ v8::СКД Бесплатно (free)

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EDIbot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    961    SizovE    0    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

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

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    114757    ekaruk    130    

[mobile] Переносим HTML интерфейс на 1С

Работа с интерфейсом Мобильная разработка v8 v8::Mobile 1cv8.cf Бесплатно (free)

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    5596    leobrn    64    

Рендеринг элементов управляемого интерфейса

Работа с интерфейсом v8 v8::УФ Россия Бесплатно (free)

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020    3229    kalyaka    5    

Переопределение представления ссылочного значения

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

Переопределение представления ссылочного значения

17.09.2020    3222    sam441    15    

Полезности применения СКД Промо

Практика программирования Работа с интерфейсом v8::УФ v8::СКД УТ10 Россия Бесплатно (free)

Нюансы при работе из СКД на программном уровне.

11.04.2012    52365    logarifm    42    

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

Работа с интерфейсом v8::УФ Бесплатно (free)

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

14.08.2020    3291    DrZombi    14    

Использование флажков в динамических списках

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

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

04.08.2020    5409    nekit_rdx    25    

Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя Промо

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей. Как сохранить ЦВЕТ

22.06.2015    24647    Tatitutu    12    

Обработка нажатия клавиши

Работа с интерфейсом v8::УФ Бесплатно (free)

Один из способов обработки события нажатия клавиши.

10.06.2020    3566    RotaninV    7    

Английский интерфейс для 1С: Управление торговлей. Перенос перевода из 1С: ERP

Работа с интерфейсом v8::ОУ УТ11 Россия УУ Бесплатно (free)

Полноценный англоязычный интерфейс для 1С: Управление торговлей. Я передаю идею, а пользоваться или нет, решайте сами. Надеюсь, эта статья ускорит появление продукта 1C:Trade Management 11.

05.05.2020    2550    _Ramzes    7    

Перенос инструкций из word во встроенную справку 1С с сохранением картинок и форматирования

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

Делюсь простым и удобным способом переноса справки/инструкций из ворда (и не только) во встроенную справку 1С с сохранением картинок и форматирования.

22.04.2020    4871    77dream77    21    

Видеодемонстрация применения Теста-центра для нагрузочного тестирования конфигураций Промо

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

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

16.09.2012    35911    Aleksey.Bochkov    29    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

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

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

18.02.2020    5469    randomus    20    

[Шпаргалка] Свой диалог выбора типа значения (элемента)

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

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

18.02.2020    4238    rpgshnik    6    

Простой и красивый интерфейс

Работа с интерфейсом Мобильная разработка v8::Mobile Бесплатно (free)

Разработчики мобильных приложений на платформе 1С сталкиваются с проблемой адаптации сгенерированного платформой интерфейса под удобство использования. О том, какие приемы помогут сделать интерфейс красивым и удобным, на конференции Infostart Event 2019 Inception рассказал руководитель отдела мобильной разработки компании «1С-Рарус» Никита Бакшеев.

30.01.2020    13939    Baksheev-Nikita    33    

Хранение и редактирование дополнительных параметров в регламентированном отчете. Для начинающих. Промо

Работа с интерфейсом v8 БП2.0 УПП1 БУ Бесплатно (free)

Для начинающих. Как редактировать дополнительные параметры регламентированного отчета, изменив только модуль формы и модуль объекта. Как сохранить дополнительные параметры в данных отчета.

22.01.2014    20789    KapasMordorov    4    

СКД. Шаг 3. Используем макеты для оформления отчета

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.01.2020    20626    aximo    14    

Добавление собственного поля и состояния в настройки доступности по состоянию в 1С:Документооборот

Практика программирования Работа с интерфейсом v8 ДО Бесплатно (free)

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

30.12.2019    5272    pavelpribytkin96    2    

[СКД] Вывод картинки в результат любого отчета на СКД

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    10164    John_d    16    

Программное генерирование кнопочек для удобного управления уровнями группировки в отчетах (версия 2a). Промо

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

09.04.2011    46650    mtv:)    74    

Лайфхаки 1С. Настройка списков (Часть 3)

Работа с интерфейсом v8 Бесплатно (free)

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

03.12.2019    15900    VachKirp    14    

В новой платформе пропала кнопка "Печать". Имитируем БСП

Работа с интерфейсом v8 Россия Бесплатно (free)

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

03.12.2019    9497    Vlan    44    

Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Вносим изменения в типовые формы объектов (документы, справочники, журналы, обработки, общие формы). Не снимая с поддержки эти формы. Создаем программно элементы из общего модуля. Для примера рассмотрю добавление колонки "Скрепка" в форму списка документа. Если к документу привязан файл, то в списке в новой колонке должна отображаться "скрепка".

12.11.2019    12573    John_d    24    

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Промо

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Хитрости компоновки данных: программное формирование заголовков отчета и колонок без использования макетов. Очень часто необходимо программно сформировать заголовок отчета, например добавить туда наименование валюты, в которой формируется отчет. Можно использовать макеты, но во многих случаях это не оправданно.

27.07.2012    32375    milkers    10    

Локализация интерфейсов конфигураций. Практика и инструментарий 1Ci

Работа с интерфейсом Локализация решений v8 Бесплатно (free)

В последнее время компания 1С International все увереннее заявляет о себе на международном рынке. Но для успешного продвижения в этом направлении необходима локализация интерфейсов конфигураций 1С. О том, как выглядит процесс перевода, какие инструменты для этого есть, где брать переводчиков и как проверять их работу, на конференции Infostart Event 2018 Education рассказал руководитель группы локализации компании 1Ci Сергей Поликарпов.

05.11.2019    5496    user1069006    1    

ELK. Время изумительных историй!

Журнал регистрации Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

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

31.10.2019    9175    slozhenikin_com    27    

Лайфхаки 1С (часть 2) Настройка работы интерфейса такси. Настройка и советы по работе

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

Советы по настройке интерфейса Такси и особенности работы в этой среде.

24.10.2019    11795    VachKirp    10    

Рабочее место кассира для touch-screen и программируемой клавиатуры продавца в «1С: Розница» Промо

Работа с интерфейсом v8 Розница Бесплатно (free)

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

29.11.2012    47403    aavolkoff    50    

Создание асинхронных виджетов

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Описание нескольких способов создания асинхронных виджетов для 1С:Предприятия. Рассматриваются способы с использованием HTTP-сервисов и фоновых заданий.

16.10.2019    13469    YPermitin    19    

Формы. Трудности программной работы

Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

06.10.2019    12322    YPermitin    31    

Лайфхаки 1С (часть 1). Настройки отчетов и печатных форм 1С

Работа с интерфейсом v8 1cv8.cf Россия Бесплатно (free)

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

02.10.2019    13572    VachKirp    10    

Бухгалтерия предприятия 3.0 интерфейс, аналогичный 1С:Бухгалтерии 7.7; Промо

Работа с интерфейсом v8 БП2.0 Россия Бесплатно (free)

Бухгалтерия предприятия, редакция 3.0, версия 3.0.14. Добавлена возможность использовать интерфейс, аналогичный 1С:Бухгалтерии 7.7;

20.09.2012    37518    dour-dead    18    

СКД. Отчеты с картинками

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    24840    YPermitin    40    

Добавляем виджет "Задачи от меня" в Документооборот 2.1

Практика программирования Работа с интерфейсом v8 v8::Бизнес-процессы ДО Россия Бесплатно (free)

Небольшая доработка Документооборота 2.1 для возможности добавления виджета "Задачи от меня" в обработку Текущие дела.

25.09.2019    8267    Sergey_Borisovi4    3    

[Шпаргалка] Программное создание элементов формы

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

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

06.09.2019    66669    rpgshnik    68    

Выбор вариантов отчета в "Управление торговлей" ред. 11 Промо

Работа с интерфейсом Учет ТМЦ Учет ТМЦ v8 УТ10 Россия БУ Бесплатно (free)

В УТ 11 в свойствах конфигурации задано хранилище вариантов отчетов. Исходя из этого, все отчеты будут использовать для своих вариантов именно это хранилище (если, конечно, в свойствах самого отчета не задано другое хранилище). По сути, все варианты для отчетов находятся в справочнике "Варианты отчетов", который заполняется при первом запуске системы. Вполне очевидно, что если Вы создаете свой отчет (внешний или внутренний) с несколькими вариантами, у Вас не будет возможности выбирать нужный вариант (переключаться между вариантами), т.к. в выше указанном справочнике нет никакой информации о вариантах созданного Вами отчета. В этой небольшой статье я покажу один из способов решения данной проблемы.

27.05.2012    47414    1cUserAndrew    25    

[Механизм интерфейса] Часы

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

Добавляем цифровые часы на форму, как бонус рассмотрим вариант и с аналоговыми.

26.08.2019    10379    rpgshnik    36    

Произвольная начальная страница через расширение (программно)

Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Установка своей формы произвольному пользователю на начальную страницу.

14.08.2019    14718    nagaitseff    15    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

Работа с интерфейсом Инструментарий разработчика v8 Бесплатно (free)

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    12021    IvanAT1981    15    

Создаем отчет с заданной периодичностью на СКД Промо

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Россия Бесплатно (free)

Учимся создавать отчет с заданной периодичностью с использованием СКД.

16.04.2012    73878    Lyns_owner    36    

Форма отчета СКД

Работа с интерфейсом v8::СКД 1cv8.cf Бесплатно (free)

Описание объекта ОбщиеФормы – ФормаОтчета.

01.08.2019    13121    vasilev2015    5    

БСП: Дополнительные отчеты и обработки - одна обработка, несколько форм

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

Как в одной дополнительной обработке разместить несколько форм с типом команды "ОткрытиеФормы"?

29.07.2019    11541    dsdred    9    

Пользовательские настройки системы компоновки данных

Практика программирования Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

09.07.2019    33189    ids79    2    

Практика регулярных выражений в 1С или "парсим неудобные форматы" Промо

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

В продолжение статьи Использование регулярных выражений (RegExp) в 1С8.х. Углубляемся в практику использования регулярных выражений в 1С. Основы работы с регулярными выражениями хорошо описаны в указанной публикации. А я попробую ответить на вопрос "почему именно регулярные выражения?" на примере конкретной рабочей задачи.

26.10.2011    30156    1cspecialist    33    

Подсистема "Варианты отчетов". Используете ли Вы ее правильно?

Работа с интерфейсом БСП (Библиотека стандартных подсистем) v8 1cv8.cf Бесплатно (free)

Небольшая история про использование подсистемы "Варианты отчетов" из БСП. Используете ли Вы ее правильно?

04.06.2019    46664    YPermitin    52    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free)

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

14.05.2019    22236    Viktor_Ermakov    8    

Свой макет оформления отчета

Работа с интерфейсом v8 v8::СКД Россия Бесплатно (free)

Пример создания и оформления и применения своего (пользовательского ) макета оформления для СКД.

24.04.2019    15596    olegpkc    5