|
Как изменить описание типов в построителе отчета? | ☑ | ||
---|---|---|---|---|
0
sanches2
20.09.11
✎
13:24
|
УТ 10.3
В построителе отчета в полях отбора есть поле Контрагент, оно выбирается из поля ПолучательСкидки регистра СкидкиНаценкиНоменклатуры, но поскольку в регистре это поле имеет составной тип, то перед выбором отбора в отчете предлагает выбрать тип значения. Как можно жестко задать в отборе тип значения справочник контрагенты, чтобы выбирать можно было только контрагентов? |
|||
1
sanches2
20.09.11
✎
14:07
|
*
|
|||
2
Жан Пердежон
20.09.11
✎
14:12
|
сделай программно
|
|||
3
sanches2
20.09.11
✎
14:20
|
Я и хочу знать как это сделать программно?
|
|||
4
Жан Пердежон
20.09.11
✎
14:27
|
Отбор.Контрагент = Справочники.Контрагенты.ПустаяСсылка();
|
|||
5
sanches2
20.09.11
✎
14:33
|
Пишу: ПостроительОтчета.Отбор.Контрагент = Справочники.Контрагенты.ПустаяСсылка();
Выходит ошибка: Поле объекта недоступно для записи (Контрагент) А в постоителе прямо можно как-то указать тип значения? Или надо устанавливать тип где-то перед вызовом ПостроительОтчета.ЗаполнитьНастройки()? |
|||
6
Aprobator
20.09.11
✎
14:34
|
.......Контрагент.Значение = .....
|
|||
7
Aprobator
20.09.11
✎
14:35
|
в запросе можно:
ВЫРАЗИТЬ(Контрагент КАК Справочник.Контрагенты) |
|||
8
sanches2
20.09.11
✎
14:36
|
(6) Спасибо. Сработало
(7) Ага, тоже вариант |
|||
9
Aprobator
20.09.11
✎
14:38
|
(8) куды оно денется. Различай элемент отбора и его значение.
|
|||
10
acsent
20.09.11
✎
14:38
|
Можно програмно тип назначить, правда не помню как.
Смотри как в бух назначается тип субконто |
|||
11
sanches2
20.09.11
✎
14:39
|
(9) Учусь :)
|
|||
12
Синий зуб
20.09.11
✎
14:53
|
Типа:
ПолеКонтрагент = ПостроительОтчета.ДоступныеПоля.Найти("Контрагент"); Если ПолеКонтрагент <> Неопределено Тогда ПолеКонтрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты"); КонецЕсли; |
|||
13
sanches2
20.09.11
✎
14:56
|
(7) Хочу сделать "красивее" в запросе, но пока не получается.
Я делаю хочу добавить в стандартную печать прайса вывод контрагента и его цен. Добавляю кусок своего запроса к стандартному. У себя в запросе пишу ВЫРАЗИТЬ(СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки КАК Справочник.Контрагенты) КАК Контрагент , но тип значения в отборе предлагает сначала выбрать. Мой запрос состоит из 2-х объединенных запросов из которых еще одним запросом выбираю данные (если надо могу кусок своего запроса выложить). Пробовал на верхнем запросе использовать ВЫРАЗИТЬ, на 2-х объединенных - без результата. |
|||
14
Aprobator
20.09.11
✎
15:08
|
(13) может какая специфика построителя - не забивай голову.
Как вариант - посмотри (12). |
|||
15
Aprobator
20.09.11
✎
15:13
|
+(14) вообще хронический "улучшайзинг" болезнь, очень сильно ворующая время. Борись с ней в зародыше.
|
|||
16
acsent
20.09.11
✎
15:15
|
Нужно писать
{ГДЕ ВЫРАЗИТЬ(СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки КАК Справочник.Контрагенты).* КАК Контрагент} |
|||
17
Aprobator
20.09.11
✎
15:17
|
(16) а точно. Это ж построитель. Там в конструкторе запросов должна быть фенька для построителя. Смотри внимательней.
|
|||
18
Синий зуб
20.09.11
✎
15:22
|
Попытка № 2 - с расшифровкой. Отчет на базе универсального, Контрагент - Субконто, пишу
// Инициализация текста запроса построителя отчета УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса; ПолеКонтрагент = УниверсальныйОтчет.ПостроительОтчета.ДоступныеПоля.Найти("Контрагент"); Если ПолеКонтрагент <> Неопределено Тогда ПолеКонтрагент.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагенты"); КонецЕсли; ПолеДоговор = УниверсальныйОтчет.ПостроительОтчета.ДоступныеПоля.Найти("ДоговорКонтрагента"); Если ПолеДоговор <> Неопределено Тогда ПолеДоговор.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.ДоговорыКонтрагентов"); КонецЕсли; Все работает. |
|||
19
sanches2
20.09.11
✎
15:24
|
Всем спасибо за советы. Проверю все варинаты чтобы знать :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |