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

Тема в разделе "1C и всё что с ней связано", создана пользователем Nerevar, 27 ноя 2013.

  1. Nerevar

    Nerevar Member

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

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Способ запуска другого отчета "из вне" более-менее стандартный:

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

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

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

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Открывать форму в модуле проведения? зачем? Возможно, что у автора процедура формирования табДока в экспортной процедуре модуля объекта или менеджера. Но об этом автор ничего не написал, так что сказать ничего не возможно.
     
  4. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Согласен с замечанием. При записи, пожалуй. Да и, прямо скажу, глупая идея. Вызовет капитальный перегруз системы. А кто будет читать эти тонны "письма счастья". Явно директорская придумка, помешанного на безопасности.
     
  5. Nerevar

    Nerevar Member

    Регистрация:
    4 дек 2012
    Сообщения:
    12
    Симпатии:
    0
    Так очевидно?
    Впрочем, я придумал другой способ, без отчета. Тупо в процедуре "ПриЧтенииНаСервере" сохранять исходные параметры, а потом, в процедуре "ПриЗаписиНаСервере", сравнивать их с проводимыми. Но вот трабл - никак не могу сообразить, как из процедуры "ПриЧтении" передать мою ТаблицуЗначений в процедуру "ПриЗаписи"...У кого-нибудь есть советы?
     
  6. Nerevar

    Nerevar Member

    Регистрация:
    4 дек 2012
    Сообщения:
    12
    Симпатии:
    0
    Впрочем, тупо применил константу. Т.е. записал получаемое значение в константу с типом ХранилищеЗначений
     
  7. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А если параллельно два пользователя будут редактировать два документа одного типа?
    Правильнее было бы использовать временное хранилище. В реквизит формы помещаем его адрес, и извлекаем значение при записи.
     
  8. Darlock

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    Комрады, если надо просто перечень измененных реквизитов, то зачем грузить систему всяким барахлом типа отчетов? почему "передзаписью" не сформировать запрос к ссылке и не собрать в текст результат? Имеем объект до записи и сам объект, в процессе записи.
     
  9. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Гениальность, она всегда проста.
     
  10. Nerevar

    Nerevar Member

    Регистрация:
    4 дек 2012
    Сообщения:
    12
    Симпатии:
    0
    Ох, а поподробнее?
     
  11. puh14

    puh14 Well-Known Member
    1C Team

    Регистрация:
    11 июл 2008
    Сообщения:
    1.412
    Симпатии:
    0
    Добавлю - можно не перед записью - а новую подписку на событие.
     
Загрузка...

Поделиться этой страницей