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

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

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

Оффлайн Lereli

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

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

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

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

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

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


Оффлайн Dethmontt

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

Оффлайн Lereli

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

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

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

Оффлайн Dethmontt

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

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

Оффлайн Lereli

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

Оффлайн Dethmontt

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

Оффлайн Lereli

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

Оффлайн Dethmontt

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

Оффлайн Lereli

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

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

Оффлайн Dethmontt

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

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


Теги:
 

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

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

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

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

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

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

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

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

Ответов: 0
Просмотров: 927
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
После "Выборка = Запрос.Выполнить().Выбрать()" строка в выборке автоматически переключается сама

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

Ответов: 2
Просмотров: 210
Последний ответ 30 Мар 2018, 05:05
от Luzer1C

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
162 Сообщений
alex0402
76 Сообщений
oleg-x
68 Сообщений
AIFrame AIFrame
61 Сообщений
buketov.av buketov.av
44 Сообщений
wise wise
39 Сообщений
KOI8-R
35 Сообщений
ilyay ilyay
29 Сообщений
Анюта17
29 Сообщений
Alter
29 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal