Имя: Пароль:
1C
1С v8
Установка значения булево реквизиту документа
, ,
0 NIGHTHUNTER
 
18.05.22
09:30
У создаваемого документа есть реквизит. Если документ создается, то есть новый. Отрабатывает код, и значение реквизита устанавливается в Истина.

В модуле объекта. документа

        ЭтотОбъект.УведомлениеПослеСозданияЗаявки = Истина;

пробовал и так, и так

        УведомлениеПослеСозданияЗаявки = Истина;

Но после записи документа, значение этого реквизита, по прежнему остается Ложь.

Почему оно не устанавливается в истину, и как это сделать?
34 NIGHTHUNTER
 
18.05.22
11:44
(11) Ниче, ты меня подставил!!!!!
35 vicof
 
18.05.22
11:45
(34) Што?
36 kobzon2
 
18.05.22
11:45
(34) База легла?
37 Kassern
 
18.05.22
11:47
(34) ахаххах))
38 NIGHTHUNTER
 
18.05.22
11:47
(36) Нет, стал наблюдать что там, при создании уже истина.
Зачем это нужно?
мне нужно при создании делать уведомление, и делать в истина этот реквизит.

Потом другой, при статусе заявка закрыта, так же. Но они почему то не сохраняются, выявилось что. Ищу решение. Сейчас найду.
39 Kassern
 
18.05.22
11:48
(34) вы хоть понимаете, что значит "В свойствах реквизита выставить "Значение заполнения" = Истина"?)
40 Kassern
 
18.05.22
11:49
или вам как сказали, вы так и сделали, ладно хоть никто не написал format C:
41 NIGHTHUNTER
 
18.05.22
11:52
(39) Теперь да, что там там истина будет по умолчанию. Я так понимаю, может и не правильно.
42 NIGHTHUNTER
 
18.05.22
11:52
(40) я попробовал одно из предложенных, надеясь, что оно от умного человека было.
43 Ryzeman
 
18.05.22
11:53
(40) Мне кажется, человек проводит социальный эксперимент - можно ли работать 1сником, если все задачи и проблемы решать не через методическую литературу и яндекс, а через форум)
44 vicof
 
18.05.22
11:54
(43) Тебе кажется)
45 vicof
 
18.05.22
11:55
(42) Оно было от умного человека
46 NIGHTHUNTER
 
18.05.22
11:56
(45) Что по умолчанию, в реквизит нужно делать истина?
47 NIGHTHUNTER
 
18.05.22
11:56
(45) я не сомневаюсь что от умного. Тогда не так выразился. я думал что оно от доброго человека было.
48 vicof
 
18.05.22
11:57
(47) Ты всегда не так выражааешься, не то имеешь ввиду, не так формулируешь, не так понимаешь, не то тыкаешь.
49 Kassern
 
18.05.22
11:58
(42) Чем вас не устроило решение из (32) ?
50 Fish
 
18.05.22
11:59
(34) Неожиданный поворот. Взял попкорн.
51 NIGHTHUNTER
 
18.05.22
12:04
(49) Шокирован тем, что что не сделаю, потом там снова ложь. Сейчас его проверю. Дойду до него.
(48) Приношу свои извинения, простите меня за плохое поведение. не знаю как тяжесть с души убрать.
52 vicof
 
18.05.22
12:11
(51) У человека нет души)
53 NIGHTHUNTER
 
18.05.22
12:12
(52) Да у меня там АД. Развергся, с одного момента жизни. Молю о смерти всевышних.
54 Kigo_Kigo
 
18.05.22
12:16
Хоспадя, опять у тебя подписка что то сбрасывает, научить тебя искать доки в подписках?
ПКМ на объекте , найти ссылки На бъект - искать в свойствах, наслаждайтесь в каких подписках он фигурирует и смотрите что подписка модифицирует
55 NIGHTHUNTER
 
18.05.22
12:16
(52) Про тыкать мне одна фрося на работе начала говорить.
Когда собрался весь коллектив вокруг, и стали решать что со мной делать.
Я ей попытался объяснить, что я не буду же своему врагу выкать. Тым более там не кому было говорить вы вообще.
Ты конечно не красиво. Я всем сейчас , теперь стараюсь говорить вы. но иногда вырывается.
56 NIGHTHUNTER
 
18.05.22
12:19
(49) Мне не подойдет это сделать, потому что у меня в процедуре


Процедура ПриЗаписи(Отказ)
    Если (Не УведомлениеПослеСозданияЗаявки) И (не Отказ) И ЗначениеЗаполнено(Номер) И ЗначениеЗаполнено(Дата) И ЗначениеЗаполнено(Инициатор) Тогда     



Идет выполнение, а если я поставлю это в процедуре как вы сказали, то в ПриЗаписи, ничего не сработает .
57 yopQua
 
18.05.22
12:21
еп еп дела дела
58 Kassern
 
18.05.22
12:21
(56) При записи выполняется после ПередЗаписью. В моем случае значение будет установлено только для новых документов.
59 Kassern
 
18.05.22
12:22
Вы так и не написали, чего вы вообще добиться хотите...Я же писал ранее, мол напишите на обывательском уровне, чего добиться хотите, в итоге вы дальше пытаетесь свою линию гнуть...
60 yopQua
 
18.05.22
12:23
(58) он всегда будет истина, это ж реквизит документа еп еп
61 Kigo_Kigo
 
18.05.22
12:24
Кстати, поиск по "УведомлениеПослеСозданияЗаявки" может дать понимание, в каких модулях это модифицируется
62 Kassern
 
18.05.22
12:24
(60) он будет истина только для новых документов, далее уже можно его редактировать. Я не понимаю, что вообще ТСу надо
63 Kassern
 
18.05.22
12:25
(61) я вообще думал, это он сам реквизит создал и пытается его натянуть)
64 Kassern
 
18.05.22
12:25
если же это типовой реквизит документа, то скорее всего у него есть своя логика заполнения, которая может менять ваш выбор программный
65 yopQua
 
18.05.22
12:26
(62) никто не понимает еп еп
66 NIGHTHUNTER
 
18.05.22
12:30
(62) Мне нужно:

1. При создании документа, отправить уведомление на почту, определенному кругу лиц. И я сделал для этого реквизит, что если отправка прошла, ставить его в истина.

2. Если статус документа, закрыт. Так же ставить в истина ещё одни дополнительно созданный реквизит, свидетельствующий об этом.

Но вот столкнулся с тем, что не могу их установить в истина я.
67 yopQua
 
18.05.22
12:32
коротка инструкция
Кнопкой мыши добавляем в Документ реквизит, тип булево
ПередЗаписью хоть формы хоть объекта
потом код из 32
еп еп
но вобще галка - это белеберда
68 Kassern
 
18.05.22
12:35
(66) блин зачем вы это в документе храните? Создайте регистр сведений. Типа ИсторияОтправкиПисем. Далее уже при проведении проверяете, есть ли запись с отправкой в этом регистре, если нет и не отказ, то делаете рассылку и ставите в истину.
69 Kassern
 
18.05.22
12:36
Если же рассылка ресурсоемкая и не нужна такая уж оперативность, то можно этим регистром отмечать документы для рассылки, а далее регламентным заданием выполнять уже рассылку по данному регистру
70 ptiz
 
18.05.22
12:37
Ему уже не помочь.
71 NIGHTHUNTER
 
18.05.22
12:37
(67) не работает, я же добавил.
72 Kassern
 
18.05.22
12:38
тем что вы добавили реквизит в документ, теперь вам каждый раз, для проставления "галочки" нужно полностью перепроводить документ со всеми проводками, а теперь представьте, что вам это надо сделать за несколько лет задним числом? Думаю вы будете не особо рады пару лет перезакрывать месяца, если этот документ влияет на себестоимость
73 Kassern
 
18.05.22
12:39
(71) логично, не работает, потому что ВЫ добавили)
74 yopQua
 
18.05.22
12:41
(71) еп еп не бывает так, проверяйте
может в форму реквизит добавили?
может переназначение переменной? это где угодно может быть - в подписках, типовых процедурах (могут обнулять реквизиты) и т д
поставьте точку там, где устанавливаете значение ревизита, и идите отладчиком строчка за строчкой, по его значение не поменяется
ctrl+alt+w - табло
75 NIGHTHUNTER
 
18.05.22
12:43
(74) Значение меняется, но при повторном проведении документа, оказывается что там старое.
76 yopQua
 
18.05.22
12:45
а после первого проведения? посмотрите консолью запросов или в форму списка колонку надо вывести, удостовериться, проверяете вы как что он истина?
77 NIGHTHUNTER
 
18.05.22
12:46
В перед записью сейчас все перенес, но не получится, так как мне нужны номер, дата документа. Там их нет.
78 yopQua
 
18.05.22
12:48
еп еп без разницы перед или при записи объекта
79 yopQua
 
18.05.22
12:49
еп еп нет, при записи не пойдет, поздно
80 NIGHTHUNTER
 
18.05.22
12:49
(78) У меня вот такие условия

    Если (Не УведомлениеПослеСозданияЗаявки) И (не Отказ) И ЗначениеЗаполнено(Номер) И ЗначениеЗаполнено(Дата) И ЗначениеЗаполнено(Инициатор) Тогда     

в процедуре ПередЗаписью. Я считал что это отработает один раз, в этой же процедуре задавая значение УведомлениеПослеСозданияЗаявки в истина.

Но при перепроведении документа. оно снова ложь.
81 NIGHTHUNTER
 
18.05.22
13:02
(79) Мне нужны реквизиты документа, Дата, номер, их нет в перед записью.
82 kobzon2
 
18.05.22
13:12
(68) (69) + 1. Сделать регистр сведений и добавлять туда запись об отправленных письмах по документу. В типовых почти везде так сделано. Всё через регистр и отправляется регламентным заданием через определенное время. Причем с несколькими попытками, т.к. почта может быть не доступна.
83 Kassern
 
18.05.22
13:13
(82) я думаю ТС нас не услышит и будет дальше галочки в документах ковырять...
84 hhhh
 
18.05.22
13:17
(81) если в ПриЗаписи(), то делай в конце Записать();
85 vicof
 
18.05.22
13:20
(84) Записать при записи. Шикарно)
86 NIGHTHUNTER
 
18.05.22
13:24
(82) Это понятно, чт орегистр сведений. Но а без него как?

(83) я слышу. но хочу сделать галкой, этого что нельзя????

(84) А так можно делать?

(85) нельзя этого делать?
87 vicof
 
18.05.22
13:27
(86) Про рекурсию слышал?
88 Kassern
 
18.05.22
13:28
(86) Как думаете, что будет, если при записи вы будете заново запускать запись документа?
89 NIGHTHUNTER
 
18.05.22
13:29
(87) Ну то есть такое не делается? Если нельзя, значит нельзя. Как тогда можно? Получается никак с флагом булефо?
90 NIGHTHUNTER
 
18.05.22
13:29
(88) Зацикливание? Тогда это не рабочий способ. Зачем о нем говорить (84) ?

Как тогда можно?
91 Kassern
 
18.05.22
13:31
(86) Создайте базу пустышку, добавьте туда 1 документ и 1 реквизит ваш булево. Далее как я писал в (32) присвойте истину для него. В итоге у вас будет для всех записанных новых документов этот реквизит в истиной.
92 Kassern
 
18.05.22
13:32
Вы мне можете объяснить, что вы делаете с этим условием из (80) ?? Что там дальше в коде? Может вы там эту галочку и убираете?
93 Kassern
 
18.05.22
13:32
нахрена вам это условие"(Не УведомлениеПослеСозданияЗаявки) И (не Отказ) И ЗначениеЗаполнено(Номер) И ЗначениеЗаполнено(Дата) И ЗначениеЗаполнено(Инициатор)"?
94 Kassern
 
18.05.22
13:33
по-русски напишите, что вы хотите проверить? Если документ записан в базу, значит у него и номер и дата будет, зачем вы это проверяете?
95 hhhh
 
18.05.22
13:34
(88) нормально всё работает, просто 2 раза выполнятся обработчики. Для ТС это не критично, лучшее решение.
96 NIGHTHUNTER
 
18.05.22
13:37
(92) Галка нужна для того что бы ее поставить раз, и проверять стоит ли она.
Для отправки уведомлений, что если они отправлены. то больше не отправлять.
97 Kassern
 
18.05.22
13:38
(96) а в какой момент она должна быть проставлена? После отправки письма?
98 NIGHTHUNTER
 
18.05.22
13:38
(95) То есть оставить так?


Процедура ПриЗаписи(Отказ)
        ЭтотОбъект.УведомлениеПослеСозданияЗаявки = Истина;
                Записать();
    КонецЕсли;

"nj chf,jnftn njkmrj hfp? b ,jkmit yt ,eltn pfgecrfnmcz? nfr rfr ufkrf ecnfyjdbncz/
99 NIGHTHUNTER
 
18.05.22
13:39
(98+)

Это сработает только раз и больше не будет запускаться, так как галка установится.
100 Kassern
 
18.05.22
13:40
(98) бред
101 NIGHTHUNTER
 
18.05.22
13:40
(97) Да!

1). Новый документ, уходят письма заданным лицам. галка установилась

2). В статусе документа, поставили закрыто, провели, ушло письмо что заявка закрыта, и галка тоже установилась.

Я делал это ПриЗаписи() в модуле документа.

Раз отправились письма при создании и все галка установилась.
Второй раз при закрытии заявки, и тоже вторая галка установилась.
102 NIGHTHUNTER
 
18.05.22
13:41
(100) Вот (95) все же нельзя так говорят.
103 Kassern
 
18.05.22
13:48
(102) Блин поймите уже наконец. Перед записью еще нет информации о номере документа, если он не записан был в базу, а в последующих процедурах вы не сможете уже установить реквизит документа, так как уже транзакция начата и ее модифицировать не получится.
Поэтому если вы пытаетесь поставить галочку при записи, или при проведении, то у вас она не поставится, так как была уже начата транзакция на запись без нее. Повторное перепроведение по мне так полный бред. Поэтому самый правильный вариант отметку перенести в регистр.
104 Kassern
 
18.05.22
13:49
либо любайтесь с котсылями, отправляйте письмо и заново записывайте документ с галкой
105 vicof
 
18.05.22
13:56
(104) А с регистром он тоже не знает, что делать. И будет еще 5 тем с тупыми вопросами.
106 Kassern
 
18.05.22
13:57
(105) да что там делать? Простенький регистр и простенький запрос к нему.
107 kobzon2
 
18.05.22
14:05
Посмотреть бы еще как он письма отправляет, а то потом окажется что люди не смогут тупо документ записать)))
108 Kassern
 
18.05.22
14:06
(107) завис почтовый клиент и все -  Девочки! Сегодня реализации не делаем, почта не работает))
109 nodrama
 
18.05.22
14:10
(105) (106)  С регистром вообще проблем не должно быть
Регистр с регистратором документ и булевом ушли письма или нет
и при работе с документом повторным там проведением и тд просто проверять на булево в регистре
Но на сколько я помню тему он сказал что РС не делал ибо лень ;)
110 kobzon2
 
18.05.22
14:11
(108) Вот-вот. Да и отправлено или нет я думаю он тоже проверять не будет. ПочтаОтправлена(); КонецЕсли; УведомлениеПослеСозданияЗаявки = Истина;
А потом ген. директор такой: Андрей, я ничего не получал. А Андрей: Странно, а галочка стоит!))
111 nodrama
 
18.05.22
14:12
(110) И он такой ну вот тебе в Трудовую книжку то же галочка ))))
112 nodrama
 
18.05.22
14:13
(110) он такой но я же не уволен еще... А ген дир.. а галочка уже стоит
113 Kassern
 
18.05.22
14:15
надеюсь ТС создает документ ЭлектронноеПисьмоИсходящее, которое на типовом уровне регламентом отправляется...
114 nodrama
 
18.05.22
14:16
(113) Я даже ванговать не буду. тут логично что сразу "НЕТ"
115 kobzon2
 
18.05.22
14:17
(113) Это мы узнаем в следующих сериях, в смысле темах, когда что-то не будет отправляться.
116 nodrama
 
18.05.22
14:22
тут скорее всего он сразу отправляет либо через почтовый клиент аля Новый COMОбъект("Outlook.Application")
либо      
             Профиль = Новый ИнтернетПочтовыйПрофиль;
            Профиль.АдресСервераSMTP = "лялялял";
                        Почта = Новый ИнтернетПочта; и так далее

И ни каких проверок на ушло не ушло доставлено не доставлено описание ошибок тоже нет
117 yopQua
 
18.05.22
15:10
еп еп галочка - ацтой и регистр ацтой, ни одно ни другое не учитывает, что после правки документа надо разослать обновленные данные(а может и не надо!). самый оптимальный вариант с рассылками в таких случаях - вопрос "Отправить да/нет", ну там с условиями на модифицированность или еще чего, на что фантазии хватит, но решение принимает пользователь. изменять он может много чего, что не всем рассылантам интересно, поэтому на его усмотрение.
потом, все рассылки делать надо после записи еп еп, когда все есть - и номера и даты и суммы хуюммы в регистрах лежат и все на свете. если все таки хочеца по признаку нового отправлять, то совать в ДополнительныеПараметры ПередЗаписью() признак ЭтоНовый() или ПустаяСслыка еп еп или еще пол десятка способов определения новый документ или нет. Потом ПослеЗаписи() доставать признак из ДоПраметров и анализировать
118 Kassern
 
18.05.22
15:14
(117) регистр, это лишь способ хранения истории отправок писем, не более.
119 yopQua
 
18.05.22
15:22
(188) галочка еп еп тоже самое - хранится :)
120 Kassern
 
18.05.22
15:27
(119) да, но чтобы ее поставить, нужно повторно перезаписать документ со всеми проводками, а это криво и не оптимально.
121 yopQua
 
18.05.22
15:37
(120) та ну, рассылайте после записи и не надо ничего. а слать до любой из процедур, в которой есть отказ, ваще дурацкая затея
пс. опят форум дудосят еп еп
122 Kassern
 
18.05.22
15:40
(121) а как вы признак присвоите, если не запишите заново документ с галкой? Если признак будет в документе, то его придется дважды перезписывать, первый раз, чтобы можно было письмо отправить, а второй - чтобы признак проставить. Что проще, записать строчку в регистр, или перепровести типовой документ со 100500 проверками и проводками?
123 yopQua
 
18.05.22
15:45
(122) ну как еп еп
ПередЗаписью
Галка = ЭтоНовый();
ПослеЗаписи
Если Галка Тогда ОтправитьНах()
124 Kassern
 
18.05.22
15:50
(123) А если письмо не отправилось? А транзакция уже завершена, данные с галкой уже записаны в базу.
125 Kassern
 
18.05.22
15:50
Да и событие ПослеЗаписи, это событие формы, а не модуля объекта. А если документ будет програмно создан?
126 lubitelxml
 
18.05.22
15:53
мда... весело тут у вас. Я за РС
127 yopQua
 
18.05.22
15:56
(124) а если письмо не отправилось (проблема, которой я не встречал уже лет много), то конечно еп еп монстрить подсистему рассылок с регистрами, в которых поля для html текста, вложенных файлов, ссылками и кучкой еще чего, + рег задания, онализ отправилось или нет.. все это для одного документа ТСа. и потом, как регистр решает проблему необходимости повторной отправки? ну если она нужна, ну или если она не нужна?
128 yopQua
 
18.05.22
15:56
(125) о да еп еп
129 Kassern
 
18.05.22
15:58
(127) ТС пытается ковырять ЕРП, там все уже есть из коробки, поэтому смысл ковырять типовой документ я не вижу. Особенно, если потом придется задним числом перепроводить "для галочки..."
130 yopQua
 
18.05.22
16:08
+ 128 давайте еп еп нахерачим программно полсотни тысяч доков с рассылками и будем радоваться как там "девочки, сегодня не работаем, почта лежит"
вы хотите что бы я сейчас тут на все ваши беды решение дал? это все вопросы, которые каждый может решить сам, если программно будете лопатить, не забудьте какой нибудь признак передать, что б рассылок не летело или что бы записи в ваш регистр не упали, это и с переносам и планами обмена актуально еще пол десятком ситуаций
131 vierzehn
 
18.05.22
16:49
(128) > еп еп
анько анько?
132 Мимохожий Однако
 
18.05.22
17:16
ОФФ:
Мужики, а когда следующая серия?
133 Kigo_Kigo
 
19.05.22
12:27
(132) Уже, смотри Проды в профиле автора :)
Закон Брукера: Даже маленькая практика стоит большой теории.