|
v8: Как программно редактировать ПостроительОтчета | ☑ | ||
---|---|---|---|---|
0
LivingStar
17.06.13
✎
11:43
|
В обработке, через меню вызывается одна из её форм. На ней располагается Табличное поле (имя: ПостроительОтчетаКонтрагентыОтбор, данные: ПостроительОтчетаКонтрагенты.Отбор, тип значения: Отбор). Можно ли программно обрабатывать строки в табличном поле и как с ним можно работать? Нужно в частности обработать строку добавленную в это поле с галкой в одном из полей. Добавить новую с переработанными данными.
|
|||
1
LivingStar
17.06.13
✎
11:47
|
Имеющиеся поля в этом табличном поле:
- Поле - ТипСравнения - Значение |
|||
2
LivingStar
17.06.13
✎
11:49
|
Пример данных:
Поле: Контрагент Тип сравнения: В списке Значение: Список значений (Справочник.Контрагенты) |
|||
3
LivingStar
17.06.13
✎
11:58
|
Одна из особеннойтей работы с этим табличным полем, в нем нельзя копировать строки...
|
|||
4
LivingStar
17.06.13
✎
12:04
|
получается мне нужно программно добавить значения в список, который там содержится, эти данные и выводятся в строке, это можно сделать программно?
|
|||
5
LivingStar
17.06.13
✎
12:57
|
Похоже нужно делать так, ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить();
Что указывтаь в Добавить? |
|||
6
ДенисЧ
17.06.13
✎
12:58
|
ИзмеренияПостроителяОтчета (ReportBuilderDimensions)
Добавить (Add) Синтаксис: Добавить(<ПутьКДанным>, <Имя>, <Тип>, <Область>, <ОбластьИерархия>) Параметры: <ПутьКДанным> (обязательный) Тип: Строка. Путь к данным для измерения. <Имя> (необязательный) Тип: Строка. Имя измерения. <Тип> (необязательный) Тип: ТипИзмеренияПостроителяОтчета. Тип измерения. <Область> (необязательный) Тип: ТабличныйДокумент; ПолеТабличногоДокумента. Область для вывода. <ОбластьИерархия> (необязательный) Тип: ТабличныйДокумент; ПолеТабличногоДокумента. Область для иерархического вывода. Возвращаемое значение: Тип: ИзмерениеПостроителяОтчета. Описание: Добавляет измерение в коллекцию. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ПостроительОтчетов.ИзмеренияСтроки.Добавить(Имя, Имя); |
|||
7
LivingStar
17.06.13
✎
13:03
|
(6) читал эту справку, все же не понятно как хотя бы что то сделать, вот из этого примера к примеру
ПостроительОтчетов.ИзмеренияСтроки.Добавить(Имя, Имя); что мне нужно добавлять и как? если известны значения полей |
|||
8
LivingStar
17.06.13
✎
13:06
|
вот к примеру задаю ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить(Справочники.Контрагенты.НайтиПоНаименованию("Знаычение"));
пишет не найдено такое то измерение, как нужно не пойму? |
|||
9
hhhh
17.06.13
✎
13:16
|
имена измерений нужно добавлять а не значения
|
|||
10
LivingStar
17.06.13
✎
13:18
|
ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить("Имя") не работает так, первое измерение же имя
|
|||
11
LivingStar
17.06.13
✎
13:27
|
(9) а где брать названия этих измерений если ничего не подходит?
|
|||
12
IШаман
17.06.13
✎
13:29
|
(11) Из запроса.
|
|||
13
LivingStar
17.06.13
✎
13:35
|
(12) А можно каких либо примеров? Я пока создал кнопку и хочу добавить строку.
|
|||
14
LivingStar
17.06.13
✎
13:36
|
(12) там есть одна строка в этом табличном поле, добавлялась со стороны пользователя, к ней можно получить доступ? как её продублировать? тут нет запроса...
|
|||
15
LivingStar
17.06.13
✎
14:04
|
пошло!!!
так добавляет строки Процедура КоманднаяПанельКонтрагентыДействие4(Кнопка) ПостроительОтчетаКонтрагенты.Отбор.Добавить("Контрагент"); КонецПроцедуры |
|||
16
LivingStar
17.06.13
✎
14:05
|
только тип сравнения "равно" и в "значении" путо, если эта строка добавляет строки как, туда поиещать значения, и устанавливать "в списке"?
|
|||
17
LivingStar
18.06.13
✎
05:16
|
подскажите есть ли примеры по теме? не могу разобраться
|
|||
18
goleaff2006
18.06.13
✎
05:21
|
перем=ПостроительОтчетаКонтрагенты.ПолучитьОтбор
перем.Добавить("Контрагент"); перем2=ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент") перем.Видсравнени=Видсравнени.список перем.значение=значение вроде так |
|||
19
goleaff2006
18.06.13
✎
05:23
|
перем=ПостроительОтчетаКонтрагенты.ПолучитьОтбор
перем.Добавить("Контрагент"); //так добавляется значение и вид сравнения перем2=ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент") перем2.Видсравнени=Видсравнени.список перем2.значение=значение вроде так |
|||
20
LivingStar
18.06.13
✎
05:31
|
(18) Спасибо посмотрю, в значении у меня можно выбирать список контрагентов.
Скажите а обязательно перем создавать? |
|||
21
goleaff2006
18.06.13
✎
05:35
|
можно так ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент").видсравнения=Видсравнени.список
но лучше сначал проверить условие нашел ли он поле Контрагент или нет если перем2 <>неопределенно тогда и т.д |
|||
22
goleaff2006
18.06.13
✎
05:36
|
мало ли что бывает =))
|
|||
23
LivingStar
18.06.13
✎
05:37
|
(22) а перем2.значение=значение, в значение может содержаться непосредственно список контрагентов, предварительно туда добавленных?
|
|||
24
goleaff2006
18.06.13
✎
05:40
|
если вид сравнения список тогда список значений. отладчиком посмотри.ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент")какие поля выдает данный результат и их заполняй.
|
|||
25
LivingStar
18.06.13
✎
05:42
|
(24) Ок! галку Использовать, по умолчанию можно поставить?
|
|||
26
goleaff2006
18.06.13
✎
05:43
|
Да, если ее не ставить то эта строчка отбора будет игнорироваться запросом.
|
|||
27
LivingStar
18.06.13
✎
05:48
|
(26) А как её поставить? Видите в чем проблема, в этом табличном поле уже есть одна строка, контрагент, в списке, список контрагентов. Похоже эта процедура:
Процедура КоманднаяПанельКонтрагентыДействие4(Кнопка) ПостроительОтчетаКонтрагенты.Отбор.Добавить("Контрагент"); ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент").видсравнения=Видсравнения.ВСписке; КонецПроцедуры находит её, так как добавляет строку где вид сравнения стоит равно.... |
|||
28
LivingStar
18.06.13
✎
05:50
|
как бы задать что устанавливать все нужно в новой добавляемой строке
|
|||
29
goleaff2006
18.06.13
✎
05:52
|
для каждого стр из ПостроительОтчетаКонтрагенты.Отбор цикл
если стр.имя=контрагент тогда стр.использование =истина стр.видсравнения стр.значение. и т.д конецесли. конеццикла |
|||
30
goleaff2006
18.06.13
✎
05:52
|
А со старой что делать?
|
|||
31
goleaff2006
18.06.13
✎
05:53
|
зачем добавлять новую, если можно редактировать старую.
|
|||
32
goleaff2006
18.06.13
✎
05:55
|
||||
33
LivingStar
18.06.13
✎
05:55
|
(30) видимо оставить её, убрав с неё галку.
(31) необходимость добавлять новую в отличае списка контрагентов содержащихся в значении, мне нужно программно сформировать его по подобию первой строки, занеся туда торговые точки контрагентов. |
|||
34
LivingStar
18.06.13
✎
05:56
|
(31) должна остаться видимо и старая и новая, актуальная та у которой стоит галка использовать.
|
|||
35
LivingStar
18.06.13
✎
06:01
|
(32) да не совсем ясно как статья поможет решить задачу
|
|||
36
LivingStar
18.06.13
✎
06:09
|
(29) а нумерация строк в этом отборе никак не определяется?
|
|||
37
LivingStar
18.06.13
✎
06:22
|
(32) Спасибо друг!!! Твоими примерами понял что мне нужно делать!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |