• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Nerevar

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

Дайнеко

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

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

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

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

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

unknown181538

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

Дайнеко

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

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

Nerevar

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

Nerevar

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

unknown181538

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

Darlock

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

Nerevar

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

puh14

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

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