7.7 проблема с выбором счетов

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

  1. TopicStarter Overlay
    171083
    Offline

    171083

    Регистрация:
    2 дек 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Помогите пожайлуста. Нужно чтобы кредитовые обороты выводились по счету 62.2 и 62.1.
    Если обороты были по двум счетам их надо сложить, если на одном были а на другом нет то необходимо вывести ток в котором они были.
    вот часть кода.
    Код:
    Если БИ.ПолучитьСчет(,СчетПоКоду("62.2"))  = 1 Тогда
    Приход = БИ.КО()  
    КонецЕсли;
    
    Кто знает помогите пожайлуста.
  2. alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Код:
    БИ=СоздатьОбъект("БухгалтерскиеИтоги");
    БИ.ВыполнитьЗапрос(НачДата,КонДата,"62.1,62.2");
    Би.ВыбратьСчета();
    Пока БИ.ПолучитьСчет()=1 Цикл
    // суммируеш сальдо;
    КонецЦикла;
    
    
    Попробуй так.
  3. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А какой вид имеет запрос?
    Очень мало информации.... Что за обработка? В каком виде нужны данные?
  4. TopicStarter Overlay
    171083
    Offline

    171083

    Регистрация:
    2 дек 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    В таблицу выводятся начальное сальдо, конечное сальдо и приход. по контрагентам.
    начальное сальдо я вывел. А приход он выводит только по одному счету например 62.2. Существуют некоторые клиенты которые проходят и по 62.2 и по 62.1 одновременно. Необходимо чтобы если КО есть на обоих счетах, то их надо суммировать, и вывести в таблицу, а если на одном есть а на другом нет, то вывести тот на котором есть.

    Код:
    БИ = СоздатьОбъект("БухгалтерскиеИтоги");
    Если СпособВыборкиКонтрагентов = 2 Тогда
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты,спКонтрагенты,1);
    Иначе
    БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
    КонецЕсли;
    БИ.ВключатьСубсчета(1);
    БИ.ВыполнитьЗапрос(НачДата,КонДата,"62");//** 
    БИ.ВключатьСубсчета(1);
    //
    //
    //
    
    Если стКлиент <> ТЗ1.Клиент Тогда 
    СальдоНач = 0;
    СальдоКон = 0;
    Приход = 0;
    Если БИ.ПолучитьСубконто(1,,стКлиент) = 1 Тогда 
    СальдоНач = БИ.СНК()  - БИ.СНД();
    Если БИ.ПолучитьСчет(,СчетПоКоду("62.2"))  = 1 Тогда
    Приход = БИ.КО(); 
    Иначе Приход = БИ.КО(62.1)
    КонецЕсли;	 
    КонецЕсли;  
    СальдоКон =(СальдоНач+Приход)-ИтогС; //**
    Таб.ВывестиСекцию("Итого");   
    
  5. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Меняем
    Код:
    БИ.ВыполнитьЗапрос(НачДата,КонДата,"62");//** 
    
    на
    Код:
    БИ.ВыполнитьЗапрос(НачДата,КонДата,"62.1;62.2");//** 
    
    и не делаем перебор по субсчетам, просто берем кредитовый оборот по бухитогам.
  6. TopicStarter Overlay
    171083
    Offline

    171083

    Регистрация:
    2 дек 2008
    Сообщения:
    17
    Симпатии:
    0
    Баллы:
    1
    А как сделать выборку, что бы отгрузка которая тоже садится на счет 62.1 не включалась.
  7. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Нужно точнее ставить задачу, по этой записи
    подойдет вышеописанный код, а по
    нужно подробнее.

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