7.7 Странности с бухитогами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем GlebHappy, 26 фев 2010.

  1. TopicStarter Overlay
    GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    Имеется некий счет с аналитикой по контрагентам. Хотелось бы получить по каждому контрагенту значения оборота по дебету и кредиту с другим счетом.
    Делаю вот таким образом:
    Код:
    	СписокСчетов = СоздатьОбъект("СписокЗначений");
    СписокСчетов.ДобавитьЗначение(СчетПоКоду("205.03.2.0 .2"));
    
    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ИспользоватьРазделительУчета(ВыбраннаяФирма);
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    БИ.ВключатьСубсчета(-1,-1);
    
    БИ.ВыполнитьЗапрос(НачДата,КонДата,СписокСчетов,,3,,1);
    БИ.ВыбратьСубконто(ВидыСубконто.Контрагенты);
    Пока БИ.ПолучитьСубконто(ВидыСубконто.Контрагенты) = 1 Цикл
    Если БИ.Субконто(1).ВидКонтрагента = Перечисление.ВидыКонтрагентов.Дети Тогда
    Итоги.НоваяСтрока();
    Итоги.РебенокНомер = БИ.Субконто(1).Контрагент.Код;
    Итоги.Ребенок = БИ.Субконто(1).Контрагент.Наименование;
    Если БИ.СНД() > 0 Тогда
    Итоги.НачНедоплата = БИ.СНД();
    ИначеЕсли БИ.СНД() < 0 Тогда
    Итоги.НачПереплата = - БИ.СНД();
    КонецЕсли;
    БИ.ВыбратьКорСчета();
    Пока БИ.ПолучитьКорСчет() = 1 Цикл
    Сообщить("Зашли в цикл!");
    Если БИ.КорСчет = СчетПоКоду("401") Тогда
    Итоги.Начислено = БИ.КорДО();
    Сообщить(БИ.КорДО());
    Итоги.БанкПроцент = БИ.КорКО();
    КонецЕсли;
    КонецЦикла;
    Сообщить("Добавлена строка");
    КонецЕсли;
    КонецЦикла;
    
    Функции СНД() и СКД() работают как часы, а вот вставка специального сообщения в цикл по корсчетам показала, что выборку по корсчетам эти итоги вообще не открывают. Подозреваю, что я что-то не так делаю... :unsure:
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    "205.03.2.0 .2" не знаком с подобным планом счетов - похоже дело в аналитике. Какой он (А/П/АП)?
  3. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Это бюджетный
  4. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Я могу ошибаться, но для выборки корсчетов сначала надо выбрать счета
    Код:
    	Ит.ВыбратьСчета();
    Пока Ит.ПолучитьСчет() = 1 Цикл
    Ит.ВыбратьКорСчета();
    Пока Ит.ПолучитьКорСчет() = 1 Цикл
    КонецЦикла;
    КонецЦикла;
    
    
  5. TopicStarter Overlay
    GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    Увы, почему-то так и не работает.
    Сделал ради примера следующий запрос к итогам:
    Код:
    	СписокСчетов = СоздатьОбъект("СписокЗначений");
    СписокСчетов.ДобавитьЗначение(СчетПоКоду("205.03.2.0 .2"));
    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ИспользоватьРазделительУчета(ВыбраннаяФирма);
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    БИ.ВыполнитьЗапрос(НачДата,КонДата,СписокСчетов,,3,,1);
    БИ.ВыбратьСчета();
    Пока БИ.ПолучитьСчет() = 1 Цикл
    Сообщить("Счета выбраны!");
    Если БИ.ВыбратьКорСчета() = 1 Тогда
    Сообщить("Коррсчета выбраны!");
    Иначе
    Сообщить("Корсчета не выбраны!");
    КонецЕсли;
    КонецЦикла;
    
    Корсчета заведомо есть, а выдает всё равно, что они не выбраны. В подтверждение прилагаю анализ счета по кор. счетам

    Вложения:

  6. X-Man
    Offline

    X-Man Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    428
    Симпатии:
    3
    Баллы:
    29
    После выбора счета субконто не пробовали выбирать, а потом цикл по корсчетам?
  7. TopicStarter Overlay
    GlebHappy
    Offline

    GlebHappy Опытный в 1С

    Регистрация:
    31 июл 2009
    Сообщения:
    113
    Симпатии:
    0
    Баллы:
    26
    Пробовал, изначально был именно такой вариант (пост № 1) и он тоже не работал.
  8. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Тут может быть 2 варианта:
    1. Поиграй с методом БИ.Опции, в частности со вторым параметром
    2. Но скорее всего в ВыполнитьЗапрос(<НачалоПериода>,<КонецПериода>,<Счет>,<КоррСчет>,<Валюта>,<ТипИтогов>,<Периодичность>,<ТипСуммы>)

    <ТипИтогов> - число - тип отбираемых итогов. Может принимать следующие значения: 1 - остатки и обороты по счету в целом; 2 - обороты между счетами; 3 - первое и второе вместе. По умолчанию: 1.

Поделиться этой страницей