Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: 1С 7.7 бух. Подскажите как правильно выбрать корреспонд  (Прочитано 10087 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
badhitman
Гость
« : 14-07-2009 13:31 » 

Нужно перебрать все субсчете счёта 10, получить сальдо на начало, ДО(), КО() и все корреспондирующие счета и субконто с какими эти КО() и ДО() накрутились. т.е. например КО("С") 100 руб, из них на 50 руб это были проводки ДТ: 10.1 КТ:10.1 (простое перемещение на другой склад, но проводок много и всё на разные склады, но в общем на 50 руб) а остальные 50 руб, это набрано проводками типа:ДТ: 91.2 КТ:10.1 (отпуск материалов на сторону) и ДТ:25 КТ: 10.1 (передача в производство). Нужно получить отчёт о том на какие счета уходили материалы в принципе с 10 ых счетов (я в примере указал только 10.1, но это только пример) и по каким субконто разтеклись они.
Делаю так:
Код:
БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.Материалы);
БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
БухИт.ВключатьСубсчета(1,0);
БухИт.ВыполнитьЗапрос(ДатаНачала , ДатаКонца,,,,3);
Пока БухИт.ПолучитьСубконто(1) = 1 Цикл
Если БухИт.Субконто(1).ЭтоГруппа()=1 Тогда Продолжить КонецЕсли; 
БухИт.ВыбратьСубконто(2);
Пока БухИт.ПолучитьСубконто(2) = 1 Цикл
Если БухИт.Субконто(2).ЭтоГруппа()=1 Тогда Продолжить КонецЕсли;
БухИт.ВыбратьСчета();
Пока БухИт.ПолучитьСчет()=1 Цикл 
БухИт.ВыбратьКорСчета(1);
Пока БухИт.ПолучитьКорСчет()=1 Цикл

...................... и дальше уже съём резултатов, акуммуляция их в Таблицах значений и закрытие циклов обхода выборки результатов...потом переработка Таблиц значений и заполнение результатирующих печатных форм.

Вот что меня поставило в тупик (я с коррсчетами не работал и с корсубконто) почему-то БухИт.Корсчёт всегда выдаёт только счета групы (например там должны быть 10.1 КорДО()=10 руб + 10.2 КорДО()=10 руб + 10.3 КорДО()=30 руб, а он даёт счёт 10 КорДО() = 50 руб). Я уже не говорю про корсубконто... Там он мне вообще даёт только сатериал, а нужны ещё и места хранения, но у счёта 10 реально нет субконто "Места хранений", они есть только у его судсчетов. Если сделать 10 му счёту просто субконто нужное, то это не решит проблему, т.к. нужно всёравно разобрать по каким субсчетам растеклась сумма. Подскажите пожалуйста как выбрать правильно субсчета. Я уже начинаю подумывать о том, что бы просто задать периодичность итогов по проводкам и в таблицах собирать эти данный, но как-то это нелепо... Почему-то кажется, что я просто не правильно запрос делаю по БухИтогам.

Заранее благодарю.
« Последнее редактирование: 14-07-2009 13:55 от Джон » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 14-07-2009 17:53 » 

Цитата
БухИт.Корсчёт всегда выдаёт только счета групы
Почитай внимательно хелп:
ВключатьСубсчета(1,0): <ФлагКоррСчета> - необязательный параметр. Признак развертывания сальдо по субсчетам корреспондирующего счета. Число: 0 - не разворачить по субсчетам; 1 - разворачивать по субсчетам;  -1 (минус единица) - не выдавать итоги по корреспондирующим счетам-группам. Значение по умолчанию - 0.
Цитата
Там он мне вообще даёт только сатериал, а нужны ещё и места хранения
А где собственно БухИт.ВыбратьСубконто(1); ?

И попробуй указать с каких именно счетов ты делаешь запрос:
БухИт.ВыполнитьЗапрос(ДатаНачала , ДатаКонца,"10.1,10.2,10.3",,,3);
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 14-07-2009 17:54 » 

Кстати - ты отбираешь по Субконто, а не КорСубконто: см. ИспользоватьКорСубконто()
Записан
badhitman
Гость
« Ответ #3 : 14-07-2009 22:31 » 

Спасибо большое... Сейчас пробовать не буду, но утром на свежую голову попробую и отпишусь. Заранее благодарю, т.к. скорее всего это и есить решение моей проблемы.
Записан
badhitman
Гость
« Ответ #4 : 17-07-2009 05:09 » new

Kivals,  Спасибо... То что доктор прописал.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines