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

Автор Тема: Получение данных справочника для обработки  (Прочитано 443 раз)

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

Оффлайн marshalbratsk

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

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

СМОТРЕТЬ >>


Оффлайн LexaK

  • *****
  • Сообщений: 1076
  • РЕПУТАЦИЯ: 282
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
с такими данными, вам надо динамическиизменяемый запрос в обработке выполнять
вот пример функции которая возвращает результат запроса
&НаСервере
Функция ПолучитьДанные(прТранспорт,прСезон)
//прТранспорт - ссылка из поля Транспорт
//прСезон - "Лето" или "Зима"

лкЗапрос = Новый Запрос;
лкЗапрос.Текст = "
    |Выбрать
|   Спр.ВидТоплива,
|   Спр.ЕдИзмерения,
|   Спр.ЛинРасход100км<Сезон> как ЛинРасход100км,
|   Спр.Ковш<Сезон> как Ковш,
|   Спр.Фреза<Сезон> как Фреза,
|   Спр.Щетка<Сезон> как Щетка,
|   Спр.Гклин<Сезон> как Гклин
|
|из
|  Справочник.АвтомобилиИМеханизмы.НормыРасхода Спр
|где
|   Спр.Ссылка = &Транспорт
|
|
|";
лкЗапрос.УстановитьПараметр("Транспорт",прТранспорт);
лкЗапрос.Текст = СтрЗаменить(лкЗапрос.Текст,"<Сезон>",прСезон);

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

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


вообще структуру данных вам какой-то говнокодировщик писал
следовало бы ТЧ сделать по другому,
на первый взгляд
Поля
Расход100км,
Сезон, (можно перечисление сделать Сезоны.Лето,Сезоны.Зима)
ДопОборудование, различные комбинации доп. оборудования (справочник)
и т.д.

тогда итоговая таблица выглядела бы
РасходТопливаСезонДоп.Обор.
23ЛетоКовш
28ЗимаКовш
25ЗимаБез обор.

с такой структурой гораздо удобнее получать данные
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн marshalbratsk

  • *
  • Сообщений: 12
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-25
  • Сайт: 
  • Профессия: Ученик 1С
с такими данными, вам надо динамическиизменяемый запрос в обработке выполнять
вот пример функции которая возвращает результат запроса
&НаСервере
Функция ПолучитьДанные(прТранспорт,прСезон)
//прТранспорт - ссылка из поля Транспорт
//прСезон - "Лето" или "Зима"

лкЗапрос = Новый Запрос;
лкЗапрос.Текст = "
    |Выбрать
|   Спр.ВидТоплива,
|   Спр.ЕдИзмерения,
|   Спр.ЛинРасход100км<Сезон> как ЛинРасход100км,
|   Спр.Ковш<Сезон> как Ковш,
|   Спр.Фреза<Сезон> как Фреза,
|   Спр.Щетка<Сезон> как Щетка,
|   Спр.Гклин<Сезон> как Гклин
|
|из
|  Справочник.АвтомобилиИМеханизмы.НормыРасхода Спр
|где
|   Спр.Ссылка = &Транспорт
|
|
|";
лкЗапрос.УстановитьПараметр("Транспорт",прТранспорт);
лкЗапрос.Текст = СтрЗаменить(лкЗапрос.Текст,"<Сезон>",прСезон);

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

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


вообще структуру данных вам какой-то говнокодировщик писал
следовало бы ТЧ сделать по другому,
на первый взгляд
Поля
Расход100км,
Сезон, (можно перечисление сделать Сезоны.Лето,Сезоны.Зима)
ДопОборудование, различные комбинации доп. оборудования (справочник)
и т.д.

тогда итоговая таблица выглядела бы
РасходТопливаСезонДоп.Обор.
23ЛетоКовш
28ЗимаКовш
25ЗимаБез обор.

с такой структурой гораздо удобнее получать данные

Огромное спасибо за подсказку с новой структурой данных (всё поменял, теперь намного чище стало и приятнее), благо я ту часть даже не стал заполнять ибо мне (говнокодеру) не казалась та структура чем то здоровым. Душевное спасибо. Но вопрос обращения к данным тогда не уходит, а меняется. Как тогда к таким данным обратиться будет лучше?

Оффлайн LexaK

  • *****
  • Сообщений: 1076
  • РЕПУТАЦИЯ: 282
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
а зачем оборудование и операцию в одну кучу свалили?
разнесите!

операции сделайте такие

РасходНа100км,
Моточас,
ОперацияТакаято,
ОперацияДругая,
и т.д.

а в запросе уже конкретно передаете в параметрах те значения по которым хотите получить данные
например в условии запроса
...
где
  Спр.Сезон = &Сезон
и Спр.Оборудование = &Оборудование

к сведению, набор условий тоже можно формировать динамически с таким же приемом СтрЗаменить()
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн marshalbratsk

  • *
  • Сообщений: 12
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-25
  • Сайт: 
  • Профессия: Ученик 1С
а зачем оборудование и операцию в одну кучу свалили?
разнесите!

операции сделайте такие

РасходНа100км,
Моточас,
ОперацияТакаято,
ОперацияДругая,
и т.д.

а в запросе уже конкретно передаете в параметрах те значения по которым хотите получить данные
например в условии запроса
...
где
  Спр.Сезон = &Сезон
и Спр.Оборудование = &Оборудование

к сведению, набор условий тоже можно формировать динамически с таким же приемом СтрЗаменить()

Извините меня за наглость, но можете написать код функции, которая будет возвращать значение столбца "Расход"? А то я не совсем понимаю как написать запрос и значение как вернуть.
Нормально же будет, если в калькуляторе будет выглядеть как:
Условие (в нём выбор оборудования и т.п.)
Переменная=Функция
....
Расход=Переменная+Переменная и т.п.?


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
152 Сообщений
alex0402
73 Сообщений
alexandr_ll
37 Сообщений
LexaK
29 Сообщений
crow1983
27 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
sertak sertak
23 Сообщений
дфтын дфтын
17 Сообщений
BuhRust
15 Сообщений
Vzonder
15 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal