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

Автор Тема: Определение справочника в запросе  (Прочитано 2854 раз)

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

Оффлайн mahaidor

  • **
  • Сообщений: 68
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-06
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Платформа 8.3.4.437.  Пытаюсь извлечь из справочника значение и записать его в поел табличной части документа. Если определить справочник в запросе напрямую, то все будет работать без проблем, но дело в том функция, которая содержит запрос должна вызываться неоднократно для разных объектов, поэтому я пытаюсь передать параметр Спр в запрос. Когда я вызываю функцию, я могу передать ей параметр Справочники.Таблица_Рост или Справочники.Таблица_Вес. Так вот чего сообразит не могу как правильно обозначить подобный параметр запроса.
 "ВЫБРАТЬ
     
| Спр.Р_1,Спр.Р_2,
| Спр.Р_3, Спр.Р_4,
| Спр.Р_5, Спр.Р_6
| ИЗ Спр
| ГДЕ Спр.Возраст=&Возраст и Спр.Пол=&Пол";
Запрос.УстановитьПараметр("Спр",Спр);
Запрос.УстановитьПараметр("Возраст",Возраст);
Запрос.УстановитьПараметр("Пол",Пол);


Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Вы такое можете сделать если у нас названия полей справочников одинаковые...
Тазовод)

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
что то вроде
                  |   ЗаказПокупателя.Номенклатура,
                  |   " + СтрокаВыборкиПоляСодержания + " КАК Товар,
                  |   ЗаказПокупателя.Номенклатура.Код,
                  |   ЗаказПокупателя.Номенклатура.Артикул,
                  |   ЗаказПокупателя.Количество,
где
СтрокаВыборкиПоляСодержания - можно задать в процедуре
Тазовод)

Оффлайн mahaidor

  • **
  • Сообщений: 68
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-06
  • Сайт: 
  • Профессия: Ученик 1С
Вы такое можете сделать если у нас названия полей справочников одинаковые...
Да абсолютно верно, поля справочников у меня одинаковые. У меня несколько одинаковых по составу справочников, но с разным содержанием, и для каждого писать запрос - неоптимально. Проще написать одну функцию и вызывать её когда надо.
Добавлено: 17 Апр 2014, 02:57

что то вроде
                  |   ЗаказПокупателя.Номенклатура,
                  |   " + СтрокаВыборкиПоляСодержания + " КАК Товар,
                  |   ЗаказПокупателя.Номенклатура.Код,
                  |   ЗаказПокупателя.Номенклатура.Артикул,
                  |   ЗаказПокупателя.Количество,
где
СтрокаВыборкиПоляСодержания - можно задать в процедуре
непонятный код. В нем так я понял выборка идет из ЗаказПокупателя, но СТрокаВыборкиПоляСОдержания как-то не к месту здесь?

Последний раз редактировалось: mahaidor; 17 Апр 2014, 02:57. Причина: Объединение сообщений

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Это был пример! СТрокаВыборкиПоляСОдержания - эта какая либо переменная.
Процедура Выполнить()
ПолучитьДанные("Номенклатура");
КонецПроцедуры

Процедура ПолучитьДанные(СправочникНаименование)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| "+СправочникНаименование+".Код,
| "+СправочникНаименование+".Наименование
|ИЗ
| Справочник."+СправочникНаименование+" КАК Номенклатура";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//все действия
КонецЦикла;
КонецПроцедуры
Тазовод)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Текст запроса это строка, которую вы можете собирать как угодно.
По возможности посмотрите в типовых решениях.
Строите начальный запрос конструктором и потом правите примерно как в предыдущем посте у Светланы.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн KrivosheevEV

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 35
  • КПД: 17%
  • Регистрация: 2014-01-20
  • Сайт: 
  • Профессия: Программист 1С
и для каждого писать запрос - неоптимально.

Не оптимально? А вы пробовали потом исправлять, оптимизировать или дорабатывать подобный код? Отвратительное занятие. Препарированные запросы - гадость!
Я бы реализовал через получение текста запроса двумя разными функциями (в зависимости от нужного справочника).

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
и для каждого писать запрос - неоптимально.

Не оптимально? А вы пробовали потом исправлять, оптимизировать или дорабатывать подобный код? Отвратительное занятие. Препарированные запросы - гадость!
Я бы реализовал через получение текста запроса двумя разными функциями (в зависимости от нужного справочника).

В целом - поддерживаю. Отлаживать текст запроса из кусочков - те еще танцы с бубном и консолью запросов )
Но в любом случае надо смотреть на конкретную задачу - что именно лучше.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн mahaidor

  • **
  • Сообщений: 68
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-06
  • Сайт: 
  • Профессия: Ученик 1С
и для каждого писать запрос - неоптимально.

Не оптимально? А вы пробовали потом исправлять, оптимизировать или дорабатывать подобный код? Отвратительное занятие. Препарированные запросы - гадость!
Я бы реализовал через получение текста запроса двумя разными функциями (в зависимости от нужного справочника).

В целом - поддерживаю. Отлаживать текст запроса из кусочков - те еще танцы с бубном и консолью запросов )
Но в любом случае надо смотреть на конкретную задачу - что именно лучше.
Да использовал пример Светланы не работает, в общем решил я для каждого справочника по функции сварганить, хот и претит мне так делать, но времени нет диплом пишу. После диплома подумаю ка реализовать одну функцию для справочников. Всем спасибо.

Оффлайн СветланаCC

  • Модератор
  • *****
  • Сообщений: 295
  • РЕПУТАЦИЯ: 46
  • КПД: 16%
  • Я человек творческий, что хочу - то и творю))
  • Регистрация: 2010-11-03
  • Сайт: 
  • Профессия: Программист 1С
Да использовал пример Светланы не работает, в общем решил я для каждого справочника по функции сварганить, хот и претит мне так делать, но времени нет диплом пишу. После диплома подумаю ка реализовать одну функцию для справочников. Всем спасибо.
У меня все работает) проверяла
Тазовод)


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

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

Ответов: 1
Просмотров: 6495
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4199
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 625
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

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

Ответов: 5
Просмотров: 2032
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

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

Ответов: 2
Просмотров: 270
Последний ответ 12 Окт 2017, 14:02
от wise

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
39 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal