7.7 Запрос

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем Arfey, 18 авг 2008.

  1. TopicStarter Overlay
    Arfey
    Offline

    Arfey

    Регистрация:
    31 июл 2008
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Доброе время суток. Есть такое задание Нада через запрос сопоставить 2 колонки в одной будут номенклатура ТМЦ а в другом суммы по всем документам ... в которых ТМЦ поступает:

    Код следующий:
    Код:
    Процедура Сформировать()
    
    Запрос = СоздатьОбъект("Запрос");
    Отбор = " 
    |Список = Справочник.ТМЦ.ВидТМЦ;
    |Сумма = Документ.ПоступлениеТМЦ.Сумма; 
    |Функция ПоСумме = Счётчик(Сумма);
    |"; 
    Запрос.Выполнить(Отбор);
    Таб.Очистить();
    Таб.НоваяКолонка("Прв","Строка",,,"Наименование",);	
    Таб.НоваяКолонка("Втр","Число",,,"Сумма",);
    Пока Запрос.Список = 1 Цикл
    Таб.НоваяСтрока(); 
    Таб.Прв = Запрос.Список;
    Таб.Втр = Запрос.ПоСумме;
    КонецЦикла;
    Форма.Таб.Доступность(0); 
    КонецПроцедуры
    
    Он не работает - помогите .... Есть догадки что чтото неправильно записано в Отборе ... незнаю пока :smile: :unsure:
  2. Kaboom
    Offline

    Kaboom Опытный в 1С

    Регистрация:
    2 июл 2007
    Сообщения:
    158
    Симпатии:
    0
    Баллы:
    26
    Что-то такое:
    Код:
    Процедура Сформировать()
    
    Запрос = СоздатьОбъект("Запрос");
    Отбор = " 
    |ТМЦ = Документ.ПоступлениеТМЦ.ТМЦ;
    |СуммаСтрока = Документ.ПоступлениеТМЦ.Сумма; 
    |Функция СуммаДок= Сумма(СуммаСтрока);
    |Группировка ТМЦ Без Групп; 
    |"; 
    Запрос.Выполнить(Отбор);
    Таб.Очистить();
    Таб.НоваяКолонка("Прв","Строка",,,"Наименование",);	
    Таб.НоваяКолонка("Втр","Число",,,"Сумма",);
    Пока Запрос.Группировка(1)= 1 Цикл
    Таб.НоваяСтрока(); 
    Таб.Прв = Запрос.ТМЦ.Наименование;
    Таб.Втр = Запрос.СуммаДок;
    КонецЦикла;
    Форма.Таб.Доступность(0); 
    КонецПроцедуры
    
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    :) дааа... что-то нерпавильно.

    Попробуй пользоваться мастером составления запроса, он сделает правильно, получишь пример, и будет у кого поучиться :) удачи
  4. TopicStarter Overlay
    Arfey
    Offline

    Arfey

    Регистрация:
    31 июл 2008
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Да так и зделал :unsure:
  5. TopicStarter Overlay
    Arfey
    Offline

    Arfey

    Регистрация:
    31 июл 2008
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Это типа то только для 1 документа:

    Код:
    Процедура Сформировать()
    Перем Запрос, ТекстЗапроса;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ТекущийДокумент = Документ.ПоступлениеТМЦ.ТекущийДокумент;
    |Сумма = Документ.ПоступлениеТМЦ.Сумма;
    |Партии = Документ.ПоступлениеТМЦ.Партии;
    |Группировка Партии;
    |Группировка СтрокаДокумента;
    |";             
    
    Запрос.Выполнить(ТекстЗапроса);
    Таб.Очистить();
    Таб.НоваяКолонка("Прв",,,,"Наименование",);	
    Таб.НоваяКолонка("Втр","Число",,,"Сумма",);
    Пока Запрос.Группировка(1) = 1 Цикл
    // Заполнение полей Партии
    Пока Запрос.Группировка(2) = 1 Цикл
    // Заполнение полей СтрокаДокумента  
    Таб.НоваяСтрока(); 
    Таб.Прв = Запрос.Партии;
    Таб.Втр = Запрос.Сумма;
    Форма.Таб.Доступность(0); 
    
    Сообщить(" Наименование ТМЦ " + Строка(Запрос.Партии) + 
    
    " Сумма по ТМЦ " + Строка(Запрос.Сумма) + " грн.");   
    
    КонецЦикла;
    КонецЦикла;    
    
    // Вывод заполненной формы
    
    КонецПроцедуры
    
    ИСПОЛЬЗУЕМ ТЭГ
    Код:
    
    
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Ну вот, так куда красивее (и правилнее)

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