Бухгалтерский запрос по документу
Показывать по
10
20
40
сообщений
- 1
- 2
07.04.2006
06:48
#1
"Необходимо сделать бухгалтерские итоги по конкретному документу, а не по всем проводкам.
Пример приведен ниже, но он не работает
Итог = 0;
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто();
БИ.ВключатьСубсчета(,1);
БИ.ВыполнитьЗапрос(НачДата,КонДата,"25,26","10.11.1", ,2,"Проводка","С");
БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет()=1 Цикл
БИ.ВыбратьСубконто();
Пока БИ.ПолучитьСубконто() = 1 Цикл
Опер = БИ.Операция;
Док = Опер.Документ.ТекущийДокумент();
Если (Док.Вид()="НачислениеАмортизации") Тогда
Если Док.СпецодеждаСпецоснастка = 1 Тогда
Сумм = Опер.Сумма;
Итог = Итог + Сумм;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Что делать? Подскажите, пожалуйста. "
Пример приведен ниже, но он не работает
Итог = 0;
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто();
БИ.ВключатьСубсчета(,1);
БИ.ВыполнитьЗапрос(НачДата,КонДата,"25,26","10.11.1", ,2,"Проводка","С");
БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет()=1 Цикл
БИ.ВыбратьСубконто();
Пока БИ.ПолучитьСубконто() = 1 Цикл
Опер = БИ.Операция;
Док = Опер.Документ.ТекущийДокумент();
Если (Док.Вид()="НачислениеАмортизации") Тогда
Если Док.СпецодеждаСпецоснастка = 1 Тогда
Сумм = Опер.Сумма;
Итог = Итог + Сумм;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Что делать? Подскажите, пожалуйста. "
07.04.2006
11:56
#2
Бухгалтерские итоги под собой понимают такое, тем более
переодичность вы указали "Проводка". И им всё равно каким документом было
сформирована данная проводка.
Если необходимо конкретно по какому-то одномк документу, то используйте
запрос, в котором ставьте условия:
док = "НачислениеАмортизации"
Док.СпецодеждаСпецоснастка = 1
только потом придётся строки документа перебрать
переодичность вы указали "Проводка". И им всё равно каким документом было
сформирована данная проводка.
Если необходимо конкретно по какому-то одномк документу, то используйте
запрос, в котором ставьте условия:
док = "НачислениеАмортизации"
Док.СпецодеждаСпецоснастка = 1
только потом придётся строки документа перебрать
10.04.2006
05:19
#4
Блин, ну не строки...проводки, только не говорите, что этот документ не формирует проводок!
А вообще, если уж на то пошло и вам нужно только данный вид документа, то тут даже запрос
делать не уместно. просто выбрать документы за период и обработать.
А вообще, если уж на то пошло и вам нужно только данный вид документа, то тут даже запрос
делать не уместно. просто выбрать документы за период и обработать.
10.04.2006
09:40
#5
То есть вы предлагаете сделать сначала цикл по перебору документов "Начисление амортизации", а внутри этого цикла сделать бухгалтерский запрос?
10.04.2006
10:05
#6
Зачем бухгалтерский запрос делать? выбираем документы за нужный период в
которых стоит голочка СпецодеждаСпецоснастка и смотрим проводки, которые
данный документ делает(простым перебором). По-моему это проще.
которых стоит голочка СпецодеждаСпецоснастка и смотрим проводки, которые
данный документ делает(простым перебором). По-моему это проще.
10.04.2006
10:36
#7
Если на то пошло, то для того чтобы посмотреть проводки по конткретному документу достаточно по кнопке "Действия" в журнале выбрать "Отчет о движении" и получим все проводки контретного документа.
Я правда, не совсем поняла вопрос, какие бухитоги по документу хотели увидеть?
Я правда, не совсем поняла вопрос, какие бухитоги по документу хотели увидеть?
10.04.2006
11:11
#8
Да нет, не все проводки нужны. Просто перебираем все и выбираем только те, которые нужны
10.04.2006
11:14
#9
"Ну, люди мне нужен бухгалтерский запрос для того, чтобы работать дальше с его итогами, а непросто посмотреть. Дело в том, что данный блок работает:
Опер = СоздатьОбъект("Операция");
Опер.ВыбратьОперацииСПроводками(НачДата,КонДата,"25,26, 10.11");
Пока Опер.ПолучитьПроводку()=1 Цикл
Если Опер.Документ.Вид() = "НачислениеАмортизации" Тогда
п = п + 1;
Сотр = Опер.Кредит.Сотрудники;
Материал = Опер.Кредит.Материалы;
Счет = Опер.Дебет.Счет;
СПИ = Опер.Кредит.НазначенияИспользования.СрокПолезногоИспользования;
СПС = Опер.Кредит.НазначенияИспользования.СпособПогашенияСтоимости;
НомДокПерВПроизводство = Опер.Кредит.НазначенияИспользования.ДокументПередачаВПроизводство.НомерДок;
ДатДокПерВПроизводство = Опер.Кредит.НазначенияИспользования.ДокументПередачаВПроизводство.ДатаДок;
Всего = Опер.Сумма;
Итог = Итог + Всего;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Но долго!!! Бухитоги быстрее!!! Но в бухитогах не выполняется условие
Если Опер.Док.Вид() = "НачилениеАмортизации" Тогда
///
Поэтому я сделала через проводки!!!"
Опер = СоздатьОбъект("Операция");
Опер.ВыбратьОперацииСПроводками(НачДата,КонДата,"25,26, 10.11");
Пока Опер.ПолучитьПроводку()=1 Цикл
Если Опер.Документ.Вид() = "НачислениеАмортизации" Тогда
п = п + 1;
Сотр = Опер.Кредит.Сотрудники;
Материал = Опер.Кредит.Материалы;
Счет = Опер.Дебет.Счет;
СПИ = Опер.Кредит.НазначенияИспользования.СрокПолезногоИспользования;
СПС = Опер.Кредит.НазначенияИспользования.СпособПогашенияСтоимости;
НомДокПерВПроизводство = Опер.Кредит.НазначенияИспользования.ДокументПередачаВПроизводство.НомерДок;
ДатДокПерВПроизводство = Опер.Кредит.НазначенияИспользования.ДокументПередачаВПроизводство.ДатаДок;
Всего = Опер.Сумма;
Итог = Итог + Всего;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЦикла;
Но долго!!! Бухитоги быстрее!!! Но в бухитогах не выполняется условие
Если Опер.Док.Вид() = "НачилениеАмортизации" Тогда
///
Поэтому я сделала через проводки!!!"
10.04.2006
13:05
#10
"Извини, но я все таки не совсем поняла что надо
Но
1.если нужно просто проводки сделанные документами , возможно если идти от документа, а нет от проводок то будет быстрее
Док1=СоздатьОбъект("Документ.НачислениеАмортизации");
Док1.ВыбратьДокументы(Начдата,Кондата);
пока док1.ПолучитьДокумент()=1 цикл
Док = док1.ТекущийДокумент();
Если Док.СуществуетОперация()=1 Тогда
Опер=Док.Операция;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
.....
КонецЦикла;
КонецЕсли;
конеццикла;
2 Бухгалтериские итоги - это остатки и обороты по счетам и объектам аналитическгого учета и т п. ПОэтому если нужны именно итоги то - использовать запрос с периодичностью операция например
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ВыполнитьЗапрос(НачДата,Кондата,"25,26,10.1",,,1,"Операция",1);
БИ.ВыбратьПериоды();
пока БИ.ПолучитьПериод()=1 цикл
если БИ.Операция.Документ.Вид()="НачислениеАмортизации" тогда
.......
конецесли;
конеццикла;
"
Но
1.если нужно просто проводки сделанные документами , возможно если идти от документа, а нет от проводок то будет быстрее
Док1=СоздатьОбъект("Документ.НачислениеАмортизации");
Док1.ВыбратьДокументы(Начдата,Кондата);
пока док1.ПолучитьДокумент()=1 цикл
Док = док1.ТекущийДокумент();
Если Док.СуществуетОперация()=1 Тогда
Опер=Док.Операция;
Опер.ВыбратьПроводки();
Пока Опер.ПолучитьПроводку()=1 Цикл
.....
КонецЦикла;
КонецЕсли;
конеццикла;
2 Бухгалтериские итоги - это остатки и обороты по счетам и объектам аналитическгого учета и т п. ПОэтому если нужны именно итоги то - использовать запрос с периодичностью операция например
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ВыполнитьЗапрос(НачДата,Кондата,"25,26,10.1",,,1,"Операция",1);
БИ.ВыбратьПериоды();
пока БИ.ПолучитьПериод()=1 цикл
если БИ.Операция.Документ.Вид()="НачислениеАмортизации" тогда
.......
конецесли;
конеццикла;
"
- 1
- 2
ЗиК - возможна ли конвертация начислений из dbf-файлов? Кто сталкивался, подскажите,помогите, пожалуйста, разобраться
Читают тему
(гостей: 1)