8.х УПП Вывод сообщения!

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем by_ht, 2 июл 2013.

  1. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    не хотелось бы изобретать велосипед, задача такая: нужно при проведении документа реализации товаров и услуг проверять существуют ли по данному контрагенту не завершенные события, если да то выводить сообщение!!!

    Подскажите правильную дорогу реализации данного процесса! ))
  2. Aston
    Offline

    Aston Опытный в 1С

    Регистрация:
    6 июн 2012
    Сообщения:
    467
    Симпатии:
    3
    Баллы:
    29
    Модуль Объекта - Обработка проведения. Построить запрос на проверку завершенных событий, в зависимости от результата выводить сообщение функцией Сообщить().
  3. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    рискну предположить, что можно попытаться реализовать через подписку на события... хотя уверенности немного..
  4. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    хорошо, сделаем через обработку проведения.... Как мне правильно написать код?

    В процедуре обработки "Обработка проведения" я обращаюсь к функции которая возвращает значение истина или ложь и соответствующий текст, а в самой функции пишу запрос на событие?!

    Подскажите пожалуйста как мне правильно создать запрос на текущие события по Статусу и Имени Контрагента...
  5. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    написал процедуру, если ни у кого нет замечаний, можно тему закрыть, но хотелось бы послушать гуру по программированию, правильно ли написал то хоть...:

    Код:
    Процедура ПроверкаСобытийНаСтатус(ИмяКонтрагента)
    ЗапросСобытийНаСтатус = Новый Запрос;
    ЗапросСобытийНаСтатус.УстановитьПараметр("Кон", ИмяКонтрагента);
    ЗапросСобытийНаСтатус.Текст =
    "ВЫБРАТЬ
    | Событие.Номер,
    | Событие.Контрагент,
    | Событие.СостояниеСобытия
    |ИЗ
    | Документ.Событие КАК Событие
    |ГДЕ
    | Событие.Контрагент = &Кон
    | И Событие.СостояниеСобытия = Значение( Перечисление.СостоянияСобытий.Запланировано)
    |";	
    
    КоличествоЗаписей = ЗапросСобытийНаСтатус.Выполнить ().Выбрать().Количество();
    ЕСЛИ КоличествоЗаписей >= 1 ТОГДА
    Предупреждение("У контрагента имеется запланированное СОБЫТИЕ!", 100, "Внимание");
    КонецЕсли;
    КонецПроцедуры    
  6. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    1.Создайте отдельный общий модуль и делайте через подписку на событие. что бы документ не портить.
    2. Еде обавтье проверку на клиент или сервер. потому ка кдокументы имеют свойства перпроводиться, хоть так хоть при обновлении. А собщенеи будет выводиться только на клиенте.
  7. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    1) отдельный общий модуль? а какой?
  8. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    1) Почему то не вижу своего модуля с процедурой, при подписке на событие ОбработкаПроведения.
  9. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Любой общий создайте. Обзовите его например "Подписки"

    Создайте подписку на событие и ссылку на этот модуль. На певую же процедуру. назовите ее основной. Т.е при подписке на событие вызывается она. А вней, если проводится документ реализации то далем тото, если Поступления то то. Таким образом у вас все подписки в одном модуле.
  10. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    А какие свойства выставлять при создании Общего Модуля?
    ставить галочку?:
    Сервер
    Внешние подключение
    Клиент
    Вызов сервера

    Создал общий модуль, Но при создании Подписки, в списке я не вижу своего созданного модуля!
  11. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Создал Подписку, но в его свойстве "Обработчик" я не вижу своего созданного общего модуля.... в ручную прописать что ли?

    Нет, ошибку выдает...не найдена процедура... не видит он моего общего модуля! в чем проблема?

    Мне наверно как то правильно процедуру написать надо в моем модуле... а я тупо вставил как написано выше!!
  12. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    в данном модуле как сказал должна быть процедура. К тому же она должна быть Экспортная, что бы виделась для подписки. А у модуля - галочки - можете все поставить
  13. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    Понял.... в подписках привязал процедуру.... но как передать ей параметр????
    не известный параметр ИмяКонтрагента.... что то не пойму.

    Код:
    Процедура МояПерваяПодпискаНаСобытиеОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    ЗапросСобытийНаСтатус = Новый Запрос;
    ЗапросСобытийНаСтатус.УстановитьПараметр("Кон", ИмяКонтрагента);
    ЗапросСобытийНаСтатус.Текст =
    "ВЫБРАТЬ
    | Событие.Номер,
    | Событие.Контрагент,
    | Событие.СостояниеСобытия
    |ИЗ
    | Документ.Событие КАК Событие
    |ГДЕ
    | Событие.Контрагент = &Кон
    | И Событие.СостояниеСобытия = Значение( Перечисление.СостоянияСобытий.Запланировано)
    |";	
    
    КоличествоЗаписей = ЗапросСобытийНаСтатус.Выполнить ().Выбрать().Количество();
    ЕСЛИ КоличествоЗаписей >= 1 ТОГДА
    Предупреждение("У контрагента имеется запланированное СОБЫТИЕ!", 100, "Внимание");
    КонецЕсли;
    КонецПроцедуры
    
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    могет так
    Код:
    Процедура МояПерваяПодпискаНаСобытиеОбработкаПроведения(Источник, Отказ, РежимПроведения, ИмяКонтрагента)
  15. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    А значение то как в процедуру передать
  16. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Можно так, а можно и через исчточник найти

    Источник, Отказ, РежимПроведения - это предопределенное значения при подписке.
    Исчтоник - это будет ссылка на ваш объект для которого вызывается подписка
  17. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    точно, что-то стормозила на ровном месте )))
  18. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    ПРовожу документ Реализации Товаров и Услуг, ни каких сообщений нет....почему???

    Код:
    Процедура МояПерваяПодпискаНаСобытиеОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
    
    Сообщить("123");
    
    КонецПроцедуры
    
  19. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    проверку поставтье на клиенте
  20. TopicStarter Overlay
    by_ht
    Offline

    by_ht Опытный в 1С

    Регистрация:
    8 май 2013
    Сообщения:
    74
    Симпатии:
    0
    Баллы:
    26
    понял, спасибо, заработало
Похожие темы
  1. Svetlanka
    Ответов:
    21
    Просмотров:
    1.165
  2. Svetlanka
    Ответов:
    2
    Просмотров:
    308
Загрузка...

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