Запрос

Тема в разделе "1C и всё что с ней связано", создана пользователем Renat11111, 11 апр 2009.

  1. Renat11111

    Renat11111 Well-Known Member

    Регистрация:
    20 апр 2008
    Сообщения:
    123
    Симпатии:
    0
    Вот в этом месте ожидаемо выдает ошибку Классифиатор = Запрос.Аналитика+i; Как все таки можно сделать то что мне нужно.... тоесть присваивать нужные мне значения Запрос.Аналитика1... и т д

    Процедура ОпределитьДанныеСтрокиДока(КорСчет,Запрос, Сотрудник, Классифиатор)

    Для i=1 По КорСчет.КоличествоСубконто() Цикл
    ТекВидСубконто=КорСчет.ВидСубконто(i);
    Если ТекВидСубконто=ВидыСубконто.Сотрудники Тогда
    Сотрудник = Запрос.Аналитика+i;
    ИначеЕсли ТекВидСубконто = ВидыСубконто.ЭкономКлассифРасходов Тогда
    Классифиатор = Запрос.Аналитика+i;
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры // ОпределитьДанныеСтрокиДока


    Процедура ВыполнитьЗапрос()

    ТабЗнач = СоздатьОбъект("ТаблицаЗначений");
    запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ДатаНач по ДатаКон;
    |Обрабатывать НеПомеченныеНаУдаление;
    |РасходныйОрдерТ = Документ.РасходныйОрдерТ.ТекущийДокумент;
    |Аналитика1 = Документ.РасходныйОрдерТ.Аналитика1;
    |Аналитика2 = Документ.РасходныйОрдерТ.Аналитика2;
    |Аналитика3 = Документ.РасходныйОрдерТ.Аналитика3;
    |Сумма = Документ.РасходныйОрдерТ.Сумма;
    |Функция СуммаСумма = Сумма(Сумма);
    |Группировка Документ;
    |Группировка СтрокаДокумента;
    |";

    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;


    Запрос.Выгрузить(ТабЗнач, 0, 0);
    ТабЗнач.ВыбратьСтроку();

    Пока запрос.Группировка("Документ")=1 Цикл
    Док = запрос.Документ;
    КорСчет=Док.КорСчет;
    Сообщить(запрос.СуммаСумма);
    Пока запрос.Группировка("СтрокаДокумента")=1 Цикл
    ТекСотрудник = "";
    КлассификаторИзЗапроса = "";
    ОпределитьДанныеСтрокиДока(КорСчет,запрос, ТекСотрудник, КлассификаторИзЗапроса);
    Секц = Таб.ПолучитьСекцию("Строка|ДанныеДокумента");
    Таб.ВывестиСекцию(Секц);

    Для i=1 По СписокКлассификаторов.РазмерСписка() Цикл
    ТекКлассификатор = СписокКлассификаторов.ПолучитьЗначение(i);
    СуммаКлассификатора = 0;
    Если ТекКлассификатор = КлассификаторИзЗапроса Тогда

    СуммаКлассификатора = запрос.СуммаСумма;
    КонецЕсли;
    Таб.ПрисоединитьСекцию("Строка|СпрКлассификаторов");
    КонецЦикла;
    КонецЦикла;
    КонецЦикла;

    КонецПроцедуры // ВыполнитьЗапрос



    вопрос снят есть метод ПолучитьАтрибут .... я ступил
     
  2. kaa

    kaa Гость

    ПолучитьАтрибут
     
Загрузка...

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