Маленькая хитрость СКД - выводим строки X раз

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

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

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

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

И вот возникла одна несложная задачка: сделать отчет, который будет показывать состояние комнат на какой-то момент времени в следующем виде:

Группировка по Хостелам и комнатам, детали: проживающий, дата заезда, планируемая дата выезда и что-то там еще по проживающим:

Комната 313 (5 мест)
   Иванов Иван Перович, 01.01.2016, 31.01.2016
   Пупкин Петр Васильевич, 05.01.2016, 25.01.2016
   СВОБОДНО
   СВОБОДНО 
   СВОБОДНО

Самое интересное и оказалось в том, что каждое свободное место в комнате должно выводиться отдельной строчкой.

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

Конечно, можно было бы быстренько состряпать отдельный отчет и сделать так:

Для i 1 по КоличествоСободныхМест Цикл
    ТабДок.Вывести("ОбластьСвободноеМесто");
КонецЦикла;

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

ВЫБРАТЬ    0 КАК Число
ПОМЕСТИТЬ ВТ_До10
ОБЪЕДИНИТЬ
ВЫБРАТЬ    1
ОБЪЕДИНИТЬ
ВЫБРАТЬ    2
ОБЪЕДИНИТЬ
ВЫБРАТЬ    3
ОБЪЕДИНИТЬ
ВЫБРАТЬ    4
ОБЪЕДИНИТЬ
ВЫБРАТЬ    5
ОБЪЕДИНИТЬ
ВЫБРАТЬ    6
ОБЪЕДИНИТЬ
ВЫБРАТЬ    7
ОБЪЕДИНИТЬ
ВЫБРАТЬ    8
ОБЪЕДИНИТЬ
ВЫБРАТЬ    9
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_До10.Число * 10 + ВТ_До10_1.Число КАК Индекс
ПОМЕСТИТЬ ВТ_ПустыеСтроки
ИЗ
    ВТ_До10 КАК ВТ_До10,
    ВТ_До10 КАК ВТ_До10_1
//Повторить сколько угодно раз, ориентируясь на максимально возможный индекс
ГДЕ
    ВТ_До10.Число * 10 + ВТ_До10_1.Число > 0
;

////////////////////////////////////////////////////////////////////////////////
//Тестовые данные - Комнаты
ВЫБРАТЬ
    "Комната1" КАК Комната,
    5 КАК КоличествоМест
ПОМЕСТИТЬ ВТ_Комнаты

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    "Комната2",
    4
;

////////////////////////////////////////////////////////////////////////////////
//Тестовые данные - состояние проживающих
ВЫБРАТЬ
    "Комната1" КАК Комната,
    "Иванов Иван Иванович" КАК Постоялец,
    ДАТАВРЕМЯ(2016, 1, 1, 0, 0, 0) КАК ДатаЗаезда,
    ДАТАВРЕМЯ(2016, 1, 31, 0, 0, 0) КАК ПланируемаяДатаВыезда
ПОМЕСТИТЬ ВТ_ИнфорамцияОПроживающих

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    "Комната1",
    "Пупкин Петр Васильевич",
    ДАТАВРЕМЯ(2016, 1, 5, 0, 0, 0),
    ДАТАВРЕМЯ(2016, 1, 25, 0, 0, 0)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ИнфорамцияОПроживающих.Комната,
    ВТ_ИнфорамцияОПроживающих.Постоялец,
    ВТ_ИнфорамцияОПроживающих.ДатаЗаезда,
    ВТ_ИнфорамцияОПроживающих.ПланируемаяДатаВыезда
ИЗ
    ВТ_ИнфорамцияОПроживающих КАК ВТ_ИнфорамцияОПроживающих

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СвободныеМеста.Комната,
    "СВОБОДНО",
    NULL,
    NULL
ИЗ
    (ВЫБРАТЬ
        ВТ_Комнаты.Комната КАК Комната,
        ВТ_Комнаты.КоличествоМест - ЕСТЬNULL(КОЛИЧЕСТВО(ВТ_ИнфорамцияОПроживающих.Постоялец), 0) КАК СвободноМест
    ИЗ
        ВТ_Комнаты КАК ВТ_Комнаты
            ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ИнфорамцияОПроживающих КАК ВТ_ИнфорамцияОПроживающих
            ПО ВТ_Комнаты.Комната = ВТ_ИнфорамцияОПроживающих.Комната
    
    СГРУППИРОВАТЬ ПО
        ВТ_Комнаты.Комната,
        ВТ_Комнаты.КоличествоМест) КАК СвободныеМеста
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ПустыеСтроки КАК ВТ_ПустыеСтроки
        ПО СвободныеМеста.СвободноМест >= ВТ_ПустыеСтроки.Индекс

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ardn 100 19.12.16 06:01 Сейчас в теме
В чем же заключается хитрость СКД?
Патриот; +1 Ответить
4. alexandersh 217 19.12.16 12:23 Сейчас в теме
(1)
В чем же заключается хитрость СКД?

Хитрость заключается в том, что на вскидку я не знаю другого способа в СКД без дополнительной обработки результата, вывести сколько угодно раз пустые строки. Если есть альтернатива - поделись, с удовольствием добавлю со ссылкой на твое авторство ;-)
5. ardn 100 19.12.16 13:22 Сейчас в теме
(4)
В Вашей статье описывается "хитрый" запрос, который путем соединения таблицы с данными и искусственно созданной таблицы дает нужный результат. Этот запрос можно запустить в консоли, встроить в свою обработку, отчет, отчет на СКД, на построителе отчетов.
Боюсь, что упоминание СКД в заголовке вводит в заблуждение.
ABudnikov; TreeDogNight; Murik_1984; the1; Патриот; CyberCerber; krv2k; bulpi; klinval; Ганс; +10 Ответить
6. alexandersh 217 19.12.16 13:43 Сейчас в теме
(5) Ну как сказать вводит в заблуждение. То что запрос можно использовать в любом другом месте - это понятно, на то он и запрос.Статья решает не проблему использования запроса. У тебя есть другой способ решения данной задачи именно на СКД? Чтобы не делать пост-обработку результата. Если нет, то не вижу основания в критике. )
"Здесь я расскажу, как вывести в отчет СКД произвольное количество одинаковых строк." - вот какая задача решается в статье с приложением минимальных усилий, разве нет?)) или ты хочешь сказать, что эта задача не решена?))
7. NeviD 19.12.16 15:05 Сейчас в теме
(6) У вас задача решена не на СКД. Она решена в запросе. Поэтому название "Маленькая хитрость СКД ..." неправильно - СКД тут вообще не при чем.
TreeDogNight; +1 Ответить
8. alexandersh 217 19.12.16 15:20 Сейчас в теме
(7) ок, еще раз суть задачи: сделать отчет СКД, в который необходимо выводить X пустых строк. есть другой вариант решения этой задачи?
9. klinval 296 19.12.16 16:56 Сейчас в теме
(8) Александр, я плюсанул статью, но всё-таки вам верное замечание делают. У вас статья про "хитрость" в запросе, а не в СКД! То что вы написали в статье никак не затрагивает механизмов СКД, и можно применять и вне СКД.
ок, еще раз суть задачи: сделать отчет СКД, в который необходимо выводить X пустых строк. есть другой вариант решения этой задачи?

Пример 1: вы задачу для какой конфигурации решали? Допустим для УПП 1.3. Вы можете назвать статью "Маленькая хитрость УПП 1.3 - выводим строки X раз"? Можете, но на самом деле статья касается не чисто этой конфигурации, и не СКД. А в ответ всем можно говорить "еще раз суть задачи: сделать отчет для УПП 1.3"... Логика выбора названия та-же, логика ответа оппонентам та-же.

Пример 2: ваша же статья "Распределение в запросе" или "избавляемся от перебора". Если бы вы сделали распределение для отчета на СКД, то тоже назвали "Распределение в СКД"?

Пример 3: допустим я написал функцию, которая очень быстро возвращает какой-нибудь показатель, и допустим до этого никто не додумался так сделать. Но эту функцию я применяю в вычисляемых полях СКД. Сами понимаете, раз это функция, то её в принципе можно применять где угодно - вызвать, получить результат и дальше работать с ним. А я статью назвал "<Описание того что делает функция> на СКД". Т.е. я заведомо в названии статьи сузил область применения до СКД.

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

Плюс какая такая это хитрость СКД, если механизмы СКД никак не задействованы?
veretennikoff; TreeDogNight; maxopik2; the1; CyberCerber; krv2k; Scop; Serj1C; le0nid; molodoi1sneg; ardn; bulpi; +12 1 Ответить
14. Патриот 261 23.12.16 23:59 Сейчас в теме
1.
(1), поддерживаю -- очевидно, что СКД здесь не при чём.
(8), А следуя логике
ок, еще раз суть задачи: сделать отчет СКД, в который необходимо выводить X пустых строк. есть другой вариант решения этой задачи?
можно название поменять например на "Маленькая хитрость СКД в УТ и УПП на платформе 8.2.12.3 в ясный зимний день" после чего вопрошать есть ли другой вариант решения задачи для отчёта на "СКД в УТ и УПП на платформе 8.2.12.3 в ясный зимний день".

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

Уверен, что есть и другие способы, т.к. это пришло в голову примерно за 5 сек - дольше времени на набор текста ушло.

3.
Самое главное. Суть статьи далеко не новая - сгенерить таблицу чисел в запросе и использовать для своих целей. Такая задача не раз обсуждалась и на ИС в том числе. Лучшие решения в данной области собирает Ильдарович
TreeDogNight; dabu-dabu; NeviD; ardn; Yashazz; +5 Ответить
2. klinval 296 19.12.16 12:18 Сейчас в теме
В
ВЫБРАТЬ
        ВТ_Комнаты.Комната КАК Комната,
        ВТ_Комнаты.КоличествоМест - ЕСТЬNULL(КОЛИЧЕСТВО(ВТ_ИнфорамцияОПроживающих.Постоялец), 0) КАК СвободноМест
    ИЗ
        ВТ_Комнаты КАК ВТ_Комнаты
            ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ИнфорамцияОПроживающих КАК ВТ_ИнфорамцияОПроживающих
            ПО ВТ_Комнаты.Комната = ВТ_ИнфорамцияОПроживающих.Постоялец
    
    СГРУППИРОВАТЬ ПО
        ВТ_Комнаты.Комната,
        ВТ_Комнаты.КоличествоМест
Показать

Ошибка в связи. Нужно:
 ВТ_Комнаты.Комната = ВТ_ИнфорамцияОПроживающих.Комната 
3. alexandersh 217 19.12.16 12:21 Сейчас в теме
(2)
Ошибка в связи. Нужно:
ВТ_Комнаты.Комната = ВТ_ИнфорамцияОПроживающих.Комната

да, спасибо, обновил
10. amatey 21.12.16 09:15 Сейчас в теме
Автору зачет! Название привлекательное, поэтому и обратил внимание т.к. УПП меня не интересует. А вот механизм в запросе зачетный. Спасибо за идею! Критикуем название, а ведь главное идея. Критиковать и я умею, а вот хорошие идеи - для меня редкость
11. chek.e.l@mail.ru 21.12.16 10:52 Сейчас в теме
Добрый день!
В чем собственно хитрость СКД?
Представлен код который соединяет искуственно созданную таблицу (что не совсем хитрость, а скорее костыль (как минимуму данную таблицу нужно собирать циклом перед запросом)) с данными.
+ Данный код можно использовать как в СКД так и в обычном запросе, предлагаю переименовать в "хитрость в запросе" =)

P.S. Автору бесспорно плюс.
12. Onwardv 21.12.16 12:04 Сейчас в теме
Была такая тема пару месяцев назад.
Вот, нашел:
http://forum.infostart.ru/forum9/topic156546/
13. mitia.mackarevich 28 21.12.16 12:21 Сейчас в теме
Если кому интересно, откройте типовой зуп 3.1 например и посмотрите как получаются (запихано в представления) все дни периода, это будет полная версия методики которую попытался донести автор.
15. Yashazz 3474 25.12.16 01:54 Сейчас в теме
Автор, смотри публикации Ильдаровича, и познаешь, как надо)
16. botokash 258 28.12.16 17:58 Сейчас в теме
Мне кажется приведенную в начале проблему нужно было решать на уровне метаданных, а не хитростью запросов. Все таки койко-место, комнаты и хостелы это физические объекты, можно было выразить их перечень и состояния в виде справочников и регистров.
UniversaLL; Yashazz; +2 Ответить
Оставьте свое сообщение

См. также

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

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

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

10.12.2016    37595    unichkin    74    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

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

20.10.2020    1522    antonivan    13    

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

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

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

09.07.2020    2648    Yashazz    6    

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

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

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

24.05.2020    3162    kasper076    16    

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

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

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

15.10.2018    30642    tormozit    100    

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

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

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

14.05.2020    2484    vendim    1    

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

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

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

29.04.2020    6156    the1    28    

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

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

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

15.04.2020    7440    SeiOkami    38    

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

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

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

20.09.2012    78261    tormozit    131    

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

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

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

15.04.2020    3478    ProfessionStore    3    

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

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

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

13.04.2020    5699    ProfessionStore    4    

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

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

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

13.04.2020    3993    starik-2005    16    

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

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

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

11.07.2007    48731    tormozit    41    

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

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

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

12.04.2020    4561    ProfessionStore    11    

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

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

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

11.04.2020    5824    ProfessionStore    8    

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

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

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

11.04.2020    6026    ProfessionStore    24    

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

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

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

10.09.2017    45106    tormozit    74    

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

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

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

10.04.2020    6038    ProfessionStore    4    

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

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

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

10.04.2020    7340    ProfessionStore    14    

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

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

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

26.03.2020    5939    Yashazz    19    

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

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

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

25.04.2019    16138    m-rv    2    

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

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

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

03.03.2020    5146    BelikovSA    9    

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

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

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

28.02.2020    2183    real_MaxA    1    

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

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

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

26.02.2020    6599    Neti    41    

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

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

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

16.04.2019    20404    m-rv    17    

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

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

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

27.01.2020    28272    ids79    26    

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

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

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

15.01.2020    24913    John_d    22    

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

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

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

20.11.2019    10158    aximo    17    

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

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

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

01.06.2018    30931    m-rv    21    

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

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

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

11.11.2019    11574    kser87    40    

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

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

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

25.10.2019    21166    aximo    37    

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

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

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

10.10.2019    11972    YPermitin    7    

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

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

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

05.12.2017    28371    itriot11    34    

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

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

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

10.10.2019    10077    Yashazz    45    

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

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

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

10.10.2019    9529    evgeni-red    8    

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

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

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

08.10.2019    14417    ids79    26    

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

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

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

27.01.2016    76761    Serginio    108    

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

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

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

25.09.2019    21805    YPermitin    40    

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

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

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

18.09.2019    19483    YPermitin    36    

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

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

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

06.09.2019    52316    rpgshnik    63    

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

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

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

10.11.2018    35255    ids79    40    

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

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

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

05.09.2019    50774    ids79    54    

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

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

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

08.08.2019    86093    ids79    49    

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

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

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

31.07.2019    24711    json    14    

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

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

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

25.07.2018    29408    grumagargler    28    

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

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

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

26.07.2019    62136    ids79    11    

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

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

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

17.07.2019    36486    ids79    27    

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

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

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

09.07.2019    27374    ids79    2    

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

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

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

18.11.2017    56606    pahich    82    

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

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

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

04.07.2019    19813    SeiOkami    50    

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

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

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

02.07.2019    48411    ids79    17    

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

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

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

25.06.2019    53851    ids79    25    

Не провоцируйте СКД, или пример "как не надо"

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

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

10.06.2019    13889    SeiOkami    95