|
v8: Выбрать из справочника | ☑ | ||
---|---|---|---|---|
0
DenSpb
14.07.11
✎
11:11
|
У регистра сведений "Пакеты подключений" два измерения - "Пакет" и "Город". Хочу выбрать элементы из справочника пакетов, у которых в регистре сведений у родителя есть записи по городу. Если записи нет, то город = ПустаяСсылка. Набираю вот такое запрос. Он дает не ту выборку. В чем ошибка?
Запрос.Текст = "ВЫБРАТЬ | ПакетыПодключений.Ссылка КАК ПакетПодключения, | ПакетыПодключений.Город КАК Город, | ПакетыПодключений.Родитель КАК Родитель, | 1 КАК Поле1, | ВложенныйЗапрос.Город КАК ГородВРегистре |ИЗ | Справочник.ПакетыПодключений КАК ПакетыПодключений | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПакетыПодключенийСрезПоследних.ПакетПодключения КАК ПакетПодключения, | ПакетыПодключенийСрезПоследних.Город КАК Город | ИЗ | РегистрСведений.ПакетыПодключений.СрезПоследних КАК ПакетыПодключенийСрезПоследних) КАК ВложенныйЗапрос | ПО (ВложенныйЗапрос.Город = ПакетыПодключений.Город) | И ПакетыПодключений.Ссылка = ВложенныйЗапрос.ПакетПодключения |ГДЕ | ПакетыПодключений.Родитель <> ЗНАЧЕНИЕ(Справочник.ПакетыПодключений.ПустаяСсылка) |ИТОГИ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Поле1) |ПО | Родитель"; |
|||
1
DenSpb
14.07.11
✎
11:18
|
Либо такой запрос:
Запрос.Текст = "ВЫБРАТЬ | ПакетыПодключений.Ссылка КАК ПакетПодключения, | ПакетыПодключений.Город КАК Город, | ПакетыПодключений.Родитель КАК Родитель, | 1 КАК Поле1, | ПакетыПодключенийСрезПоследних.Город КАК ГородВРегистре |ИЗ | Справочник.ПакетыПодключений КАК ПакетыПодключений | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПакетыПодключений.СрезПоследних КАК ПакетыПодключенийСрезПоследних | ПО (ПакетыПодключенийСрезПоследних.Город = ПакетыПодключений.Город) | И ПакетыПодключений.Ссылка = ПакетыПодключенийСрезПоследних.ПакетПодключения |ГДЕ | ПакетыПодключений.Родитель <> ЗНАЧЕНИЕ(Справочник.ПакетыПодключений.ПустаяСсылка) |ИТОГИ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Поле1) |ПО | Родитель"; |
|||
2
butterbean
14.07.11
✎
11:19
|
я нихрена не понял, но соединять по-моему надо было по Родитель, а не по Ссылка
|
|||
3
Mort
14.07.11
✎
11:19
|
Вопрос непонятный. Даже не хочется вникать.
|
|||
4
Eugene_life
14.07.11
✎
11:21
|
(0) а отобрать никак из регистра?
|
|||
5
DenSpb
14.07.11
✎
11:25
|
Суть такая: Есть справочник пакетов. Цена пакета
для каждого города разлчиная, раньше цену пакетов хранили в реквизите пакета. Сейчас решили сделать один пакет для всех городов, а цены перенести в Регистр сведений. Соответсвенно создали новые пакеты. Для них в регистре сведенй указали цены в зависимости от города. Следующий этап для каждого пакета(где раньше стояла цена) уазать головной пакет. Далее надо удалаить все пакеты. которые оказались подчиненные. Соотвественно я должен выбрать говоловные пакеты и для каждого подчиненного проверить есть ли запись в регистре(т.е. указали ли цены для него). Связь осуществляется по городу и родительскому пакету. |
|||
6
Mort
14.07.11
✎
11:31
|
Иногда мне кажется, что все сложные задачи для себя придумывают сами "программисты".
Что-то вы не туда копаете. |
|||
7
DenSpb
14.07.11
✎
11:32
|
(6) а куда надо копать?
|
|||
8
DenSpb
14.07.11
✎
11:47
|
Понял, в чем фишка была:
вместо И ПакетыПодключений.Ссылка = ПакетыПодключенийСрезПоследних.ПакетПодключения надо было И ПакетыПодключений.Родитель.Ссылка = ПакетыПодключенийСрезПоследних.ПакетПодключения, тогда все ок:)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |