|
|
Разъясните пожалуйста смысл кода из типовой 1с 8 Комплексная автоматизация |
☑ |
|
0
Serega103
11.03.15
✎
12:02
|
Здравствуйте.
Копаясь в типовом коде набрел на такую строку, смысл которой мне непонятен
Для Каждого Движение Из СтруктураПараметров.Движения Цикл
Если Движение.Значение.Модифицированность() Тогда
Движение.Значение.Записать(Ложь);
Движение.Значение.Очистить();
КонецЕсли;
КонецЦикла;
Разъясните пожалуйста.
|
|
|
1
Serega103
11.03.15
✎
12:03
|
Это выполняется при проведении документа "Расчет себестоимости выпуска"
|
|
|
2
Гёдза
11.03.15
✎
12:04
|
записываются движения. Скорее всего они потом где то используются в дальнейшем проведении
|
|
|
3
Serega103
11.03.15
✎
12:10
|
(2) Конкретно непонятно вот это
Движение.Значение.Очистить();
Зачем сначала записать движения а потом очистить коллекцию?
Я так понимаю что если очистить коллекцию движений, то записи в регистре остаются? или не так?
|
|
|
4
ДенисЧ
11.03.15
✎
12:12
|
(3) Память освобождается. И место для новых движений
|
|
|
5
Serega103
11.03.15
✎
12:17
|
(4) спасибо, теперь понятно зачем.
|
|
|
6
Гёдза
11.03.15
✎
12:18
|
(3) потому что будем добавлять записи новые.
см. Записать(Ложь)
|
|
|
7
Гёдза
11.03.15
✎
12:18
|
(4) Память вообще не причем
|
|
|
8
Новиков
11.03.15
✎
12:21
|
У тебя в свойства документа "Запись при проведении" видимо установлено в "Записывать выбранные". Посему в цикле для каждого набора записей указывается свойство - записывать ли его или нет. У тебя стоит ложь, посему ответ очевиден. Это по первой строчке. По второй, зачем нужно делать очистить.
|
|
|
9
Serega103
11.03.15
✎
12:26
|
(8) там стоит "записывать модифицированные".
"По второй, зачем нужно делать очистить."
Самому интересно)). конфа типовая.
(6) я правильно понимаю что
Движение.Значение.Очистить() не равно наборзаписейрегистра.Очистить()?
|
|
|
10
Новиков
11.03.15
✎
12:31
|
А форма - обычная или управляемая?
|
|
|
11
Гёдза
11.03.15
✎
12:33
|
(9) Равно
|
|
|
12
Serega103
11.03.15
✎
12:34
|
(10) обычная
|
|
|
13
ДенисЧ
11.03.15
✎
12:35
|
(7) нуну
|
|
|
14
Serega103
11.03.15
✎
12:37
|
Тогда не очень понимаю
Движение.Значение.Записать(Ложь);
//мы записали набор записей регистра
Движение.Значение.Очистить();
//мы очистили этот же самый набор
а что поменялось?
В отладчике я посмотрел
после выполнения кода движения очистились и всё, а до этого они были.
|
|
|
15
Wern
11.03.15
✎
12:43
|
Ну как минимум стоит посмотреть на модуль набора записей регистра. При таком подходе выполнятся предопределенные процедурки.
|
|
|
16
Новиков
11.03.15
✎
12:48
|
А что показывает свойство удаление движений?
|
|
|
17
Serega103
11.03.15
✎
12:56
|
(16) "Не удалять автоматически"
(15) там тоже ничего особенного. свертка набора и приведение пустых значений субконто.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший