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

0. 1412 27.07.17 01:47 Сейчас в теме
Порой нужно быстро вывести на экран таблицу значений, используя СКД \ получить данные отчета в таблицу значений.. Несмотря на очевидность алгоритма - раньше мне проще было загуглить программный вывод, благо эта инфа есть везде. Но постепенно понял как его можно быстро вспомнить, и лишний раз ничего не искать.
Конечно эта статья не для Гуру :) Но я думаю - что любой неопытный в СКД программист сделает для себя небольшое открытие...

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Synoecium 733 01.09.17 11:15 Сейчас в теме
Проще затолкать в шаблон текст формирования СКД и подставлять на CTRL+Q в нужное место, пользы от этих знаний мало, имхо.
может кому пригодится:
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ВнешниеНаборыДанных = Новый Структура;
ВнешниеНаборыДанных.Вставить("ВнешнийНаборДанных1",ВнешнийНаборДанных1);
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Показать
Светлый ум; Артано; Fatenm; dabu-dabu; Montecrizto; Merkalov; zhenianik; talych; scp00002; maxst22; Serg O.; Gadzhalik; purgin; Marxxx; RodinMax; Drivingblind; vz1987; Denis S; AneJIbcuH; kare; torbeev; docerman; RailMen; ice-net; rpgshnik; frkbvfnjh; user705522_constantin_h; portwein; igormiro; vano-ekt; Natain14; allga383; Denis211990; Deslime; jaroslav.h; Serdgio; sergelemon; c1nil; Бубузяка; monkbest; Infector; Irwin; amoarok; EMelihoff; jeyrico; echo77; rayastar; Designer1C; bubus; CyberCerber; корум; +51 Ответить
2. smirnov.es 18 01.09.17 11:35 Сейчас в теме
Запоминание может пригодиться разве что на собеседованиях, и то в очень редких случаях.
Скопировать из заметки или вообще из шаблона, как (1) предлагает, еще и быстрее в несколько раз, чем руками набивать
rpgshnik; jeyrico; корум; +3 Ответить
7. dbachinsky 01.09.17 15:04 Сейчас в теме
(1) А если нет макета СКД и его тоже нужно создать программно на основании текста запроса или таблицы значений, тогда стоит добавить в шаблон программное формирование схемы компоновки данных https://infostart.ru/public/575659/
sergelemon; Светлый ум; +2 Ответить
8. unichkin 1412 01.09.17 16:03 Сейчас в теме
(1) А по мне польза самая что ни на есть очевидная.. Сам механизм становится более прозрачен, когда все это в голове укладываешь. Принципиально для СКД шаблоны не пользую - алгоритм небольшой и простенький, и егшо воспроизведение помогает держать себя "в форме".
rabota.v8.1c; maxst22; tinkerbell; broo; Makushimo; docerman; TreeDogNight; lmm; Batman; monkbest; +10 Ответить
3. Altair777 643 01.09.17 11:36 Сейчас в теме
А зачем вообще что-то запоминать?
Создай в Гуглдоке файлик и пиши туда свою собственную энциклопедию :-)
А быстрее просто похухлить, или по ключевому слову в типовой найти.
sapervodichka; +1 1 Ответить
4. brr 181 01.09.17 12:23 Сейчас в теме
Зачем шаблон, функцию в общий модуль
rpgshnik; zqzq; jeyrico; +3 Ответить
5. пользователь 01.09.17 12:35
Сообщение было скрыто модератором.
...
6. user623969_dusa 01.09.17 13:03 Сейчас в теме
"что любой неопытный в СКД программист" боишься такие статья открывать и признаваться что ты неопытный в СКД программист))
9. пользователь 01.09.17 19:52
Сообщение было скрыто модератором.
...
10. echo77 1452 01.09.17 20:35 Сейчас в теме
Вот в этой публикации https://infostart.ru/public/80164/ приведена процедура(которую надо немного подправить), которая все делает, плюс она универсальная, т.е. может заполнять ТабличныйДокумент, ТаблицуЗначений, ДеревоЗначений
frkbvfnjh; lmm; Светлый ум; zqzq; +4 Ответить
11. Бубузяка 62 06.09.17 08:47 Сейчас в теме
Плюсанул за оригинальность, но использую шаблоны.
Артано; +1 Ответить
12. debova 06.09.17 11:55 Сейчас в теме
Подскажите пожалуйста, может кто сталкивался.
В 8.3 вывожу макет через данный код на сервере, при попытке "расшифровать" данные на клиенте, отображается только "индекс" (цифра). Получается что "ДанныеРасшифровки" сохраняются только на сервере. И как их тогда получить кликнув мышкой на форме в Результате?
13. pasha_2001 27.12.17 09:36 Сейчас в теме
Для получения расшифровки необходимо прописать код в событии ОбработкаРасшифровки
14. acsent 1181 09.01.18 10:39 Сейчас в теме
на гисте сохранил кусок кода и когда нужно подглядываешь
https://gist.github.com/a-sitnikov/0be8665d52bfc18f563d4d77a827034d
IvanGorbunov; agdam_m; +2 Ответить
15. AlX0id 11.01.18 08:23 Сейчас в теме
А еще лучше - сделать функцию-обертку - ВыполнитьКомпоновку - туда передать схему, структуру параметров и отборов (ну или настроенный компоновщик сразу). И ее из обработки дергать. Или из шаблона - на вкус и цвет.
16. tinkerbell 06.03.18 14:32 Сейчас в теме
17. kudim 07.05.18 15:37 Сейчас в теме
Респект за старания. про схему не упомянул. что и откуда
18. timeforlive 15 10.07.21 13:50 Сейчас в теме
Способ полезен на экзамене 1С специалист. Спасибо, автор.
п.5 можно не запоминать, в синтакс-помощнике легко находится (платформа 8.3.18)

в п.6 я бы поставил такой код:
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию);
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Документ", Документ);
		
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Макет, КомпоновщикНастроек);
Прикрепленные файлы:
19. unichkin 1412 10.07.21 17:36 Сейчас в теме
(18)
КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Документ", Документ);

- а это зачем?
20. unichkin 1412 10.07.21 17:42 Сейчас в теме
(18)
КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию);


В компоновщик имеет смысл загружать только модифицированные настройки. Эта строка лишь может ввести кого-то в лишние поиски на тему "а зачем так было сделано?".
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Севастополь
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 120 000 руб.
Полный день

Ведущий программист-консультант 1С (УХ)
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Программист 1С (розница)
Москва
зарплата от 160 000 руб. до 160 000 руб.
Полный день