Имя: Пароль:
1C
1С v8
Как изменить вывод строк запроса в СКД?
0 mirrr
 
30.11.11
12:07
Есть запрос на СКД.
Нужно, при формировании документа-результата, обращаться к каждой текущей строке выборки и, проверяя значения на соответствие условиям, выводить определенные данные в свой макет группировки. Кроме того по каждой строке нужно в переменную записывать по условию сумму значений (т.е. из одной строки сумму включать в переменную, из другой нет), а затем выводить ее в свой макет общих итогов (стандартные общие итоги не считают по такому алгоритму).
Подскажите, как это можно сделать?
1 mirrr
 
30.11.11
12:17
?
2 чувак
 
30.11.11
12:23
Как-то так:

   Пока Истина Цикл
       ЭлементРезультата = ПроцессорКомпановки.Следующий();
       Если ЭлементРезультата = Неопределено Тогда
           Прервать;
       Иначе
           // Бла бла
       КонецЕсли;
   КонецЦикла;
3 mirrr
 
30.11.11
12:25
это в модуле объекта надо писать в какой процедуре?
4 mirrr
 
30.11.11
12:32
(3)?
5 чувак
 
30.11.11
12:32
(3) А как формируется вообще отчет? Через какую кнопку?
6 mirrr
 
30.11.11
12:33
Стандартная команда "Сформировать"
7 чувак
 
30.11.11
12:37
(6) Этот код работает тогда, когда обработчик событий кнопки доступен. ИМХО
8 mirrr
 
30.11.11
12:42
а в других процедурах (ПриКомпоновкеРезультата или других) нельзя отловить каждую текущую строку выборки?
9 PVV65
 
30.11.11
12:46
(8) А пользовательские поля не подойдут?
10 mirrr
 
30.11.11
12:49
(9) нет, пробовал их.
у меня так(результат запроса):

Договор____СуммаДоговора____Документ
1__________5000_____________Док1
1__________5000_____________Док2
1__________5000_____________Док3
1__________5000_____________Док4

В общих итогах по полю Договор выводит 20000, хотя сумма по договору=5000 и надо выводить 5000.
Поэтому думал как-то программно проверять на значение текущей строки в выборке и суммировать в какую-то переменную реальную сумму по договору(5000) и потом значение этой переменной выводить в общие итоги.
11 mikecool
 
30.11.11
12:51
(10) итоги суммируй только по договору
12 mirrr
 
30.11.11
12:55
(11)так я и суммирую только по договору. Договор есть в четырех документах, соответственно 5000*4=20000. А сумма по договору=5000.
13 чувак
 
30.11.11
12:56
В СКД в закладке "Ресурсы" у этого ресурса в колонке "Рассчитывать по" установи флажок на "Договор"
14 mirrr
 
30.11.11
12:56
т.е. надо так сделать:

Договор____СуммаДоговора____Документ__СуммаДока
1__________5000_____________Док1_______100
1__________5000_____________Док2_______5600
1__________5000_____________Док3_______4500
1__________5000_____________Док4_______1200
2__________3000_____________Док1_______500
2__________3000_____________Док2_______1600
2__________3000_____________Док3_______2500
2__________3000_____________Док4_______1250
Итого______8000________________________ХХХ

т.е. чтобы итоговая сумма по всем договорам была равна 8000
15 mirrr
 
30.11.11
12:57
(13) см. (12)
16 viktor_vv
 
30.11.11
13:08
(10) Я так понял группировка Документ самая нижняя. Добавь в запросе еще одно поле для счетчика документов. На закладке ресурсы добавь еще один ресурс СуммаДоговора рассчитывать по договору, в выражении Сумма(СуммаДоговора)/Сумма(ПолеСчетчикаДокументов) и есстественно через выбор для проверки Сумма(ПолеСчетчикаДокументов) <> 0. Как-то так. Это если структура группировок жесткая.
17 mirrr
 
30.11.11
13:15
(16) пробовал этот вариант: для отдельного договора считает сумму по договору правильно, для общих итогов неправильно. Для примера (14) итог по сумме договора посчитает 32000/8=4000, а надо 8000
18 viktor_vv
 
30.11.11
13:17
(17) Ну да, насчет общих итогов засада получается.
19 чувак
 
30.11.11
13:18
(17) В общем-то можно в форму добавить новую кнопку "Сформировать" и прописать алгоритм формирования отчета через СКД. Если надо, я могу алгоритм обработки скинут
20 mirrr
 
30.11.11
13:21
(19) скинь, может поможет
21 чувак
 
30.11.11
13:23
Процедура ТвояПроцедура(Элемент)
   СхемаКомпановки    = ПолучитьМакет("ТвойМакет");//имеется ввиду макет компоновки
   Настройки          = СхемаКомпановки.НастройкиПоУмолчанию;
//если есть параметры запроса
   Настройки.ПараметрыДанных.Элементы[0].Значение = ДатаНач;
   Настройки.ПараметрыДанных.Элементы[1].Значение = КонецДня(ДатаКон);
   
   Расш                = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпановщикМакета   = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпановки     = КомпановщикМакета.Выполнить(СхемаКомпановки, Настройки,Расш);
   ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпановки.Инициализировать(МакетКомпановки,,Расш);
   ПроцессорВывода     = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ТаблицаДок            = Новый ТабличныйДокумент;
   ТаблицаДок.ТолькоПросмотр = Истина;
   ПроцессорВывода.УстановитьДокумент(ТаблицаДок);
   ПроцессорВывода.НачатьВывод();
   Пока Истина Цикл
       ЭлементРезультата = ПроцессорКомпановки.Следующий();
       Если ЭлементРезультата = Неопределено Тогда
           Прервать;
       Иначе
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
       КонецЕсли;
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
   ТаблицаДок.Показать();
КонецПроцедуры
22 mirrr
 
30.11.11
13:28
(21) подскажите, как там проверить, какая группировка там текущая и в зависимости от этого выводить свой определенный макет вместо стандартного.
23 PVV65
 
30.11.11
13:33
(14) У тебя не правильно построен запрос. необходимо в компоновке создать два набора данных "Договор" и "Документы" и связать их на закладке "Связи наборов данных" и ВСЕ.
24 mirrr
 
30.11.11
13:40
(23) так то же самое получится. Для одного договора (и его суммы) есть несколько документов. При Левом соединениии (все договоры и документы удовлетворяющие условию связи по договору) будет таблица как в (14), т.е. суммы договоров будут повторяться для каждого документа. Далее в итогах они будут увеличиваться в столько раз, сколько документов по договору.
25 PVV65
 
30.11.11
13:42
(24) Связь в компоновке - это не просто "Левое соединение".
26 PVV65
 
30.11.11
13:43
+(25) Сначала попробуй - потом говори.
27 mirrr
 
30.11.11
13:44
(25) а какое?
28 чувак
 
30.11.11
13:44
(24) Есть еще вариант, не знаю, будет ли тебе это сложновато?
В СКД есть возможность импользовать "Вложенные схемы".
Суть в том, чтоб строку с итогами выводить отдельной схемой
29 PVV65
 
30.11.11
13:48
(28) Не путай человека.
(27) Если в СКД применять несколько наборов данных, то итоги рассчитываются в каждом из них отдельно.
30 mirrr
 
30.11.11
13:51
(26) блин, не ожидал - работает
31 mirrr
 
30.11.11
13:52
(30) а я в одном запросе (наборе) их соединял...
32 чувак
 
30.11.11
13:55
(31) В СКД настоятельно рекомендуется соединить наборы данных, а не в запросе.
33 PVV65
 
30.11.11
13:56
(31) Все зависит от задачи. Ты можешь написать сколь угодно сложные запросы в наборах, а компоновка будет обрабатывать уже готовые наборы. В том числе и при помощи описания связей.
34 mirrr
 
30.11.11
14:12
еще вопрос в тему: если в какую-то колонку (поле) в скд нужно будет выводить результат выборки строк какой-то таблицы (прямо через запятую последовательно значения строк выборки), то как это можно сделать?
35 mirrr
 
30.11.11
14:15
т.е. примерно так (характеристики):

Договор____СуммаДоговора_____Характеристики_______Документ
1__________5000_______________доп.согл1,допсогл2___Док1___
1__________5000_______________доп.согл1,допсогл2___Док2___
1__________5000_______________доп.согл1,допсогл2___Док3___
1__________5000_______________доп.согл1,допсогл2___Док4___
2__________3000_______________доп.согл1,допсогл2___Док1___
2__________3000_______________доп.согл1,допсогл2___Док2___
2__________3000_______________доп.согл1,допсогл2___Док3___
2__________3000_______________доп.согл1,допсогл2___Док4___
Итого______8000___________________________________________
36 PVV65
 
30.11.11
14:16
(34) Если правильно понял, то "Вычисляемое поле", в котором соединяешь нужные поля через запятую.
37 mirrr
 
30.11.11
14:21
(36) т.е. так же отдельным набором данных присоединить таблицу характеристик к таблице договоров по условию совпадения по договору, а как потом перебрать все значения таблицы характеристик по договору и вставить их в одну ячейку?
38 PVV65
 
30.11.11
14:22
(37) Для характеристик в СКД свой механизм - расширение языка запросов.
39 mirrr
 
30.11.11
14:26
(38) неправильно написал: в поле характеристики через запятую надо вывести значения строк регистра сведений по каждому договору.
40 PVV65
 
30.11.11
14:32
(39) Сворачивание нескольких строк в одну отдельная задача.
А в данном случае не понял структуру характеристик. "доп.согл." - это значение характеристики? Тип какой? Сколько может быть характеристик? Подозрение, что не совсем верно организовано хранение данных. Если доп.согл. - это документы, то лучше бы добавить в них реквизит с ссылкой на договор. В общем не понятно.
41 mirrr
 
30.11.11
14:38
(40) мне как раз и нужно несколько строк в одну свернуть.Это можно сделать с помощью конструктора скд?
Характеристики - это периодический регистр сведений для договора. Хранит номера, даты, названия доп. соглашений с опред. даты. Нужно перебрать все строки регистра по договору, и вывести их результат через запятую в одном поле скд.
42 PVV65
 
30.11.11
14:52
(41) СКД такой вопрос не решает. Можно при помощи запроса (много раз обсуждалось) или при помощи предварительной обработки характеристик - создаем программно ТЗ с колонками "Договор" и "Характеристики" (уже свернутые) и передаем в СКД как объект.
43 mirrr
 
30.11.11
14:57
(42) с созданием тз и набором данных-объектом попробую.
А при помощи запроса - где посмотреть можно?
44 mirrr
 
30.11.11
14:59
я как раз запросом и пытаюсь сделать - добавил для характеристик набор-запрос, а как в одну строку-то свернуть?
45 mirrr
 
30.11.11
15:18
(44)?
46 PVV65
 
30.11.11
16:14
ВЫБРАТЬ
   ЗначенияСвойствОбъектов.Объект,
   ЗначенияСвойствОбъектов.Значение,
   КОЛИЧЕСТВО(ЗначенияСвойствОбъектов.Значение) КАК Номер
ПОМЕСТИТЬ Т1
ИЗ
   РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов1
       ПО ЗначенияСвойствОбъектов.Значение >= ЗначенияСвойствОбъектов1.Значение
           И ЗначенияСвойствОбъектов.Объект = ЗначенияСвойствОбъектов1.Объект

СГРУППИРОВАТЬ ПО
   ЗначенияСвойствОбъектов.Объект,
   ЗначенияСвойствОбъектов.Значение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Т.Объект,
   ВЫБОР
       КОГДА Т.Номер = 1
           ТОГДА Т.Значение
       ИНАЧЕ NULL
   КОНЕЦ КАК Свойство1,
   ВЫБОР
       КОГДА Т.Номер = 2
           ТОГДА Т.Значение
       ИНАЧЕ NULL
   КОНЕЦ КАК Свойство2,
   ВЫБОР
       КОГДА Т.Номер = 3
           ТОГДА Т.Значение
       ИНАЧЕ NULL
   КОНЕЦ КАК Свойство3,
   ВЫБОР
       КОГДА Т.Номер = 4
           ТОГДА Т.Значение
       ИНАЧЕ NULL
   КОНЕЦ КАК Свойство4
ПОМЕСТИТЬ Т2
ИЗ
   Т1 КАК Т
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Т.Объект,
   МАКСИМУМ(Т.Свойство1) КАК Свойство1,
   МАКСИМУМ(Т.Свойство2) КАК Свойство2,
   МАКСИМУМ(Т.Свойство3) КАК Свойство3,
   МАКСИМУМ(Т.Свойство4) КАК Свойство4
ПОМЕСТИТЬ Т3
ИЗ
   Т2 КАК Т

СГРУППИРОВАТЬ ПО
   Т.Объект
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Т.Объект,
   ЕстьNULL(Т.Свойство1.Наименование,"") + " / " + ЕстьNULL(Т.Свойство2.Наименование,"") + " / " + ЕстьNULL(Т.Свойство3.Наименование,"") + " / " + ЕстьNULL(Т.Свойство4.Наименование,"") КАК Поле1
ИЗ
   Т3 КАК Т



Немного адаптируешь.
47 PVV65
 
30.11.11
16:56
Кстати. В 8.2.14 появилась в СКД функция ВычислитьВыражение, которая, если я правильно понял, может делать тоже самое, что и запрос из (46).
48 mirrr
 
01.12.11
10:15
(46) а если у меня для объекта может быть 1 св-во, а может быть и 20, то тогда надо добавлять 20 полей?

КАК Свойство1
...........
КАК Свойство20
49 PVV65
 
01.12.11
10:19
(48) Ну если кому то нужен отчет, в ячейке которого через запятую будет перечислено 20 свойств - пиши "КАК Свойство20".
А в приведенный запрос будет отображать первые четыре даже если реально 20.
50 mirrr
 
01.12.11
10:23
(49) имел ввиду нет ли чего более универсального, т.к. хранить во врем. таблице 20 полей, которые не всегда будут использованы...
51 PVV65
 
01.12.11
10:26
(50) Более универсальное в (47).
52 mirrr
 
01.12.11
10:28
(51) кстати про нее - она только числа суммирует?
53 PVV65
 
01.12.11
10:32
нет
54 mirrr
 
01.12.11
10:39
а какой агрегатной функцией строковые поля суммировать? Сумма?
55 mirrr
 
01.12.11
10:42
"сумма" по строковому полю ошибку выдает
56 mirrr
 
01.12.11
10:47
ВычислитьВыражение("Количество(НаименованияПоля)",,,"Первая","Последняя")
ошибку пишет
57 PVV65
 
01.12.11
11:00
У меня не стоит 8.2.14. Поэкспериментировать не могу. v8: Функция ВычислитьВыражение() в СКД - почитай тут и тут - http://infostart.ru/public/86764/
58 mirrr
 
01.12.11
11:12
там вычисляются выражения по полям-ресурсам, про сворачивание строк ничего нет
59 PVV65
 
01.12.11
11:50
ВычислитьВыражениеСГруппировкойМассив(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) -

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

Строка(<Выражение>) - Если в качестве параметра передан массив, то функция возвращает строку, содержащую строковые представления всех элементов массива, разделенных символами "; ".
60 mirrr
 
01.12.11
11:55
почти сделал запросом (46), только при соединении
ЕстьNULL(Т.Свойство1,"") + " / " + ЕстьNULL(Т.Свойство2,"") + " / " + ЕстьNULL(Т.Свойство3,"") + " / " + ЕстьNULL(Т.Свойство4,"") КАК Поле1
если у свойств тип дата, тогда ест-но к ней символ прибавить нельзя. Пробовал эту дату перевести в строку (Представление, строка), все равно не хочет выводить
01.01.2011 00:00:00/01.02.2011 00:00:00
И кстати из этой даты время не убирается
61 PVV65
 
01.12.11
12:07
(60) Собирай строку не в запросе, а в вычисляемом поле в зависимости от типов.
62 mirrr
 
01.12.11
12:09
а время как убрать можно?
63 mirrr
 
01.12.11
12:09
НАЧАЛОПЕРИОДА пробовал
64 PVV65
 
01.12.11
12:13
День(Дата) + Месяц(Дата) + Год(Дата)
65 mirrr
 
01.12.11
12:16
(61)
ВЫБОР КОГДА ТИПЗНАЧЕНИЯ(Т.Свойство1)="ДАТА" ТОГДА
??? как тип дата в строку перевести
66 mirrr
 
01.12.11
12:19
(64) вроде дата 01.01.2011 вернет результат 14?
67 PVV65
 
01.12.11
12:19
Строка(День(Т.Свойство1)) + Строка(Месяц(Т.Свойство1)) + Строка(Год(Т.Свойство1))
68 mirrr
 
01.12.11
12:24
(67) через Строка пробовал, но в тексте запроса это не работает, опять же непонятно, как какой-то тип (число, дата) преобразовать в строку в самом запросе
ВЫБОР
       КОГДА Т_Ном.НомерСтроки = 1
           ТОГДА Строка(День(Т_Ном.ОснованиеДата)) +"."+ Строка(Месяц(Т_Ном.ОснованиеДата)) +"."+ Строка(Год(Т_Ном.ОснованиеДата))
       ИНАЧЕ NULL
   КОНЕЦ КАК ДатаДС1,

Есть еще представление, но то же самое будет
69 PVV65
 
01.12.11
12:27
(68) Я же те написал в (61). А еще есть функция "Формат".
Читай справку.
70 mirrr
 
01.12.11
12:42
(69) в вычисляемых полях нельзя использовать в выражении вычисляемые поля. У меня нужно сначала к дате добавить символ (", "), затем сложить несколько таких полей. Т.е. поле с датой и с символом(",") должно быть готовое уже в запросе, а потом в вычисляемом поле уже несколько таких полей сложить.
71 PVV65
 
01.12.11
12:47
В запросе получаешь поля Т.Свойство1 ..... Т.Свойство20.
в вычисляемом поле пишешь

Формат(Свойство1,"ДЛФ=D") + ", " + ...... + Формат(Свойство20,"ДЛФ=D")
72 mirrr
 
01.12.11
12:52
(71) я именно так и сделал. Не устраиваю лишние запятые в случае пустых значений. Поэтому нужна предварительная обработка, чтобы "Свойство1" уже содержало текст "Свойство1, " в случае наличия, и текст "" в случае отсутствия текста в "Свойство1".
73 PVV65
 
01.12.11
12:54
Формат(Свойство1,"ДЛФ=D") +
Выбор Когда Формат(Свойство1,"ДЛФ=D") = "" Тогда "" Иначе ", " Конец + ...... + Формат(Свойство20,"ДЛФ=D")
74 PVV65
 
01.12.11
12:56
А еще есть функция СКД "ЗначениеЗаполнено"
75 mirrr
 
01.12.11
13:00
(74) опять только для вычисляемого поля, или и в запросе можно, при описании поля?
76 mirrr
 
01.12.11
13:02
(73) единственный минус - последняя запятая всегда выводится
77 mirrr
 
01.12.11
13:05
кстати в коде (46) ВТ уничтожать надо, или не обязательно?
78 PVV65
 
01.12.11
13:10
(75) в запросе - нет.
(76) у меня не выводится.
(77) нет.
79 mirrr
 
01.12.11
13:15
(78) последняя не выводится, даже если не все 20 свойств заполнены?
80 PVV65
 
01.12.11
13:28
Как напишешь - так и будет выводиться.
81 mirrr
 
01.12.11
13:31
(80) согласен. но кроме как (73) варианта не знаю, потому и спрашиваю.
82 mirrr
 
01.12.11
13:32
немного приукрасил, получилось
06.11.2011 ; 18.11.2011 ;
83 mirrr
 
01.12.11
13:54
можно ли менять размер колонок в скд, не используя макеты? Потому как слишком широкие стандартные колонки.
84 PVV65
 
01.12.11
13:57
(83) Колонка "Оформление" в описании полей на закладках "Наборы данных" и "Вычисляемые поля".
Или постобработка табличного документа.
85 mirrr
 
01.12.11
13:59
"постобработка табличного документа" - это через закладку "макеты"?
86 mirrr
 
01.12.11
14:02
то, что через запрос (46), можно через ВычислитьВыражениеСГруппировкойМассив сделать?
87 PVV65
 
01.12.11
14:04
(85) это из встроенного языка.
(86) я уже писал, что не знаю, а предполагаю (из описания функции).
88 mirrr
 
01.12.11
14:09
ВычислитьВыражениеСГруппировкойМассив пока оставлю. Попробую еще вариант сделать то же через внешний набор данных.
89 mirrr
 
01.12.11
17:02
как можно шрифт заголовков полей группировок изменить?
90 PVV65
 
01.12.11
17:22
Шрифт заголовков можно изменить в "Макете оформления компоновки данных". Выбор макета осуществляется в настройках компоновки на закладке "Другие настройки". Создать свой макет можно либо в общих макетах ветки конфигурации. либо в другом объекте где возможно создание макетов. При создании макета надо указать тип макета - "Макет оформления компоновки данных". В открывшемся окне редактора макета, за основу возможно взять один из стандартных макетов и отредактировать его.
91 mirrr
 
01.12.11
17:41
В какой процедуре нужно этот макет оформления (созданный на основе стандартного) привязывать к компоновщику макета? При нажатии на кнопку "сформировать"? т.е. надо свою кнопку "сформировать" с обработчиком делать?
92 PVV65
 
02.12.11
15:28
>>>>>> Выбор макета осуществляется в настройках компоновки на закладке "Другие настройки".
93 mirrr
 
02.12.11
15:46
(92) это стандартный макет. Я так понял, чтобы изменить шрифт заголовков полей группировок, нужно создать свой макет оформления и в нем изменить шрифт. А потом программно его подвязать к компоновщику макета. Если не так, поясните.
94 PVV65
 
02.12.11
15:55
нет. на основе стандарта. сохраняешь свое. в настройках выбираешь.
95 PVV65
 
02.12.11
15:58
если создал макет и дал ему имя, он появится в настройках.
96 mirrr
 
04.12.11
17:08
(29) Вы писали, что если в СКД применять несколько наборов данных, то итоги рассчитываются в каждом из них отдельно.
Подскажите, если делать не через скд, а просто запросом в модуле отчета, то как результат запроса можно привести  к виду (т.е. чтобы итоговая сумма по всем договорам была равна 8000)?
таб1:
Договор____СуммаДоговора____Документ__СуммаДока
1__________5000_____________Док1_______100
1__________5000_____________Док2_______5600
1__________5000_____________Док3_______4500
1__________5000_____________Док4_______1200
2__________3000_____________Док1_______500
2__________3000_____________Док2_______1600
2__________3000_____________Док3_______2500
2__________3000_____________Док4_______1250
Итого______8000________________________ХХХ

т.е. чтобы итоговая сумма по всем договорам была равна 8000.
Я кроме как объединением таблиц не знаю. В случае объединения будет так (таб2):
Договор____СуммаДоговора____Документ__СуммаДока
1__________5000_____________""_________0
1__________0________________Док1_______5600
1__________0________________Док2_______4500
1__________0________________Док3_______1200
2__________3000_____________""_________0
2__________0________________Док1_______1600
2__________0________________Док2_______2500
2__________0________________Док3_______1250
Итого______8000________________________ХХХ

Подскажите, можно ли такое сделать через соединение, т.к. в 1-ом результате (таб1) если делать итоги по сумме договора, получится 32000.
98 mirrr
 
04.12.11
17:34
(94)-(95). Создал в разделе макетов отчета макет с типом "Макет оформления компоновки данных". В нем загрузил стандартный макет. Изменил его. Сохранил. Макет в настройках не появился.
100 mirrr
 
04.12.11
17:44
+(98)
Подвязал этот макет к компоновщику макета:
МакетОформления=ПолучитьМакет("МойМакет");
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, МакетОформления);
После этого отчет выводится через этот макет. Но в настройках его не нашел, поясните.
101 PVV65
 
05.12.11
09:46
(100) К сожалению, макет появится в настойках только если будет создан в общих макетах.
102 PVV65
 
05.12.11
09:49
(96) Не понятно для чего надо извращаться, если есть нормальные решения. Или это конкурсное задание, в котором надо "левое соединение"?
103 mirrr
 
05.12.11
15:10
(102) собственно, с чего и ветка началась: неправильно был составлен запрос. Но я его составлял в консоли запросов, а там сделать отдельные наборы данных нельзя. Потому и результат получился  такой (в итогах по сумме договора 32000):

Договор____СуммаДоговора____Документ__СуммаДока
1__________5000_____________Док1_______100
1__________5000_____________Док2_______5600
1__________5000_____________Док3_______4500
1__________5000_____________Док4_______1200
2__________3000_____________Док1_______500
2__________3000_____________Док2_______1600
2__________3000_____________Док3_______2500
2__________3000_____________Док4_______1250
Итого______32000________________________ХХХ

Поэтому и вопрос: как через консоль запросов можно было то же сделать, но чтобы итоговая сумма по полю "Сумма договора" была равна 8000 (т.е правильно составить запрос). Я кроме как объединением (таб2 из (96) ) не знаю. Подскажите, если есть еще какие варианты.
104 mirrr
 
06.12.11
13:02
(103) ?
AdBlock убивает бесплатный контент. 1Сергей