|
v7: Логика отчета "Акт Сверки" взаиморасчетов с ИТС | ☑ | ||
---|---|---|---|---|
0
Mister-X07
16.07.12
✎
17:28
|
Если брать разные периоды в этом отчете по одному и тому же контрагенту, то сальдо начальное +- обороты (в зависимости Дк, Кт) <> сальдо конечное. Это нормально?
|
|||
1
Mister-X07
16.07.12
✎
17:28
|
+ Украина бухгалтерия
|
|||
2
Ёпрст
16.07.12
✎
17:30
|
Продолжайте наблюдение
|
|||
3
BlackSeaCat
16.07.12
✎
17:31
|
В Украине - да.
Доказано недавними газовыми войнами. |
|||
4
Mister-X07
16.07.12
✎
17:31
|
(2) (3) пятниццо еще впереди ))
|
|||
5
Злопчинский
16.07.12
✎
17:57
|
я не понял - сальдо начальное или сало?
|
|||
6
Mister-X07
16.07.12
✎
18:59
|
(5) где сало?
|
|||
7
Kreont
16.07.12
✎
19:02
|
(0) Ну конеш что в зависимости от Дт, КТ, будет сальдо другое :)
По 6851 одно, по 631, другое, по 361 еще иное.. |
|||
8
Mister-X07
18.07.12
✎
12:12
|
вот как считается сальда: начи кон
БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьРазделительУчета(Фирма); БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Попытка //Бухучет для Украины БИ.ИспользоватьСубконто(ВидыСубконто.Заказы, Договор); Исключение //ПУБ БИ.ИспользоватьСубконто(ВидыСубконто.Договора, Договор); КонецПопытки; БИ.ВключатьСубсчета(0, 0); БИ.ВыполнитьЗапрос(НачДата, КонДата, СписокВыбранныхСчетов); //Сообщить("За период "+ПериодСтр(НачДата, КонДата)+" движений по расчетам с "+Контрагент+" не найдено."); СальдоНач = БИ.СНД() - БИ.СНК(); СальдоКон = БИ.СКД() - БИ.СКК(); |
|||
9
Mister-X07
18.07.12
✎
12:15
|
СписокВыбранныхСчетов = счета-группы: 36, 37, 63 и 68
|
|||
10
Kreont
18.07.12
✎
12:20
|
(8) Нормально вроде написано по определению сальда по счету,
может в оборот не все попадает, ну например ручные проводки сторнируищие (сума со знаком "-") и т.п., тогда в оброте не каждый запрос вытянет правильно оборот что б показать именно такую операцию. Сверь акт с ОСВ по указанным счетам, по контаргенту, и сальдо и оборот, сразу будет видно. А еще лучше с ЖО, развернутым, что б всю картину видеть. |
|||
11
Mister-X07
18.07.12
✎
13:07
|
(10) в последних релизах типовых конфах бухгалтерия забрали разделитель учета
|
|||
12
Mister-X07
18.07.12
✎
13:09
|
+ фильтр по проводкам такой:
Опер = СоздатьОбъект("Операция"); Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Если ПустоеЗначение(Договор) = 0 Тогда Попытка //Бухучет для Украины Опер.ИспользоватьСубконто(ВидыСубконто.Заказы, Договор); Исключение //ПУБ для Украины Опер.ИспользоватьСубконто(ВидыСубконто.Договора, Договор); КонецПопытки; КонецЕсли; Сложная = 0; //0 - простая проводка, 1 - сложная, корр. по кредиту, 2 - сложная, корр. по кредиту СтарыйДокумент = 0; Опер.ВыбратьОперацииСПроводками(НачДата, КонДата, Фильтр); Пока Опер.ПолучитьПроводку() = 1 Цикл //проверка на совпадение разделителя учета в операции и выбранной фирмы Если Опер.НашаФирма <> Фирма Тогда Продолжить; КонецЕсли; короче если есть проводки по нескольким фирмам уже несовпадение остатков |
|||
13
Mister-X07
18.07.12
✎
14:41
|
вот есть счет-группа 37 (у нее нет субконт вообще), как по нему отработает метод
ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); ? |
|||
14
Mister-X07
18.07.12
✎
16:02
|
(13) актуально
|
|||
15
chief accountant
18.07.12
✎
16:22
|
(13) никак
|
|||
16
Mister-X07
18.07.12
✎
16:27
|
(15) т.е.
БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьРазделительУчета(Фирма); БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); БИ.ВключатьСубсчета(0, 0); БИ.ВыполнитьЗапрос(НачДата, КонДата, СписокВыбранныхСчетов); СальдоНач = БИ.СНД() - БИ.СНК(); СальдоКон = БИ.СКД() - БИ.СКК(); по счету-группе 37 (если СписокВыбранныхСчетов = "37") запрос не выполнится? |
|||
17
Mister-X07
18.07.12
✎
16:28
|
+ (12) тоже не отработает только по счету-группе 37
|
|||
18
Mister-X07
18.07.12
✎
16:30
|
(11) оно дасть остатки по всем фирмам и пустым тоже ))
|
|||
19
chief accountant
18.07.12
✎
16:46
|
(16) да
(17) да накуя акт сверки по счету без аналитики Контрагенты? |
|||
20
Mister-X07
18.07.12
✎
17:56
|
вот сам фильтр
Фильтр = ""; ДобавитьСчетВыданныхАвансов = 0; ДобавитьСчетПолученныхАвансов = 0; Для СчетчикЦикла = 1 По СписокСчетов.РазмерСписка() Цикл Если СписокСчетов.Пометка(СчетчикЦикла) = 1 Тогда Сч = СписокСчетов.ПолучитьЗначение(СчетчикЦикла); СписокВыбранныхСчетов.ДобавитьЗначение(Сч); КодСчета = СокрЛП(Сч.Код); Фильтр = Фильтр + КодСчета + ",*;*," + КодСчета + ";"; Если (Сч = Сч63) ИЛИ (Сч = Сч37) Тогда ДобавитьСчетВыданныхАвансов = 1; КонецЕсли; Если (Сч = Сч36) ИЛИ (Сч = Сч68) Тогда ДобавитьСчетПолученныхАвансов = 1; КонецЕсли; КонецЕсли; КонецЦикла; Если ПустоеЗначение(Фильтр) = 0 Тогда Если ДобавитьСчетВыданныхАвансов = 1 Тогда Фильтр = Фильтр + СокрЛП(Сч371) + ",*;*," + СокрЛП(Сч371) + ";"; КонецЕсли; Если ДобавитьСчетПолученныхАвансов = 1 Тогда Фильтр = Фильтр + СокрЛП(Сч681) + ",*;*," + СокрЛП(Сч681) + ";"; КонецЕсли; Фильтр = Лев(Фильтр, СтрДлина(Фильтр)-1); КонецЕсли; тут попадет подсчет 371, на котором есть уже субк. Контрагенты (371 - тоже группа), вот думаю если у счета нету такого субк., тогда может бух.запрос по нему с фильтром по этому субк. даст вообще все остатки на этом счета без разрезов (как в случае с ИспользоватьРазделительУчета(Фирма)) |
|||
21
Mister-X07
18.07.12
✎
17:57
|
"тут попадет подсчет 371" еще
|
|||
22
Mister-X07
18.07.12
✎
17:58
|
фильтр к
Опер.ВыбратьОперацииСПроводками(НачДата, КонДата, Фильтр); |
|||
23
Kreont
18.07.12
✎
18:37
|
Напиши свой уникальный акт сверки. Сколько там его писать то:)
А все что универсальное => тормознутое в работе, и не для всех исх.данных будет правильным. |
|||
24
chief accountant
19.07.12
✎
09:04
|
(22) Если на 37 нет Контрагенты, то зачем он вообще нужен в Акте сверки?
Сч37 = СчетПоКоду("37"); замени на Сч37 = СчетПоКоду("371"); усё |
|||
25
Mister-X07
24.07.12
✎
23:18
|
а ларчик просто открывался:
Опер = СоздатьОбъект("Операция"); Опер.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Если ПустоеЗначение(Договор) = 0 Тогда //внимание сюда !!! Попытка //Бухучет для Украины Опер.ИспользоватьСубконто(ВидыСубконто.Заказы, Договор); Исключение //ПУБ для Украины Опер.ИспользоватьСубконто(ВидыСубконто.Договора, Договор); КонецПопытки; КонецЕсли; и здесь БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьРазделительУчета(Фирма); БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Попытка //внимание сюда !!! а где Если ПустоеЗначение(Договор) = 0 Тогда... //Бухучет для Украины БИ.ИспользоватьСубконто(ВидыСубконто.Заказы, Договор); Исключение //ПУБ БИ.ИспользоватьСубконто(ВидыСубконто.Договора, Договор); КонецПопытки; БИ.ВключатьСубсчета(0, 0); БИ.ВыполнитьЗапрос(НачДата, КонДата, СписокВыбранныхСчетов); //Сообщить("За период "+ПериодСтр(НачДата, КонДата)+" движений по расчетам с "+Контрагент+" не найдено."); СальдоНач = БИ.СНД() - БИ.СНК(); СальдоКон = БИ.СКД() - БИ.СКК(); короче при расчете итогов должна быть такие же условия по фильтру субконто как по операциях |
|||
26
Mister-X07
28.07.12
✎
23:48
|
тему закрыть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |