Некоторые редко используемые возможности СКД

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

Разработка - Практика программирования

Как создать папки полей в СКД как вывести число прописью табличную часть строку массив поле убрать рамки ячеек макете

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

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

ВЫБРАТЬ
    ТоварыНаСкладеОбороты.Склад КАК Склад,
    ТоварыНаСкладеОбороты.Номенклатура КАК Номенклатура,
    ТоварыНаСкладеОбороты.КоличествоПриход КАК КоличествоПриход,
    ТоварыНаСкладеОбороты.КоличествоРасход КАК КоличествоРасход,
    ТоварыНаСкладеОбороты.Организация КАК Организация,
    ТоварыНаСкладеОбороты.Регистратор КАК Регистратор
ИЗ
    РегистрНакопления.ТоварыНаСкладе.Обороты(, , Регистратор, ) КАК ТоварыНаСкладеОбороты

1. Создание папок (групп) полей

В разделе описано, как в СКД можно самостоятельно создавать подобные папки: 

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

В результате, на вкладке редактирования настроек, набор доступных полей для выбора будет выглядеть так:

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

2. Соединение строк (без использования языка выражений)

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

Пускай есть документ "ПриходТоваров" с табличной частью МОЛ и единственной колонкой "Сотрудник". Стоит задача в группировке с документом вывести через запятую всех сотрудников из указанной табличной части. Порядок решения следующий:

1. В общем серверном модуле ОбщегоНазначения создал экспортную процедуру со следующим содержанием:

Функция ВывестиТабличнуюЧастьДокумента(СсылкаНаДокумент) Экспорт               

     МассивСтрок = СсылкаНаДокумент.МОЛ.ВыгрузитьКолонку("Сотрудник");            

     Возврат СтрСоединить(МассивСтрок,",");

КонецФункции

2. В конструкторе СКД, на вкладке «Вычисляемые поля» добавил новое поле. В пути к данным указал нужное значение ОбщегоНазначения.ВывестиТабличнуюЧастьДокумента(Регистратор):

 

 

 

 

 

 

 

 

 

3. Добавить новое поле в настройки отчета. 

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

3. Вывод числа прописью 

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

1. На вкладке "Макеты" конструктора СКД добавил макет группировки с именем "Подвал".

2. В макете я задал единственный параметр КоличествоИтог. Чтобы в отчете не было видно рамок ячеек, я установил цвет рамок "Фон формы": 

3. В заполнении параметра указал ОбщегоНазначения.КоличествоПрописью(КоличественныеПоказатели.КоличествоПриход)

 

Теперь осталось вывести макет в настройки отчета. Для этого нужно:

1. На вкладке "Настройки" конструктора СКД добавить группировку детальных записей и установить ей имя "Подвал". 

2. В выбранных полях детальных записией надо удалить автополе и добавить "КоличественныеПоказатели.КоличествоПриход". Таким образом в макет будет выведен общий итог, без группировки по полям. 

3. Осталось задать свойство элемента пользовательских настроек, чтобы вывод подвала стал опционным. Для этого нужно кликнуть правой кнопкой мыши по полю "Детальные записи" и выбрать пункт "Свойства элемента пользовательских настроек" и задать имя группировке:

 

 

В результате отчет будет выглядеть следующим образом:

 

Надеюсь, что статья позволила читателю несколько расширить свои представления о возможностях Системы компоновки данных .

 

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. oberonm 9 11.11.19 08:22 Сейчас в теме
СКД, использующий внешние функции, выполняется в разы дольше. я бы не рекомендовл их использовать в формировании детальных записей. для вывода подвала или шапки - возможно.
Для соединения строк используйте другой механизм СКД "ВычислитьВыражениеСГруппировкойТаблицаЗначений(),"
Есть статья Полезные примеры составления схемы компоновки данных , рекомендую ознакомится
glime; JohnyDeath; user596590_pavel.kuznecov; mcgoblin; it_tungus; strafer; ids79; zqzq; frkbvfnjh; Yashazz; PLAstic; wowik; +12 Ответить
3. kser87 2043 11.11.19 08:37 Сейчас в теме
(1) читайте внимательно статью, прежде чем писать. Я указал, что решение не оптимально с точки зрения производительности. И оно альтернатива языку выражений СКД
shmellevich; YPermitin; +2 Ответить
4. VmvLer 11.11.19 09:50 Сейчас в теме
(3) Это не альтернатива - это халтура.

Технологии статьи устарели лет на 5 минимум и логичнее было бы заголовке указать
устарело, для платформ 8.2 и ниже

таки да, общие модули в СКД используют когда другой альтернативы нет и только.
сейчас даже число прописью можно вытащить из системных функций платформы.
glime; Merkalov; Yashazz; +3 Ответить
6. kser87 2043 11.11.19 10:51 Сейчас в теме
(4) [IS-QUOTE] спасибо за комментарий
YPermitin; +1 Ответить
7. kser87 2043 11.11.19 10:52 Сейчас в теме
(4) в предисловии указана версия платформы. Этого мало?
mifort; YPermitin; +2 Ответить
10. Yashazz 3273 11.11.19 12:31 Сейчас в теме
(3) Если насчёт "плохо описанного" я ещё соглашусь, то ни единой причины назвать язык функций СКД глючным я за годы использования не наблюдал. Оно стабильно работает, и кажущаяся глючность - есть следствие плохой описанности и плохого понимания устройства этого дела.
kser87; zqzq; +2 Ответить
18. user596590_pavel.kuznecov 26 13.11.19 10:47 Сейчас в теме
(1)Еще проще можно
СоединитьСтроки (JoinStrings)
Предназначена для объединения строк в одну строку.

Синтаксис:

СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)

Параметры:

Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы;
РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ".
Пример:

СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес));
Показать
:
20. alexqc 147 14.11.19 09:00 Сейчас в теме
(1), (2) По-ходу, кому-то просто захотелось по-быстрому стартманей срубить, вот и весь смысл данной "статьи".
22. kser87 2043 14.11.19 10:26 Сейчас в теме
(20) уважаемый, я не захожу в ваши т.н. "статьи" и не пишу там нелицеприятные вам вещи.
28. alexqc 147 16.11.19 09:31 Сейчас в теме
(22)
Статей у меня, вроде и нет, есть обработки столетней давности. Можете комментировать как угодно, не запрещаю.
23. kser87 2043 14.11.19 10:29 Сейчас в теме
(20) что касается стармани, но до минимально необходимого количества знаков для гарантированного начисления она не дотягивает почти вдвое от текущего объема. Дадут ли sm за рейтинг-вопрос открытый
29. alexqc 147 16.11.19 09:42 Сейчас в теме
(23)
А что, за статьи стартмани начисляют? Не знал. Думал, статьи без $m, раз их в "бесплатный" доступ выкладывают.
Я же собственно, не за саму статью говорил, а за файл к ней. 2 $m всего лишь за то чтобы посмотреть на 3 примера??? Или инфостарт не дает иную цену поставить? (я просто не в курсе, с их этой "политикой монетизации", можно и такое ожидать). ИМХО если цели получить $m нет -- файл вообще лишний.
31. kser87 2043 16.11.19 12:09 Сейчас в теме
(29) начисляют за статьи объемов знаков больше 10 тыс.
25. kser87 2043 14.11.19 12:47 Сейчас в теме
(20) Ваши мысли, зачем нужны эти возможности?
30. alexqc 147 16.11.19 10:10 Сейчас в теме
(25)
В смысле, какие возможности нужны?
Если вы по тексту статьи -- то
1. Имена через точку -- тривиальная вещь, описывается и в хелпе редактора СКД и в ЖКК чуть ли не с первых страниц описания СКД. У вас, кстати, даже не сказано что кроме групп есть "добавление" в существующие поля (например, если у вас есть поле "Склад" -- соответствующий справочник, с его реквизитами, и вы в добавляете к ним поле с путем, допустим "Склад.ТекущееМОЛ")

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

3. А тут что вы хотели показать? Как работать с макетом? Так это тоже в хелпе описано.
И убирать рамку -- цветом? А почему не стилем "без рамки"?
32. kser87 2043 16.11.19 12:35 Сейчас в теме
(30)
1. Спасибо, я это добавлю в статью если вы не против.
2. Честно говоря не понимаю, зачем вы пишите про соединение строк средствами языка выражений. Я кажется прямо в статье описал, что предлагаю альтернативу для тех, кому сложно разобраться. И людям вроде как понравилось судя по количеству плюсов. Можете закрыть тему языка выражений здесь? Про безопасность было бы интересно послушать ваши соображения.
3. Попробуйте, пожалуйста
34. alexqc 147 16.11.19 15:53 Сейчас в теме
(32)
2. Во-первых, ничего сложного; во-вторых, потом из-за таких "было сложно разобраться" все тормозит. Лучше бы научили как правильно делать, ей-богу. Ну, или привели бы 2 варианта -- с СоединитьСТроки() и с внешними функциями.
Про безопасность -- а какие соображения вы хотите услышать? Пользователю по ролям/профилю безопасности запрещают открытие внешних отчетов и использование исполняемого кода в потенциально-критичных местах (типа непривилегированных Выполнить/Вычислить, табло в неуправляемом режиме, или в пользовательских полях СКД). На закладку вычислимых полей это не влияет.
3. В чем проблема? Прикладываю пример (под "Всего" специально оставил рамку, пунктирную).
Прикрепленные файлы:
ПроверкаРамкиСКД.erf
35. kser87 2043 16.11.19 22:43 Сейчас в теме
(34) 2. что у вас там тормозит? Вы уверены, что оно тормозит от неправильного использования СКД?
Вы пишите, что использовать функции общих модулей в отчетах небезопасно. Не понимаю, причем тут выполнить-вычислить-внешние отчеты?
37. alexqc 147 18.11.19 11:13 Сейчас в теме
(35)
У меня тормозит? Да это ж у вас тормозит!!!
"Но стоит сразу оговориться, что его тяжело назвать оптимальным с точки зрения производительности." -- чьи слова?

По факту же: вы на каждую ссылку в выводе дергаете ф-цию, которая лезет в базу. Классический "запрос в цикле" получается.
В то же время использование встроенной ф-ции во-первых, по возможности оптимизируется компоновщиком, во-вторых, понуждает программиста всю недостающую информацию получать в начальном запросе.
38. kser87 2043 18.11.19 11:20 Сейчас в теме
(34) будет ли оно тормозить или нет-зависит ещё от десятков иных факторов.
У меня классический запрос в цикле, да. Но при этом запрос с отбором по ссылке-то есть наиболее щадящий вариант. Да и запрос в цикле-СКД этим грешит во множестве случаев. Например, просто при выводе результата.

Вопрос такой: а вы знаете, как встроенная функция работает? Вы уверены, что всегда можно выцпить нужную информацию начальным запросом?
39. alexqc 147 18.11.19 15:40 Сейчас в теме
(38)
Если касательно СоединитьСтроки() -- то она описывается, наверно, даже в древней Хрусталёвой.

Те же случаи когда реально нельзя обойтись встроенными и нужно вызывать внешние ф-ции, при чем лезущие в БД -- уже довольно сложные, явно выходящие за пределы вашей статьи. Более того, там скорее всего придется отказаться от "прямого" использования СКД, и писать свою ПриКомпоновкеРезультата() с формированием нужной ТЗ данных, и отдав СКД так сказать "косметическую" роль.
2. toypaul 68 11.11.19 08:26 Сейчас в теме
п.2 делается через второй набор и вычисляемое поле на языке СКД - СоедининитьСтроки(Массив(Сотрудник))

без всяких выкрутасов.
user596590_pavel.kuznecov; user925427; zqzq; Yashazz; +4 1 Ответить
9. kser87 2043 11.11.19 10:58 Сейчас в теме
(2) можно конечно. Для этого можно установить стандартную обработку в ложь в событии ПриКомпоновкеРезультата и прописать программную компоновку. Затраты на вызов вложенных функций будут отдельно отображены в результате замеров.
19. user596590_pavel.kuznecov 26 13.11.19 11:25 Сейчас в теме
(9)Бред, зачем? Это агрегатные функции языка СКД, все делается в схеме компоновки на закладке "Ресурсы".
21. kser87 2043 14.11.19 10:24 Сейчас в теме
(19) на первый взгляд вы не понимаете зачем вообще эти возможности нужны. Они дополняют агрегатные Функции
24. user596590_pavel.kuznecov 26 14.11.19 12:43 Сейчас в теме
(21)На первый взгляд, это Вы не понимаете зачем они нужны, раз придумываете такое и тут публикуете.
5. Ibrogim 1152 11.11.19 10:09 Сейчас в теме
За папки плюс )
Cmapnep; glime; Angel_19; kser87; +4 Ответить
8. Rustig 1504 11.11.19 10:55 Сейчас в теме
(0)
В выражениях СКД можно использовать почти любые функции серверных модулей. Это дает разработчику практически неограниченные возможности. Но стоит помнить о том, что неосторожное использование этой фичи может негативно сказаться на производительности системы.


Можно ли делать замер производительности отчета на СКД?
11. Yashazz 3273 11.11.19 12:34 Сейчас в теме
(8) Хм, ну можно, но не только и не столько средствами конфигуратора, сколько замерами PerfMon на сервере приложения, ещё можно по ТЖ...

Статья нового не содержит. У Хрусталёвой это уже было лучше и больше.
12. kser87 2043 11.11.19 13:27 Сейчас в теме
(11) не все умеют пользоваться perfmon, база может быть файловая, в ней может не быть функций для замера производительности.

статья не претендует на обьемы учебника по СКД. Если для вас ничего нового, то я могу лишь восхититься объемом ваших знаний.
13. pm74 169 11.11.19 19:35 Сейчас в теме
14. user774630 11.11.19 19:45 Сейчас в теме
(13) Systema Komponovki Dannih
Al_Z; Dimasik2007; kser87; +3 Ответить
16. Sergey_1c 54 12.11.19 10:33 Сейчас в теме
17. kser87 2043 12.11.19 12:16 Сейчас в теме
15. dnikolaev 12.11.19 10:04 Сейчас в теме
комментарии настоялись - делаю. вывод: Infostart дружное сообщество. Программисты 1с - добрые люди.)
26. husky 6 14.11.19 15:05 Сейчас в теме
В МОЛах, "Цзиньпин" пишется в одно слово....)
27. kser87 2043 14.11.19 15:39 Сейчас в теме
(26) хоть кто-то по делу написал)
33. ХамитоваРайса 16.11.19 13:11 Сейчас в теме
Спасибо за статью, мы же ищем на Infostart-е не всегда готовое решение. Даже если есть что-то, от чего можно оттолкнуться и, углубив, применить у себя, уже хорошо.
36. Cmapnep 12 18.11.19 10:49 Сейчас в теме
Вызов функций внешних модулей в отчетах СКД может быть оправдан только если это внешний модуль с повторным использованием на время серверного вызова - если подходящего нет (чаще всего так и будет), то сделать свой прокси-модуль с вызовом функций других модулей
В приведенном примере с МОЛами складов сократит время вызова во много раз, на больших выборках в сотни, тысячи...
Автор наверняка об этом знает, но раз уж статья для новичков, то имеет смысл дополнить предложенный способ советом по оптимальному использованию модулей
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

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

22.04.2020    4745    23    Infostart    2    

Программная работа с настройками СКД

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

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

27.01.2020    19459    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

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

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

15.01.2020    18750    0    John_d    22    

Последовательности событий. Шпаргалка

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    13617    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

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

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

10.12.2016    35568    0    unichkin    45    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    14707    0    YPermitin    72    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    6919    0    Sibars    19    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    28413    0    Yashazz    45    

Вспомогательные инструкции в коде 1С Промо

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

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    28060    0    tormozit    100    

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

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

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

25.09.2019    18078    0    YPermitin    35    

СКД не только для отчетов

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

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

18.09.2019    17898    0    YPermitin    36    

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

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

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

06.09.2019    40093    0    rpgshnik    62    

Оформление и рефакторинг сложных логических выражений Промо

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

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

20.09.2012    75509    0    tormozit    129    

Агрегатные функции СКД, о которых мало кто знает

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

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    42280    0    ids79    54    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    24619    0    YPermitin    24    

Три костыля. Сказ про фокусы в коде

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

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

03.09.2019    23263    0    YPermitin    80    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

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

11.07.2007    46448    0    tormozit    38    

Отслеживание выполнения фонового задания

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

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

17.08.2019    28500    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

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

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    66061    0    ids79    40    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    29553    0    avalakh    22    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    42463    0    tormozit    74    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

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

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    49439    0    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    31704    0    ids79    27    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    23919    0    YPermitin    13    

Выгрузка документа по условию Промо

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

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    15465    0    m-rv    2    

"Меньше копипаста!", или как Вася универсальную процедуру писал

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

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    17859    0    SeiOkami    50    

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

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

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

25.06.2019    46291    0    ids79    25    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    22932    0    dmurk    144    

Как прикрутить ГУИД к регистру сведений Промо

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

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

16.04.2019    19241    0    m-rv    17    

Регистры накопления. Структура хранения в базе данных

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

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

16.05.2019    38650    0    YPermitin    30    

Выполнение внешней обработки в фоновом задании

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    26847    0    Eret1k    23    

О расширениях замолвите слово...

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

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    32262    0    ellavs    126    

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

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    28913    0    m-rv    21    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    25378    0    ellavs    88    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    29048    0    YPermitin    53    

Добавление отчетов в типовые конфигурации 1С

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

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

07.03.2019    48573    0    ids79    45    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    26930    0    itriot11    34    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

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

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    34831    0    ids79    9    

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

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

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

26.12.2018    24901    0    ids79    31    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    73542    0    Serginio    108    

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

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

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

14.12.2018    37999    0    ids79    72    

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

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

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

16.11.2018    34422    0    ids79    40    

Программное заполнение пользовательских параметров и отборов СКД

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

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

13.11.2018    41697    0    Unk92    21    

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

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

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

10.11.2018    32572    0    ids79    40    

Произвольный код в фоновом режиме

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

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

03.09.2018    25788    0    nikita0832    42    

Приемы работы с СКД: делаем за 5 минут то, на что у других уйдет час

Практика программирования Инструментарий разработчика v8::СКД Бесплатно (free)

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

03.09.2018    42973    0    SergeyN    26    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    27608    0    grumagargler    26