Вход | Регистрация


"новая" методика списания остатков

"новая" методика списания остатков
Я
   kuzyara
 
08.09.16 - 08:03
Есть ли разница между
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    
    Движения.ОстаткиНоменклатуры.Записать();
    Движения.Продажи.Записать();
    //...

и
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Движения.ОстаткиНоменклатуры.Записать();
    Движения.Продажи.Записать();
    
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    //...

?
 
 
   zak555
 
1 - 08.09.16 - 08:04
где такое увидел ?
   kuzyara
 
2 - 08.09.16 - 08:07
(1), решение первой задачи на спеца по платформе
   spock
 
3 - 08.09.16 - 08:24
Нужен третий вариант:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    //...
   zak555
 
4 - 08.09.16 - 08:29
(2) решать нужно самому, чтоб не допустить ошибок
   kuzyara
 
5 - 08.09.16 - 08:32
(4) нужно пройти мимо темы, если нечего ответить по существу
   kuzyara
 
6 - 08.09.16 - 08:33
(3), не понял?
   zak555
 
7 - 08.09.16 - 08:37
(5) мальчик, не указывай

http://1c.chistov.pro/2013/07/blog-post_25.html


(6) думаю, что не поймёшь
   kuzyara
 
8 - 08.09.16 - 08:37
(3), понял, но вопрос про другое
   rozer76
 
9 - 08.09.16 - 08:37
(0) вот почитай классику сначала http://catalog.mista.ru/public/195591/ и поймешь когда такое надо

Движения.ОстаткиНоменклатуры.Записать();
Движения.Продажи.Записать();

а когда такое ...

Движения.Записать();
   impulse9
 
10 - 08.09.16 - 08:48
(0) разницы нет, оба варианта плохи тем, что записи в регистр будут делать 2 раза
 
 Рекламное место пустует
   rozer76
 
11 - 08.09.16 - 08:54
(10) + а потом при окончании транзакции еще разик ибо "Записывать" не снимается в таком случае когда пишете набор а не коллекцию движений:

Движения - это свойство объекта документа. Имеет тип: КоллекцияДвижений. Предоставляет доступ к коллекции наборов записей движений документа.
Состав наборов записей, входящих в эту коллекцию, определяется системой исходя из информации, хранящейся в конфигурации (список регистров на закладке "Движения" у документа как объекта конфигурации). Использование данного свойства  облегчает работу разработчика, которому нужно создать или изменить наборы записей регистров, подчиненных данному документу. Формирование новых наборов записей можно выполнять как посредством свойства объекта документа "Движения", так и без использования этого свойства, работая  непосредственно с набором записей.
В обработке проведения документа  создаются движения по документу, то есть формируются наборы записей регистров, для  которых данный документ является регистратором. У документа есть свойство "Запись движений при проведении", которое устанавливает поведение системы при создании движений во время проведения документа.
Может принимать два значения - Записывать выбранные (по умолчанию) и Записывать модифицированные.
Записывать выбранные: Перед началом проведения документ устанавливает всем наборам записей, участвующим в регистрации движений, свойство Записывать в Ложь. В этом случае после выхода из обработки  проведения те наборы записей, у которых свойство Записывать имеет значение Истина, будут автоматически записаны платформой. После этого свойство Записывать у  этих наборов движений будет установлено в значение Ложь.  
Записывать модифицированные: Все наборы записей, участвующие в регистрации движений документа, имеют значение свойства Записывать установленным системой по умолчанию в Истина, то есть в случае значения Записывать модифицированные после выхода из обработки проведения все модифицированные наборы записей будут автоматически записаны платформой.
У коллекции Движения есть метод Записать(), который "Выполняет запись движений при проведении в  единой последовательности, т.е. делает то же самое, что делает документ после окончания обработчика ОбработкаПроведения, включая снятие признака Записывать у  наборов записей." Причем записывать система будет те наборы записей, у которых свойство Записывать имеет значение Истина. Этот метод можно использовать при  работе с регистрами расчета, когда при проведении расчетных документов сначала записываются рабочие наборы записей, а затем эти наборы записей  рассчитываются.
У набора записей тоже есть метод Записать(), который "Записывает в базу данных набор записей регистра накопления". Английский язык проще русского в грамматическом смысле, поэтому эквивалент у свойства Записывать и метода Записать() одинаковый - Write.
Свойство Записывать имеет смысл именно для коллекции  движений документа, так как разработчик благодаря этому свойству имеет возможность управлять записью элементов коллекции движений, определять те наборы  записей, которые следует записывать при проведении документа.
   kuzyara
 
12 - 08.09.16 - 09:00
(10),(11) спасибо за подробный ответ. А то я уже начал подозревать что-то неладное, когда в каждом решебнике такое встречал...
   Aleksandr N
 
13 - 08.09.16 - 09:26
(7) Грубиян)))
   regi1984
 
14 - 08.09.16 - 09:37
.Записывать = Истина; - говорим платформе "братан, запиши движения сам в конце"

Движения.РегистрN.Записать()- НЕ сбрасывает ранее установленный режим "Записывать = Истина", запишет 2 раза, возможны дедлоки из за разного  порядка захвата

Движения.Записать() -запишет все движения, в нужном порядке

Я не прав?
   regi1984
 
15 - 08.09.16 - 09:40
+БлокироватьДляИзменения = Истина; - если на регистре включено разделение итогов

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует