Имя: Пароль:
1C
1C 7.7
v7: Не берет себестоимость в доке
0 sevensword
 
11.09.14
15:44
Народ подскажите где ошибся, вывожу себестоимость по счету, а весь товар в доке выходит по одной себест
Процедура ОбработкаПроведения()
    
       би=создатьобъект("БухгалтерскиеИтоги");
    би.использоватьсубконто(ВидыСубконто.Номенклатура,,1);
    би.использоватьсубконто(ВидыСубконто.МестаХранения,Склад,2);
    би.выполнитьзапрос(ТекущийДокумент(),ТекущийДокумент(),"41.6");
                ВыбратьСтроки();

    
    Пока ПолучитьСтроку()=1 Цикл
           Операция.новаяпроводка();
           Операция.дебет.счет=счетпокоду("41.6");
        Операция.дебет.субконто(1,Товар);
        Операция.дебет.субконто(2,Складполучатель);
        операция.дебет.субконто(5,Фирмы);
                                              
        Операция.кредит.счет=счетпокоду("41.6");
        Операция.кредит.субконто(1,Товар);
        Операция.кредит.субконто(2,Склад);                       
        операция.кредит.субконто(5,Фирмы);
        
        Операция.количество=количество;
        Операция.сумма=?(би.СНД("К")=0,0,би.СНД("С")/би.СНД("К"))*количество;  
    
         конеццикла;
         Операция.Записать();
КонецПроцедуры
1 Ёпрст
 
11.09.14
15:46
(0) дык ты туда одну и туже загоняешь туда.. всегда
2 Ёпрст
 
11.09.14
15:47
может будешь, для каждой строки что ле фильтр хотя бы по товару накладывать..
3 sevensword
 
11.09.14
15:53
как прописать это?
4 kupec
 
11.09.14
15:53
БИ.ПолучитьСубконто()
5 lavalit
 
11.09.14
15:58
Ну да внутри цыкла надо бы номенклауру перебирать то.
Просто перетащи строки БИ.*** внутрь цикла ну за исключением объявы  объекта
6 sevensword
 
11.09.14
16:07
Перенес, теперь по одной номенклатуре выходит куча позиций с разными себестоимостями, как поправить?

Процедура ОбработкаПроведения()
    
       би=создатьобъект("БухгалтерскиеИтоги");
  
              ВыбратьСтроки();
          Пока ПолучитьСтроку()=1 Цикл
    би.использоватьсубконто(ВидыСубконто.Номенклатура,,1);
            би.использоватьсубконто(ВидыСубконто.МестаХранения,Склад,2);
            би.выполнитьзапрос(ТекущийДокумент(),ТекущийДокумент(),"41.6");    
              би.выбратьсубконто(ВидыСубконто.Номенклатура);

        Пока би.получитьсубконто(1)=1 Цикл
        
         
           Операция.новаяпроводка();
           Операция.дебет.счет=счетпокоду("41.6");
        Операция.дебет.субконто(1,Товар);
        Операция.дебет.субконто(2,Складполучатель);
        операция.дебет.субконто(5,Фирмы);
                                              
        Операция.кредит.счет=счетпокоду("41.6");
        Операция.кредит.субконто(1,Товар);
        Операция.кредит.субконто(2,Склад);                       
        операция.кредит.субконто(5,Фирмы);
        
        Операция.количество=количество;
        Операция.сумма=?(би.СНД("К")=0,0,би.СНД("С")/би.СНД("К"))*количество;  
                      
         конеццикла; конеццикла;
         Операция.Записать();
КонецПроцедуры
7 sevensword
 
11.09.14
16:54
всем спасибо получилось
8 lavalit
 
11.09.14
16:58
би.использоватьсубконто(ВидыСубконто.Номенклатура,"****",1)
где **** = "Номенклатура" или как вариант "Товар" в зависимости от когфиги.. но чаще таки "Номенклатура"