Имя: Пароль:
1C
1С v8
Ошибка при вызове метода контекста
,
0 Ленулькин
 
29.08.13
12:42
внешняя обработка:

Процедура ПриОткрытии()
ДатаНач = НачалоДня(ТекущаяДата());
ДатаКон = КонецДня(ТекущаяДата());

ДатаВетСв = ТекущаяДата();
КонецПроцедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
  |РеализацияТоваровУслуг.Ссылка
  |ИЗ
  | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
     |
  |  ГДЕ
  | РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
  | И РеализацияТоваровУслуг.Экспедитор В ИЕРАРХИИ(&Экспедитор)
  | И ((РеализацияТоваровУслуг.Сделка.ВетСправка = &Истина) ИЛИ (РеализацияТоваровУслуг.Контрагент.ГоловнойКонтрагент В(&СписокКонтр)))
  | И ((РеализацияТоваровУслуг.Контрагент.ТочкаДляВетСправки = (&ПустаяТочкаДляВетСправки))
  |
  |СГРУППИРОВАТЬ ПО
  | РеализацияТоваровУслуг.Ссылка
  |
  |УПОРЯДОЧИТЬ ПО
  | РеализацияТоваровУслуг.Дата";
Запрос.УстановитьПараметр("ПустаяТочкаДляВетСправки", Справочники.Контрагенты.ПустаяСсылка());
Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
Запрос.УстановитьПараметр("Экспедитор", Экспедитор);
Запрос.УстановитьПараметр("Истина", Истина);
Запрос.УстановитьПараметр("СписокКонтр", Справочники.Контрагенты);
СписокКонтр = Новый СписокЗначений;
//1
СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02254"));
//2
СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02202"));
//3
СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02069"));
//4
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01631"));
//5
СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01553"));
//6
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01614"));

Запрос.УстановитьПараметр("СписокКонтр", СписокКонтр);
Результат = Запрос.Выполнить();
ВыборкаДетали = Результат.Выбрать();
ТЗ.Очистить();

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

Процедура ТЗ(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТекСтрока = ЭлементыФормы.ТЗ.ТекущаяСтрока;
Если ТекСтрока <> Неопределено Тогда
  ФормаЭлемента = ТекСтрока.Документ.Ссылка.ПолучитьФорму();
  ФормаЭлемента.ОткрытьМодально();
КонецЕсли;
КонецПроцедуры

//Если ПустаяСтрока(ПолеВвода) Тогда
// Предупреждение("Нет слова для поиска");
// Возврат;
//КонецЕсли;
//Запрос = Новый Запрос;
//Запрос.Текст =
//"ВЫБРАТЬ
//|РеализацияТоваровУслуг.Ссылка
//|ИЗ
//| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    //|
//|  ГДЕ
//| РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач И &ДатаКон
//| И РеализацияТоваровУслуг.Экспедитор В ИЕРАРХИИ(&Экспедитор)
//| И ((РеализацияТоваровУслуг.Сделка.ВетСправка = &Истина) ИЛИ (РеализацияТоваровУслуг.Контрагент.ГоловнойКонтрагент В(&СписокКонтр)))
//| И ((РеализацияТоваровУслуг.Контрагент.ТочкаДляВетСправки = (&ПустаяТочкаДляВетСправки))
//|
// |СГРУППИРОВАТЬ ПО
// | РеализацияТоваровУслуг.Ссылка
//|
//|УПОРЯДОЧИТЬ ПО
//| РеализацияТоваровУслуг.Дата";
    //
//Запрос.УстановитьПараметр("ПустаяТочкаДляВетСправки", Справочники.Контрагенты.ПустаяСсылка());
//Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
//Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
//Запрос.УстановитьПараметр("Экспедитор", Экспедитор);
//Запрос.УстановитьПараметр("Истина", Истина);
//Запрос.УстановитьПараметр(""СписокКонтр"", Справочники.Контрагенты.НайтиПоКоду("63764"));
    //
//СписокКонтр = Новый СписокЗначений;
////1
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02254"));
////2
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02202"));
//3
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("02069"));
//4
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01631"));
//5
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01553"));
//6
//СписокКонтр.Добавить(Справочники.Контрагенты.НайтиПоКоду("01614"));
//
//Запрос.УстановитьПараметр("СписокКонтрагент", СписокКонтр);
//Результат = Запрос.Выполнить();
//
//ВыборкаДетали = Результат.Выбрать();
     //
//ТЗ.Очистить();
//
//Пока ВыборкаДетали.Следующий() Цикл
// НоваяСтрока = ТЗ.Добавить();
// НоваяСтрока.Документ = ВыборкаДетали.Ссылка;
// НоваяСтрока.КонтрАгент = ВыборкаДетали.Ссылка.Контрагент;
// НоваяСтрока.Адрес = ВыборкаДетали.Ссылка.АдресДоставки;
// НоваяСтрока.Организация = ВыборкаДетали.Ссылка.Организация;
// НоваяСтрока.Сумма = ВыборкаДетали.Ссылка.СуммаДокумента;
//КонецЦикла;
    //
//КонецПроцедуры


Почему выдает такую ошибку?

{Форма.Форма(52)}: Ошибка при вызове метода контекста (Выполнить): {(12, 1)}: Ожидается выражение ")"
<<?>>СГРУППИРОВАТЬ ПО
Результат = Запрос.Выполнить();
1 zbv
 
29.08.13
12:44
(0) ну закрывающейся скобки не хватает.
2 Maxus43
 
29.08.13
12:44
| И ((РеализацияТоваровУслуг.Контрагент.ТочкаДляВетСправки = (&ПустаяТочкаДляВетСправки)))

Конструктором делай, что за туча скобок ненужных?
3 Ленулькин
 
29.08.13
12:51
Делала конструктором
4 Maxus43
 
29.08.13
12:51
(3) зачем врать то?) конструктор не даст ошибок, в конструкторе не надо руками ставить скобки
5 Maxus43
 
29.08.13
12:53
| И (РеализацияТоваровУслуг.Сделка.ВетСправка = &Истина ИЛИ РеализацияТоваровУслуг.Контрагент.ГоловнойКонтрагент В(&СписокКонтр))
  | И РеализацияТоваровУслуг.Контрагент.ТочкаДляВетСправки = &ПустаяТочкаДляВетСправки

Вот так сделает конструктор
6 Ленулькин
 
29.08.13
12:58
Никто не врет(, я действительно первую чать делала конструктором! только он мне там запятые везде выдал!(((
7 Maxus43
 
29.08.13
12:59
не знаю, у меня делает как в (5), видимо у вас другой конструктор
8 Ленулькин
 
29.08.13
12:59
{Форма.Форма(58)}: Поле объекта не обнаружено (Документ)
        НоваяСтрока.Документ = ВыборкаДетали.Ссылка.Документ;


Интересно! Я везде "Документ" назначида тип Документ.Ссылка.РеализацияТОваровУслуг, а почему он не видит?
9 Maxus43
 
29.08.13
13:00
НоваяСтрока.Документ = ВыборкаДетали.Ссылка;
10 Ленулькин
 
29.08.13
13:03
Все равно не видит
11 Maxus43
 
29.08.13
13:03
Отладчиком смотри, есть ли в ТЗ там столбец Документ
12 Ленулькин
 
29.08.13
13:07
Все с "Документы", я оказывается реквизит тип назначила ДокументСПИСОКреализацииуслуг, а нужно ссылка)
13 Ленулькин
 
29.08.13
13:12
А как привязать номер, почему у меня номера строк не выводятся?
14 Ёпрст
 
29.08.13
13:22
Ленулька, не пиши так никогда
>>> НоваяСтрока.КонтрАгент = ВыборкаДетали.Ссылка.Контрагент;
15 Ленулькин
 
29.08.13
13:24
а что не правильного? как нужно писать?
16 Maxus43
 
29.08.13
13:31
(15) в Запросе сразу вытащи нужные поля, зачем напрягать 1с каждый раз и гонять её за данными снова и снова
17 Maxus43
 
29.08.13
13:32
Откуда у ТЗ номер строки возьмётся? Самой рисовать придётся такую колонку и заполнять её
18 Ленулькин
 
29.08.13
13:55
Скажите у меня что то не дописано для даты почему только 00:00 доки выводит?


Процедура ПриОткрытии()
    ДатаНач = НачалоДня(ТекущаяДата());
    ДатаКон = КонецДня(ТекущаяДата());
    
    ДатаВетСв = ТекущаяДата();
КонецПроцедуры


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

    Запрос.УстановитьПараметр("ПустаяТочкаДляВетСправки", Справочники.Контрагенты.ПустаяСсылка());
    Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
    Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
    Запрос.УстановитьПараметр("Экспедитор", Экспедитор);
    Запрос.УстановитьПараметр("Истина", Истина);

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

КонецПроцедуры
19 Wobland
 
29.08.13
13:56
а ничо так. выбираются все разные ссылки, а потом группируются  зачем-то
20 Wobland
 
29.08.13
13:58
всё-таки &истину убери из запроса. и научись запрос не просто выполнять и выбирать, а выгружать в ТЗ
Независимо от того, куда вы едете — это в гору и против ветра!