7 янв. 2019 г.
При нажатии на измерении открыть документ
Отчет. СКД. При нажатии на измерение должен открыться документ.
Измерением являеться строковое значение из открывающего документа.
В настройках СКД, в полях Выражения нужно проставить в реквизит, который нужно открыть при двойном нажатии, путь через точку к реквизиту, который будет отбражаться в отчете.
Измерением являеться строковое значение из открывающего документа.
В настройках СКД, в полях Выражения нужно проставить в реквизит, который нужно открыть при двойном нажатии, путь через точку к реквизиту, который будет отбражаться в отчете.
А далее вывести в отчет данный реквизит и переименовать его
1 янв. 2019 г.
Сохранить настройки обработки
Сохранение настроек (запоминание значений реквизитов) внешней обработки
&НаСервере Процедура СохранитьЗначенияФормы() Настройки = Новый Структура; Реквизиты = РеквизитФормыВЗначение("Объект").Метаданные().Реквизиты; Для Каждого Эл Из Реквизиты Цикл Настройки.Вставить(Эл.Имя, Объект[Эл.Имя]); КонецЦикла; ТабличныйЧасти = РеквизитФормыВЗначение("Объект").Метаданные().ТабличныеЧасти; Для Каждого Эл Из ТабличныйЧасти Цикл Настройки.Вставить(Эл.Имя, Объект[Эл.Имя].Выгрузить()); КонецЦикла; ХранилищеОбщихНастроек.Сохранить(ПолучитьЗначениеМетаданного("Синоним"), ИмяНастройки ,Настройки, , Пользователи.ТекущийПользователь()); КонецПроцедуры &НаСервере Процедура ВосстановитьЗначенияФормы() Настройки = ХранилищеОбщихНастроек.Загрузить(ПолучитьЗначениеМетаданного("Синоним"), ИмяНастройки); Если Настройки <> Неопределено Тогда Обр = РеквизитФормыВЗначение("Объект"); Реквизиты = Обр.Метаданные().Реквизиты; Для Каждого Эл Из Реквизиты Цикл Если Настройки.Свойство(Эл.Имя) Тогда Если Эл.Тип = Новый ОписаниеТипов("ТаблицаЗначений") Тогда Продолжить; КонецЕсли; Обр[Эл.Имя] = Настройки[Эл.Имя]; КонецЕсли; КонецЦикла; ТабличныеЧасти = Обр.Метаданные().ТабличныеЧасти; Для Каждого Эл Из ТабличныеЧасти Цикл Обр[Эл.Имя].Загрузить(Настройки[Эл.Имя]); КонецЦикла; ЗначениеВРеквизитФормы(Обр, "Объект"); КонецЕсли; КонецПроцедуры
&НаСервере Процедура СохранитьЗначенияФормы() Настройки = Новый Структура; Реквизиты = РеквизитФормыВЗначение("Объект").Метаданные().Реквизиты; Для Каждого Эл Из Реквизиты Цикл Настройки.Вставить(Эл.Имя, Объект[Эл.Имя]); КонецЦикла; ТабличныйЧасти = РеквизитФормыВЗначение("Объект").Метаданные().ТабличныеЧасти; Для Каждого Эл Из ТабличныйЧасти Цикл Настройки.Вставить(Эл.Имя, Объект[Эл.Имя].Выгрузить()); КонецЦикла; ХранилищеОбщихНастроек.Сохранить(ПолучитьЗначениеМетаданного("Синоним"), ИмяНастройки ,Настройки, , Пользователи.ТекущийПользователь()); КонецПроцедуры &НаСервере Процедура ВосстановитьЗначенияФормы() Настройки = ХранилищеОбщихНастроек.Загрузить(ПолучитьЗначениеМетаданного("Синоним"), ИмяНастройки); Если Настройки <> Неопределено Тогда Обр = РеквизитФормыВЗначение("Объект"); Реквизиты = Обр.Метаданные().Реквизиты; Для Каждого Эл Из Реквизиты Цикл Если Настройки.Свойство(Эл.Имя) Тогда Если Эл.Тип = Новый ОписаниеТипов("ТаблицаЗначений") Тогда Продолжить; КонецЕсли; Обр[Эл.Имя] = Настройки[Эл.Имя]; КонецЕсли; КонецЦикла; ТабличныеЧасти = Обр.Метаданные().ТабличныеЧасти; Для Каждого Эл Из ТабличныеЧасти Цикл Обр[Эл.Имя].Загрузить(Настройки[Эл.Имя]); КонецЦикла; ЗначениеВРеквизитФормы(Обр, "Объект"); КонецЕсли; КонецПроцедуры
18 нояб. 2018 г.
Получить последнюю запись в итогах СКД
В ресурсах СКД пишем
ВычислитьВыражение("Долг", , , "Последняя")
ВычислитьВыражение("Долг", , , "Последняя")
Позиционироваться на текущую строку при открытии формы выбора
Процедура УслугиУслугаНачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Услуга;
ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора");
ФормаВыбора.РежимВыбора = Истина;
ЭлементОтбора = ФормаВыбора.СправочникСписок.Отбор.ВидНоменклатуры;
ЭлементОтбора.Значение = Справочники.ВидыНоменклатуры.НайтиПоРеквизиту("ТипНоменклатуры", ТипНоменклатуры);
ЭлементОтбора.Использование = Истина;
ТекущиеДанные = ЭлементыФормы.Услуги.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ТекНоменклатура = ТекущиеДанные.Номенклатура;
Если ЗначениеЗаполнено(ТекНоменклатура) Тогда
ФормаВыбора.ПараметрТекущаяСтрока = ТекНоменклатура;
КонецЕсли;
КонецЕсли;
Результат = ФормаВыбора.ОткрытьМодально();
Если Результат <> Неопределено Тогда
ЭлементыФормы.Услуги.ТекущиеДанные.Номенклатура = Результат;
КонецЕсли;
КонецПроцедуры
Добавить кнопки Сортировки для ТаблицаЗначений обычные формы
Обычные формы. А далее
а потом можно через Действие по кнопке сделать типа
Процедура КоманднаяПанель1ПоУбыв(Кнопка) Сортировка(Кнопка); КонецПроцедуры Процедура Сортировка(Кнопка) ТекущаяКолонка = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка; Если ТекущаяКолонка = Неопределено Тогда Возврат; КонецЕсли; ИмяТекущейКолонки = ЭлементыФормы.ПоступившиеЗаявки.ТекущаяКолонка.Имя; МетодСортировки = Кнопка.Имя; ПоступившиеЗаявки.Сортировать(ИмяТекущейКолонки + " " + МетодСортировки, ); КонецПроцедуры
Подписаться на:
Сообщения (Atom)