|
Почему при повторном проведении документа движения удаляются? | ☑ | ||
---|---|---|---|---|
0
Philipp121995
28.05.17
✎
22:15
|
Процедура ОбработкаПроведения(Отказ, Режим)
// Запросом получили только те записи регистра сведений, у которых плательщик=истина Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПлательщикиСрезПоследних.ФизЛицо КАК ФизЛицо, | ДопРегистрДолгиПоВзносамПрихСрезПоследних.ФизЛицо КАК ФизЛицо1, | ДопРегистрДолгиПоВзносамПрихСрезПоследних.Долг КАК Долг, | ДопРегистрДолгиПоВзносамПрихСрезПоследних.Период КАК Период, | ПлательщикиСрезПоследних.Плательщик КАК Плательщик, | РАЗНОСТЬДАТ(ДопРегистрДолгиПоВзносамПрихСрезПоследних.Период, &Дата, ГОД) КАК РазнДат, | ДопРегистрДолгиПоВзносамПрихСрезПоследних.Регистратор КАК Регистратор |ИЗ | РегистрСведений.Плательщики.СрезПоследних(&Дата, ) КАК ПлательщикиСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДопРегистрДолгиПоВзносамПрих.СрезПоследних КАК ДопРегистрДолгиПоВзносамПрихСрезПоследних | ПО ПлательщикиСрезПоследних.ФизЛицо = ДопРегистрДолгиПоВзносамПрихСрезПоследних.ФизЛицо |ГДЕ | ПлательщикиСрезПоследних.Плательщик = ИСТИНА"; Запрос.УстановитьПараметр("Дата", Дата); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); //Запрос2 Получение размера ежегодного взноса Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | РазмерЕжегодногоВзносаСрезПоследних.РазмерВзноса КАК РазмерВзноса |ИЗ | РегистрСведений.РазмерЕжегодногоВзноса.СрезПоследних КАК РазмерЕжегодногоВзносаСрезПоследних"; РезультатЗапроса2 = Запрос2.Выполнить(); Если НЕ РезультатЗапроса2.Пустой() Тогда //проверка существования размера взноса ВыборкаДетальныеЗаписи2 = РезультатЗапроса2.Выбрать(); ВыборкаДетальныеЗаписи2.Следующий(); Движения.ДолгиПоВзносам.Записывать = Истина; Движения.ДопРегистрДолгиПоВзносамПрих.Записывать = Истина; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.Долг = NULL ИЛИ ВыборкаДетальныеЗаписи.РазнДат >= 1 ИЛИ ВыборкаДетальныеЗаписи.Регистратор = Ссылка Тогда Если ВыборкаДетальныеЗаписи.РазнДат = NULL Тогда ПеременнаяСч = 1; Иначе ПеременнаяСч = Число(Строка(ВыборкаДетальныеЗаписи.РазнДат)); КонецЕсли; ДатаПериод = Дата; Для Счетчик = 1 ПО ПеременнаяСч Цикл // регистр ДолгиПоВзносам Приход Движение = Движения.ДолгиПоВзносам.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = НачалоГода(ДатаПериод); Движение.ФизЛицо = ВыборкаДетальныеЗаписи.ФизЛицо; Движение.ВидВзноса = Справочники.ВидыВзносов.ВзносЕжегодный; Движение.Долг =ВыборкаДетальныеЗаписи2.РазмерВзноса; // регистр ДопРегистрДолгиПоВзносамПрих Движение = Движения.ДопРегистрДолгиПоВзносамПрих.Добавить(); Движение.Период = НачалоГода(ДатаПериод); Движение.ФизЛицо = ВыборкаДетальныеЗаписи.ФизЛицо; Движение.ВидВзноса = Справочники.ВидыВзносов.ВзносЕжегодный; Движение.Долг = ВыборкаДетальныеЗаписи2.РазмерВзноса; ДатаПериод = ДобавитьМесяц(ДатаПериод, -12); КонецЦикла; КонецЕсли; КонецЦикла; Иначе Сообщить("Вы ни разу не установили размер ежегодного взноса. Перейдите в раздел ""Операции"" |и создайте соответствующий документ."); Отказ = Истина; КонецЕсли; КонецПроцедуры |
|||
1
h-sp
28.05.17
✎
23:41
|
ну по-умолчанию, если вообще ничего не делать, они и должны удаляться.
|
|||
2
Philipp121995
28.05.17
✎
23:52
|
(1) Я понял почему. При повторном проведении условия уже не выполняются. Поэтому хочу перед проведением удалить старые движения. Как это сделать?
|
|||
3
Bigbro
29.05.17
✎
03:58
|
вообще иногда в запросе выкидывают текущий документ и его движения, чтобы условия выполнялись независимо от движений текущего документа.
иначе вот представь ты удаляешь движения, делаешь проверку, и выясняешь что не надо было удалять и перепроводить. обратно будешь движения записывать? |
|||
4
kuzyara
29.05.17
✎
05:46
|
УдалениеДвижений (RegisterRecordsDeletion)
Значения НеУдалятьАвтоматически (AutoDeleteOff) УдалятьАвтоматически (AutoDelete) УдалятьАвтоматическиПриОтменеПроведения (AutoDeleteOnUnpost) Описание: Содержит варианты удаления движений документа по регистрам при проведении и отмене проведения. Доступность: Сервер, толстый клиент, внешнее соединение. |
|||
5
1dvd
29.05.17
✎
07:26
|
а чего у тебя второй зарпос без параметров вообще? всегда берёт на текущую дату? даже если через 10 лет перепровести?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |