v8: Как программно редактировать ПостроительОтчета #669330


#0 by LivingStar
В обработке, через меню вызывается одна из её форм. На ней располагается Табличное поле (имя: ПостроительОтчетаКонтрагентыОтбор, данные: ПостроительОтчетаКонтрагенты.Отбор, тип значения: Отбор). Можно ли программно обрабатывать строки в табличном поле и как с ним можно работать? Нужно в частности обработать строку добавленную в это поле с галкой в одном из полей. Добавить новую с переработанными данными.
#1 by LivingStar
Имеющиеся поля в этом табличном поле:
#2 by LivingStar
Пример данных: Поле:          Контрагент Тип сравнения: В списке Значение:      Список значений (Справочник.Контрагенты)
#3 by LivingStar
Одна из особеннойтей работы с этим табличным полем, в нем нельзя копировать строки...
#4 by LivingStar
получается мне нужно программно добавить значения в список, который там содержится, эти данные и выводятся в строке, это можно сделать программно?
#5 by LivingStar
Похоже нужно делать так, ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить; Что указывтаь в Добавить?
#6 by ДенисЧ
Добавить (Add) Синтаксис: Добавить(<ПутьКДанным>, <Имя>, <Тип>, <Область>, <ОбластьИерархия>) Параметры: Тип: Строка. Путь к данным для измерения. Тип: Строка. Тип: ТабличныйДокумент; ПолеТабличногоДокумента. Область для вывода. Тип: ТабличныйДокумент; ПолеТабличногоДокумента. Область для иерархического вывода. Возвращаемое значение: Тип: ИзмерениеПостроителяОтчета. Описание: Добавляет измерение в коллекцию. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ПостроительОтчетов.ИзмеренияСтроки.Добавить(Имя, Имя);
#7 by LivingStar
читал эту справку, все же не понятно как хотя бы что то сделать, вот из этого примера к примеру что мне нужно добавлять и как? если известны значения полей
#8 by LivingStar
вот к примеру задаю ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить(Справочники.Контрагенты.НайтиПоНаименованию("Знаычение")); пишет не найдено такое то измерение, как нужно не пойму?
#9 by hhhh
имена измерений нужно добавлять а не значения
#10 by LivingStar
ПостроительОтчетаКонтрагенты.ИзмеренияСтроки.Добавить("Имя") не работает так, первое измерение же имя
#11 by LivingStar
а где брать названия этих измерений если ничего не подходит?
#12 by IШаман
Из запроса.
#13 by LivingStar
А можно каких либо примеров? Я пока создал кнопку и хочу добавить строку.
#14 by LivingStar
там есть одна строка в этом табличном поле, добавлялась со стороны пользователя, к ней можно получить доступ? как её продублировать? тут нет запроса...
#15 by LivingStar
пошло!!! так добавляет строки КонецПроцедуры
#16 by LivingStar
только тип сравнения "равно" и в "значении" путо, если эта строка добавляет строки как, туда поиещать значения, и устанавливать "в списке"?
#17 by LivingStar
подскажите есть ли примеры по теме? не могу разобраться
#18 by goleaff2006
перем.Видсравнени=Видсравнени.список перем.значение=значение вроде так
#19 by goleaff2006
перем2.Видсравнени=Видсравнени.список перем2.значение=значение вроде так
#20 by LivingStar
Спасибо посмотрю, в значении у меня можно выбирать список контрагентов. Скажите а обязательно перем создавать?
#21 by goleaff2006
можно так ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент").видсравнения=Видсравнени.список но лучше сначал проверить условие нашел ли он поле Контрагент или нет
#22 by goleaff2006
мало ли что бывает =))
#23 by LivingStar
а перем2.значение=значение, в значение может содержаться непосредственно список контрагентов, предварительно туда добавленных?
#24 by goleaff2006
если вид сравнения список тогда список значений. отладчиком посмотри.ПостроительОтчетаКонтрагенты.отбор.Найти("Контрагент")какие поля выдает данный результат и их заполняй.
#25 by LivingStar
Ок! галку Использовать, по умолчанию можно поставить?
#26 by goleaff2006
Да, если ее не ставить то эта строчка отбора будет игнорироваться запросом.
#27 by LivingStar
А как её поставить? Видите в чем проблема, в этом табличном поле уже есть одна строка, контрагент, в списке, список контрагентов. Похоже эта процедура: находит её, так как добавляет строку где вид сравнения стоит равно....
#28 by LivingStar
как бы задать что устанавливать все нужно в новой добавляемой строке
#29 by goleaff2006
для каждого стр из ПостроительОтчетаКонтрагенты.Отбор цикл если стр.имя=контрагент тогда стр.использование =истина стр.видсравнения стр.значение. и т.д конецесли. конеццикла
#30 by goleaff2006
А со старой что делать?
#31 by goleaff2006
зачем добавлять новую, если можно редактировать старую.
#32 by goleaff2006
читай.
#33 by LivingStar
видимо оставить её, убрав с неё галку. необходимость добавлять новую в отличае списка контрагентов содержащихся в значении, мне нужно программно сформировать его по подобию первой строки, занеся туда торговые точки контрагентов.
#34 by LivingStar
должна остаться видимо и старая и новая, актуальная та у которой стоит галка использовать.
#35 by LivingStar
да не совсем ясно как статья поможет решить задачу
#36 by LivingStar
а нумерация строк в этом отборе никак не определяется?
#37 by LivingStar
Спасибо друг!!! Твоими примерами понял что мне нужно делать!!!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С