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

Автор Тема: Получение данных табличной части справочника по наименованию через функцию  (Прочитано 1724 раз)

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

Оффлайн marshalbratsk

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-25
  • Сайт: 
  • Профессия: Ученик 1С
Уже кипит голова, нужна помощь бывалых.:dfbsdfbsdf:
Имеется справочник АвтомобилиИМеханизмы с табличной частью РасходТоплива и реквизитами этой табличной части Сезон, ОборудованиеИлиОперация и РасходТоплива.
Мне нужно сделать функцию для обработки, которая по трём переменным (Транспорт (наименование транспорта), Сезон, ОборудованиеИлиОперация) будет возвращать значение столбца РасходТоплива нужной строки

Т.е.
Функция ПолучитьДанные(Транспорт, Сезон, ОборудованиеИлиОперация)
//Тут запрос, который мне уже все мозги выел, потому что в интернетах не могу найти нормальных примеров

Возврат РасходТоплива
КонецФункции


Оффлайн marshalbratsk

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-25
  • Сайт: 
  • Профессия: Ученик 1С
Прикинул примерный запрос, а как вернуть значение РасходТоплива из запроса???:dfbsdfbsdf: И может ошибки есть?
Функция ПолучитьРасход (Транспорт, Сезон, ОборудованиеИлиОперация)

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

Запрос1.УстановитьПараметр("Транспорт",Транспорт);
Запрос1.УстановитьПараметр("Сезон",Сезон);
Запрос1.УстановитьПараметр("ОборудованиеИлиОперация",ОборудованиеИлиОперация);

//а как вернуть значение поля РасходТоплива???

КонецФункции

Добавлено: 28 Май 2016, 18:36

Есть кто живой? Очень нужна помощь, я в тупике

Есть Процедура, которая обращается к функции (ниже). Переменными для функции служит наименование транспорта из формы калькулятора и ещё два значения указал напрямую из перечислений для проверки
&НаКлиенте
Процедура Рассчитать(Команда)

Транспорт1=ЭтаФорма.Объект.Транспорт;
Сезон1=ПредопределенноеЗначение("Перечисление.Сезон.Лето");
Операция1=ПредопределенноеЗначение("Перечисление.ОборудованиеИлиОперация.Нет");
Сообщить(ПолучитьРасход(Транспорт1,Сезон1,Операция1));

КонецПроцедуры

Есть функция
Функция ПолучитьРасход (Транспорт, Сезон, ОборудованиеИлиОперация)

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

Запрос1.УстановитьПараметр("Транспорт",Транспорт);
Запрос1.УстановитьПараметр("Сезон",Сезон);
Запрос1.УстановитьПараметр("ОборудованиеИлиОперация",ОборудованиеИлиОперация);

РезультатЗапроса = Запрос1.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл

РасходТоплива = Выборка

КонецЦикла;

Возврат РасходТоплива;

КонецФункции

В итоге сообщается пустое значение, вместо указания расхода топлива

Последний раз редактировалось: marshalbratsk; 28 Май 2016, 18:36. Причина: Объединение сообщений

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Да проблем нет, просто много букв. переформулируйте в 2 - 3 строчки.
уверен там отбор не тот
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн electr

  • *
  • Сообщений: 13
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-07-14
  • Сайт: 
  • Профессия: Программист 8.1
А почему в запросе не использовать только табличную часть и из нее все достать. Проверьте при пошаговой отладке точно ли передаются значения параметров или нет ли траблов с типами данных

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
По какому объекту делаете запрос?


Отправлено с моего iPhone используя Tapatalk

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
Если я правильно понял, то вы все запрашиваете по справочнику


Отправлено с моего iPhone используя Tapatalk

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
Но в запросе нет не одного параметра, у вас их 4, первых два где нет по 2 полю оборудования, 2 других есть оборудование, и того надо поставить в запрос 2 параметра которые вы передадите
- зима
- нет оборудования

К примеру, если их спросите, запрос найдет в цикле их, соответственно и вытащит поле с расходом топлива, т.е. на форме надо сделать 2 перечисления, зима и лето, и второе перечисление нет оборудования


Отправлено с моего iPhone используя Tapatalk

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
Должна после запроса быть только одна строка,


Отправлено с моего iPhone используя Tapatalk

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
У вас на форме есть, зима и лето, и есть мото часы где вы пишите количество часов, но для запроса нужно не количество часов а параметр мото час работы двигателя
т.е.
Лето и мото час работы двигателя - эти два параметра в запро надо передать, после выберется 1 час работы, далее остается этот час умножить на количество мото часов.......


Отправлено с моего iPhone используя Tapatalk

Оффлайн TytovV

  • ***
  • Сообщений: 119
  • РЕПУТАЦИЯ: 3
  • КПД: 3%
  • Регистрация: 2014-10-28
  • Сайт: 
  • Профессия: Программист 1С
И в запросе ошибки, к примеру
РасходТоплива = Выборка , выборка чего? Должно быть
Выборка.Параметр


Отправлено с моего iPhone используя Tapatalk


Теги:
 

Перенос данных из 1с 82 БП (базовая) в 1с 82 БГУ (базовая)

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

Ответов: 4
Просмотров: 6866
Последний ответ 06 Дек 2014, 17:40
от дфтын
Поиск по бае данных,(полнотекстовый поиск)

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

Ответов: 0
Просмотров: 3626
Последний ответ 19 Май 2014, 15:40
от kot_oo
Как исправить при обновлении ИБ: Ошибка в запросе набора данных по причине: {(58, 2)}: Несовместимые типы "ВЫБОР" <<?>>ВЫБОР

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

Ответов: 1
Просмотров: 1717
Последний ответ 01 Янв 2017, 20:27
от Геннадий ОбьГЭС
"Задваивание" данных в отчете

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

Ответов: 13
Просмотров: 6389
Последний ответ 15 Окт 2015, 11:21
от Mari_beginner
Как вызвать "Анализ субконто" из справочника "Контрагенты"

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

Ответов: 1
Просмотров: 6048
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
140 Сообщений
alex0402
112 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
73 Сообщений
ilyay ilyay
51 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
43 Сообщений
wise wise
40 Сообщений
ab30ru
38 Сообщений
Амал
35 Сообщений
Dethmontt Dethmontt
25 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal