7.7 Нюансы бух. запроса. Метод ВыбратьВалюты()

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

  1. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ВыбКонтрагент, 2);
    Если Константа.ВыделятьАвансы = Перечисление.ДаНет.Да Тогда
    СтрСч= "681,681,371,36,377,63";
    Иначе
    СтрСч= "36,377,63";
    КонецЕсли;
    Ит.ВключатьСубсчета(1);
    Если Ит.ВыполнитьЗапрос(Дата1,Дата2,СтрСч, , ,3,"Проводка")=1 Тогда
    Ит.ВыбратьПериоды();
    Пока Ит.ПолучитьПериод()=1 Цикл
    Ит.ВыбратьСчета();
    Пока Ит.ПолучитьСчет()=1 Цикл

    Ит.ВыбратьВалюты();
    Пока Ит.ПолучитьВалюту()=1 Цикл
    КонецЦикла;

    КонецЦикла;
    КонецЦикла;
    КонецЕсли;
    ************************************
    почему-то у выборку не попадает ни одна валюта: ВыбратьВалюты()=0, хотя ВыбратьСчета()=1 и выборке счетов есть "36,361,632", 632-валютный. Почему?
  2. Amishechka
    Offline

    Amishechka Опытный в 1С

    Регистрация:
    8 сен 2006
    Сообщения:
    361
    Симпатии:
    1
    Баллы:
    26
    Смотрим синтаксис-помощник:
    ВыполнитьЗапрос(<?>,,,,,,,)
    Синтаксис:
    ВыполнитьЗапрос(<НачалоПериода>,<КонецПериода>,<Счет>,<КоррСчет>,<Валюта>,<ТипИтогов>,<Периодичность>,<ТипСуммы>)
    Назначение:
    Выполнить отбор и расчет итогов по параметрам.
    Возвращает число 1 - запрос выполнен; 0 - запрос не выполнен.
    Параметры:
    <Валюта> - зачение типа ''Справочник.Валюты''. Если параметр не указан итоги выдаются без учета валюты.
  3. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    А как сделать, чтоб в выборку попадала не одна валюта, а все из ''Справочник.Валюты''?
  4. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    В чем ошибка:

    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ВыбКонтрагент, 2);
    Если Константа.ВыделятьАвансы = Перечисление.ДаНет.Да Тогда
    СтрРах= "681,371,36,377,63";
    Иначе
    СтрРах = "36,377,63";
    КонецЕсли;
    Если Ит.ВыполнитьЗапрос(Дата1,Дата2,СтрРах, , ,3,"Проводка",3)=1 Тогда

    Ит.ВыбратьСчета();
    Пока Ит.ПолучитьСчет() = 1 Цикл
    Ит.ВыбратьПериоды();
    Пока Ит.ПолучитьПериод() = 1 Цикл
    Рах = Ит.Счет;
    Табл.НоваяСтрока();
    Табл.Документ = Ит.Операция.Документ;
    Валюта = СоздатьОбъект("Справочник.Валюты");
    ТекВалюта = Валюта.ТекущийЭлемент();
    Валюта.ВыбратьЭлементы();
    Ит.ВыбратьВалюты();
    Ит.ПолучитьВалюту();
    .....
    ****************************************
    выдает ошыбку:
    Ит.ВыбратьПериоды();
    {\\1CPROFI\E\BASI_1C\VEST\EXTFORMS\KARTKLIENT.ERT(126)}: Не выбран элемент вышестоящей группировки!

    в Отладчике такая картина:
    Ит.ВыбратьВалюты() = 0
    Ит.ВыбратьСчета() = 1
    Ит.ВыбратьПериоды() = Ошибка в выражении!
  5. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Если так:
    ...
    Ит.ВыбратьПериоды(, ,1);
    ...
    Таже самая ошибка!
  6. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Как сделать бухзапрос по конкретному субконто, чтоб можно было получить итоги ДО(), КО() и по валютной сумме, а то вишеописанный способ, дает возможность получить итоги ДО(), КО(), СНК(), СНД() только по невалютным счетам.
  7. TopicStarter Overlay
    fantas
    Offline

    fantas Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    104
    Симпатии:
    0
    Баллы:
    26
    Понял. Тему можно закрыть.

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