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

Автор Тема: Помогите с построением запроса  (Прочитано 3189 раз)

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

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Имеется справочник Полуфабрикаты , у него есть ТЧ ДочернПФ (тип СправочникСсылка.Полуфабрикаты). Нужно отобрать те Полуфабрикаты у которых реквизит у него самого и тех которые записаны в ТЧ ДочернПФ  удовлетворяет условию. Сделал конструктором такой запрос:
"ВЫБРАТЬ
| Полуфабрикаты.ДочернПФ.(
| ПФДоч.ФлагРаспределения,
| ПФДоч.МоментОкончания
| ),
| Полуфабрикаты.РабочийЦентр,
| Полуфабрикаты.Наименование,
| Полуфабрикаты.МоментОкончания,
| Полуфабрикаты.ФлагРаспределения
|ИЗ
| Справочник.Полуфабрикаты КАК Полуфабрикаты
|ГДЕ
| Полуфабрикаты.ФлагРаспределения = Истина
| И Полуфабрикаты.МоментОкончания <= &ВремяН
| И Полуфабрикаты.ДочернПФ.ПФДоч.МоментОкончания <= &ВремяН
| И Полуфабрикаты.ДочернПФ.ПФДоч.ФлагРаспределения = Истина ";
проблема в том что если в табличной части несколько записей, то этот запрос не обрабатывает их все, а только первую. И вторая проблема - если в ТЧ вообще нет записей, то этот Полуфабрикат тоже не попадает в выборку , а мне нужно чтобы попадал. Как такое соорудить?


Оффлайн TreeDogNight

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 28
  • КПД: 14%
  • Регистрация: 2013-10-16
    • Skype: treedognight3
  • Сайт: www.avars.uz
  • Профессия: Программист 1С
Создай вложенный запрос, в котором в таблицах укажи тч этого документа. Установи все нужные условия во вложенном запросе, и вытащи помимо нужных полей, ссылку на документ этой ТЧ. Потом сделай левое соединение с самим документом по этой ссылке.
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Можно набросок кода какой-нибудь? что-то мозги закипают, а толку ноль(

Оффлайн TreeDogNight

  • ***
  • Сообщений: 202
  • РЕПУТАЦИЯ: 28
  • КПД: 14%
  • Регистрация: 2013-10-16
    • Skype: treedognight3
  • Сайт: www.avars.uz
  • Профессия: Программист 1С
    ВЫБРАТЬ
АвансовыйОтчет.Ссылка,
АвансовыйОтчет.Сотрудник,
ВложенныйЗапрос.Контрагент,
ВложенныйЗапрос.ДоговорКонтрагента,
ВложенныйЗапрос.Сумма
ИЗ
Документ.АвансовыйОтчет КАК АвансовыйОтчет
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
АвансовыйОтчетОплатаПоставщикам.Ссылка КАК Ссылка,
АвансовыйОтчетОплатаПоставщикам.Контрагент КАК Контрагент,
АвансовыйОтчетОплатаПоставщикам.ДоговорКонтрагента КАК ДоговорКонтрагента,
АвансовыйОтчетОплатаПоставщикам.Сумма КАК Сумма
ИЗ
Документ.АвансовыйОтчет.ОплатаПоставщикам КАК АвансовыйОтчетОплатаПоставщикам
ГДЕ
АвансовыйОтчетОплатаПоставщикам.Сумма > 0) КАК ВложенныйЗапрос
ПО АвансовыйОтчет.Ссылка = ВложенныйЗапрос.Ссылка
ГДЕ
АвансовыйОтчет.ВалютаДокумента = &ВалютаДокумента
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все - мало кто может это сделать.

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
прежде чем решать какую-то задачу, необходимо правильно сформулировать ее описание/постановку

в начале вы пишите
Цитировать
Нужно отобрать те Полуфабрикаты у которых реквизит у него самого и тех которые записаны в ТЧ ДочернПФ 

где условие: ... у него самого ИИИИ(!) тех которые 
для этого ИИИИ вы и написали правильный запрос

а в результате вы хотите видеть результат через   ИЛИ
или сам элемент удовлетворяет условиям или элемент из табличной части должен удовлетворять условиям.

т.е. ваша постановка должна звучать примерно так
Нужно отобрать те Полуфабрикаты у которых реквизит у него самого ИЛИ тех которые записаны в ТЧ ДочернПФ 

сделайте запрос для такой постановки, и получите требуемый результат!

(подсказка в вашем запросе в условии разобраться с ИИИИ )



Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Чего-то я , наверное, не правильно излагаю постановку задачи. Вариант TreeDogNight выдает что-то совсем из другой оперы. Попробовал еще вот так :
" ВЫБРАТЬ 
| СсылкаДоч.Ссылка,
    | СсылкаДоч.РабочийЦентр,
| СсылкаДоч.Наименование КАК Наименование,
| СсылкаДоч.МоментОкончания,
| СсылкаДоч.ФлагРаспределения
|ИЗ
    |    (ВЫБРАТЬ
    |        ДочернПФ.Ссылка КАК СсылкаДоч,
    |        ДочернПФ.ПФДоч.МоментОкончания КАК МоментОкончанияДоч,
    |        ДочернПФ.ПФДоч.ФлагРаспределения КАК ФлагРаспредДоч
    |    ИЗ
    |        Справочник.Полуфабрикаты.ДочернПФ КАК  ДочернПФ
    |    ГДЕ
    |        ДочернПФ.ПФДоч.МоментОкончания <= &ВремяН) КАК ВложенныйЗапрос
|ГДЕ
    | СсылкаДоч.МоментОкончания <= &ВремяН";

проблема та же что и при варианте запроса из поста1  - из табличной части проверяется на условие <ДочернПФ.ПФДоч.МоментОкончания <= &ВремяН> только первая запись ((

Попробую еще раз объяснить что мне нужно ...
Есть справочник Полуфабрикаты , в элементе этого справочника есть реквизит МоментОкончания и есть табл.часть ДочернПФ где реквизит ДочернПФ.ПФДоч - это СправочникСсылка.Полуфабрикаты. Мне нужно выбрать те Полуфабрикаты, у которых 
1.Полуфабрикаты.МоментОкончания<=ВремяН
2 Для Каждого стр Из Полуфабрикат.ДочернПФ
   стр.ПФДоч.МоментОкончания<=ВремяН

Оффлайн temrmal

  • ***
  • Сообщений: 129
  • РЕПУТАЦИЯ: 15
  • КПД: 12%
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
если правильно понял задание, то мудрите как-то

Выбрать СпрПолуфабрикатыДочернПФ.Ссылка КАК ОСНОВНОЙПФ,
        СпрПолуфабрикатыДочернПФ.ПФДоч КАК ДочернийПФ
ИЗ Справочник.Полуфабрикаты.ДочернПФ КАК СпрПолуфабрикатыДочернПФ

ГДЕ СпрПолуфабрикатыДочернПФ.Ссылка.МоментОкончания <= &ВремяН
И СпрПолуфабрикатыДочернПФ.ПФДоч.МоментОкончания <= &ВремяН
ИТОГИ ПО ОСНОВНОЙПФ,ДочернийПФ

(можно и без итогов. Все зависит от желаемого конечного результата)

Потом обход результата по группировкам
(с синтаксисом проверка нужна, писал прямо здесь) т.е. срабатывают два условия по времени на ссылку, и на пф в в табличной части данной ссылки


Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С

Стала картина проясняться ...

Дело в том, что в выборке не реализовано условие ЕСЛИ Для Каждого стр Из Полуфабрикат.ДочернПФ  стр.ПФДоч.МоментОкончания<=ВремяН Тогда Полуфабрикат , имеющий ТЧ ДочернПФ попадает в выборку.  Как это реализовать?

Оффлайн temrmal

  • ***
  • Сообщений: 129
  • РЕПУТАЦИЯ: 15
  • КПД: 12%
  • Регистрация: 2011-11-10
  • Сайт: 
  • Профессия: Программист 8.1
Так, давай по-русски

1. Выбираем ПолуфабрикатыССЫЛКИ где моментокончания<=ВремяН. Так?
2. Из табличной части ДочернПФ ЭТИХ ПолуфабрикатыССЫЛКИ выбираем ДочернПФ.ПФДоч где ДочернПФ.ПФДоч.моментокончания<=ВремяН? ТАК?
3 В результате нужно получить просто перечень ПолуфабрикатыССЫЛКИ и ДочернПФ.ПФДоч с заданным условием ОДНИМ СПИСКОМ? или в структуре? (Ссылка а под ней ссылки ьабличной части)?

Оффлайн Игорь_M

  • **
  • Сообщений: 69
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-11-19
  • Сайт: 
  • Профессия: Ученик 1С
Так, давай по-русски

1. Выбираем ПолуфабрикатыССЫЛКИ где моментокончания<=ВремяН. Так?
2. Из табличной части ДочернПФ ЭТИХ ПолуфабрикатыССЫЛКИ выбираем ДочернПФ.ПФДоч где ДочернПФ.ПФДоч.моментокончания<=ВремяН? ТАК?
3 В результате нужно получить просто перечень ПолуфабрикатыССЫЛКИ и ДочернПФ.ПФДоч с заданным условием ОДНИМ СПИСКОМ? или в структуре? (Ссылка а под ней ссылки ьабличной части)?
3. только перечень ПолуфабрикатыССЫЛКИ списком, для которых 1=Истина и 2=Истина для каждой строки ДочернПФ


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4302
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5558
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5898
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

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

Ответов: 4
Просмотров: 4386
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

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

Ответов: 2
Просмотров: 1985
Последний ответ 07 Дек 2016, 15:53
от Kironten

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal