Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 07:45
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как правильно написать запрос.  (Прочитано 5334 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lereli

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-15
  • Сайт: 
  • Профессия: Ученик 1С
Есть документ - ОтчетыОбъемовОказУслугЗаПрошлыеГода, а так же документ - ПрогнозОбъемовОказываемыхУслуг.

В ТЧ документа Прогноз.. вводятся значения реквизитов НаименованиеОбъемовУслугПоРемонтуОборудования (из справочника работ) и Год. Основываясь на эти введенные значения надо найти значение объема, которое хранится в Отчетах.

На данный момент выглядит это так:
&НаКлиенте
Процедура Клиент(Элемент)

ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудованияЗаПервыйГодПриИзменении (Элемент);

КонецПроцедуры
&НаСервере
Процедура ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудованияЗаПервыйГодПриИзменении(Элемент)

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|Данные.Всего
|ИЗ
|Документы.ОтчетыОбъемовОказУслугЗаПрошлыеГода.ОтчетОбъемаПоРемонту КАК Данные
|ГДЕ
| Данные.Ссылка.Год = &Год
| И Данные.НаименованиеРабот = &НаименованиеОбъемовУслугПоРемонтуОборудования";
Запрос.УстановитьПараметр("Год",ТекущийЭлемент.Год);
Запрос.УстановитьПараметр("ВидРабот",ТекущийЭлемент.НаименованиеРабот);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать(); 
 
Пока Выборка.Следующий() Цикл
     Сообщить("Выборка прошла успешно:" + Выборка.Всего);
     Элементы.ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудования.Объем = Выборка.Всего;
КонецЦикла;
КонецПроцедуры
Выходит ошибка:
{Документ.ПрогнозОбъемовОказываемыхУслуг.Форма.ФормаДокумента.Форма(4)}: Ошибка при вызове метода контекста (ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудованияЗаПервыйГодПриИзменении)
ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудованияЗаПервыйГодПриИзменении (Элемент);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'
Какой должен быть тип и где его задать? В обращении к процедуре на клиенте?


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
А зачем вы элемент формы с клиента на сервер передаете???
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Lereli

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-15
  • Сайт: 
  • Профессия: Ученик 1С
Потому что не знаю, что именно там надо написать) Об этом я и спрашивала, собственно.
Добавлено: 15 Янв 2013, 20:54

По идее надо передать значения наименования и года...

Последний раз редактировалось: Lereli; 15 Янв 2013, 20:54

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудованияЗаПервыйГодПриИзменении(); //Ничего передавать не нужно в контексте формы на сервере доступен сам объект

Запрос.УстановитьПараметр("Год",Объект.Год);//ГОД - реквизит объекта
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Lereli

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-15
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо, предыдущая ошибка ушла, но теперь появилась ошибка:
{Документ.ПрогнозОбъемовОказываемыхУслуг.Форма.ФормаДокумента.Форма(19)}: Поле объекта не обнаружено (Год)
Запрос.УстановитьПараметр("Год",Объект.Год);
Пробовала там сделать Объект.НазваниеТЧ.Год, но без результатов.

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Ну нету у вашего Объекта поля ГОД
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Lereli

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-15
  • Сайт: 
  • Профессия: Ученик 1С
А там какой объект учитывается? Формы или документа?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Формы
Контекст формы в которой вы пишите
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Lereli

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-01-15
  • Сайт: 
  • Профессия: Ученик 1С
Тогда совсем не пойму что он хочет...

Пишу:
Запрос.УстановитьПараметр("Год",Объект.ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудования.Год);
Получаю:
{Документ.ПрогнозОбъемовОказываемыхУслуг.Форма.ФормаДокумента.Форма(19)}: Поле объекта не обнаружено (Год)
Запрос.УстановитьПараметр("Год",Объект.ПрогнозОбъемовОказываемыхУслугПоРемонтуОборудования.Год);

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Это табличная часть????

Для обращению к строкам табличной части вы должны сначала с позиционироваться на конкретной строке ТЧ
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9358
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

Автор БерезинРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2998
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 985
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

Автор DenielAkreedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 687
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

Автор bolobolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 16544
Последний ответ 02 Сен 2011, 01:14
от bolobol

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
176 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
AIFrame
41 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 339
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal