|
Проверка регистра сведений | ☑ | ||
---|---|---|---|---|
0
rapashocker
12.04.19
✎
14:34
|
ПРивет всем, пишу проверку, нужно в Модуле объекта Заказ Покупателя , процедуре перед записью и в процедуре проведения сделать проверку на регистр сведений
Задача вот такая:и одновременно в регистре «Уведомления ORDRSP» нет ни одной записи со значением поля «Заказ покупателя» равным текущему заказу и значением поля «Отправлен вручную» равным «Истина» Написал отдельную функцию где получаю этот регистр с соответсвующими условиями полей, но не понимаю как связать функцию с 2 мя этими процедурами, в конечном итоге при не выполнении этой проверки или других будет создаваться запись в регистр. Моя функция: Функция НетЗаписейУведомленияORDRSP() Запрос = новый Запрос(); Запрос.УстановитьПараметр("ТекущийЗаказ",Ссылка); Запрос.Текст = "ВЫБРАТЬ | УведомленияORDRSP.ЗаказПокупателя |ИЗ | РегистрСведений.УведомленияORDRSP КАК УведомленияORDRSP |ГДЕ | УведомленияORDRSP.ЗаказПокупателя <> &ТекущийЗаказ | И УведомленияORDRSP.ОтправленВРучную <> ИСТИНА"; Выборка = Запрос.Выполнить().Пустой(); Возврат Выборка; КонецФункции Как связать ее с процедурой создания регистра? что бы проверка происходила при создании записи данного регистра? Вот моя процедура создания регистра Процедура РегистрУведомленияORDRSP() запись = РегистрыСведений.УведомленияORDRSP.СоздатьМенеджерЗаписи(); запись.ЗаказПокупателя = Ссылка; запись.ЗаказEDI = ДокументОснование; запись.УникальныйИдентификатор = СформироватьГУИД(); запись.ОтправленВРучную = Ложь; запись.ВариантЗаполнения = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС; запись.Состояние = Перечисления.СостоянияORDRSP.Ожидает; запись.ДатаПостановки = ТекущаяДата(); запись.Записать(); КонецПроцедуры |
|||
1
dezss
12.04.19
✎
14:39
|
Если НетЗаписейУведомленияORDRSP(Ссылка) Тогда
<тут делаешь то, что делал бы, если записей нет> Иначе <тут делаешь то, что делал бы, если записи есть> КонецЕсли; |
|||
2
rapashocker
12.04.19
✎
14:51
|
дело в том что в каждой процедуре, где бы не обходима данная проверка писать накладно и много кода, в каждоый из процедур, которая потом возвращает процедуру Процедура РегистрУведомленияORDRSP(), думаю лучше там как то написать эту проверку, только пока не понятно как
|
|||
3
dezss
12.04.19
✎
14:53
|
(2) >>дело в том что в каждой процедуре, где бы не обходима данная проверка писать накладно и много кода
вынеси код в модуле, будешь писать один раз >>думаю лучше там как то написать эту проверку, только пока не понятно как Ты хотя бы связно объяснил что ты хочешь от этой процедуры/функции получить. Может и помог бы кто-нибудь. |
|||
4
rapashocker
12.04.19
✎
15:04
|
Есть 2 процедуры в модуле объекта Перед Записью и обработкаПроведения, в них необходимо проверить данный регистр, да бы не нагромождать и там кучу проверок там, я вынес это в отдельную функцию.
дело в том что мои проверки вот пример Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) //Проверка--151321 ВремТаблица = ТоварыSFA.Выгрузить(); Если (ТорговаяТочка.АвтоматическаяОтправкаORDRSP или Контрагент.АвтоматическаяОтправкаORDRSP = Истина и Контрагент.ВариантОтправкиORDRSP = Перечисления.ВариантыОтправкиORDRSP.ПриКаждомИзменении и Контрагент.ВариантЗаполненияORDRSP = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС и НЕ (ВремТаблица.Количество() = ссылка.ТоварыSFA.Количество()) и типзнч(ДокументОснование)= тип("ДокументСсылка.ЗаказEDI")) Тогда РегистрУведомленияORDRSP(); КонецЕсли; |
|||
5
rapashocker
12.04.19
✎
15:06
|
сделал отдельную процедуру по созданию записей, и что бы не писать все проверки по 500 раз 2 процедурах, хочется создать 1 проверку перед созданием записи вот здесь:
Процедура РегистрУведомленияORDRSP() запись = РегистрыСведений.УведомленияORDRSP.СоздатьМенеджерЗаписи(); запись.ЗаказПокупателя = Ссылка; запись.ЗаказEDI = ДокументОснование; запись.УникальныйИдентификатор = СформироватьГУИД(); запись.ОтправленВРучную = Ложь; запись.ВариантЗаполнения = Перечисления.ВариантыЗаполненияORDRSP.ПовкладкеМТСС; запись.Состояние = Перечисления.СостоянияORDRSP.Ожидает; запись.ДатаПостановки = ТекущаяДата(); запись.Записать(); КонецПроцедуры |
|||
6
dezss
12.04.19
✎
15:21
|
(5) И что вызывает сложности?
В чем проблема в этой процедуре эти проверки написать? |
|||
7
rapashocker
12.04.19
✎
15:27
|
в этой процедуре я буду вызывать эту же процедуру?
|
|||
8
dezss
12.04.19
✎
15:30
|
(7) Зачем? О_О
Просто проверки в нее перенеси |
|||
9
rapashocker
12.04.19
✎
15:37
|
мне надо только регистр проверить,зачем мне все проверки туда переносить?причем они идентичны для каждой из процедур
|
|||
10
dezss
12.04.19
✎
17:15
|
(9) ну проверки по регистру туда перенеси. Я ж не говорю, что все переносить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |