Кужелев Андрей

50
Рейтинг

Fe9_min
Андрей Кужелев



  •   Регистрация: 06.07.2014 (9 лет назад)

  •   Был(а) на сайте: 02.04.2024

Друзья
  • Артем Епифанцев
  • Валерий .
Подписчики 5

Группы

Профессиональный разработчик

Рейтинг 50

Получение фактических данных с помощью произвольного запроса. Бюджетирование. ERP 2.2

Статья Программист Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 Россия Управленческий учет Бесплатно (free) Нет файла Запросы

Часто, при получение факта для Статей и Показателей бюджетов, недостаточно данных из разделов источника "Оперативный" и "Регламентированный" учёт. Приходится обращаться к "Произвольным данным". Но, как в анекдоте по Петьку и Василия Ивановича, есть нюанс!

17.10.2017    28516    Fe9_min    19       

50

Комментарии

DevСКД. Установить и обновить отображение параметров#5 02.04.24 19:54
у меня ниже написано следующее, но всё равно не то пальто

Код
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь; 
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ПолучитьНовыйПериод());
    
    //Получю таблицу, данные из которой буду выводить пользователю
   ТЗДанные = ПолучитьТаблицуДанных(СтруктураПараметров);
   
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; 
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; 
   
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   МакетКомпоновки       = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
   
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, Новый Структура("ТЗДанные", ТЗДанные), ДанныеРасшифровки);
   
   ДокументРезультат.Очистить();
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
DevСКД. Установить и обновить отображение параметров#1 02.04.24 10:51
Добрый день!
Подскажите, как программно изменить, а потом отобразить изменения у пользователя в процедуре "ПриКомпоновкеРезультата"? Прошу обратить внимание, что СтандартнаяОбработка = Ложь.

Код
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь; 
   Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ПолучитьНовыйПериод());
   ...
   
КонецПроцедуры


Сейчас код такой, параметры устанавливаются и отображаются в табличном документе, но пользовательские настройки не меняются (скрин). То есть "01.02.2024-29.02.2024" должно измениться на "01.01.2024-31.03.2024".
Подскажите пожалуйста, как их изменить?

Прикрепленные файлы:

Снимок.JPG
DevПолучитьСообщенияПользователю() фонового задания возвращает пустой массив#10 03.02.23 14:35
(9) модуль объекта документа "Реализация товатов и услуг"
DevПолучитьСообщенияПользователю() фонового задания возвращает пустой массив#8 03.02.23 13:57
(6) Получается так
С учётом, что я делаю это в своей тестовой базе, где никого нет. Но что тогда творится в рабочей базе.
Получается типовой механизм работает отвратительно. Теряет нужные сообщения. Так?
DevПолучитьСообщенияПользователю() фонового задания возвращает пустой массив#5 03.02.23 13:21
(4) собрался передать из процедуры, которыя создаёт фоновое заданив в процедуру, которая вызывает сообщение - УникальныйИдентификатор фонового задания
DevПолучитьСообщенияПользователю() фонового задания возвращает пустой массив#3 03.02.23 13:04
(2) Сообщение создаётся и точно в нужном фоновом задание.
А вот ИдентификаторЗадания я не устанавливал в Сообщение = Новый СообщениеПользователю;
Сейчас попробую
DevПолучитьСообщенияПользователю() фонового задания возвращает пустой массив#1 03.02.23 12:22
День добрый!
При выполнение фонового задания пишу следующий код сообщения (в модуле объекта):
Код
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "111";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();

// Пробовал и аналог:
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, Ссылка,,, Отказ);
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект,,, Отказ);


Далее, есть типовой код проверки выполнения фонового задания и вывода сообщений:
Код
&НаСервереБезКонтекста
Функция СообщенияФоновогоЗадания(ИдентификаторЗадания)

   СообщенияПользователю = Новый Массив;
   ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
   Если ФоновоеЗадание <> Неопределено Тогда
      СообщенияПользователю = ФоновоеЗадание.ПолучитьСообщенияПользователю();
   КонецЕсли;
   
   Возврат СообщенияПользователю;
   
КонецФункции


СообщенияПользователю - это пустой фиксированный массив, хотя Сообщение.Сообщить() выполнялось.
Вопрос:
Как добиться того, что бы ПолучитьСообщенияПользователю() возвращало моё сообщение, которое было сделано во время выполнения фонового задания?
DevКак параметру СКД с типом Строка назначить кнопку выбора и её обработчик?#12 12.01.23 12:25
(11) Если не трудно, то можно ли глянуть на ваш отчёт, который вы полгода назад делали?
DevКак параметру СКД с типом Строка назначить кнопку выбора и её обработчик?#9 12.01.23 11:04
(8) ифостарт становится мистой. никто не читает вопрос, а когда им указывают на это, то все кому не поподя начинают хоркаться желчью.
Открою секрет: люди потому вопросы и задают на форумах, потому что знаний не достаточно...
DevКак параметру СКД с типом Строка назначить кнопку выбора и её обработчик?#5 12.01.23 10:36
(4) вы и правда не читаете вопрос топика? Я это и спрашиваю, есть ли возможность сделать вышесказанное в СКД или только на форма?...