![]() |
|
Как разрешить редактировать определенную строку в СКД прям в отчете | ☑ | ||
---|---|---|---|---|
0
alekosansey
03.02.22
✎
20:00
|
Добрый вечер подскажите как можно снят с защиты определенную строку для редактирования в скд
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) РезультатСтруктура = Новый Структура; Поля = ДанныеРасшифровки.Элементы.Получить(Расшифровка).ПолучитьПоля() ; Если Поля[0].Поле = "ФактБюджет" или Поля[0].Поле = "ФактВнебюджет" Тогда РезультатСтруктура.Вставить(ПОля[0].Поле, Поля[0].Значение); КонецЕсли; ВывестиЗначениеГруппировки(ДанныеРасшифровки, Расшифровка, РезультатСтруктура); СтандартнаяОбработка = ЛОжь; ФормаОтчета = Отчеты.ЭК_БюджетРасшифровкаПоРегистраторам.ПолучитьФорму("ФормаОтчета"); Если НЕ РезультатСтруктура.Свойство("Всего") и РезультатСтруктура.Количество()>1 Тогда Если РезультатСтруктура.Свойство("ФактБюджет") или РезультатСтруктура.Свойство("ФактВнеБюджет") Тогда Если РезультатСтруктура.Свойство("Месяц") Тогда ФормаОтчета.НачалоПериодаПарам = НачалоМесяца(РезультатСтруктура.Месяц); ФормаОтчета.КонецПериодаПарам = КонецМесяца(РезультатСтруктура.Месяц); Иначе ФормаОтчета.НачалоПериодаПарам = НачалоМесяца(НачалоПериода); ФормаОтчета.КонецПериодаПарам = КонецМесяца(КонецПериода); КонецЕсли; Если ТипЗНЧ(РезультатСтруктура.БюджетДС) = Тип("СправочникСсылка.ЭкСтатьиДДСДляБюджетирования")Тогда ФормаОтчета.СтатьяДДСДляБюджетированияПарам = РезультатСтруктура.БюджетДС; ФормаОтчета.Открыть(); ИначеЕсли ТипЗНЧ(РезультатСтруктура.БюджетДС) = Тип("СправочникСсылка.ЭкСтатьиДДСДляБюджетированияРасширенные") Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЭкСтатьиДДСДляБюджетирования.Ссылка как БюджетДС |ИЗ | Справочник.ЭкСтатьиДДСДляБюджетирования КАК ЭкСтатьиДДСДляБюджетирования |ГДЕ | ЭкСтатьиДДСДляБюджетирования.ОбобщеннаяСтатья = &ОбобщеннаяСтатья"; Запрос.УстановитьПараметр("ОбобщеннаяСтатья", РезультатСтруктура.БюджетДС); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда ФормаОтчета.СтатьяДДСДляБюджетированияПарам = РезультатЗапроса.Выгрузить(); ФормаОтчета.Открыть(); КонецЕсли; КонецЕсли; КонецеСЛИ; КонецЕсли; КонецПроцедуры Процедура ВывестиЗначениеГруппировки(п_Данные, ТекРасшифровка, РезультатСтруктура) МассивРодителей = п_Данные.Элементы[ТекРасшифровка].ПолучитьРодителей(); Для Сч = 1 По МассивРодителей.Количество() Цикл ПолеРодитель = МассивРодителей[Сч-1]; Если ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда //Выведем значения текущей расшифровки Поле = ПолеРодитель.ПолучитьПоля()[0]; //Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение); РезультатСтруктура.Вставить(Поле.Поле, Поле.Значение); ИначеЕсли ТипЗнч(ПолеРодитель) = Тип("ЭлементРасшифровкиКомпоновкиДанныхГруппировка") тогда Попытка Поле = ПолеРодитель.ПолучитьРодителей()[0].ПолучитьПоля()[0] ; //Сообщить("Поле: " + Поле.Поле + ", значение: " + Поле.Значение); РезультатСтруктура.Вставить(Поле.Поле, Поле.Значение); Исключение КонецПопытки; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
alekosansey
03.02.22
✎
20:07
|
ну или хотябы текущей ячейки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |