• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Рассылка Изменений В Документе

  • Автор темы Nerevar
  • Дата начала
N

Nerevar

Добрый день, коллеги! Очень надеюсь на ваши советы и помощь.
Возник такой вот вопрос. Конфигурация - допиленная УПП на управляемых формах.
Имеется документ Х (реквизиты+табличная часть). Ведется его версионирование. Задача в том, чтобы при проведении измененного документа Х на почту указанных в отдельном справочнике товарищей отправлялись эти изменения.
В теории я понимаю, как это делать. Т.е. берем стандартный отчет "ИсторияИзмененийОбъекта" и запускаем его с некими параметрами. Полученный табличный документ сохраняем в хлс, после чего стандартным почтовым клиентом отправляем товарищам из списка.
При этом как прикрепить/отправить документ почтовым клиентом я знаю, а вот с запуском отчета с нужными параметрами у меня серьезная проблема, в которой я и прошу вашей помощи. Уж больно у меня ограниченные сроки.
Надеюсь на ваш опыт и доброту)))
 
Д

Дайнеко

Способ запуска другого отчета "из вне" более-менее стандартный:

Вариант 1
Форма = Отчеты.ИсторияИзмененийОбъекта.ПолучитьФорму().Открыть()

Вариант 2 через метод ОткрытьФорму() - см. синтаксис. Он рекомендуется для УФ.

А вот как передать параметры этому отчету, зависит от него. Приемы разные, вплоть до того, что он может быть и не приспособлен для приема параметров. См. в нем процедуру ПриОткрытии()

Но ведь есть и вторая задача: отчет должен сохранить результат в файл. И надо его об этом попросить. Так что без изменения отчета не обойдешься.
 
U

unknown181538

Открывать форму в модуле проведения? зачем? Возможно, что у автора процедура формирования табДока в экспортной процедуре модуля объекта или менеджера. Но об этом автор ничего не написал, так что сказать ничего не возможно.
 
Д

Дайнеко

Открывать форму в модуле проведения? зачем?

Согласен с замечанием. При записи, пожалуй. Да и, прямо скажу, глупая идея. Вызовет капитальный перегруз системы. А кто будет читать эти тонны "письма счастья". Явно директорская придумка, помешанного на безопасности.
 
N

Nerevar

Явно директорская придумка
Так очевидно?
Впрочем, я придумал другой способ, без отчета. Тупо в процедуре "ПриЧтенииНаСервере" сохранять исходные параметры, а потом, в процедуре "ПриЗаписиНаСервере", сравнивать их с проводимыми. Но вот трабл - никак не могу сообразить, как из процедуры "ПриЧтении" передать мою ТаблицуЗначений в процедуру "ПриЗаписи"...У кого-нибудь есть советы?
 
N

Nerevar

Впрочем, тупо применил константу. Т.е. записал получаемое значение в константу с типом ХранилищеЗначений
 
U

unknown181538

А если параллельно два пользователя будут редактировать два документа одного типа?
Правильнее было бы использовать временное хранилище. В реквизит формы помещаем его адрес, и извлекаем значение при записи.
 
D

Darlock

Комрады, если надо просто перечень измененных реквизитов, то зачем грузить систему всяким барахлом типа отчетов? почему "передзаписью" не сформировать запрос к ссылке и не собрать в текст результат? Имеем объект до записи и сам объект, в процессе записи.
 
N

Nerevar

почему "передзаписью" не сформировать запрос к ссылке и не собрать в текст результат? Имеем объект до записи и сам объект, в процессе записи.
Ох, а поподробнее?
 
P

puh14

Добавлю - можно не перед записью - а новую подписку на событие.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!