Имя: Пароль:
1C
1C 7.7
v7: Как добавить в бух запрос цену из документа
0 sevensword
 
30.03.14
11:03
Сделал отчет для просмотра себестоимости, по  счету, все корректно работало, но возникла необходимость добавить колонку цена в отчете для документа реализация, попытался сделать в итоге цены цепляет, но все строчки(т.е документы) выводит неккоректно по 10 штук на документ
подскажите где ошибся?

процедура сред_себест()  
    
            
    
    тп=создатьобъект("Таблица");
    тп.исходнаятаблица("Таблица");
    
    Если выб_фирма.выбран()=0 Тогда
        сообщить("Не выбрана фирма.");
        возврат;
    КонецЕсли;
    
    Если выб_гсм.выбран()=0 Тогда
        сообщить("Не выбрана номенклатура.");
        возврат;
    КонецЕсли;
    
    Если выб_склад.выбран()=0 Тогда
        сообщить("Не выбран склад.");
        возврат;
    КонецЕсли;
    
    би=создатьобъект("БухгалтерскиеИтоги");                    
    би.использоватьсубконто(ВидыСубконто.Фирмы,выб_фирма,2);
    би.использоватьсубконто(ВидыСубконто.Номенклатура,выб_гсм,2);
    би.использоватьсубконто(ВидыСубконто.МестаХранения,выб_склад,2);
    Если пустоезначение(выб_емкость)=0 Тогда
        би.использоватьсубконто(ВидыСубконто.Емкости,выб_емкость,2);
    КонецЕсли;
    
    
    би.выполнитьзапрос(НачДата,КонДата,"41.7",,,,"Проводка");
    
    тп.вывестисекцию("шапка");
    
    _сум_д=би.СНД("С");
    _кол_д=би.СНД("К");
    _сум_к=би.СНК("С");
    _кол_к=би.СНК("К");
    
    _себ_д=?(_кол_д=0,"",_сум_д/_кол_д);
    _себ_к=?(_кол_к=0,"",_сум_к/_кол_к);
    _текст_сальдо="Начальный остаток";
    
    тп.вывестисекцию("сальдо");
    
    би.выбратьпериоды();
    Пока би.получитьпериод()=1 Цикл
        _себ_д=0;
        _себ_к=0;
        
        _сум_д=0;
        _сум_к=0;
        _кол_д=0;
        _кол_к=0;
        

        
        док=""+би.Операция.документ+", проводка № "+би.Операция.Номерпроводки();
        док_расш=би.Операция.документ;
        Если би.выбранапоДт()=1 Тогда
            _себ_д=?(би.ДО("К")=0,"*",би.ДО("С")/би.ДО("К"));
            _сум_д=би.ДО("С");
            _кол_д=би.ДО("К");
        иначеесли би.выбранапоКт()=1 Тогда
            _себ_к=?(би.КО("К")=0,"*",би.КО("С")/би.КО("К"));
            _сум_к=би.КО("С");
            _кол_к=би.КО("К");
        иначе
            _себ_д="????";
            _себ_к="????";
        КонецЕсли;
        
        _кол_кон=би.СКД("К");
        _сум_кон=би.СКД("С");
        _цена_кон=?(_кол_кон=0,0,_сум_кон/_кол_кон);
        _н=0;
конецесли;  

    таб=создатьобъект("ТаблицаЗначений");
    таб.новаяколонка("цена","число");
    таб.новаяколонка("гсм","Справочник.Номенклатура");
    док2=создатьобъект("Документ.Реализация_ГСМ_с_БазыКГ");
    
    док2.выбратьдокументы(НачДата,КонДата);
           пока док2.получитьдокумент()=1 цикл
              
        если док2.проведен()=0 тогда
            продолжить;
        конецесли;      
        док2.выбратьстроки();
        пока док2.получитьстроку()=1 цикл
                таб.новаястрока();
            таб.цена=док2.цена;
           таб_печ=создатьобъект("Таблица");
    таб_печ.исходнаятаблица("Таблица");

    
    таб.свернуть("гсм,цена","");
    таб.сортировать("гсм,цена");

        тп.вывестисекцию("строка");
//    конецесли;    
//        конецесли;
    КонецЦикла;
       КонецЦикла;
        конеццикла;    
    _сум_д=би.СКД("С");
    _кол_д=би.СКД("К");
    _сум_к=би.СКК("С");
    _кол_к=би.СКК("К");
    
    _себ_д=?(_кол_д=0,"",_сум_д/_кол_д);
    _себ_к=?(_кол_к=0,"",_сум_к/_кол_к);
    _текст_сальдо="Конечный остаток";
    
    тп.вывестисекцию("сальдо");
    
    тп.опции(0,0);
    тп.толькопросмотр(1);
    тп.показать();
    
конецпроцедуры
1 zak555
 
30.03.14
11:08
причём тут реализация и себестоимость ?
2 Chai Nic
 
30.03.14
11:13
Мистаотладчик сегодня не работает
3 sevensword
 
30.03.14
11:13
реализация,поступления,отгрузки,переливы, вот неполный перечень
вопрос не в названии документа, а в том как мне в бух запрос добавить цену из документа
4 zak555
 
30.03.14
11:15
(3) о какой цене идёт речь ?
5 ДенисЧ
 
30.03.14
11:17
что-то я не вижу при выборке из документа фильтрации по номенклатуре...
6 sevensword
 
30.03.14
11:18
(4) в доке в таюличной части поле цена, или количество или объем, да что угодно, реквезит поле из табличной части документа=)
7 Chai Nic
 
30.03.14
11:20
(3) В бухзапрос - никак. Он на то и бухзапрос, что он запрашивает бухитоги. Если надо вытащить инфу из документа - обращайся к документу, далее сливай эту информацию в таблицу значений, обрабатывай - всё в твоих руках.. Язык 1с - универсальный и функционально полный, можно делать всё.
8 sevensword
 
30.03.14
11:21
(7) так и делаю
9 Chai Nic
 
30.03.14
11:22
(8) Юзай отладчик
10 zak555
 
30.03.14
11:30
(6) в табличной части какого документа ?
11 zak555
 
30.03.14
11:31
(7) автор не знает сам, что хочет
12 sevensword
 
30.03.14
11:32
(11) посмотри на код и увидишь откуда я цену тяну,
13 sevensword
 
30.03.14
11:33
перенес ТЗ выше запроса, задваивание документ ушло
14 zak555
 
30.03.14
11:41
(12) ты мне слова скажи, что надо
15 Злой Бобр
 
30.03.14
13:05
(0) Если это твоя инициатива то одумайся. Потому что средняя себестоимость ниочем неговорит. А лишняя цифра в отчете только карму портит.
Это как бы из опыта. Но можешь конечно затариться вазелином и потом еще заполнять отпускную цену на основании своей средней себестоимости. В итоге тебе сделают очччень приятно, но валезин может смягчить.
AdBlock убивает бесплатный контент. 1Сергей