Имя: Пароль:
1C
1C 7.7
v7: Бухитоги по 41.1 счету
,
0 23th
 
27.03.12
07:55
Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   
   СписокПараметров=СоздатьОбъект("СписокЗначений");
   Текст=СоздатьОбъект("Текст");
   Текст.Очистить();
   Таб.ВывестиСекцию("Заголовок");
   Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбСубконто1 , 1);
   Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,ВыбСубконто2 ,2, 1);
   Ит.ВыполнитьЗапрос(, ВыбКонПериода, "41.1",,, 1,, "СК");

   Ит.выбратьСубконто();
   Таб.ВывестиСекцию("Шапка");  

               ИтогоОстаток = 0;        
               ИтогоОстКол = 0;

   Пока Ит.ПолучитьСубконто()=1 Цикл
       Суб = Ит.Субконто();
   Ит.ВыбратьСчета();
       Пока Ит.ПолучитьСчет()=1 Цикл
       Если Ит.Счет = СчетПоКоду("41.1") Тогда
       Остаток = Ит.СКД(1);        
       ОстКол = Ит.СКД(3);
           КонецЕсли;
Стр=СписокПараметров.ВСтрокуСРазделителями();                                                
               
КонецЦикла;
       
                             
       Текст.ДобавитьСтроку(Стр);
       
       Таб.ВывестиСекцию("Строка");
     
   КонецЦикла;


Вот тут СКД(1) - должен выводить по сумме но выдает 0, видимо потому что у складов нет суммового учета не подскажите как написать бух запрос по правильному?

Это я делаю для выгрузки в текстовый файл
1 Kastaneda
 
27.03.12
08:48
Зачем сделана выборка по счету, если итоги делаются по единственному счету "41.1"?
"у складов нет суммового учета" - это как такое может быть, при движении учет только по количеству номенклатуры ведете? Если так, что не должно удивлять, что там ноль. К тому же итоги могут быть кредитовые.
2 23th
 
27.03.12
08:53
нужны только дебитовые конечные итоги по 41му

хотелось бы видеть таблицу в виде

номенклатура1 склад1 5шт 1000 руб
номенклатура1 склад2 2шт 450 руб

номенклатура2 склад1 3шт 500 руб
номенклатура2 склад2 0шт 0 руб

ну или примерно так,
по номенклатуре конечно ведется суммовой учет
3 ТакВотЖе
 
27.03.12
08:59
если по складу нет суммового учета, то это означает, что сумму ты сможешь увидеть только по самой номенклатуре, без учета склада (т.е. по всем складам)

номенклатура1      1450 руб
склад1        5шт
склад2        2шт

номенклатура2      500 руб
склад1        3шт
номенклатура2 0шт
4 Kastaneda
 
27.03.12
09:09
попробуй классическим способом
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   
   Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
   Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура);
   Ит.ВыполнитьЗапрос(, ВыбКонПериода, "41.1",,, 1,, "СК");
   
   Ит.ВыбратьСубконто(1);
   Пока Ит.ПолучитьСубконто(1) = 1 Цикл
       Ит.ВыбратьСубконто(2);
       Пока Ит.ПолучитьСубконто(2) = 1 Цикл
           Остаток = Ит.СКД(1);
           ОстКол = Ит.СКД(3);
       КонецЦикла;
   КонецЦикла;
5 23th
 
27.03.12
09:20
спасибо сейчас попробую!!!
6 23th
 
27.03.12
10:38
Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   
   СписокПараметров=СоздатьОбъект("СписокЗначений");
   Текст=СоздатьОбъект("Текст");
   Текст.Очистить();

   
   Таб.ВывестиСекцию("Заголовок");  
   
   Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбСубконто1 , 1);
   Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,ВыбСубконто2 , 1);
   Ит.ВыполнитьЗапрос(, ВыбКонПериода, "41.1",,, 1,, "СК");
   Ит.выбратьСубконто();
   Таб.ВывестиСекцию("Шапка");  
   Ит.ВыбратьСубконто(1);
   Пока Ит.ПолучитьСубконто(1) = 1 Цикл
       Ит.ВыбратьСубконто(2);
       Суб = Ит.Субконто(1);
       СписокПараметров.УдалитьВсе();
               
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Код));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Наименование));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.новый1));
               
       СписокПараметров.ДобавитьЗначение(Строка(Суб.VIN));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.КаталожныйНомер));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Производитель));
               
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Цвет));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.ГодВыпуска));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Шасси));
               
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Кузов));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.МаркаДвигателя));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Двигатель));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.Рама));
       СписокПараметров.ДобавитьЗначение(Строка(Суб.ПТС));
       
       Пока Ит.ПолучитьСубконто(2) = 1 Цикл
           Остаток = Ит.СКД(1);
           ОстКол = Ит.СКД(3);
       
           СписокПараметров.ДобавитьЗначение(Строка(Остаток));
           СписокПараметров.ДобавитьЗначение(Строка(ОстКол));
           //Стр=СписокПараметров.ВСтрокуСРазделителями();                                                
                   
       КонецЦикла;
       Стр=СписокПараметров.ВСтрокуСРазделителями();                                                
       Текст.ДобавитьСтроку(Стр);
       
       Таб.ВывестиСекцию("Строка");
           
   КонецЦикла;
   

   Текст.Записать("Булат.txt");
   Таб.ВывестиСекцию("Итого");
   //Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать","");
   
   Сообщить(ТекущееВремя(,,), );

СписокПараметров.ДобавитьЗначение(Строка(Суб.Код));
{D:\ОСТАТКИ41НОВ.ERT(43)}: Значение не представляет агрегатный объект (Код)

не видит субконто, может потому что в начале идут итоги?
7 chief accountant
 
27.03.12
10:59
(6) Ты его запоминай
8 zak555
 
27.03.12
11:00
(6) а сумма точно не нулевая ? =)
9 23th
 
27.03.12
11:03
да я сейчас закомментировал вторую выборку    Пока Ит.ПолучитьСубконто(2) = 1 Цикл
     
и он выдал всю номенклатуру с суммами и количеством без складов
10 zak555
 
27.03.12
11:47
(9) зачем законментировал ?
11 Злопчинский
 
28.03.12
00:04
(10) а вдруг!