|
Запись в регистре накопления | ☑ | ||
---|---|---|---|---|
0
fred89
26.11.12
✎
10:14
|
Добрый день!
Есть УТ 10.3. Документ "Упаковочный лист" меняет остатки в регистре накопления "ТоварыВПути". Необходимо было доработать кнопочку для непосредственного списания из УЛ. Дописал процедуру, при отладке все данные берутся корректно, но остатки в регистре не уменьшаются. Приход делает записи, а расход нет. ------------------------------------ Процедура ДвиженияПоРегистрам(ТаблицаПоТоварам, Отказ); // дописано!!!!!!!! Если Не Отказ Тогда Если Статус Тогда Движения.ТоварыВПути.Записывать = Истина; Движения.ТоварыВПути.Очистить(); Для Каждого СтрокаТабличнойЧасти Из Товары Цикл Движение = Движения.ТоварыВПути.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.ДоговорКонтрагента = ДоговорКонтрагента; Движение.УпаковочныйЛист = Ссылка; Движение.Номенклатура = СтрокаТабличнойЧасти.Номенклатура; Движение.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры; Движение.Количество = СтрокаТабличнойЧасти.Количество; КонецЦикла; КонецЕсли; КонецЕсли; // дописано!!!!!!!! Если Не Отказ Тогда Движения.ТоварыВПути.Записывать = Истина; Движения.ТоварыВПути.Очистить(); Для Каждого СтрокаТабличнойЧасти Из Товары Цикл Движение = Движения.ТоварыВПути.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.ДоговорКонтрагента = ДоговорКонтрагента; Движение.УпаковочныйЛист = Ссылка; Движение.Номенклатура = СтрокаТабличнойЧасти.Номенклатура; Движение.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры; Движение.Количество = СтрокаТабличнойЧасти.Количество; КонецЦикла; Движения.ЗаказыПоставщикам.Записывать = Истина; Движения.ЗаказыПоставщикам.Очистить(); Для Каждого СтрокаТабличнойЧасти Из Товары Цикл ДокКоличество = СтрокаТабличнойЧасти.Количество; ВыполнитьДвижениеПоРегиструЗаказыПоставщикам(СтрокаТабличнойЧасти, ДокКоличество); КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
1
programmer1c_
63 26.11.12
✎
10:16
|
попробуй расходы списывать периодом Дата + 1
|
|||
2
zak555
26.11.12
✎
10:16
|
странный код
|
|||
3
programmer1c_
63 26.11.12
✎
10:16
|
И у тебя ВыполнитьДвижениеПоРегиструЗаказыПоставщикам - что в этой процедуре?
|
|||
4
zak555
26.11.12
✎
10:18
|
(3) проводки выучил ? =)
|
|||
5
fred89
26.11.12
✎
10:36
|
programmer1c_63
пробую списать другой датой (дата прихода - ставится ручками), все равно не добавляется запись. ВыполнитьДвижениеПоРегиструЗаказыПоставщикам - выполняется при другом условии. сейчас не это |
|||
6
samozvanec
26.11.12
✎
10:43
|
Если Не Отказ Тогда
Движения.ТоварыВПути.Записывать = Истина; -->Движения.ТоварыВПути.Очистить(); эточо? |
|||
7
samozvanec
26.11.12
✎
10:45
|
(3) есть вероятность, что там движения по регистру заказы поставщикам...
|
|||
8
samozvanec
26.11.12
✎
10:46
|
(0) и еще один обход сделай. должно быть нечетное количество обходов
|
|||
9
Шапокляк
26.11.12
✎
10:48
|
(0) Ну а чо! Сделал все движения по расходу, потом их очистил и сделал все движения по приходу.
|
|||
10
fred89
26.11.12
✎
11:09
|
Понял почему не записывает.
Здесь стоит вопрос уникальности записей. каждая строка регистра состоит из: 1)вид(приход/расход) 2)дата 3)документ 4)номер строки и т.д. и я так понимаю уникальными являются документ+номер строки, или вид+документ+номер строки типа нельзя из одного документа делать и приход и расход или нельзя несколько записей с одинаковыми номерами строк |
|||
11
Шапокляк
26.11.12
✎
11:11
|
(10) Посмотри в свой код!
Если Не Отказ Тогда Если Статус Тогда Движения.ТоварыВПути.Записывать = Истина; Движения.ТоварыВПути.Очистить(); Для Каждого СтрокаТабличнойЧасти Из Товары Цикл Движение = Движения.ТоварыВПути.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.ДоговорКонтрагента = ДоговорКонтрагента; Движение.УпаковочныйЛист = Ссылка; Движение.Номенклатура = СтрокаТабличнойЧасти.Номенклатура; Движение.ХарактеристикаНоменклатуры = СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры; Движение.Количество = СтрокаТабличнойЧасти.Количество; КонецЦикла; КонецЕсли; КонецЕсли; // дописано!!!!!!!! Если Не Отказ Тогда Движения.ТоварыВПути.Записывать = Истина; Движения.ТоварыВПути.Очистить(); ВОТ тут ты стираешь все свои расходы! |
|||
12
zak555
26.11.12
✎
11:14
|
(11) так надо
|
|||
13
samozvanec
26.11.12
✎
11:27
|
(12) здесь медицина безсильна(
|
|||
14
fred89
26.11.12
✎
11:31
|
разобрался. Шапокляк была права.
и все же есть уникальность вид+документ придется либо другим документом списывать, либо удалять записи регистра всем спасибо! |
|||
15
Шапокляк
26.11.12
✎
11:35
|
Да не за что, мы ж не помогли избавиться от заблуждений.
|
|||
16
samozvanec
26.11.12
✎
12:04
|
когда вечером в упор не видишь - это куриная слепота, а если с утра, то какая?
|
|||
17
Шапокляк
26.11.12
✎
12:05
|
беспросветная
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |