Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 18:17
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: не получется запрос по бухитогам  (Прочитано 5208 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PaulRom

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-12
  • Сайт: 
  • Профессия: Ученик 1С

            КоличНУ = Количество;
            БухИтНУ = СоздатьОбъект("БухгалтерскиеИтоги");
            БухИтНУ.Опции(1,1);
            БухИтНУ.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Товар,1,0);
            БухИтНУ.ИспользоватьСубконто(ВидыСубконто.УсловияПоступленияИВыбытия,,1,0);
             БухИтНУ.ИспользоватьСубконто(ВидыСубконто.Основание,,1,0);
            БухИтНУ.ВыполнитьЗапрос(, ТекущийДокумент(), "Н02.02.1",,,,,);
             
            БухИтНУ.ВыбратьСубконто(1);
            Пока (БухИтНУ.ПолучитьСубконто(1) = 1) и (КоличНУ > 0) Цикл
                БухИтНУ.ВыбратьСубконто(2);
                Пока (БухИтНУ.ПолучитьСубконто(2) = 1) и (КоличНУ > 0) Цикл
                    БухИтНУ.ВыбратьСубконто(3);
                    Пока (БухИтНУ.ПолучитьСубконто(3) = 1) и (КоличНУ > 0) Цикл
                        ОстКолНУ = БухИтНУ.СКД("К");
                        ОстСумНУ = БухИтНУ.СКД("С");
                        Если НЕ (ОстКолНУ > 0) Тогда
                            Продолжить     
                        КонецЕсли;
                         
                        КоличСпис = Мин(КоличНУ,ОстКолНУ);

                        ...
                         
                        КоличНУ = КоличНУ - КоличСпис;
                    КонецЦикла;
                КонецЦикла;
            КонецЦикла;


не пойму что не так. в отладчике БухИтНУ.ПолучитьСубконто(2) = 0 , хотя ОСВ по счету показывает что обороты по нужной номенклатуре за этот период есть в разрезе первого второго и третьего субконто
 код располагается в модуле документа


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
    БухИтНУ.ИспользоватьСубконто(ВидыСубконто.УсловияПоступленияИВыбытия,,1,0);              БухИтНУ.ИспользоватьСубконто(ВидыСубконто.Основание,,1,0);

уже давно не работал с бухгалтерскими итогами, но по-моему, эти две строки лишние.
вы же не указываете здесь значение субконто, в этом случае запрос отбирает данные, в которых Основание = <пустое значение> и УсловияПоступленияИВыбытия = <пустое значение>

Оффлайн PaulRom

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-12
  • Сайт: 
  • Профессия: Ученик 1С
закомментил эти две строки - стала выскакивать ошибка:
БхИтНУ.ВыбратьСубконто(2);
{Документ.ПеремещениеТоваров.Модуль Документа(567)}: Число фильтров субконто превысило допустимое значение!

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
закомментил эти две строки - стала выскакивать ошибка:
БхИтНУ.ВыбратьСубконто(2);
{Документ.ПеремещениеТоваров.Модуль Документа(567)}: Число фильтров субконто превысило допустимое значение!


скорее всего ни из-за этого. попробуйте с разными значениями параметра "ТипФильтра" в "использоватьСубконто"

И Номер счета точно правильно написан? Может у вас английская H, вместо русской "Н".
Так на взгляд вроде все верно :-/

Оффлайн PaulRom

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-12
  • Сайт: 
  • Профессия: Ученик 1С
спсибо за поддержку.
после танцев с бубном заработало вот так: убрал из скобок циферки и указал дату начала с 80 года

			КоличНУ = Количество;
БхИтНУ = СоздатьОбъект("БухгалтерскиеИтоги");
БхИтНУ.Опции(1,1);
БхИтНУ.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Товар,1,0);
БхИтНУ.ИспользоватьСубконто();
БхИтНУ.ИспользоватьСубконто();
БхИтНУ.ВыполнитьЗапрос('01.01.1980', ТекущийДокумент(), "Н02.02.1",,,,,);

БхИтНУ.ВыбратьСубконто();
Пока (БхИтНУ.ПолучитьСубконто() = 1) и (КоличНУ > 0) Цикл
БхИтНУ.ВыбратьСубконто();
Пока (БхИтНУ.ПолучитьСубконто() = 1) и (КоличНУ > 0) Цикл
БхИтНУ.ВыбратьСубконто();
    Пока (БхИтНУ.ПолучитьСубконто() = 1) и (КоличНУ > 0) Цикл
ОстКолНУ = БхИтНУ.СКД("К");
ОстСумНУ = БхИтНУ.СКД("С");
Если НЕ (ОстКолНУ > 0) Тогда
Продолжить
КонецЕсли;

КоличСпис = Мин(КоличНУ,ОстКолНУ);

                                        ...

КоличНУ = КоличНУ - КоличСпис;
КонецЦикла;
КонецЦикла;
КонецЦикла;

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
по-моему ерунда получается. в таком случае вам одной выборки достаточно.
просто в таком виде как сейчас вы по одному (первому) субконто и бороздите.

а насчет периода, сомнительно. в справке написано, что если параметр не указан, то будут рассчитаны сальды на начало конечной даты. т.е. в принципе и с прошлым периодом все должно работать. но в любом случае зачем вам такой огромный период.

Оффлайн PaulRom

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-12
  • Сайт: 
  • Профессия: Ученик 1С
может и правда достаточно было одной.
задача - списать некоторое количество товара со счета "Н02.02.1" по себестоимости
так что бы не оставалось хвостов в виде пустой аналитики.
т.е. на какой аналитике лежал на счете товар с такой и списать его. может есть красивее решение?

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
т.е. на какой аналитике лежал на счете товар с такой и списать его. может есть красивее решение?

намного красивее сделать и не получится.
в принципе у Вас все как надо, так и делалось, другое дело почему не работало :-/ возможно все таки из-за типа фильтра. Попробуйте в первоначальном коде в субконто, где товар указать в типе фильтра двойку, а в остальных единица пусть остается.


Оффлайн PaulRom

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-12-12
  • Сайт: 
  • Профессия: Ученик 1С
ааа я все наврал!!
там в плане счетов у субконто1 нет галки "Только обороты"
а у двух других субконто эти галки стоят. вот видимо где собака порылась
а я смотрю в ОСВ и вижу фигу.. там же тоже остатков нет - только обороты по двум последним аналитикам, а остатки только по номенклатуре.
буду дебетом счета и кредитом счета.">сальдо считать дебет минус кредит.. должно получиться Herby спасибо за подсказки :ooifh:


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 457
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal