|
Как получить всю строку таблицы в обработке расшифровки | ☑ | ||
---|---|---|---|---|
0
Powerfool
17.06.14
✎
06:23
|
У меня есть поле табличного документа. Я в него засовываю данные полученные из СКД. В обработке расшифровки ставил свой дополнительный пункт меню в котором буду редактировать запись, но для этого мне надо получить запись целиком а не только значение, которое лежит в ячейке поля. Как это сделать?
|
|||
1
Powerfool
17.06.14
✎
06:32
|
вира
|
|||
2
Powerfool
17.06.14
✎
06:48
|
Так. Ладно. По другому.
В форме табличного документа выводится таблица с данными, которой затем группируется по строкам (по полям: Контрагент, Номенклатура), так: ООО Ромашка Тазики 4 шт. Веники 34 шт. Лопаты 10 шт. ООО Мамашка Тазики 63 шт. Веники 1 шт. Лопаты 0 шт. Пользователь жмет два раза на строчку с тазиками, которые принадлежат Ромашке, и мне надо программно понять, что он выбрал именно эти тазики, а не какие то другие. Как это сделать? |
|||
3
ИС-2
naïve
17.06.14
✎
07:04
|
сейчас уже не помню как делал, но суть была в том, что я в параметр ДанныеРасшифровки[x] передавал x больше текущего параметра до тех пор пока не был признак конца (что-то там менялось)
|
|||
4
ИС-2
naïve
17.06.14
✎
07:05
|
можно перехитрить СКД - выводить в тазиках контрагента, но сделать ширину у этой колонки 0
|
|||
5
Powerfool
17.06.14
✎
07:09
|
ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля().Получить(0).Значение
Это позволяет получить значение текущего элемента в поле. Пробовал смотреть в ДанныеРасшифровки.Элементы там всякая белеберда, я там ничего не понимаю |
|||
6
Powerfool
17.06.14
✎
07:10
|
(4) не уловил. Как это? Обработка расшифровки же будет реагировать на двойной клац по номенлатуре
|
|||
7
Powerfool
17.06.14
✎
07:17
|
вира!!
|
|||
8
ИС-2
naïve
17.06.14
✎
08:29
|
(5) согласен, что бред, но я как-то в этом бреде логику нашел :) Вроде бы типы меняются.
В строку выводим невидимого контрагента и при расшифровке бежим по данным расшифроки в поисках этого контрагента |
|||
9
Powerfool
17.06.14
✎
13:38
|
Урологические изыски. Надеюсь кому нибудь помогу и сокращу его зубодробительные попытки разобраться с этой фигней.
Краткий комментарий к коду: расшифровываю 4 уровня группировки получаю итого 4 ссылки на элементы этих группировок. Процедура УсловияОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) Перем ВыполненноеДействие; ЗначениеПоля = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля().Получить(0).Значение; СтандартнаяОбработка = Ложь; ДоступныеДействия = Новый Массив(); ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение); ДополнительныеДействия = Новый СписокЗначений; Если ТипЗнч(ЗначениеПоля) = Тип("СправочникСсылка.Номенклатура") Тогда ДополнительныеДействия.Добавить("Изменить", "Изменить"); КонецЕсли; ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки, Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"))); ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, ДополнительныеДействия); Если ВыполненноеДействие = "Изменить" Тогда НоменклатураПоля = ЗначениеПоля; ИД = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].Идентификатор; ЗначениеПоля = Неопределено; Пока ЗначениеПоля = Неопределено Цикл Попытка ЗначениеПоля = ДанныеРасшифровки.Элементы[ИД].ПолучитьПоля().Получить(0).Значение; Исключение КонецПопытки; ИД = ДанныеРасшифровки.Элементы[ИД].ПолучитьРодителей()[0].Идентификатор; КонецЦикла; ОбъектПоля = ЗначениеПоля; ЗначениеПоля = Неопределено; Пока ЗначениеПоля = Неопределено Цикл Попытка ЗначениеПоля = ДанныеРасшифровки.Элементы[ИД].ПолучитьПоля().Получить(0).Значение; Исключение КонецПопытки; ИД = ДанныеРасшифровки.Элементы[ИД].ПолучитьРодителей()[0].Идентификатор; КонецЦикла; КонтрагентПоля = ЗначениеПоля; ЗначениеПоля = Неопределено; Пока ЗначениеПоля = Неопределено Цикл Попытка ЗначениеПоля = ДанныеРасшифровки.Элементы[ИД].ПолучитьПоля().Получить(0).Значение; Исключение КонецПопытки; ИД = ДанныеРасшифровки.Элементы[ИД].ПолучитьРодителей()[0].Идентификатор; КонецЦикла; ПодразделениеПоля = ЗначениеПоля; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |