Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.04.2018, 12:08
Xvir43 Xvir43 вне форума
Прохожий
 
Регистрация: 30.11.2016
Сообщения: 5
Версия Delphi: xe10
Репутация: 10
По умолчанию 1с выполнение запроса

Пожалуйста помогите, мне нужно выполнить запрос и получить результат, делаю так :
Код:
Var
   doc:olevariant;
   QResult:olevariant;
   sel_res,res: variant;
begin

  //Проверяем, существует ли соединение с 1Cv8
  if YesLinkToVariant(s1C8_ole) then
     begin

     doc:=s1C8_ole.NewObject('Запрос');
      doc.text:='ВЫБРАТЬ ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, ПРЕДСТАВЛЕНИЕ(ЗаказПокупателяТовары.Номенклатура), ЗаказПокупателяТовары.Количество КАК Количество ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары'+
       ' ГДЕ ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки >= &НачалоПериода И ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки <= &КонецПериода И ЗаказПокупателяТовары.Ссылка.ПометкаУдаления = &ПометкаУдаления; ';
       doc.УстановитьПараметр('НачалоПериода',StrToDate('28.03.2018'));
        doc.УстановитьПараметр('КонецПериода',StrToDate('30.03.2018'));
        doc.УстановитьПараметр('ПометкаУдаления','ложь');

       sel_res :=doc.Выполнить();
       res:=sel_res.Выбрать();

        try
       while res.Следующий() do
    begin
       Memo1.Lines.Add( String(res.Номенклатура));
      // (sel_res.Количество);


    end;

        except
          on E: Exception do ShowMessage('Ошибка:  while Choose.Next() do:'+E.ClassName+':'+E.Message);
        end;
  end
  else begin
     ShowMessage('Сначала нужно установить соединение с 1Cv8 !');
  end;
end;
Все выполняется без ошибок, но цикл пропускает как будто там не чего нет.

вот полный код из конфигуратора где все нормально работает:
Код:
Процедура Отчет(ТабДок, КонецПериода, НачалоПериода, ПометкаУдаления) Экспорт
	//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Отчет)
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

	Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЗаказПокупателяВозвраты.Номенклатура КАК Номенклатура,
	|	ПРЕДСТАВЛЕНИЕ(ЗаказПокупателяВозвраты.Номенклатура),
	|	ЗаказПокупателяВозвраты.Количество КАК Количество
	|ИЗ
	|	Документ.ЗаказПокупателя.Возвраты КАК ЗаказПокупателяВозвраты
	|ГДЕ
	|	ЗаказПокупателяВозвраты.Ссылка.ПометкаУдаления = &ПометкаУдаления
	|	И ЗаказПокупателяВозвраты.Ссылка.ВозвратНаличными = &ВозвратНаличными
	|	И ЗаказПокупателяВозвраты.Ссылка.ДатаОтгрузки >= &НачалоПериода
	|	И ЗаказПокупателяВозвраты.Ссылка.ДатаОтгрузки <= &КонецПериода";

	Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
	Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
	Запрос.УстановитьПараметр("ПометкаУдаления", ложь);
	Запрос.УстановитьПараметр("ВозвратНаличными", ложь);

	ИтоговаяТаблица = Запрос.Выполнить().Выгрузить();

	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
	|	ПРЕДСТАВЛЕНИЕ(ЗаказПокупателяТовары.Номенклатура),
	|	ЗаказПокупателяТовары.Количество КАК Количество
	|ИЗ
	|	Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
	|ГДЕ
	|	 ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки >= &НачалоПериода
	|	И ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки <= &КонецПериода
	|	И ЗаказПокупателяТовары.Ссылка.ПометкаУдаления = &ПометкаУдаления";

	Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
	Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
	Запрос.УстановитьПараметр("ПометкаУдаления", ложь);


	Результат=Запрос.Выполнить().Выбрать();
	Пока Результат.Следующий() Цикл
		НоваяСтрока=ИтоговаяТаблица.Добавить();
		НоваяСтрока.Номенклатура=Результат.Номенклатура;
		НоваяСтрока.Количество=Результат.Количество;
		
	КонецЦикла;
Помогите, что не так?
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter