Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

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

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

СКД запросы

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

 

 

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов.

 

С помощью языка запросов СКД получает данные (например) с сервера СУБД и затем производится обработку (на сервере приложений) с помощью языка выражений СКД. Элементы этого языка могут использоваться:

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

Документацию по данному языку можно найти в справке к платформе (не синтаксис помощник) – в конфигураторе вызов через F1.

1С СКД

 

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

На закуску интересная статья про функцию «Представление» и про то, какие ошибки возникают из-за разной реализации данной функции в языке запросов и в языке выражений СКД.

 

Обманываем СКД!

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

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

Разберем на таком простом примере. Необходимо сделать отчет, который будет выводить все документы в базе. Допустим номер, дата, признак проведения. Плохой отчет, но хороший образец для демонстрации. Понятно, что включать в текст запроса набора данных все документы идея так себе. А если учесть, что документы могут добавляться или удаляться – вообще не реализуемая. Поэтому в наборе данных мы добавим запрос только по одному виду документа (будем считать, что этот документ будет в базе всегда). И добавим отбор по периоду (через отбор).

1С СКД

 

1С СКД

 

1С СКД

 

Далее подменяем в модуле отчета текст запроса:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); // Получаем схему компоновки данных
	
	СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ""; // Очищаем запрос в наборе данных
	ДокументыКонфигурации = Метаданные.Документы; 				 // Получаем коллекцию метаданных документов 
	КоличествоДокументов = ДокументыКонфигурации.Количество();   // Определяем общее количество документов в конфигурации
	Сч = 1;
	ТекстЗапроса = "";
	Для Каждого Док Из ДокументыКонфигурации Цикл
		ТекстЗапроса = ТекстЗапроса + 		// Для каждого документа формируем текст запроса к его таблице
		"ВЫБРАТЬ							
		|	Док.Номер КАК Номер,
		|	Док.Дата КАК Дата,
		|	Док.Проведен КАК Проведен
		|ИЗ
		|	Документ."+Док.Имя+" КАК Док";  // В текст запроса нам необходимо лишь подставить имя таблицы документа в дереве метаданных
		
		Если Сч < КоличествоДокументов Тогда // Если документ не последний в коллекции - добавляем инструкцию "ОБЪЕДИНИТЬ ВСЕ" для
			ТекстЗапроса = ТекстЗапроса +     // объединения результатов запросов по документам в единый список
			"
			|ОБЪЕДИНИТЬ ВСЕ
			|";
		КонецЕсли;			
		Сч = Сч + 1;
	КонецЦикла;
	СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ТекстЗапроса;
	
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.ПолучитьНастройки(),ДанныеРасшифровки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);	
	
КонецПроцедуры

 

Через метаданные обходим все документы в конфигурации и через «ОБЪЕДИНИТЬ ВСЕ» соединяем запрос к каждому документу в один. Установим отбор по дате начала и посмотрим, что при этом происходит, остановившись в отладчике после получения макета компоновки, и изучим одно из его свойств:

1С СКД

 

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

Но это не все. Вам может показаться, что это какой-то искусственно придуманный пример и в реальной жизни не нужен. Давайте заглянем в отчет «ОстаткиИДоступностьТоваров» из УТ 11.4. В основном наборе отчета есть такой параметр:

1С СКД

 

Посмотрим теперь модуль отчета процедуру «ПриКомпоновкеРезультата»:

 

1С СКД

 

Здесь видно, что параметр, объявленный в наборе, заменяется с помощью вызова функции «ТекстЗапросаВесУпаковки» на запрос, получающий вес упаковки через единицу и номенклатуру из основного набора. Если посмотреть текст этой функции (запрос, возвращаемый функцией, занимает один экран), то становится понятно, почему этот код не был включен в основной набор – тогда текст запроса в основном наборе получился бы совершенно нечитаемым.

 

Серия статей по СКД

Предыдущая статься .., Следующая статья ..
Автор курсов образовательного проекта Profession Store. Павел Шемякин

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 5913 11.04.20 16:03 Сейчас в теме
СтрЗаменить() - довольно опасная техника модификации текста запроса, т.к. при отсутствии в тексте заменяемой строки она делает ничего. Но в то же время она имеет свои неоспоримые преимущества перед капризной и ресурсоемкой схемой запроса. Поэтому отказываться от нее нельзя. Зато можно снизить риск от ее использования путем проверки наличия в тексте заменяемой строки. Я в большинстве случаев использую такой аналог этой функции
Функция СтрЗаменитьОбязательно(ГдеЗаменять, Знач ЧтоЗаменять, Знач НаЧтоЗаменять, ОставитьЧтоЗаменять = Ложь) Экспорт 
	
	Если Найти(ГдеЗаменять, ЧтоЗаменять) < 1 Тогда
		ВызватьИсключение "Шаблонная строка """ + ЧтоЗаменять + """ не найдена в тексте";
	КонецЕсли; 
	Если ОставитьЧтоЗаменять Тогда
		НаЧтоЗаменять = ЧтоЗаменять + НаЧтоЗаменять;
	КонецЕсли; 
	ГдеЗаменять = СтрЗаменить(ГдеЗаменять, ЧтоЗаменять, НаЧтоЗаменять);
	Возврат ГдеЗаменять;

КонецФункции
Показать
dvsidelnikov; mmitin; dim9; user774630; +4 Ответить
2. genayo 11.04.20 17:29 Сейчас в теме
8. TMV 14 12.04.20 07:31 Сейчас в теме
(2) Видимо, были случаи, когда непредсказуемая платформа выдавала совершенно неожиданный отрицательный результат)
9. genayo 12.04.20 08:02 Сейчас в теме
(8) Так вот и интересно, как и когда такое может быть.
12. toypaul 68 13.04.20 08:34 Сейчас в теме
(1) эту претензию можно отправить разработчиками типовых конфигураций.

я только не понял - а чем плохо то, что она не делает ничего? например, в этом случае при определенном стечении обстоятельств такого поля может не быть и соот-но замены такой не будет. и что? таблицы ненужные СКД сама в этом случае отбросит.
13. tormozit 5913 13.04.20 09:41 Сейчас в теме
(12) Так я и не утверждал, что делать ничего - всегда плохо, а лишь считаю что в большинстве случаев это плохо. В них такую привязку можно и нужно делать жесткой и тем самым повышать надежность кода, т.к. будущие правки текста запроса могут выполняться людьми или механизмами не знающими о важности сохранения в неизменном виде какого то фрагмента текста запроса. Лучше сразу после такой некорректной правки получить исключение, чем программа будет молча работать и показывать некорректный результат и в разы увеличивать длительность поиска причины ее некорректной работы.
17. toypaul 68 13.04.20 13:10 Сейчас в теме
(13) Я пытаюсь объяснить, что ваш камент не к месту в этом конкретном случае. А пример кода так и вовсе вреден. Никакого исключения тут выдавать не надо. Все должно работать ровно так как написано.
18. tormozit 5913 13.04.20 13:33 Сейчас в теме
(17) В теме статьи указано "Подмена запросов". В статье показана подмена с использованием функции СтрЗаменить. Я привел ее аналог и описал в чем его преимущества и в каких случаях. Возможно в конкретном случае мой комментарий и не к месту, но по поводу безусловной вредности моего примера кода утверждение очень смелое.
21. Bit_Man 02.06.20 12:01 Сейчас в теме
(13) Разработчика не должно волновать (или не входило в его задачу учитывать) "будущие правки текста людьми или механизмами не знающими о важности сохранения в неизменном виде какого то фрагмента текста запроса". Те кто изменяет конфу, должны понимать и проверять, как изменения влияют на работу в режиме предприятия.
22. tormozit 5913 02.06.20 13:04 Сейчас в теме
(21) Перефразируя тебя, можно написать "пишу код, не думая о том, какова вероятность что при доработках его сломают и поймут это далеко не сразу".
23. Bit_Man 03.06.20 02:53 Сейчас в теме
(22)Ну тогда все так думают, кто используют СтрЗаменить без поиска вхождение искомой подстроки
3. bayce 28 11.04.20 17:35 Сейчас в теме
Запрос в цикле это страшное зло
4. awk 716 11.04.20 18:08 Сейчас в теме
6. the1 585 12.04.20 00:06 Сейчас в теме
(3) А где Вы увидели в примере запрос в цикле? В цикле собирается ТЕКСТ запроса, не более.
5. ltfriend 506 11.04.20 22:45 Сейчас в теме
Я бы не полагался, на какой-то документ, который есть всегда, а написал бы (как в типовых)
ВЫБРАТЬ
ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) КАК Дата,
"" КАК Номер,
ИСТИНА КАК Проведен
SanchoD; sogesti; toypaul; +3 Ответить
16. toypaul 68 13.04.20 13:07 Сейчас в теме
(5) Да ... знаю, что аудитория ИС готова докопаться да любой строчки кода и любой буквы в статье. Это даже хорошо - когда конструктивно (как в этом случае). Просто статья была написана для внутреннего потребления (где многое простят), а потом было решено выложить на ИС.
7. TMV 14 12.04.20 07:28 Сейчас в теме
С темой подмены запросов можно ознакомиться в ЗУП3.
sogesti; toypaul; +2 Ответить
10. fancy 9 13.04.20 08:13 Сейчас в теме
А для чего очищать текст запроса перед его установкой?
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Запрос = ""; // Очищаем запрос в наборе данных
11. toypaul 68 13.04.20 08:29 Сейчас в теме
(10) Надо спросить автора этого кода :). Вообще-то эта строчка не нужна
14. logarifm 1077 13.04.20 12:31 Сейчас в теме
Если уж на это пошло и Вы подменяете запрос исходя из того, что в зависимости от конфигурации необходимо работать с разным набором документов. То тут уже косяк потому как в моей конфигурации документа ПриходнаяНакладая нет и отчет вообще не откроется. Следовательно пример является не верным. В таких случаях необходимо применять не НаборДанных Запрос, а Внешнюю таблицу.
15. toypaul 68 13.04.20 13:04 Сейчас в теме
(14) У внешней таблицы нет запроса, следовательно такой подход не сработает. В таких случаях необходимо применить главный инструмент разработчика - "мозг" и поменять документ, которого нет на тот, который есть. И тогда отчет откроется.
19. logarifm 1077 13.04.20 20:10 Сейчас в теме
(15)Это не рабочий пример! И внешнией таблицы есть запрос поскольку она должна с чего-то состоять. Тоесть пример надо переформулировать в коректный и прменить именно внешнюю таблицу. То есть то что есть сейчас в ПриКомпоновке результата сделать формирование внешней таблицы запросом, а свое "ЭГО"я думаю надо запихнуть себеб глубокооо в одно место и следовательно думать, что отвечать ну уж по давно не делитантам в этом деле!
20. logarifm 1077 13.04.20 20:11 Сейчас в теме
Есть такое понятие как нормализация данных - и этот отчет и пример лажа!
24. CnupT 57 31.07.20 04:56 Сейчас в теме
(20)Мы ведь не на Мисте, давайте будем взаимно вежливы.
Оставьте свое сообщение

См. также

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

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

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

10.12.2016    36796    unichkin    46    

Вывод дерева в табличный документ СКД

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

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2159    Yashazz    4    

Роль "Остатки" поля набора данных СКД в отчете и в расшифровке

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

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

24.05.2020    2631    kasper076    16    

Макет оформления в отчете с несколькими СКД

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

Как заставить работать макет оформления в отчёте с несколькими СКД.

14.05.2020    2082    vendim    1    

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

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

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

15.10.2018    29306    tormozit    100    

СКД. Использование Менеджера временных таблиц в системе компоновки

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

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

29.04.2020    5245    the1    28    

Ограничения полей, или как обмануть СКД?

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

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    5862    SeiOkami    38    

Работа с запросами в 1С СКД. Отладка СКД

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

В предыдущем разделе мы изучали с вами особенности работы с запросами в СКД. Для изучения (отладки) работы различных схем компоновки данных я использовал консоль компоновки данных.

15.04.2020    3099    ProfessionStore    3    

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

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

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

20.09.2012    77198    tormozit    131    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

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

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

13.04.2020    4933    ProfessionStore    4    

СКД: Прозрачная обработка результата

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

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

13.04.2020    3686    starik-2005    16    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

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

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

12.04.2020    3835    ProfessionStore    11    

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

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

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

11.07.2007    47485    tormozit    40    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

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

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

11.04.2020    4610    ProfessionStore    8    

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

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

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

10.04.2020    5138    ProfessionStore    4    

Запросы 1С СКД. Возможности и ограничения

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

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    6169    ProfessionStore    14    

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

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

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

10.09.2017    43795    tormozit    74    

Вложенные СКД

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

Возможности, нюансы, заметки.

26.03.2020    5302    Yashazz    19    

СКД - одна из проблем связи Наборов данных

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

Официальная информация: 1. В схеме компоновки данных нет указания типа связи. Все связи считаются ЛЕВЫМИ внешними соединениями. 2. Если для вложенного набора данных указано условие фильтра, тогда связь вложенного набора данных с родительским набором данных считается ВНУТРЕННЕЙ. Или как получить все результаты основного набора при отборе в зависимом.

03.03.2020    4683    BelikovSA    9    

Получение значений всех полей в иерархии структуры отчета

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

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

28.02.2020    2068    real_MaxA    1    

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

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

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

25.04.2019    15846    m-rv    2    

Для чего нужен флаг "Автозаполнение" в СКД и каких проблем без него можно избежать

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

Речь пойдет о флаге «Автозаполнение» в наборе данных Запрос Системы компоновки данных (СКД). Сразу хочу отметить, что флаг «Автозаполнение» доступен только в наборе данных - Запрос.

26.02.2020    5782    Neti    41    

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

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

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

27.01.2020    21958    ids79    26    

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

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

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

16.04.2019    19837    m-rv    17    

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

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

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

15.01.2020    20507    John_d    22    

Нумерация строк в запросе методами платформы

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

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

09.01.2020    8695    user602678_maxipunchik    26    

Налогообложение сотрудников, работающих по ГПХ (доработка 1С:Зарплата и управление персоналом КОРП, редакция 3.1)

Зарплата Практика программирования v8::СПР v8::Запросы ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Цель этой статьи - быстро доработать ЗУП для налогообложения сотрудников, работающих по ГПХ. Эта статья решает задачи, связанные с отсутствием в ЗУП функционала по обложению налогом работников ГПХ. На вопросы ниже вы найдете ответ в статье и решите эту задачу. Как настроить ЗУП 3, чтобы по договору ГПХ начислялись страховые взносы? У нас ситуация: есть договор ГПХ с одним человеком, который носит систематический характер и надо по нему начислять взносы, но ЗУП 3 не начисляет.

26.11.2019    3724    Lupeykin    7    

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

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

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

01.06.2018    29939    m-rv    21    

СКД. Лайфхак №2. Собираем отчет еще удобнее

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

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

20.11.2019    9793    aximo    15    

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

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

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

11.11.2019    11054    kser87    39    

Лайфхак работы с СКД. Собираем отчет.

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

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

25.10.2019    18860    aximo    37    

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

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

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

05.12.2017    27992    itriot11    34    

Немного про СКД. Характеристики и проверка пустого отчета

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

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

10.10.2019    11105    YPermitin    7    

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

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    9641    Yashazz    45    

Две схемы СКД в одном отчете с пользовательскими параметрами

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

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

10.10.2019    8558    evgeni-red    8    

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

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

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

27.01.2016    75452    Serginio    108    

Три способа создания одного отчета на СКД

Практика программирования v8 v8::СКД ERP2 УТ11 КА2 Бесплатно (free)

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

08.10.2019    13823    ids79    26    

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

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

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

25.09.2019    19310    YPermitin    35    

Группировка данных в запросе (СГРУППИРОВАТЬ ПО [ГРУППИРУЮЩИМ НАБОРАМ], ИТОГИ ПО [ОБЩИЕ])

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

Для группировки данных в языке запросов 1С существуют конструкции СГРУППИРОВАТЬ ПО [ГРУППИРУЮЩИМ НАБОРАМ], ИТОГИ ПО [ОБЩИЕ]. Для новичков назначение этих конструкций не всегда очевидно, попробуем разобраться на примерах, для чего предназначена каждая из них и в чем отличие от аналогичных конструкций в языке SQL.

19.09.2019    16682    sertak    9    

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

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

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

10.11.2018    33680    ids79    40    

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

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

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

18.09.2019    18704    YPermitin    36    

Количество NULL в запросе

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

При определении количества элементов в виде "NULL" в результирующей таблице запроса нам возвращается значение "0".

17.09.2019    3524    toxilamer    18    

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

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

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

05.09.2019    45253    ids79    54    

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

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

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

25.07.2018    28863    grumagargler    28    

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

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

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

08.08.2019    71866    ids79    49    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    21538    json    13    

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

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

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

26.07.2019    53163    ids79    11    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

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

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

04.09.2017    51774    m-rv    61    

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

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

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

17.07.2019    33754    ids79    27    

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

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

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

09.07.2019    23965    ids79    2    

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

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

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

04.07.2019    19274    SeiOkami    50    

Работа с настройками системы компоновки данных

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

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

02.07.2019    41563    ids79    17