СКД. Отображение нестандартной расшифровки
Расскажу, что этот код делает. Когда пользователь при сформированном отчёте нажимает на комментарий, высвечивается окно, где пользователь редактирует или пишет с нуля текст и нажимает "ОК". Затем программа читает всю строку и создаёт новую запись в регистре, откуда СКД и берет все данные. Подскажите, пожалуйста, что написать, чтобы пользователь после кнопки "ОК" видел свою запись?
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
Комментарий = ПолучитьКомментарийНаСервере(Расшифровка);
СтандартнаяОбработка = Ложь;
СтруктураДляЗаписи = ПолучитьРасшифровкуНаСервере(Расшифровка);
Оповещение = Новый ОписаниеОповещения("ВводТекстаВПримечание", ЭтаФорма, Комментарий);
ПоказатьВводСтроки(Оповещение, Комментарий, "Введите примечание", ,Истина);
КонецПроцедуры
&НаКлиенте
Процедура ВводТекстаВПримечание(Результат, ТекущиеДанные) Экспорт
Если не Результат = Неопределено Тогда
ТекущиеДанные = Результат;
СтруктураДляЗаписи.Вставить("Комментарий", Результат);
КонецЕсли;
ЗаполнитьРегистр();
//Что тут написать, чтобы пользователь видел только что написанный комментарий без пересформирования
//PS с переформированием всё работает.
КонецПроцедуры
&НаСервере
Функция ПолучитьКомментарийНаСервере(Расшифровка)
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
Комментарий = Данные.Элементы.Получить(Расшифровка).ПолучитьПоля()[0].Значение;
Если Комментарий = Неопределено Тогда
Возврат Неопределено;
Иначе
Возврат Комментарий;
КонецЕсли;
КонецФункции
&НаСервере
Функция ПолучитьРасшифровкуНаСервере(Расшифровка)
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
МояСтруктура = Новый Структура;
МояСтруктура.Вставить("ДатаОкончания", Данные.Элементы.Получить(Расшифровка - 1).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("ДатаНачала" , Данные.Элементы.Получить(Расшифровка - 2).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("Номенклатура" , Данные.Элементы.Получить(Расшифровка - 3).ПолучитьПоля()[0].Значение);
//МояСтруктура.Вставить("Контрагент" , Данные.Элементы.Получить(Расшифровка - 4).ПолучитьПоля()[0].Значение);
//МояСтруктура.Вставить("Менеджер" , Данные.Элементы.Получить(Расшифровка - 5).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("ЗаказКлиента" , Данные.Элементы.Получить(Расшифровка + 1).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("КодСтроки" , Данные.Элементы.Получить(Расшифровка + 2).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("КолМесяцев" , Данные.Элементы.Получить(Расшифровка + 3).ПолучитьПоля()[0].Значение);
МояСтруктура.Вставить("Продажа" , Данные.Элементы.Получить(Расшифровка + 4).ПолучитьПоля()[0].Значение);
Возврат МояСтруктура;
КонецФункции
&НаСервере
Процедура ЗаполнитьРегистр();
Запись = РегистрыСведений.СрокиДействияЛицензийИТС.СоздатьМенеджерЗаписи();
Запись.ЗаказКлиента = СтруктураДляЗаписи.ЗаказКлиента;
Запись.Номенклатура = СтруктураДляЗаписи.Номенклатура;
Запись.КодСтроки = СтруктураДляЗаписи.КодСтроки;
Запись.КоличествоМесяцев = СтруктураДляЗаписи.КолМесяцев;
Запись.ДатаНачала = СтруктураДляЗаписи.ДатаНачала;
Запись.ДатаОкончания = СтруктураДляЗаписи.ДатаОкончания;
Запись.ПродажаСовершена = СтруктураДляЗаписи.Продажа;
Запись.Комментарий = СтруктураДляЗаписи.Комментарий;
Запись.Записать();
КонецПроцедуры;
ПоказатьПо теме из базы знаний
Найденные решения
Меня порой удивляют подобные посты, ведь человек написал весь этот код, с обработкой расшифровки и прочим, а вот вопрос вызвало только то, как обновить отображение на форме.
На самом деле, если ты не хочешь переформировывать весь отчет, тебе нужно переформировать только его часть. Ту часть, которая была изменена. Т.е. на месте своего комментария пишешь:
На самом деле, если ты не хочешь переформировывать весь отчет, тебе нужно переформировать только его часть. Ту часть, которая была изменена. Т.е. на месте своего комментария пишешь:
Элементы.ОтчетТабличныйДокумент.ТекущаяОбласть.Текст = Результат; //ОтчетТабличныйДокумент - это я просто от балды взял, тут твое имя должно быть
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Меня порой удивляют подобные посты, ведь человек написал весь этот код, с обработкой расшифровки и прочим, а вот вопрос вызвало только то, как обновить отображение на форме.
На самом деле, если ты не хочешь переформировывать весь отчет, тебе нужно переформировать только его часть. Ту часть, которая была изменена. Т.е. на месте своего комментария пишешь:
На самом деле, если ты не хочешь переформировывать весь отчет, тебе нужно переформировать только его часть. Ту часть, которая была изменена. Т.е. на месте своего комментария пишешь:
Элементы.ОтчетТабличныйДокумент.ТекущаяОбласть.Текст = Результат; //ОтчетТабличныйДокумент - это я просто от балды взял, тут твое имя должно быть
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот