Версия для печати темы (https://pro1c.org.ua/index.php?s=81cda1c2ad091ba166da4a66ded79c3a&showtopic=6821)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ бухгалтеские итоги в режиме запроса

Автор: uanr81 03.04.12, 9:03

Здравствуйте, помогите пожалуйста получить остаток по товару "тов", с помощью запроса
счет 01.03 количеств активный субконто1 - Товар, субконто2-ПриходнаяНакладная
проводки по счету:

Операция.Дебет.Счет = СчетПоКоду("01.03",ПланыСчетов.Мой);
        Операция.Дебет.Товар = Код;
        Операция.Дебет.ПриходнаяНакладная = текущийдокумент();

запрос, при получить субконто передаёться субконто на которое нужно спозиционироваться
глИТост=создатьобъект("бухгалтерскиеитоги");
  глИТост.ИспользоватьСубконто(видысубконто.Товар,);
  глИТост.Выполнитьзапрос(,текущаядата(),"01.03",,,,,5);
глИТост.выбратьсубконто(1);
глИТост.получитьсубконто(1,,тов);

Автор: MATEVI 03.04.12, 9:19

ДЛя чего? Для отображения в документе?

Функция Остаток()
ИтОст = СоздатьОбъект("БухгалтерскиеИтоги");
Возврат Строка(ИтОст.СКД("01.03",3,,МойТовар,МойДокумент));// читаем синтаксис
КонецФункции


Ваш код...

глИТост=создатьобъект("бухгалтерскиеитоги");
глИТост.ИспользоватьСубконто(видысубконто.Товар,тов,2);//тов- это фильтр, 2 -отбирать. читаем синтаксис
глИТост.Выполнитьзапрос(,текущаядата(),"01.03",,,,,5);
глИТост.выбратьсубконто(1);
Пока глИТост.получитьсубконто(1)=1 Цикл
        Ост = глИТост.СКД(3);
КонецЦикла;

Автор: uanr81 03.04.12, 9:45

В форме списка справочника текстовое поле(функция ост()), нужно чтобы отображались остатки по элементу на счете, поставил ваш код, всё равно не выдаёт

в отладчике проходит в цикл не залетает

Пока глИТост.получитьсубконто(1)=1 Цикл
        Ост = глИТост.СКД(3);
КонецЦикла;



Цитата(uanr81 @ 03.04.12, 10:41) *
В форме списка справочника текстовое поле(функция ост()), нужно чтобы отображались остатки по элементу на счете, поставил ваш код, всё равно не выдаёт


в отладчике проходит в цикл не залетает
Пока глИТост.получитьсубконто(1)=1 Цикл
        Ост = глИТост.СКД(3);
КонецЦикла;

в отладчике когда проходит
глИТост.выбратьсубконто(1);// расчитать глИТост.выбратьсубконто(1)=0 ???

Автор: MATEVI 03.04.12, 10:18

Цитата(uanr81 @ 03.04.12, 10:45) http://pro1c.org.ua/index.php?act=findpost&pid=47953

Автор: uanr81 03.04.12, 10:54

глИТост=создатьобъект("бухгалтерскиеитоги");
глИТост.ИспользоватьСубконто(видысубконто.Товар,,1);
глИТост.Выполнитьзапрос(,текущаядата(),"01.03",,,,,5);
глИТост.выбратьсубконто(1);// здесь выборка получается по всему товару в разрезе каждого

как теперь позиционировать на конкретный товар (товар)

Автор: MATEVI 03.04.12, 11:20

Если в форме списка справочника то

МойТовар=ТекущийЭлемент();
//....
глИТост.ИспользоватьСубконто(видысубконто.Товар,МойТовар,2);

Автор: uanr81 03.04.12, 11:25

я имел ввиду получить указанное субконто из выборки

глИТост=создатьобъект("бухгалтерскиеитоги");
глИТост.ИспользоватьСубконто(видысубконто.Товар,,1);
глИТост.Выполнитьзапрос(,текущаядата(),"01.03",,,,,5);
глИТост.выбратьсубконто(1);// здесь выборка получается по всему товару в разрезе каждого

как дальше получить конкретное субконто "товар" ???

Автор: 5_kopeek 03.04.12, 12:18

                
Если глИТост.ПолучитьСубконто(1,,ТекущийЭлемент()) = 1 Тогда
    Ост = глИТост.СКД("К");
КонецЕсли;

Автор: uanr81 03.04.12, 16:01

Всем огр омное спасибо, я передовал в коде вместо ссылку на субконто текст (баран), целую ночь промучался

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua