|
Философский вопрос по методу Записать | ☑ | ||
---|---|---|---|---|
0
Лалалалилалалала
09.08.12
✎
09:44
|
Даже не знаю, как обозначить проблему. Но вот практика.
Переменные, хранящие значения, имеющие валидность после записи объекта. Яркий пример - реквизит Проведен у документа. Он записывается УЖЕ после записи документа. Ещё один яркий пример - результаты запросов. Можно хранить в документе реквизит типа "Отгружен до конца" вместо выполнения лишнего соединения в динамическом списке. Вопрос № 1. Где их хранить. В доках или регах сведений? Но, опять же, реквизит проведен хранится в доке. Вопрос №2. Где выполнять процедуру записи. В общем модуле, чтобы сторонняя процедура мутузила документ как хочет вместо организации условий записи в модуле документа. Вопрос №3. Не считаете ли вы, что метод Записать() следует сделать не методом документа или расширения формы документа, а какой-то иной сущности. Типа, слышь, чувак, запиши ту хрень. |
|||
1
shuhard
09.08.12
✎
09:46
|
(0) хорошая трава
|
|||
2
Нуф-Нуф
09.08.12
✎
09:46
|
(1) +1
|
|||
3
wade25
09.08.12
✎
09:46
|
Записать вообще то метод класса ДокументОбъект если уж на то пошло ;)
Не нада ничего менять) |
|||
4
Asmody
09.08.12
✎
09:47
|
ник говорящий очень
|
|||
5
Нуф-Нуф
09.08.12
✎
09:47
|
нифига не понял, но единственное что могу сказать - реквизит отгружен до конца потеряет валидность при изменении связанных документов.
|
|||
6
Лалалалилалалала
09.08.12
✎
09:47
|
(4) о чём он тебе говорит?
|
|||
7
х86
09.08.12
✎
09:49
|
(0)в структуре доп. параметров
|
|||
8
Asmody
09.08.12
✎
09:50
|
начнём с того, что Проведён — это не совсем реквизит
|
|||
9
Dmitrii
гуру
09.08.12
✎
09:53
|
(0) "Проведен" - это свойство (реквизит) самого документа. Изменяется исключительно в контексте документа.
"Отгружен до конца" - свойство, которое зависит от состояния других объектов (документов, регистров и т.д.) - т.е. может изменяться в ходе выполнения алгоритмов в контексте других объектов. |
|||
10
Сергей Д
09.08.12
✎
09:53
|
Все логично. Документу (справочнику, ...) говорят: запиши себя в базу.
|
|||
11
Лалалалилалалала
09.08.12
✎
09:54
|
посоны, щас пример будет, умрёте
|
|||
12
Бледно Золотистый
09.08.12
✎
09:54
|
(0)--Яркий пример - реквизит Проведен у документа. Он записывается УЖЕ после записи документа.--
Почему вдруг? |
|||
13
Dmitrii
гуру
09.08.12
✎
09:54
|
(8) >> Проведён — это не совсем реквизит
Интересная мысль. А что же это? Особенно если учесть что состояние этого флага не гарантирует наличия или отсутствия движений у документа. |
|||
14
Ненавижу 1С
гуру
09.08.12
✎
09:56
|
(11) нет, не надо, пожалуйста!
|
|||
15
pumbaEO
09.08.12
✎
09:56
|
(13) наличие или отсутствие движений у документа не гарантирует состояние флага Проведен.
На >> Проведён — это не совсем реквизит - спорный вопрос. |
|||
16
Dmitrii
гуру
09.08.12
✎
09:57
|
(15) Не понял... :)
|
|||
17
Лалалалилалалала
09.08.12
✎
09:58
|
(14) надо, Ненавижу 1С, надо
|
|||
18
Lex_Liven
09.08.12
✎
09:58
|
(8) Проведен - это "Стандартный реквизит". Наряду с "Номер", "Дата", "Пометка удаления" и "Ссылка".
|
|||
19
wade25
09.08.12
✎
09:58
|
(15) Да, если писали студенты)
|
|||
20
Asmody
09.08.12
✎
09:58
|
(15) можно непосредственно изменить значение "реквизита" Проведен?
|
|||
21
Лалалалилалалала
09.08.12
✎
09:59
|
(20) да
|
|||
22
Zero on a dice
09.08.12
✎
09:59
|
1 ОтгруженДоКонца можно писать напрямую в базу, если на то пошло (без участия механизмов записи одинэса)
2 подписки - в общем модуле - все в порядке 3 метод Записать() реализован абсолютно правильно, иная его реализация - не будет корректной. возникали мысли о том, что для общих реквизитов можно было сделать отдельный метод, не вызывавший событий Перед/при записи, но это от лукавого (20) посредством прямой записи в базу) |
|||
23
Godofsin
09.08.12
✎
10:00
|
(20) можно
|
|||
24
Ненавижу 1С
гуру
09.08.12
✎
10:00
|
(20) таки да
|
|||
25
Лалалалилалалала
09.08.12
✎
10:02
|
у меня есть реквизит в документе
я в событии формы ПередЗаписьюНаСервере записываю его форма сама обновляет данные элемента управления это правильно? |
|||
26
Ненавижу 1С
гуру
09.08.12
✎
10:03
|
>>я в событии формы ПередЗаписьюНаСервере записываю его
(25) разверни глубокую мысль |
|||
27
ДемонМаксвелла
09.08.12
✎
10:04
|
(1) +100
каннабис паранойя |
|||
28
Dmitrii
гуру
09.08.12
✎
10:12
|
(20) >> можно непосредственно изменить значение "реквизита" Проведен?
Соглашусь. Но это единственная "особенность" этого реквизита. |
|||
29
Ненавижу 1С
гуру
09.08.12
✎
10:16
|
(28) я не соглашусь, можно непосредственно, без проведения или отмены проведения
|
|||
30
Лалалалилалалала
09.08.12
✎
10:18
|
разорвите шаблон, измените значение реквизита Проведен непосредственно
|
|||
31
Лалалалилалалала
09.08.12
✎
10:20
|
я к тому, что метод Записать рекурсивен
|
|||
32
Лалалалилалалала
09.08.12
✎
10:21
|
вот я типа записываю и там перед записью фигась ещё одна запись самого себя для проведения и условие
|
|||
33
Лалалалилалалала
09.08.12
✎
10:21
|
ну сплошняком такие примеры
|
|||
34
Ненавижу 1С
гуру
09.08.12
✎
10:21
|
(31) че за бред? не надо менять реквизиты ПриЗаписи и в ОбработкаПроведения - меняйте в ПередЗаписью
|
|||
35
Лалалалилалалала
09.08.12
✎
10:22
|
в Перед Записью объект записывается
приходится условие фигачить |
|||
36
hhhh
09.08.12
✎
10:23
|
(33) вообще-то Реквизит "проведен" записывается задолго до проведения. Тут вы попали пальцем в небо.
|
|||
37
Лалалалилалалала
09.08.12
✎
10:23
|
хотя... с одной стороны правильно. пусть имеют свои личные методы
надо их просто правильно использовать |
|||
38
Лалалалилалалала
09.08.12
✎
10:24
|
(36) эт т я знаю, я не про то
|
|||
39
Ненавижу 1С
гуру
09.08.12
✎
10:24
|
(35) что значит "записывается"?
порядок такой у объекта: 1. событие ПередЗаписью 2. собственно запись 3. событие ПриЗаписи ... |
|||
40
ssh2006
09.08.12
✎
10:27
|
(30) Пример интерактивного изменения - можно разместить реквизит "Проведен" на форме документа, отключить у формы "ПриЗаписиПерепроводить" и тогда этот реквизит можно спокойно изменять как и любой другой и записывать документ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |