Показано с 1 по 1 из 1
-
13.07.2014, 17:19 #1
- Регистрация
- 08.07.2013
- Сообщений
- 12
- Сказал(а) спасибо
- 43
- Поблагодарили 0 раз(а) в 0 сообщениях
ИспользоватьСубконто() - выдает "Ошибка в выражении!"
Здравствуйте, при работе с БухгалтерскимиИтогами нужно найти сальдо по двум разным счетам:
1) в первом (75.4, АП, субконто: Контрагенты, Договоры, ВидыРасчетовСПайщиками), нужно найти сальдо по конкретному Контрагенту и ВидуРасчетовСПайщиками
2) во втором (58.7, А, субконто: Контрагенты, Договоры), нужно найти сальдо по конкретному Контрагенту.
Код следующий:
Код:Бит = CreateObject("БухгалтерскиеИтоги"); // расчитываем для 75,4 Бит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Бит.ИспользоватьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками, Перечисление._ВидыРасчетовСПайщиками.ПроцентыПоПредоставленнымЗаймам); Бит.ИспользоватьСубконто(ВидыСубконто.Договоры); Бит.ВыполнитьЗапрос(НачМесяца(ДатаДок), КонМесяца(ДатаДок), "75.4"); Бит.ВыбратьСубконто(ВидыСубконто.Контрагенты); Бит.ПолучитьСубконто(ВидыСубконто.Контрагенты); Бит.ВыбратьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками); Бит.ПолучитьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками); Бит.ВыбратьСубконто(ВидыСубконто.Договоры); while Бит.ПолучитьСубконто(ВидыСубконто.Договоры) <> 0 do НоваяСтрока(); ВидРасчетаСПайщиком = Бит.Субконто(ВидыСубконто._ВидыРасчетовСПайщиками); Договор = Бит.Субконто(ВидыСубконто.Договоры); СальдоПо58_7 = 0; СальдоПо75_4 = Бит.СКД()-Бит.СКК(); Итого = 0; enddo; // расчитываем для 58,7 Бит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Бит.ИспользоватьСубконто(ВидыСубконто.Договоры); Бит.ВыполнитьЗапрос(НачМесяца(ДатаДок), КонМесяца(ДатаДок), "58.7"); Бит.ВыбратьСубконто(ВидыСубконто.Контрагенты); Бит.ПолучитьСубконто(ВидыСубконто.Контрагенты); Бит.ВыбратьСубконто(ВидыСубконто.Договоры); while Бит.ПолучитьСубконто(ВидыСубконто.Договоры) <> 0 do НоваяСтрока(); ВидРасчетаСПайщиком = Бит.Субконто(ВидыСубконто._ВидыРасчетовСПайщиками); Договор = Бит.Субконто(ВидыСубконто.Договоры); СальдоПо58_7 = Бит.СКД()-Бит.СКК(); СальдоПо75_4 = 0; Итого = 0; enddo;
Пишет "Ошибка в выражении!" (если смотреть в конфигураторе).
Помогите пожалуйста, что не так, всю голову уже себе сломал %)
За ранее благодарен, за любой ответ! ;)
---------- Post added at 16:19 ---------- Previous post was at 16:08 ----------
Блин, извините за флуд!
Смутило сообщение про аналитику счета. Решение оказалось простым!
Оказывается, когда используешь несколько раз разный "ВыполнитьЗапрос" и устанавливаешь отбор по субконто, то нужно каждый раз создавать объект заново ;)
Т.е. должно получиться примерно следующее:
Код:Бит = CreateObject("БухгалтерскиеИтоги"); // расчитываем для 75,4 Бит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Бит.ИспользоватьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками, Перечисление._ВидыРасчетовСПайщиками.ПроцентыПоПредоставленнымЗаймам); Бит.ИспользоватьСубконто(ВидыСубконто.Договоры); Бит.ВыполнитьЗапрос(НачМесяца(ДатаДок), КонМесяца(ДатаДок), "75.4"); Бит.ВыбратьСубконто(ВидыСубконто.Контрагенты); Бит.ПолучитьСубконто(ВидыСубконто.Контрагенты); Бит.ВыбратьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками); Бит.ПолучитьСубконто(ВидыСубконто._ВидыРасчетовСПайщиками); Бит.ВыбратьСубконто(ВидыСубконто.Договоры); while Бит.ПолучитьСубконто(ВидыСубконто.Договоры) <> 0 do НоваяСтрока(); ВидРасчетаСПайщиком = Бит.Субконто(ВидыСубконто._ВидыРасчетовСПайщиками); Договор = Бит.Субконто(ВидыСубконто.Договоры); СальдоПо58_7 = 0; СальдоПо75_4 = Бит.СКД()-Бит.СКК(); Итого = 0; enddo; Бит = 0; Бит = CreateObject("БухгалтерскиеИтоги"); // расчитываем для 58,7 Бит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент); Бит.ИспользоватьСубконто(ВидыСубконто.Договоры); Бит.ВыполнитьЗапрос(НачМесяца(ДатаДок), КонМесяца(ДатаДок), "58.7"); Бит.ВыбратьСубконто(ВидыСубконто.Контрагенты); Бит.ПолучитьСубконто(ВидыСубконто.Контрагенты); Бит.ВыбратьСубконто(ВидыСубконто.Договоры); while Бит.ПолучитьСубконто(ВидыСубконто.Договоры) <> 0 do НоваяСтрока(); Договор = Бит.Субконто(ВидыСубконто.Договоры); СальдоПо58_7 = Бит.СКД()-Бит.СКК(); СальдоПо75_4 = 0; Итого = 0; enddo;
Социальные закладки