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

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

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

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


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

Оффлайн TytovV

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


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

Оффлайн TytovV

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

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


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

Оффлайн TytovV

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


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

Оффлайн TytovV

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


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

Оффлайн TytovV

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


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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
174 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
84 Сообщений
alex0402
82 Сообщений
AsadRoman
36 Сообщений
Kironten
34 Сообщений
Golickoff Golickoff
31 Сообщений
ilyay ilyay
30 Сообщений
AIFrame
27 Сообщений
BuhRust
26 Сообщений
Варвар
20 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal