|
Пересчет ОСВ в валюту | ☑ | ||
---|---|---|---|---|
0
N-S-B
24.03.16
✎
23:03
|
Привет! Необходимо сформировать ОСВ по счету в пересчете на валюту. Но не просто остатки по счету умножить на текущий курс, а брать каждый оборот, умножать его на курс на дату оборота, все это просумировать и уже сумму оборотов выводить как остаток по счету.
В карточке счета я вижу все регистраторы и сумму каждого документа, могу все умножить на курс на дату регистратора и просуммировать. Но как в ОСВ по счету это сделать? Подскажите, в какую сторону копать? Спасибо. |
|||
1
Записьдампа
24.03.16
✎
23:09
|
(0) Ты понимаешь, как формируется карточка счета и не понимаешь, как формируется оборотно-сальдовая ведомость, или тебе лень?
|
|||
2
zak555
24.03.16
✎
23:09
|
умножить или разделить ?
|
|||
3
Записьдампа
24.03.16
✎
23:17
|
(2) это обратные операции, не смущай ТС. Хотя контроль на нулевую кратность нужен, да.
|
|||
4
RomanYS
24.03.16
✎
23:29
|
(0) ну выбирай обороты по дням, дели на курс.
Только хрень получится полная: для нормальной ОСВ выполняется КонОстаток = НачОстаток+Приход-Расход. В твоей такого не будет. Объясни это заказчику и делать не придётся) |
|||
5
John83
24.03.16
✎
23:32
|
если очень хочется, то ищи "остатки на каждый день"
|
|||
6
ВРедная
24.03.16
✎
23:35
|
(0) Интересно, что ты будешь делать, когда дойдешь до остатков на начало и конец.
|
|||
7
ВРедная
24.03.16
✎
23:36
|
(4) При похожей задаче мы вводили доп ресурс в регистр бухгалтерии.
|
|||
8
N-S-B
29.03.16
✎
16:10
|
Начал разбираться с ОСВ по счету, в принципе обороты то действительно можно поделить на курс, конец периода посчитать как сумму начального остатка и оборотов. А вот с начальным остатком как быть? Не могу ничего придумать.
|
|||
9
N-S-B
29.03.16
✎
16:25
|
Хм, а что, если начальный остаток высчитывать во временной таблице как сумму оборотов с самого начала по начало периода ОСВ?
|
|||
10
RomanYS
29.03.16
✎
16:28
|
(8) Это называется валютный учет, и написанием отчет он точно не решается. Кроме добавления полей для учета, например как (7), понадобятся некие процедуры/документ для учета курсовых разниц.
(9) Костыли здесь не помогут. Поймешь достаточно быстро, когда валютные остатки станут отрицательными при положительных рублевых. |
|||
11
N-S-B
31.03.16
✎
12:36
|
Решил все таки попробовать. Но как-то странно себя СКД ведет, никак не разберусь в чем дело.
Вот ОСВ по счету: https://www.dropbox.com/s/x4jcj97prpowtnf/Скриншот%202016-03-29%2016.03.19.png?dl=0 Я сделал временную таблицу, где хранится курс доллара. Еще ничего не делю, никакие новые поля не добавил, никаких связей не сделал, только добавил таблицу: https://www.dropbox.com/s/kubm96n3m8ifigk/Скриншот%202016-03-29%2016.01.10.png?dl=0 И уже ОСВ становится какой-то кривой: https://www.dropbox.com/s/9r5exv623bvusla/Скриншот%202016-03-29%2016.00.39.png?dl=0 Если я уберу таблицу из средней колонки таблицы, но саму временную таблицу в запросе оставлю, ОСВ снова становится нормальной. В чем дело, где косяк? |
|||
12
N-S-B
31.03.16
✎
17:04
|
(11) На результат ОСВ влияет любая таблица добавленная в запрос в СКД, но из которой даже не берем никакие поля. Как так?
|
|||
13
Джинн
31.03.16
✎
17:13
|
(0) Не взлетит.
|
|||
14
RomanYS
31.03.16
✎
23:55
|
(12) Всё так. У тебя запрос, где записи виртуальной таблицы регистра соединяется с 100500 записей курсов, каждая с каждой. СКД лишь свернула (просуммировала) результат по указанным группировкам и ресурсам.
|
|||
15
N-S-B
04.04.16
✎
11:32
|
(14) Так соединений тоже никаких нету.
|
|||
16
los_hooliganos
04.04.16
✎
11:37
|
Наверное задача посчитать курсовые разницы для рублевого банковского счета?
|
|||
17
los_hooliganos
04.04.16
✎
11:38
|
Самый быстрый вариант - пересчитывать все на MS SQL хранимой процедурой.
Делать это с помощью 1С не очень приятная задача. |
|||
18
N-S-B
04.04.16
✎
18:54
|
(14) Подскажите, пожалуйста, где и каким образом соединяются таблицы, если я просто добавляю в запрос таблицу и никакие поля из нее не вытягиваю, никакие соединения не добавляю.
Я скопировать запрос ОСВ в консоль запросов, естественно от добавления таблицы результат никак не меняется, в СКД же каким-то образом меняется. Добавил в запрос в СКД пустую таблицу регистра курса валют. Формирую ОСВ - значения верные. Добавляю одну запись в регистр - значения верные. Далее же после каждой добавленной записи значения всех полей в ОСВ увеличиваются непонятным образом. Значение добавленных записей в регистр на результат не влияют. Подскажите, пожалуйста, куда копать? |
|||
19
Джинн
04.04.16
✎
18:58
|
Пытка апельсинами длилась третий час... (с)
Говорю же - не взлетит. Даже если удастся пересчитать - баланс не сойдется. Задача бестолковая с момента постановки. |
|||
20
HeKrendel
04.04.16
✎
19:02
|
(19) Баланс же должен сойтись, ведь проводка делает 2 записи, какая фиг разница по какому курсу?
|
|||
21
HeKrendel
04.04.16
✎
19:03
|
Вернее так, обороты должны сойтись
|
|||
22
Джинн
04.04.16
✎
19:03
|
(20) "На фиг разница" называется курсовой.
|
|||
23
PR третий
04.04.16
✎
19:06
|
Что самое интересное, за 22 поста никто не спросил, а нахрена автору запизхивать курсовые разницы в отчет да еще через анальное отверстие o_O
Только что (16) робко предположил и то в (17) тут же какую-то хрень предложил :)) |
|||
24
HeKrendel
04.04.16
✎
19:07
|
(23) Потому что спросившие за свою карьеру, какую-только хрень не реализовывали, а убеждать ТС за свою личное время я не намерен
|
|||
25
PR третий
04.04.16
✎
19:09
|
(24) Ну да, зачем писать короткое и правильное "Нахрена?", если можно написать пару — тройку развернутых предложений, как сделать полную куйню :))
|
|||
26
HeKrendel
04.04.16
✎
19:10
|
(25) Джинн диагноз дал еще в (13)
|
|||
27
PR третий
04.04.16
✎
19:11
|
(26) Джинн как всегда сказал как в армии, типа вот таблетка, половина от головы, половина от живота, не перепутай.
|
|||
28
N-S-B
04.04.16
✎
19:12
|
Ок, если баланс и обороты не сойдутся, мне теперь интересно почему так странно СКД себя ведет - (18) ? Каждое поле отчета ОСВ умножается на кол-во записей в таблице, которую я добавляю в запрос.
|
|||
29
PR третий
04.04.16
✎
19:14
|
(28) В (18) копать в сторону гугления "Левое соединение", потому что ты написал настолько детский вопрос, что даже непонятно, как тебе объяснить, что тебе нужно соединение по условию, а не тупое декартово произведение.
|
|||
30
N-S-B
04.04.16
✎
19:17
|
(29) Да причем тут левое соединение. Я ничего не соединяю, просто добавил таблицу в запрос, никакие поля из нее не вытягиваю. Через консоль запросов результат не меняется же.
|
|||
31
PR третий
04.04.16
✎
19:35
|
(30) Слушай, чувак, если ты никаких полей не вытягиваешь, то нахрена ты добавляешь таблицу?
Я тебе еще раз настоятельно советую погуглить или устроиться во франч, если возьмут, там из тебя быстро эту труху выбьют из головы. |
|||
32
N-S-B
04.04.16
✎
20:32
|
(31) Я же выше описал. Я создал временную таблицу с курсами, соединяю её по периоду с таблицой оборотов, но получилась какая-то ерунда, даже в тех полях, которые я не трогаю. Начал разбираться и обнаружил, что результат отчета ОСВ меняется даже, если я просто добавляю таблицу и не вытягиваю никакие поля и ни с чем не соединяю её.
|
|||
33
PR третий
04.04.16
✎
20:43
|
(32) Причем здесь период? Соединять надо не по периоду, а по максисмальному периоду и валюте.
Вытягиваешь ли какие-либо поля, запрос не волнует. Короче, читай про левое соединение. |
|||
34
N-S-B
04.04.16
✎
20:49
|
(33) Ок, возможно я неправильно делал соединение, но проблема не в этом! Даже, если я добавлю таблицу без каких-либо соединений, просто в запросе добавлю таблицу вот так - https://www.dropbox.com/s/kubm96n3m8ifigk/Скриншот%202016-03-29%2016.01.10.png?dl=0
То уже все значения ОСВ меняются, а именно умножаются на кол-во записей в этом самой таблице. |
|||
35
PR третий
04.04.16
✎
20:53
|
(34) Рукалицо
Это и есть соединение, блеать. Иди читай основы. |
|||
36
hhhh
04.04.16
✎
21:55
|
(34) если ты просто пишешь две таблицы - это называется полное декартово произведение, это совершенно дикий результат получится, всё умножается на всё, миллион строчек, другими словами грязная бомба.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |