Имя: Пароль:
1C
1С v8
Получение первой записи таблицы значения
,
0 spiller26
 
08.10.12
10:17
Необходимо получить ОрганизациюДС (ПерваяОрганизация) с первой записи.

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

   ТЗДеньги = ЗапросДенег.Выполнить().Выбрать();
   ПерваяОрганизация = ТЗДеньги[0].ОрганизацияДС; //?
   Пока ТЗДеньги.Следующий() Цикл
          //
       КонецЦикла;

Помогите плиз!
1 YF
 
08.10.12
10:18
ТЗДеньги.Следующий() - после выполнения метода выбрать позиционирует на перврй записи выборки, поэтому:

ТЗДеньги.Следующий()
ОрганизацияНужная_
2 YF
 
08.10.12
10:18
ОрганизацияНужная_ = ТЗДеньги.ОрганизацияДС
3 Maxus43
 
08.10.12
10:19
ТЗДеньги = ЗапросДенег.Выполнить().Выбрать();
//   ПерваяОрганизация = ТЗДеньги[0].ОрганизацияДС; //?

   Пока ТЗДеньги.Следующий() Цикл
          //
ПерваяОрг = ТЗДеньги.ОрганизацияДС;
Прервать;
       КонецЦикла;
4 Cube
 
08.10.12
10:19
Если ТЗДеньги.Следующий() Тогда
   ПерваяОрганизация = ТЗДеньги[0].ОрганизацияДС;
КонецЕсли;
5 1Страх
 
08.10.12
10:20
ТЗДеньги = ЗапросДенег.Выполнить().Выбрать();

это не ТЗ, это Выборка
6 ДенисЧ
 
08.10.12
10:20
ТЗДеньги = ЗапросДенег.Выполнить().Выбрать();
Если тзДеньги.Количество()>0 Тогда
 ПерваяОрганизация = ТЗДеньги[0].ОрганизацияДС; //
КОНецЕсли
7 1Страх
 
08.10.12
10:20
(4) нельзя так с выборкой
8 ДенисЧ
 
08.10.12
10:20
блин...
ТЗДеньги = ЗапросДенег.Выполнить().Выгрузить();
9 Cube
 
08.10.12
10:21
(6) И ты ошибся так же как и я)))
10 zladenuw
 
08.10.12
10:21
(0) может сразу в запросе получить 1 значение. и условие если выборка.следущий
11 Cube
 
08.10.12
10:21
Если ТЗДеньги.Следующий() Тогда
   ПерваяОрганизация = ТЗДеньги.ОрганизацияДС;
КонецЕсли;
12 IVT_2009
 
08.10.12
10:22
рез = запрос.выполнить().выгрузить();
если рез.количество()>0 тогда
 чтоТо = рез[0].полеЧтоНамИнтересно;
конецЕсли;
13 Maxus43
 
08.10.12
10:22
конкурс на самый красивый
14 Maxus43
 
08.10.12
10:22
(13)+ код?
15 spiller26
 
08.10.12
10:25
(3) Проверено.
(12) Тоже подойдет, буду иметь ввиду.
Спасибо всем!
16 zladenuw
 
08.10.12
10:26
"ВЫБРАТЬ ПЕРВЫЕ 1
 |    ДС.Организация КАК ОрганизацияДС,
   |    ДС.БанковскийСчетКасса КАК БанкКассаДС,
   |    СУММА(ДС.СуммаКонечныйОстаток) КАК СуммаДС,
   |    СУММА(ДДС.Сумма) КАК СуммаДДС
   |ИЗ
   |    РегистрНакопления.ДенежныеСредства.ОстаткиИОбороты(&НачалоПериода, &НачалоПериода, Период, , ) КАК ДС
   |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   |            ДвиженияДенежныхСредствОбороты.Организация КАК Организация,
   |            ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса КАК БанковскийСчетКасса,
   |            ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
   |            ДвиженияДенежныхСредствОбороты.СуммаОборот КАК Сумма
   |        ИЗ
   |            РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК ДвиженияДенежныхСредствОбороты
   |        ГДЕ
   |            ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств = &СтатьяДДС) КАК ДДС
   |        ПО ДС.Организация = ДДС.Организация
   |            И ДС.БанковскийСчетКасса = ДДС.БанковскийСчетКасса
   |
   |СГРУППИРОВАТЬ ПО
   |    ДДС.Организация,
   |    ДДС.БанковскийСчетКасса,
   |    ДС.Организация,
   |    ДС.БанковскийСчетКасса");

Выборка = Запрос.Выполнить.Выбрать()

Если Выборка.Следующий() Тогда
МояОрг = Выборка.ОрганизацияДС
Конецесли;
17 Kreont
 
08.10.12
10:28
+(10) 100% будет красиво, а всего то "ВЫБРАТЬ ПЕРВЫЕ 1" надо в запрос
18 zladenuw
 
08.10.12
10:29
(17) лентяи !
19 spiller26
 
08.10.12
10:32
(16) Мне то 2 раза запрос не охото запускать, т.к. мне с данными нцжно еще работать
   ТЗДеньги = ЗапросДенег.Выполнить().Выбрать();
   ПерваяОрганизация = "";
       //
   Пока ТЗДеньги.Следующий() Цикл
       ПерваяОрганизация = ТЗДеньги.ОрганизацияДС;
       Прервать;
   КонецЦикла;    
       //
       Пока ТЗДеньги.Следующий() Цикл
               //вывод в макет с проверками и итогами
   КонецЦикла;
20 Cube
 
08.10.12
10:37
(19) Не правильно. Делай так:

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

ТЗДеньги.Сбросить();
Пока ТЗДеньги.Следующий() Цикл
   //вывод в макет с проверками и итогами
КонецЦикла;