|
Не могу сделать движение по регистру | ☑ | ||
---|---|---|---|---|
0
Wefast
19.08.15
✎
16:44
|
Процедура СделатьРасходПоРегиструУчетаЛизинговыхОпераций(Заявка, СуммаОплаты)//КА++
Движения.КА_УчетПлатежейПоЛизингу.Записывать = Истина; Движения.КА_УчетПлатежейПоЛизингу.Очистить(); Движение = Движения.КА_УчетПлатежейПоЛизингу.Добавить(); Движение.Регистратор = ЭтотОбъект; Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = ЭтотОбъект.ДатаОплаты; Движение.Дата = ЭтотОбъект.ДатаОплаты; Движение.Организация = Заявка.Организация; КонецПроцедуры Все это в модуле объекта. Вызываю все это при выполнение условия. Он ни на что не ругается, но и записи не появляются. Думал регистратор нужно принудительно передать, но он его не записывает так все равно |
|||
1
ДенисЧ
19.08.15
✎
16:45
|
Движение.Регистратор = ЭтотОбъект.Ссылка;
|
|||
2
КоньЛапчатый
19.08.15
✎
16:47
|
(0) движения запиши в конце
|
|||
3
DexterMorgan
19.08.15
✎
16:54
|
ставлю на первого оратора
|
|||
4
DexterMorgan
19.08.15
✎
16:55
|
(2) ваш совет вреден, сэр
|
|||
5
КоньЛапчатый
19.08.15
✎
16:56
|
(4) это почему?
|
|||
6
Wefast
19.08.15
✎
17:08
|
(1) Записать в Движение.Регистратор получилось.
А вот сделать движение - нет. (2) Добавил в конце Движения.КА_УчетПлатежейПоЛизингу.Записать(); Ничего не изменилось |
|||
7
Wefast
19.08.15
✎
17:10
|
Я заметил что у стандартной процедуры проведения в параметрах стоит Отказ и РежимПроведения, хотя оба этих параметра явно нигде не участвуют. Тут же у меня их нет.
|
|||
8
DexterMorgan
19.08.15
✎
17:11
|
(5) Если установлено свойство Записывать в Истина, движения итак запишутся по окончании транзакции
|
|||
9
DexterMorgan
19.08.15
✎
17:13
|
(0) Твоя процедура из обработки проведения вызывается?
|
|||
10
КоньЛапчатый
19.08.15
✎
17:16
|
(8) вообще не факт. 1С довольно непредсказуемая штука.
|
|||
11
Wefast
19.08.15
✎
17:17
|
(9) нет
|
|||
12
ДенисЧ
19.08.15
✎
17:17
|
(11) Хм.... А почему?
|
|||
13
DexterMorgan
19.08.15
✎
17:18
|
(11) жж0шь
|
|||
14
DexterMorgan
19.08.15
✎
17:18
|
(10) Спасибо, поржал
|
|||
15
КоньЛапчатый
19.08.15
✎
17:19
|
(11) а откула она тогда вызывается?)
|
|||
16
КоньЛапчатый
19.08.15
✎
17:19
|
(14) пожалуйста
|
|||
17
Wefast
19.08.15
✎
17:21
|
(12) (13) Движение должно происходить в момент когда Статус заявки на расходование средств становиться Оплачено.
Вот в момент когда вызывается эта процедура изменения статуса на оплачено я и вызываю свою процедуру |
|||
18
DexterMorgan
19.08.15
✎
17:21
|
(17) Набор регистра создавай
|
|||
19
DexterMorgan
19.08.15
✎
17:22
|
(17) Хотя что тебе мешает все равно сделать в обработке проведения и там проверять твой статус?
|
|||
20
Wefast
19.08.15
✎
17:26
|
(19) ну думал не целесообразно копировать тот же код в обработку проведения
Попробую сейчас набор сделать а если не выйдет сделать в обработкеПроведения |
|||
21
Nuobu
19.08.15
✎
17:27
|
(20) Лучше сразу в обработке проведения.
|
|||
22
Cherokee
19.08.15
✎
17:33
|
(0) Тысячелетней давности код. когда-то зачем-то правил движения документов обработкой. Сделай похожим образом, должно сработать (я так понял, ты из обработки чето пытаешься записать?)
Набор = РегистрыНакопления.ПартииТоваровНаСкладах.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(Док); Набор.Прочитать(); Для Каждого Движ Из Набор Цикл ........................ КонецЦикла; Набор.Записать(); |
|||
23
Cherokee
19.08.15
✎
17:33
|
+(22) Ах да. Док - это ссылка, а не объект. Ессно.
|
|||
24
DexterMorgan
19.08.15
✎
17:36
|
(20) Конечно лучше в обработке проведения. При создании набора у тебя могут возникать удивительные ситуации непроведенного документа с движениями и тд
|
|||
25
Wefast
19.08.15
✎
17:45
|
Процедура СделатьРасходПоРегиструУчетаЛизинговыхОпераций(Заявка, СуммаОплаты)//КА++
ДвиженияПоРегиструКА = РегистрыНакопления.КА_УчетПлатежейПоЛизингу.СоздатьНаборЗаписей(); ДвиженияПоРегиструКА.Отбор.Регистратор.Установить(ЭтотОбъект.Ссылка); ДвиженияПоРегиструКА.Прочитать(); ДвиженияПоРегиструКА.Записывать = Истина; Движение = ДвиженияПоРегиструКА.ДобавитьРасход(); КурсТекущейВалюты = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Валюта",ЭтотОбъект.ВалютаДокумента)); КурсВалютыВзаиморасчетов = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(ТекущаяДата(),Новый Структура("Валюта",Заявка.РасшифровкаПлатежа[0].ДоговорКонтрагента.ВалютаВзаиморасчетов)); Движение.Активность = ИСТиНА; Движение.Регистратор = ЭтотОбъект.Ссылка; Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = ЭтотОбъект.ДатаОплаты; Движение.Дата = ЭтотОбъект.ДатаОплаты; Движение.Организация = Заявка.Организация; Движение.Контрагент = Заявка.Контрагент; Движение.Договор = Заявка.РасшифровкаПлатежа[0].ДоговорКонтрагента; Движение.ЦФО = Заявка.Подразделение; Движение.ПредметЛизинга = Заявка.ДокументОснование.ПредметЛизинга; Движение.ДатаПлатежа = Заявка.ДатаРасхода; Движение.СтатьяДДС = ЭтотОбъект.СтатьяДвиженияДенежныхСредств; Если ЭтотОбъект.ВалютаДокумента = Заявка.РасшифровкаПлатежа[0].ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда Движение.Сумма = СуммаОплаты; Иначе Движение.Сумма = Окр(СуммаОплаты*(КурсТекущейВалюты.курс/КурсТекущейВалюты.кратность)*(КурсВалютыВзаиморасчетов.кратность/ КонецЕсли; ДвиженияПоРегиструКА.Записать(); КонецПроцедуры Никаких изменений в регистре не происходит |
|||
26
Cherokee
19.08.15
✎
18:04
|
(25) Чето нет мыслей. А откуда ты запускаешь этот код? Вот только, я не уверен, но. А зачем ты пишешь:
Движение = ДвиженияПоРегиструКА.ДобавитьРасход(); А затем: Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Какое-то масло масляное. |
|||
27
Wefast
19.08.15
✎
19:04
|
(26) Ну убрал видДвиженияНакопления.Расход.
Запускаю его из модуля объекта документ ПлатежноеПоручениеИсходящее |
|||
28
Cherokee
19.08.15
✎
19:18
|
(27) Может что-то в модуле регистра?
|
|||
29
Cherokee
19.08.15
✎
19:18
|
Вообще, что это за конфа? Если УПП, то там из Таблиц значений пишутся движения, заранее подготовленных и в структурах передаваемых.
|
|||
30
Wefast
19.08.15
✎
19:57
|
(29) да УПП.
Регистр мой, ничего там не дописывал после создания. Я заметил что там трудновато для понимания делаются движения. Есть какой нибудь пример или как это все делается через ТЗ? |
|||
31
Cherokee
19.08.15
✎
20:05
|
(30) А точно, название то у регистра какое))). Тогда про использование ТЗ в структуре - не твой вариант. Что-то я затрудняюсь еще внятное что-то сказать. Может кто-то другой подскажет.
|
|||
32
Wefast
19.08.15
✎
20:06
|
(31) регистр накопления КА_УчетПлатежейПоЛизингу
|
|||
33
Wefast
19.08.15
✎
22:11
|
Было:
Движения.КА_УчетПлатежейПоЛизингу.Записывать = Истина; Движения.КА_УчетПлатежейПоЛизингу.Очистить(); Движение = Движения.КА_УчетПлатежейПоЛизингу.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Сделал конструктором, а потом в старый код вставил: Движения.КА_УчетПлатежейПоЛизингу.Очистить(); Движение = Движения.КА_УчетПлатежейПоЛизингу.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Вроде все что я сделал и заработало |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |