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

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

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

Коллекция кода

На вопрос «Что можно делать в СКД , в процедуре ПриКомпоновкеРезультата ?» смело отвечайте «Все!» и вы не ошибетесь. Ниже список приемов кодирования внутри процедуры ПриКомпоновкеРезультата, подходит для УТ 11.4.6.188 и многих других современных программ. Пункты 6-8 уже подробно описаны на сайте, включил их для полной картины. Хотелось обобщить, собрать все приемы в одном месте.

 
 1. Присвоить значение параметра.
 
 2. Дополнительная обработка табличного документа ДокументРезультат.
 
 3. Изменить текст запроса, получить значение параметра.
 
 4. Установить дополнительный отбор
 
 5. Подсчитать итог по отчету
 
 6. Внешние наборы данных (ссылки).
 
 7. Нестандартная обработка системы компоновки данных (ссылки).
 
 8. Нестандартная расшифровка (ссылки).
 
 Прочее

 Кроме всего вышеперечисленного, в процедуре «ПриКомпоновкеРезультата» можно устанавливать нужный вариант отчета или проверять права пользователя на доступ к отчету, но как правило, это выполняют раньше. В типовой конфигурации УТ разработчики чаще всего используют приемы 2-4, 7. Вот кажется и все.

Файл с учебным примером прикреплен.

Обновление от 13/09/2019

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

ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(),

ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(),

ПолучитьИсполняемуюСхемуКомпоновкиДанных(),

ПолучитьИсполняемыеНастройкиКомпоновкиДанных().

Обновление от 26/12/2019

Для ограниченных прав можно проверять длительность периода отчета и полноту условий, например

ЭлементыОтбора = КомпоновщикНастроек.ПолучитьНастройки().Отбор.Элементы;
Если НЕ КомпоновкаДанныхКлиентСервер.ИспользуетсяОтбор(ЭлементыОтбора, "Склад") Тогда ...

 

 

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

Наименование Файл Версия Размер
Файл с учебным примером

.erf 7,95Kb
14.11.19
18
.erf 7,95Kb 18 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
35. John_d 2667 31.07.19 09:12 Сейчас в теме
(1) Добрый день! Спасибо, интересно.
Вот еще статья по теме ПриКомпоновкеРезультата.
1. Использование Набора данных и загрузка в него Таблицы значений.
3. Установить параметры в модуле отчета
4. Заголовок в отчете СКД
https://infostart.ru/public/967277/
36. vasilev2015 1941 31.07.19 10:18 Сейчас в теме
(35) Здравствуйте !

Посмотрел, неплохая статья.
38. skv_79 216 31.07.19 18:18 Сейчас в теме
(1) Спасибо, всегда интересно читать примеры, собранные опытным путем в библиотеку знаний и приемов. Повышает скилл программиста :)
2. user623969_dusa 26.07.19 13:07 Сейчас в теме
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

ЗначениеРасчета = "Заменить текст вычислением значения";
КомпоновкаДанныхКлиентСервер.УстановитьПараметр(КомпоновщикНастроек, "СложныйАлгоритмРасчета", ЗначениеРасчета);

вот за это 1сников и не считают за программистов

ввел значение расчета выделил под нее память и она тут же используется и больше нигде
и это в образцы кода
комментария достаточно 3й параметр то-то и то-то

плюс еще названа ЗначениеРасчета можно подумать что это Значение но это разные вещи
4. vasilev2015 1941 26.07.19 13:24 Сейчас в теме
(2) Здравствуйте !

Это учебный пример.

В реальности вместо текста должен быть вызов функции (вычисление значения).

:))
5. Rais96 26.07.19 14:33 Сейчас в теме
(2) Вы смотрели байт-код этой процедуры? В си, компилятор оптимизирует байт-код и независимо как написать в одну или две строки на выходе будет один и тот же код. А программа пишется для программиста и понятнее как раз в две строки.
6. user623969_dusa 26.07.19 14:42 Сейчас в теме
(5) интерпретатор в 1с и вряд ли там есть оптимизация это ж даже не среда разработки
7. Rais96 26.07.19 14:52 Сейчас в теме
(6) "вот за это 1сников и не считают за программистов " - задело это, в других языках, в частности Си, это как раз допустимо и приветствуется как правило запись в две строки.Если Вы знаете как выполняется код в 1С, то тогда может и правы. Но 1С это все же среда разработки.
9. user623969_dusa 26.07.19 14:57 Сейчас в теме
(7) я не против записать в две строки, но дать переменной осмысленное название если она нужна в данном случае переменную надо назвать ВыражениеКомпоновки чтобы не путать со значением
но переменная не нужна и можно было в комментарий записать или вообще в строковый реквизит вместо переменной
"тут команда выполнить"

я когда прочитал прямо почувствовал как у меня из-за напряжения в голове уменьшилось количество во нейронов, поэтому и высказал претензию автору образцы кода должны быть легкими для восприятия
14. Бэнни 129 27.07.19 14:52 Сейчас в теме
(9)тут у нас волшебник господа. Он хочет оптимизировать код, но не алгоритм. Он борется за количество строк, но не хочет понять что, код для программиста а не для машины. И что читать а тем более отлаживать легче алгоритмы написанные не в одну строку с подстановкой параметров функций в месте их вычисления. Он хочет заменить переменную на комментарий. Наверное его код представляет из себя пол листа текста с пояснениями и одну строку вызова функции где все параметры вычисляются в месте вызова.
barneotec; CyberCerber; Dmitri93; wowik; KazanKokos; Dach; Lapitskiy; +7 1 Ответить
15. user623969_dusa 27.07.19 16:05 Сейчас в теме
(14) прочитал бы три раза прежде чем писать

за колво строк я не борюсь - читай внимательно выше "я не против писать в две строки"

ну и далее читай и думай, значит голову включай)
10. webester 34 26.07.19 18:00 Сейчас в теме
(6)Вряд ли там есть оптимизация, это даже не среда разработки...
Можно объяснить, для тупых, как связаны среда разработки и оптимизация байткода?
16. user623969_dusa 27.07.19 16:05 Сейчас в теме
(10) тупым объяснять - хорошая шутка))
17. webester 34 28.07.19 01:14 Сейчас в теме
(16)пруфов не будет, понятно, ты видимо просто умничал в (5) но немного обосрамс
Dmitri93; +1 Ответить
23. user623969_dusa 29.07.19 09:12 Сейчас в теме
(17) добрый я с утра - тебя интересует что значат мои слова "интерпретатор в 1с и вряд ли там есть оптимизация это ж даже не среда разработки"
хоть это и не по теме
для этого надо понимать отличия интерпретатора от компилятора - интепретатор выполняет код таким какой он есть по сути выполняя построчный перевод, в нем по определению нет оптимизации
а то что кнфигуратор не среда разработки - гугли определение - это один из режимов программы. 1с хочет создать среду разработки - их продукт едт, он на нее больше похож. То что в конфигураторе есть отладчик и редактор текста это не делает его средой разработки, я так на блокнот напишу сверху проверку синтаксиса и скажу создал среду разработки. Скорее конфигуратор это песочница (вряд ли поймешь если две строки не понял - но пробуй читай определение, что это программа ограничивающая кривые руки разработчиков - основные объекты изменять нельзя, код можно писать только в заданных модулях), вероятно корпоративный желтый цвет не случайно, песок же желтый)))

изначально мой пост был о том что заметил человек в (19) попробуй там прочитать и понять, не считай себя тупым не отчаивайся)
41. webester 34 01.08.19 14:02 Сейчас в теме
(23)
добрый я с утра...
очень неплохо

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

(23)
интепретатор выполняет код таким какой он есть по сути выполняя построчный перевод, в нем по определению нет оптимизации
Ничоси, расскажи это java php и perl а еще расскажи как 1с вычисляет(не всегда конечно) бесконечные циклы.

изначально мой пост был о том что заметил человек в (19) попробуй там прочитать и понять

не, изначально сообщение было о том, что оптимизаций нет, потому, что конфигуратор не такой, как тебе бы хотелось

не считай себя тупым не отчаивайся)

Спасибо, добрый, человек, я стараюсь
43. user623969_dusa 01.08.19 14:42 Сейчас в теме
(41) плохо стараешься, пишешь код и смотришь как его понимает конфигуратор - есть оптимизация или нет для этого все средства у тебя есть удачи

если бы ты включил голову и вчитался в приведенную тобой цитату то увидел бы в ней предположение и никакой аргументации, вероятно из-за этого ты увел спор в другую тему совсем не связанную с темой топика

еще раз вернуться к теме топика и высказанной мной претензии - объявляется переменная, которая тут же используется и больше нигде - это не нужно и конфигуратор или интерпретатор или "среда разработки" как ты ее называешь вряд ли такое оптимизирует будет выделена память на ненужную переменную

вроед то что конфигуратор не среда обработки я тоже пояснил - ты загуглил "определение конфигуратора" получил конфигуратор - это режим работы программы
44. webester 34 01.08.19 18:49 Сейчас в теме
(43)
плохо стараешься
как могу, сорян, что разочаровал, в следующий раз буду стараться лучше
если бы ты включил голову и вчитался в приведенную тобой цитату то увидел бы в ней предположение и никакой аргументации, вероятно из-за этого ты увел спор в другую тему совсем не связанную с темой топика
Я просто спросил по теме поста в (6) мне показалось, что это среда неразработки(здесь и далее имеется ввиду конфигуратор) и оптимизация выполняемого кода, две не связанные вещи. Я подумал, может я туповат и не понимаю элементарных вещей? Спросил на всякий, ты сказал, да ты туповат. Я спросил но, чего же я не понял? Ты вместо аргументов отвечаешь, что я спор куда-то увожу. По моему туповат не я.
как ты ее называешь вряд ли такое оптимизирует будет выделена память на ненужную переменную
Может быть у тебя есть исходные коды, что бы делать такие заявления? Или хотя бы рекомендации вендора?
ты загуглил "определение конфигуратора" получил конфигуратор - это режим работы программы

Просто поток сознания, никак не относящийся к беседе с обсуждением что предполагает под собой термин.
45. user623969_dusa 02.08.19 08:07 Сейчас в теме
(44) блин ты не до конца туповат, ты молодец стараешься, правильно понимаешь ты уводишь спор не в ту сторону, я сказал фразу конфигуратор не среда разработки на уровне бога нет... хочешь верь хочешь нет, приводил пример для кого -то и блокнот среда разработки, только сверху нужно добавить интерпретатор строк текста, ты так и не понял что конфигуратор ближе к песочнице - ограниченной среде для написания своего кода... конечно кодов у меня нет и с разработчиками 1с не спал , я работал в андроид студио, в эклипсе и сравниваю с ними... касательно примера - если бы я указал неиспользуемую переменную в них среда разработки вежливо мне подсказала что уважаемый переменная не используется, а конфигуратор смолчит и много других маст хев фишек - история изменений, версии приложений вних реально удобнее именно разрабатывать а с конфигуратором я отдельно держу библиотеку вот таких вот приведенных примеров кода, только у меня переменная для выражения скд не называется значением скд!
48. webester 34 02.08.19 16:28 Сейчас в теме
(45)ты таки пытаешься ответить не на тот вопрос, который я задал в (10) я не спорю среда разработки конфигуратор или нет. Я работал в php storm, когда писал первые сайты, я писал1c-cod.ru в PyCharm. Сейчас периодически курю другие вещи в visual studio code. Были и сублаймы и атомы и нотепад++ и обычный блокнот. Я понимаю разницу между средой разработки и продвинутым текстовым редактором. Может быть конфигуратор хороший, может быть плохой(на тему именно переменной, меня бесит когда мне тыкают этим при сборке, или каждой компиляции) но вопрос был другим. Может все таки ответишь на него а сопли на тему, что тебе, что то не нравится в том как работает конфигуратор или что не так названа переменная в абстрактном примере оставь себе. Уважаемые знатоки внимание вопрос связанный с (6)
Как все таки связаны несреда неразработки и оптимизация выполняемого байт кода? Большая просьба уважаемого user623969_dusa не уводить спор в сторону.
конечно кодов у меня нет и с разработчиками 1с не спал
тогда мне непонятно, откуда выводы про,отсутствие оптимизации. С потолка?
50. user623969_dusa 02.08.19 18:17 Сейчас в теме
(48) не могу ответить на вопрос который не задавал где ты увидел до 10 про байт код и среду разработки

как ты из (6)Вряд ли там есть оптимизация, это даже не среда разработки...

перевел это в
Можно объяснить, для тупых, как связаны среда разработки и оптимизация байткода?

ты невнимательно читал на что я ответил в (6)
оптимизация может быть не только байт кода а подсказки среды разработки как лучше написать программу представляешь - это тоже оптимизация - среда разработки подсказывает лучшее решение

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

даже попробую восстановить ход мыслей чтоб ты не мучался цени
5. Rais96 26.07.19 14:33
(2) Вы смотрели байт-код этой процедуры? В си, компилятор оптимизирует байт-код и независимо как написать в одну или две строки на выходе будет один и тот же код. А программа пишется для программиста и понятнее как раз в две строки.

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

не утони в тексте - не уйди опять в сторону
55. webester 34 03.08.19 04:27 Сейчас в теме
(50)
оптимизация может быть не только байт кода а подсказки среды разработки как лучше написать программу
Ах оптимизация среды разработки...так надо было сразу и сказать, не было бы срача. На тему, оптимизации конфигуратора есть оптимизаторы ввиде турбоконфа и снегопата. В последнем скриптами можешь сам прикрутить, все, что хочешь. Вроде как. Я сам не пользуюсь, но по описанию, вроде было так.
(51)
контролируется команда на повторение не больше Н раз
А если надо больше Н раз?
(52)
тебе кажется что в моих ответах вода
Неее мне так не кажется, все отлично. читать одно удовольствие, еще бы не грубил в процессе, вообще бы красота. Но это вроде как норм, люди любят хамить в нашей стране в России живем.
(52)
байт код не смотрим, смотрим замер производительности
Ок, согласимся. Но все равно наплевать ибо это демонстрационный пример, объясняющий механику и не может должен выступать образцом кода.
(53)
вот из-за такой маленькой фигни, раздул столько воды

Бомбануло знатно, лулзов норм прилетело, получил тонну удоволствия от этих брызг эмоций, правда монитор мне забрызгал с обратной стороны, как его теперь оттирать хз.
(53)
Сгубила меня моя доброта. Убивают тупые люди доброту на земле

Что случилось то? Надеюсь с тобой все хорошо. Не переживай так сильно пожалуйста из-за переменной в конфигураторе.Или из-за чего ты там так сильно разволновался. Неважно, просто не переживай )
51. user623969_dusa 02.08.19 18:37 Сейчас в теме
(48) еще раз отсутствие оптимизации простые логические рассуждения - есть замер производительности он показывает время выполнения команд - зачем замерять команду если она будет оптимизирована, значит работает интерпретатор - каждая команда имеет точку входа и выхода

кстати то что интерпретатор выполняет бесконечные циклы чтоб ты знал это не оптимизация а обработка исключительной ситуации - контролируется команда на повторение не больше Н раз - я не знаю, с разработчиками не спал, это логика , не всем доступно

ты ж не знаешь что такое оптимизация - это выбор лучшего из альтернатив, приводящих к решению.. бесконечный цикл к решению не приводит, это ошибочная ситуация а не вариант оптимизации.. с тобой было бы приятно рассуждать если бы в твоем тексте была бы не вода а вот такие рассуждения.. в прошлом (44) ты старался и мне показалось ты что то понял а тут (48) опять скатился на непонимание
52. user623969_dusa 02.08.19 18:52 Сейчас в теме
(48) сложно написал поймешь ли,
итого кратко простыми словами
человек в 5 говорит какая разница 2 строки или одна конфигуратор оптимизирует

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

байт код не смотрим, смотрим замер производительности

тебе кажется что в моих ответах вода потому что ты ждешь что я тебе расскажу про связь среды разработки и оптимизации байт кода... если все еще ждешь прочти 3 предыдущих абзаца повторно
53. user623969_dusa 02.08.19 19:06 Сейчас в теме
(52) вот из-за такой маленькой фигни, раздул столько воды, говорила мне мама не объясняй ничего тупым людям, ты ведь сам в (10) признался. Сгубила меня моя доброта. Убивают тупые люди доброту на земле. Кстати тупых людей больше - доброты меньше))
54. acanta 02.08.19 19:19 Сейчас в теме
(52) это странно. Имхо разделителем строк для интерпретатора является точка с запятой, а для программиста enter.
46. user623969_dusa 02.08.19 08:13 Сейчас в теме
(44)когда говоришь что конфигуратор среда разработки хочется добавить како-нибудь прилагательно вроде - доисторическая, урезанная или вот постарался нашел в некоторых источниках аргумент в твою пользу называют таки конфигуратор объектно-ориентированной средой разработки... вот без прилагательного просто средой разработки конфигуратор не называть - это против моей религии) понятно наконец
49. webester 34 02.08.19 16:32 Сейчас в теме
(46)Абсолютно наплевать, чем ты считаешь конфигуратор. Не могу понять, почему до тебя это до сих пор не дошло.
47. user623969_dusa 02.08.19 09:58 Сейчас в теме
(44) крик души - тупые псевдоразработчики 1с у надписи дата отправки поставили поле ввода дата доставки а блокнот конфигуратор не подсказывает)
12. Rustig 1608 27.07.19 11:25 Сейчас в теме
(2)
1сников и не считают за программистов

1сников это не волнует...
радуйтесь жизни и не глядите в рот другим...
JohnyDeath; CyberCerber; manlak; AgeevVG; AllexSoft; user811769; Pastor111; Lapitskiy; +8 Ответить
32. 1c-intelligence 10564 30.07.19 22:10 Сейчас в теме
(12)
и не глядите в рот другим

Вроде, чтобы глядеть в рот, надо впереди стоять. В большом мире считается, что 1Сники стоял позади. Куда им тогда не глядеть? :)
3. DoctorRoza 26.07.19 13:08 Сейчас в теме
Хороший материал, пригодится
8. v3132 13 26.07.19 14:52 Сейчас в теме
Полезный материал и хорошо оформлен.
11. aximo 1642 27.07.19 07:00 Сейчас в теме
прикольно, базовые вещи уже обсуждаем - напишите, что "при компановке" - это единственное правильное стандартизированное решение... а то многие до сих пор работают на "форме" и считают себя мегаспецами, ну а за ними переделывать все приходится))))
triviumfan; +1 Ответить
13. Rustig 1608 27.07.19 11:27 Сейчас в теме
(0) не проверял, но в избранное положу....звездочку в карму
18. Поручик 4444 28.07.19 23:52 Сейчас в теме
Я этим пользуюсь сплошь и рядом. Редкий отчёт без неё, только самый простой
19. Armando 1394 29.07.19 00:14 Сейчас в теме
В первом примере на снимке изображены параметры схемы компоновки данных. А в коде приведен пример установки параметров настроек компоновки данных. Все-таки важно понимать, какие параметры устанавливаем, а то можно словить неожиданные эффекты.
20. acanta 29.07.19 01:14 Сейчас в теме
(19) В коде можно изменить параметры схемы?
21. Armando 1394 29.07.19 01:46 Сейчас в теме
22. vasilev2015 1941 29.07.19 08:18 Сейчас в теме
(19) Здравствуйте !

спасибо за уточнение.
24. AlX0id 29.07.19 16:39 Сейчас в теме
Три раза за сегодня залез подглядеть - пришлось звездочку поставить %))
25. vasilev2015 1941 29.07.19 17:46 Сейчас в теме
(24) Здравствуйте !

да я сам только для того статью и написал, чтобы сюда подглядывать.
AlX0id; acanta; +2 Ответить
26. tamepjlah 30.07.19 10:56 Сейчас в теме
подходит для УТ 11.4.6.188 и многих других современных программ

ЗУП 8.3.15.1489 не современная... Присвоение значения параметра выглядит примерно так:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	НашПараметр = Справочники.ПодразделенияОрганизаций.НайтиПоКоду("9999")
	
	Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;
	Параметры.УстановитьЗначениеПараметра("Подразделение", НашПараметр);
КонецПроцедуры
33. tamepjlah 31.07.19 07:32 Сейчас в теме
(26) только сейчас заметил, что скинул версию платформы. ЗУП 3.1.9.227
34. vasilev2015 1941 31.07.19 07:50 Сейчас в теме
(33) Здравствуйте !

Мало адептов ЗУП, никто не заметил. Можно еще посмотреть версию БСП командой

СтандартныеПодсистемыСервер.ВерсияБиблиотеки();

?

Во всех отчетах используют Параметры.УстановитьЗначениеПараметра, или исключительный отчет ?
37. tamepjlah 31.07.19 12:24 Сейчас в теме
(34)
Можно еще посмотреть версию БСП командой

3.0.1.440

Во всех отчетах используют Параметры.УстановитьЗначениеПараметра, или исключительный отчет ?

В типовых отчетах для каждого параметра используется примерно такой код:
ПараметрДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
ПараметрДанных.Значение = ПериодНастройкаПользовательская.Значение.ДатаНачала;
ПараметрДанных.Использование = Истина;

Мы для себя решили, что в самописных отчетах будем получать все параметры данных и уже с этим работать
27. logarifm 1084 30.07.19 15:13 Сейчас в теме
Если Вы заговорили о штатных конфигурациях то позвольте с Вами в кой чем не согласится, а именно не все возможно сделать в процедуре ПриКомопоновкеРезультата, а именно, вот недавно пришлось решать задачу на базе конфигурации БСП. В отчете указаны параметры и отчет надо сделать с вызова команды. То есть есть документ Приход в нем необходимо добавить в подменю Отчеты нашу команду с вариантом отчета (это не главное). Главное то что отчет должен открыться сразу с параметрами из Номерами артикулов из документа. В отчете это не Отбор , а ПараметрДанных (так спроектированно). Так вот ПриКомпоновке нам никак не удасца присвоить наши значения параметров.

В БСП имеется функционал:

НастройкиОтчета.ОпределитьНастройкиФормы = Истина; (необходимо в модуле менеджера отчета или общего модуля описать)

потом в модуле объекта Отчета уже прописать установку таких параметров.


// Настройки общей формы отчета подсистемы "Варианты отчетов".
//
// Параметры:
//   Форма - УправляемаяФорма, Неопределено - Форма отчета или форма настроек отчета.
//       Неопределено когда вызов без контекста.
//   КлючВарианта - Строка, Неопределено - Имя предопределенного
//       или уникальный идентификатор пользовательского варианта отчета.
//       Неопределено когда вызов без контекста.
//   Настройки - Структура - см. возвращаемое значение
//       ОтчетыКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию().
//
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
	
	Настройки.События.ПриОпределенииПараметровВыбора = Истина;
	
КонецПроцедуры


// Вызывается в форме отчета перед выводом настройки.
//   Подробнее - см. ОтчетыПереопределяемый.ПриОпределенииПараметровВыбора().
//
Процедура ПриОпределенииПараметровВыбора(Форма, СвойстваНастройки) Экспорт
	
	Параметры = Форма.Параметры;
	
	Если Параметры.Свойство("ПараметрКоманды") Тогда
		
		Если Параметры.Свойство("ОписаниеКоманды")
			И Параметры.ОписаниеКоманды.Свойство("ДополнительныеПараметры") Тогда
			
			Если СвойстваНастройки.Тип = "ЗначениеПараметраНастроек"
				И СвойстваНастройки.ПолеКД = Новый ПолеКомпоновкиДанных("ПараметрыДанных.Номера") 
				И Параметры.ОписаниеКоманды.ДополнительныеПараметры.ИмяКоманды = "СОтборомПоНомерам" Тогда
				
					Список = ПолучитьСписокНомерИзТабличнойЧасти(Параметры.ПараметрКоманды); 
					СвойстваНастройки.ПользовательскаяНастройкаКД.Значение = Список;
					
				
			КонецЕсли;
			
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры

Показать


Может кому пригодится...
28. vasilev2015 1941 30.07.19 15:28 Сейчас в теме
Здравствуйте !

Фразу "...что можно сделать ? - Все.." я написал с долей иронии.

Как я понимаю, открытие отчета происходит раньше формирования, раньше события "ПриКомпоновке..."

Кстати, я следующую статью уже заготовил, там будет про ОпределитьНастройкиФормы.

В любом случае, спасибо за отзыв, может кому пригодится.
29. logarifm 1084 30.07.19 15:34 Сейчас в теме
(28) Обратите уклон на БСП в этом сущность. 1С как обычно все описала как смогли на ИТС

Я только хотел чтобы Вы обратили внимание именно на БСП. Там много фичей при получении настроек Вне формы (основной) эта форма переопределяется. И вот здесь нам разработчики немножко оставили поле для деятельности.
40. vasilev2015 1941 01.08.19 10:38 Сейчас в теме
(29) Здравствуйте !

опубликовал статью про БСП, как вы хотели

https://infostart.ru/public/1100185/
30. Yashazz 3581 30.07.19 19:06 Сейчас в теме
Ну, сборник самоочевидностей и баянов, конечно, но как антисклерозная записная книжка - вполне прокатит и потому невредно быть.
31. vasilev2015 1941 30.07.19 20:39 Сейчас в теме
(30) Здравствуйте, Яков !

Откуда Вы узнали про мой склероз ?

Не помню, чтобы я про это кому-то рассказывал....
39. Yashazz 3581 31.07.19 18:39 Сейчас в теме
(31) Я вообще-то про себя) потому что у меня, к примеру, бывает - забывается некая тонкость, а в таком поминальничке раз, и посмотрел.
42. Nefilimus 73 01.08.19 14:33 Сейчас в теме
Спасибо большое! Было приятно узнать новое.
56. user1194102 10.02.20 08:33 Сейчас в теме
Здравствуйте, большое спасибо за статью, допишите еще пожалуйста модуль - как подключить свой Макет (например унифицированную форму) можно без цикла, например Счет без ТЧ или приказ о приеме на работу, в самом простом виде, что бы просто понять как вывести параметры запроса из СКД в Свой макет.
57. vasilev2015 1941 10.02.20 11:39 Сейчас в теме
(56) Здравствуйте ! Да, постараюсь.
58. resonance 18.03.20 22:57 Сейчас в теме
Добрый день. Спасибо помогли. Отличная статья.
59. German_Tagil 24 07.07.20 06:31 Сейчас в теме
Помогите пожалуйста
есть форма документа - счет на оплату поставщика
вызывается внешний отчет СКД

сформированные данные надо записать в документ откуда вызывался отчет


&НаСервере
Функция ПолучитьПользовательскиеНастройки(ВнешнийОтчетОбработкаДляОткрытияСсылка);
    
    КомпоновщикНастроек=ДополнительныеОтчетыИОбработкиВызовСерве­ра.ОбъектВнешнейОбработки(ВнешнийОтчетОбработкаДляОткрытияСсылка).КомпоновщикНастроек;
    Настройки=КомпоновщикНастроек.ПолучитьНастройки();
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода",НачалоГода(ТекущаяДата()));
     Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода",КонецДня(ТекущаяДата()));
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка",объект);
      
  

    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
    Возврат КомпоновщикНастроек.ПользовательскиеНастройки;
КонецФункции

Показать



в модуле объекта отчета


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

 СтандартнаяОбработка = Ложь;
 

 Настройки = КомпоновщикНастроек.ПолучитьНастройки();
 ПараметрыДанных = Настройки.ПараметрыДанных;
 Регистратор  = ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Проба")).Значение;
 ссылка =   ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ссылка")).Значение;

 
 
 КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
 МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, , , Ложь);
 ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
 ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки, Истина);
 ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
 ПроцессорВывода.УстановитьДокумент(ДокументРезультат);

  ПроцессорВывода.Вывести(ПроцессорКомпоновки);



если Регистратор = Истина тогда

ДокОб = ДанныеФормыВЗначение(ссылка,Тип("ДокументОбъект.Счетнаоплатупоставщика"));


ну и далее обработка..

конецесли;    

Показать


этот вариант работает но настройки недоступны потому что форма настроек не понимает
что такое ссылка

поэтому пытаюсь получить владельцаформы.объект
в форме отчета

&НаКлиенте
Процедура СН_ПриОткрытииПосле(Отказ)
    
    Сообщить(ВладелецФормы.Объект);

    ПриОткрытииНаСервере(ВладелецФормы.Объект); 
    
    
КонецПроцедуры


&НаСервере
Процедура ПриОткрытииНаСервере(Знач Об1)
ДокОб = ДанныеФормыВЗначение(Об1,Тип("ДокументОбъект.Счетнаоплатупоставщика"));
Сообщить(ДокОб);


КонецПроцедуры 

Показать




Вопрос каким образом передать владельцаформы.объект в процедуру ПриКомпоновкеРезультата????????
60. vasilev2015 1941 07.07.20 17:23 Сейчас в теме
(59) Здравствуйте !
вопрос не по теме, но попробую ответить.

Чтобы из внешней обработки изменять документ, лучше воспользоваться типовым механизмом БСП "Обработки табличных частей", например https://infostart.ru/public/825702/
61. German_Tagil 24 08.07.20 05:49 Сейчас в теме
(60) Спасибо но каким образом это поможет передать Владелецформы.объект в ПриКомпоновкеРезультата?
62. vasilev2015 1941 08.07.20 11:28 Сейчас в теме
(61) я не уверен, что использовать событие "ПриКомпоновкеРезультата" - верное решение. Что Вы там уникальное делаете ? Почему нельзя установить параметр заранее ? Изменять документ-объект лучше через "обработку табличных частей"
63. German_Tagil 24 08.07.20 14:18 Сейчас в теме
(62) Я делаю отчет который вызывается из формы документа
посчитали посмотрели записали в документ
вот вроде и все ....
64. vasilev2015 1941 08.07.20 14:55 Сейчас в теме
(63) Изменять текущий документ лучше с помощью внешней "обработки табличных частей". В ней точно можно изменять документ - источник.

Если вы не хотите пользоваться БСП - при открытии формы обработки сохраняйте значение ВладелецФормы.Объект в реквизит объекта-обработки. При компоновке читайте ее оттуда.

У нас получается уже полноценная консультация. ((
65. Angealtor 34 14.09.20 15:17 Сейчас в теме
Как раз то, что нужно. Забираю статью себе в избранное. Спасибо!
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    36039    tormozit    54    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Практика программирования Интеграция v8 Абонемент ($m)

Цель данной статьи - сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

1 стартмани

09.10.2020    2761    hexhoc    12    

Программная корректировка при выводе отчета СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

08.10.2020    3362    dabu-dabu    8    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

Практика программирования v8 1cv8.cf Абонемент ($m)

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    3783    Flashill    10    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Практика программирования v8 УПП1 Россия Абонемент ($m)

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

2 стартмани

08.05.2018    27220    wowik    3    

Параллельные вычисления расчета факториала числа N

Практика программирования v8 1cv8.cf Абонемент ($m)

Распараллеливание алгоритма с помощью фоновых заданий (асинхронные вычисления)

1 стартмани

29.06.2020    2851    Rustig    17    

Методика обновления формы объекта данных при изменении объекта

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

09.03.2020    8866    tormozit    13    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    5915    user5300    3    

Как нарисовать граф на 1С Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

09.08.2013    70702    ildarovich    117    

Вывод сообщений в HTML поле средствами 1С

Практика программирования v8 v8::УФ Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    6054    burni4    16    

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

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

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

27.01.2020    30841    ids79    26    

Краткое руководство по внесению изменений в конфигурацию

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.01.2020    17691    sapervodichka    41    

Простой способ индексирования интервалов Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

28.09.2016    39841    ildarovich    22    

Универсальные функции: разложение произвольной строки адреса в структуру

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

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

1 стартмани

30.12.2019    3923    vik070777    10    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    13725    blackhole321    7    

RLS - дубли условий в запросах к СУБД

Практика программирования Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

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

1 стартмани

07.10.2019    8554    geron4    4    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    35285    rpgshnik    49    

Полное копирование одной формы в другую

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде "покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал". Тем не менее, мне стало интересно, как это можно сделать.

1 стартмани

03.10.2019    5335    nekit_rdx    23    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    9472    ids79    46    

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Документооборот и делопроизводство Практика программирования v8 ДО Абонемент ($m)

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

1 стартмани

15.09.2019    7018    pavelpribytkin96    8    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    45559    dsdred    42    

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

Практика программирования Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

06.09.2019    19705    Dementor    30    

Удобный просмотр результата запроса с большим количеством временных таблиц

Практика программирования v8 Абонемент ($m)

Если Вам часто приходится просматривать в отладчике сложные пакетные запросы с большим количеством временных таблиц, то эта статья для Вас.

1 стартмани

27.08.2019    11030    ids79    21    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

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

2 стартмани

24.08.2019    11354    BenGunn    22    

Некоторая работа с данными через COM Промо

Практика программирования v8 Абонемент ($m)

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    57775    wowik    32    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

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

1 стартмани

06.08.2019    16382    signum2009    16    

10 способов получить модуль числа (а может, и больше)

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Пишем функцию вычисления модуля числа. Сколько способов существует? Давайте посчитаем!

1 стартмани

11.07.2019    8770    sam441    29    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    11278    azazana    79    

Работа со схемой запроса Промо

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    44723    kalyaka    35    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    9404    ivanov660    28    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

Учет ТМЦ Практика программирования Учет ТМЦ v8 УУ Абонемент ($m)

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

3 стартмани

24.06.2019    16307    informa1555    17    

1С:Ассемблер. Немного летнего веселья!

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

21.06.2019    29621    Evil Beaver    128    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

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

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    49336    DarkAn    86    

Простые примеры сложных отчетов на СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Подписи в отчете. Особенности соединения наборов: как соединить несоединяемое. Остатки на дату и обороты по месяцам в одном отчете. Курс валюты на каждую дату без группировок и соединений в запросе. Отчет с произвольными колонками и с произвольной последовательностью. "Неадекватный отчет".

1 стартмани

12.06.2019    30450    Hatson    31    

Графики работы из БСП

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

Не очень давно на канале 1С:БСП была опубликована заметка по использованию Графиков работы и Календарных графиков.

1 стартмани

23.05.2019    3354    fenixnow    0    

Создание внешней печатной формы в формате документа Word

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В статье написано, как создать внешнюю печатную форму (для конфигураций с БСП) в формате Word.

1 стартмани

17.05.2019    14550    ВикторП    21    

Новый запрос и новая таблица значений как функции Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

27.11.2012    45359    ildarovich    46    

Еще один способ нестандартной расшифровки отчета. Без использования обработчиков формы. Для ленивых

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

Лень+ СКД. Еще один нестандартный способ расшифровки отчета. Без использования обработчиков формы. Только макет компоновки и модуль отчета. Весь исходный текст в статье.

16.05.2019    10330    tusv    55    

Пример настройки шаблонов и реализации печати отчетов в документ MS Word используя функциональную часть "Библиотеки Стандартных Подсистем 1С" (БСП)

Практика программирования Разработка v8 Россия Абонемент ($m)

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

1 стартмани

23.04.2019    6462    olegpkc    11    

Ops средствами 1С:Предприятие

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

23.04.2019    17509    blackhole321    28    

Уровни, глубина, прародители, циклы и аналоги запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    112852    ildarovich    98    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.04.2019    33894    riposte    65    

Вывод вариантов СКД в таблицы на управляемой форме

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

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

05.04.2019    11463    artkor    1    

[EnterpriseData] Антисвертка характеристик номенклатуры при выгрузке в Бухгалтерию

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 v8::ПВХ КД УНФ БП3.0 Россия БУ Абонемент ($m)

Рассмотрена выгрузка каждой пары значений Номенклатура - Характерстика из УНФ 1.6 в отдельную номенклатуру в Бухгалтерию 3.0 путём доработки правил обмена в формате EnterpriseData.

1 стартмани

27.03.2019    4750    nforce    6    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали Промо

Практика программирования Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::СКД КА1 УТ10 УПП1 УУ Абонемент ($m)

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

1 стартмани

28.02.2014    68590    ildarovich    125    

Интеграция 1С и SharePoint

Практика программирования Разработка v8 УНФ ДО ERP2 БП3.0 УТ11 УХ КА2 Россия Абонемент ($m)

Заказчики поставили задачу автоматизации согласования заявок на оплату в программе 1С:Бухгалтерия предприятия 3.0. Согласно ТЗ, данные должны подтягиваться из действующей электронной системы документаоборота на MS SharePoint (в дальнейшем СЭД MS SP).

1 стартмани

22.03.2019    5557    -I-    4    

Легкий "тюнинг" УТ 10.3

Практика программирования Разработка v8 v8::ОУ УТ10 Россия УУ Абонемент ($m)

Вариант программной реализации изменения форм типовых объектов для конфигурации Управление торговлей 10.3.

1 стартмани

15.03.2019    4481    pm74    6    

Пример использования СКД и данных расшифровки на мобильной платформе

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

СКД в мобильном приложении и меню действий на основе данных расшифровки (отчет, совместимый с мобильной платформой 8.3.13.45).

1 стартмани

12.03.2019    5600    majoram    0    

Транзитивное замыкание запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.10.2012    86220    ildarovich    118    

Программное создание реквизита управляемой формы с помощью механизма расширений

Практика программирования Разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

12.03.2019    37824    ni_cola    31    

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

Практика программирования Математика и алгоритмы Разработка v8 Абонемент ($m)

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

1 стартмани

04.03.2019    5818    Alxby    4    

Асинхронная работа с текстовыми файлами в 1С 8.3

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В этой статье я рассмотрю основные моменты работы с текстовым файлом в 1С 8.3. (загрузка - выгрузка) в режиме отключенной модальности (асинхронно).

1 стартмани

28.02.2019    7779    signum2009    6