|
v7: Расчет остатков | ☑ | ||
---|---|---|---|---|
0
mpbakunov
15.11.12
✎
16:59
|
Доброго дня!
есть такой код, который выполнятся в функции глобального мудуля из процедуры проведения документа: // рассчитаем итоги запросом Если ПустоеЗначение(Субконто1) = 0 Тогда Ит.ИспользоватьСубконто(Счет.ВидСубконто(1),Субконто1,2); КонецЕсли; Если ПустоеЗначение(Субконто2) = 0 Тогда Ит.ИспользоватьСубконто(Счет.ВидСубконто(2),Субконто2,2); КонецЕсли; Если ПустоеЗначение(Субконто3) = 0 Тогда Ит.ИспользоватьСубконто(Счет.ВидСубконто(3),Субконто3,2); КонецЕсли; Ит.ВыполнитьЗапрос(,Конт.ТекущийДокумент(),Счет,,ТаблицаСчетов.Валюта); //Ит.ВыполнитьЗапрос(,28/10/12,Счет,,ТаблицаСчетов.Валюта); // определим курс и кратность валюты Курс = Валюта.Курс.Получить(Конт.ДатаДок); Кратность = глПолучитьКратность(Валюта,Конт.ДатаДок); // определим курсовую разницу по бухг. учету ОстатокГрн = Ит.СКД("С") - Ит.СКК("С"); ОстатокВал = Ит.СКД("В") - Ит.СКК("В"); сразу скажу что счет=362. Движение по нему со значенимя указанными в субконто 1 и 2 взятыми из полей контрагента и договора Расходной накладной возникают только при проведении этой накладной (дата которой 29/10/12), что и видно и по ОСВ - нет движений если документ не проведен. Однако при отладке кода переменные ОстатокГрн и ОстатокВал заполняются не нулевыми значениями. Почему? |
|||
1
dedmoroz777
15.11.12
✎
17:19
|
Потому что Ит.СКД("С") - Ит.СКК("С") не равно 0. Ваш кэп
|
|||
2
mpbakunov
15.11.12
✎
17:23
|
я знаю! Но вопрос как раз в том что все слагаемые должны были равняться 0. Так как движений по 362 счету по данному контрагенту и указанному договору до РН не было!!!
|
|||
3
zak555
16.11.12
✎
00:31
|
потому что раньше при просмотре осв документ был непроведён
|
|||
4
mpbakunov
16.11.12
✎
10:10
|
(3) да, но почему именно в момент ПРОВЕДЕНИЯ этого единственного документа при отладке я получаю не нулевые значения остатков на позицию документа
|
|||
5
zak555
16.11.12
✎
10:11
|
(4) т.е. после того, как документ проведётся -- у него нет проводок ?
|
|||
6
mpbakunov
16.11.12
✎
10:13
|
(5) есть!!! но в момент проведения проводки только формируются! и откуда беруться значения не пойму!
|
|||
7
zak555
16.11.12
✎
10:14
|
(6) Операция.Записать()
или Операция.ЗаписатьПроводки() |
|||
8
mpbakunov
16.11.12
✎
10:23
|
(7) Процедура ОбработкаПроведения()
|
|||
9
IvaneS
16.11.12
✎
10:38
|
(8)В модуле проведения функция вызывается после Записать()?
|
|||
10
mpbakunov
16.11.12
✎
10:39
|
самое интересное, что если я в коде ставлю вместо Конт.ТекущийДокумент() дату 29/10/12 равную дате документа или даже 30/10/12, тогда ОстатокГрн = ОстатокВал = 0; Только если в методе ВыполнитьЗапрос в значении КонецПериода=Конт.ТекущийДокумент(), каким то образом переменные ОстатокГрн и ОстатокВал в момент проведения не нулевые!
|
|||
11
zak555
16.11.12
✎
10:39
|
(8) и ?
|
|||
12
zak555
16.11.12
✎
10:40
|
(10) чакру чистил ?
|
|||
13
mpbakunov
16.11.12
✎
10:43
|
да, заметил, что перед расчетом итогов есть стока Конт.Операция.ЗаписатьПроводки(); :)
|
|||
14
zak555
16.11.12
✎
10:46
|
вопрос решён ?
|
|||
15
IvaneS
16.11.12
✎
10:53
|
Замолчал... значет, прояснение появился...
|
|||
16
mpbakunov
16.11.12
✎
11:11
|
да, спасибо всем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |