|
Обнаружено дублирование ключевых значений в колонках ссылка | ☑ | ||
---|---|---|---|---|
0
skela1c
13.07.17
✎
16:18
|
УТ 11.3 обработка "Подбор товаров в документ продажи" динамический список "список номенклатура" добавил реквизит "Организация". Теперь получается что у меня в динамическом списке есть две записи с одинаковым элементом номенклатуры. Есть ли варианты обойти эту ситуацию используя динамический список?
|
|||
1
craxx
13.07.17
✎
16:20
|
(0) скорее всего просто запрос в соединении с другой таблицы выдал 2 записи с одинаковой ссылкой. так бывает
|
|||
2
skela1c
13.07.17
✎
16:24
|
(1) так и есть
|
|||
3
craxx
13.07.17
✎
16:25
|
(2) Запрос оттуда приведите сюда
|
|||
4
SSSSS_AAAAA
13.07.17
✎
16:26
|
(0) Есть. Переписать запрос так, чтобы исключить дублирование.
|
|||
5
skela1c
13.07.17
✎
16:31
|
Вот запрос
ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Ссылка, СправочникНоменклатура.Артикул КАК Артикул, СправочникНоменклатура.Код КАК Код, СправочникНоменклатура.Наименование КАК Наименование, СправочникНоменклатура.ПометкаУдаления КАК ПометкаУдаления, СправочникНоменклатура.Родитель КАК Родитель, СправочникНоменклатура.ЭтоГруппа КАК ЭтоГруппа, СправочникНоменклатура.Ссылка КАК Номенклатура, СправочникНоменклатура.Ссылка КАК ЭлементСписка, СправочникНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СправочникНоменклатура.ТипНоменклатуры КАК ТипНоменклатуры, ВЫБОР КОГДА СправочникНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор) ТОГДА ЕСТЬNULL(ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка), ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка)) ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.ВариантыРасчетаЦенНаборов.ПустаяСсылка) КОНЕЦ КАК ВариантРасчетаЦеныНабора, Ложь КАК СодержитТовары, Ложь КАК СодержитУслуги, СправочникНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СправочникНоменклатура.ЦеноваяГруппа КАК ЦеноваяГруппа, СправочникНоменклатура.Качество КАК Качество, СправочникНоменклатура.ИспользованиеХарактеристик КАК ИспользованиеХарактеристик, ВЫБОР КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)) ТОГДА ИСТИНА КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор)) И ЕСТЬNULL(Ложь, ЛОЖЬ) И Не ЕСТЬNULL(Ложь, ЛОЖЬ) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ЭтоТовар, ВЫБОР КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Услуга), ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Работа)) ТОГДА ИСТИНА КОГДА СправочникНоменклатура.ТипНоменклатуры В (ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Набор)) И ЕСТЬNULL(Ложь, ЛОЖЬ) И НЕ ЕСТЬNULL(Ложь, ЛОЖЬ) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК ЭтоУслуга, ВЫБОР КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеДляВидаНоменклатуры) ТОГДА СправочникНоменклатура.ВидНоменклатуры КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ИндивидуальныеДляНоменклатуры) ТОГДА СправочникНоменклатура.Ссылка КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.ОбщиеСДругимВидомНоменклатуры) ТОГДА СправочникНоменклатура.ВладелецХарактеристик ИНАЧЕ Неопределено КОНЕЦ КАК ВладелецХарактеристик, ВЫБОР КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЦ КАК ХарактеристикиИспользуются, ВЫБОР КОГДА СправочникНоменклатура.ЭтоГруппа ТОГДА ВЫБОР КОГДА СправочникНоменклатура.ПометкаУдаления ТОГДА 13 ИНАЧЕ 12 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА СправочникНоменклатура.ЕстьТоварыДругогоКачества ТОГДА 4 + ВЫБОР КОГДА СправочникНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ -1 + ВЫБОР КОГДА СправочникНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СправочникНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 1 ИНАЧЕ 3 КОНЕЦ КОНЕЦ КОНЕЦ КАК ИндексКартинки, &ВидыЦен КАК ВидЦены, ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка)) КАК Упаковка, ВЫРАЗИТЬ(ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) * ВЫБОР КОГДА &Валюта <> ЦеныНоменклатуры.Валюта ТОГДА ВЫБОР КОГДА ЕСТЬNULL(КурсыСрезПоследнихВалютаЦены.Кратность, 0) > 0 И ЕСТЬNULL(КурсыСрезПоследнихВалютаЦены.Курс, 0) > 0 И ЕСТЬNULL(КурсыСрезПоследнихВалютаДокумента.Кратность, 0) > 0 И ЕСТЬNULL(КурсыСрезПоследнихВалютаДокумента.Курс, 0) > 0 ТОГДА КурсыСрезПоследнихВалютаЦены.Курс * КурсыСрезПоследнихВалютаДокумента.Кратность / (КурсыСрезПоследнихВалютаДокумента.Курс * КурсыСрезПоследнихВалютаЦены.Кратность) ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 1 КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Цена, ВЫРАЗИТЬ(ЕСТЬNULL(ОстаткиТоварыОрганизаций.Количество, 0) / ЕСТЬNULL(ВЫБОР КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес) И ЦеныНоменклатуры.Номенклатура.ВесИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ВесЧислитель / ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем) И ЦеныНоменклатуры.Номенклатура.ОбъемИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель / ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь) И ЦеныНоменклатуры.Номенклатура.ПлощадьИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель / ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина) И ЦеныНоменклатуры.Номенклатура.ДлинаИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель / ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка) И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук) ТОГДА 1 ИНАЧЕ NULL КОНЕЦ, 1) КАК ЧИСЛО(15, 3)) КАК ВНаличииОстаток, ВЫРАЗИТЬ((ЕСТЬNULL(ОстаткиТоварыОрганизаций.Количество, 0) - ЕСТЬNULL(СвободныеОстатки.ВРезервеПодЗаказОстаток, 0) - ЕСТЬNULL(СвободныеОстатки.ВРезервеСоСкладаОстаток, 0) + ЕСТЬNULL(ОстаткиИзЗаказов.Количество, 0)) / ЕСТЬNULL(ВЫБОР КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Вес) И ЦеныНоменклатуры.Номенклатура.ВесИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ВесЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ВесЧислитель / ЦеныНоменклатуры.Номенклатура.ВесЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Объем) И ЦеныНоменклатуры.Номенклатура.ОбъемИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ОбъемЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ОбъемЧислитель / ЦеныНоменклатуры.Номенклатура.ОбъемЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Площадь) И ЦеныНоменклатуры.Номенклатура.ПлощадьИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ПлощадьЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ПлощадьЧислитель / ЦеныНоменклатуры.Номенклатура.ПлощадьЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Длина) И ЦеныНоменклатуры.Номенклатура.ДлинаИспользовать И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель,0) <> 0 И ЕСТЬNULL(ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель / (ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Числитель / ЦеныНоменклатуры.Номенклатура.ДлинаЕдиницаИзмерения.Знаменатель) / (ЦеныНоменклатуры.Номенклатура.ДлинаЧислитель / ЦеныНоменклатуры.Номенклатура.ДлинаЗнаменатель) КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.Упаковка) И ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Знаменатель,0) <> 0 ТОГДА ВЫРАЗИТЬ(ЦеныНоменклатуры.Упаковка.Числитель / ЦеныНоменклатуры.Упаковка.Знаменатель КАК ЧИСЛО(20,10)) КОГДА ЦеныНоменклатуры.Упаковка.ТипИзмеряемойВеличины = ЗНАЧЕНИЕ(Перечисление.ТипыИзмеряемыхВеличин.КоличествоШтук) ТОГДА 1 ИНАЧЕ NULL КОНЕЦ, 1) КАК ЧИСЛО(15, 3)) КАК Доступно, ОстаткиТоварыОрганизаций.Организация ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( , ВидЦены = &ВидыЦен И Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) {(Номенклатура).* КАК Номенклатура} ) КАК ЦеныНоменклатуры ПО (ЦеныНоменклатуры.Номенклатура = СправочникНоменклатура.Ссылка) И (ЦеныНоменклатуры.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) И (ЦеныНоменклатуры.ВидЦены = &ВидыЦен) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыСрезПоследнихВалютаЦены ПО (КурсыСрезПоследнихВалютаЦены.Валюта = ЦеныНоменклатуры.Валюта) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &Валюта) КАК КурсыСрезПоследнихВалютаДокумента ПО (ИСТИНА) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки( , Склад = &Склад {(Номенклатура).* КАК Номенклатура} ) КАК СвободныеОстатки ПО (СвободныеОстатки.Склад = &Склад) И (СвободныеОстатки.Номенклатура = СправочникНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Т.Номенклатура КАК Номенклатура, СУММА(Т.Количество) КАК Количество ИЗ РегистрСведений.ДоступныеОстаткиПланируемыхПоступлений КАК Т ГДЕ Т.ДатаДоступности = ДАТАВРЕМЯ(1, 1, 1) И Т.Количество < 0 И Т.Склад = &Склад СГРУППИРОВАТЬ ПО Т.Номенклатура) КАК ОстаткиИзЗаказов ПО (ОстаткиИзЗаказов.Номенклатура = СправочникНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ТО.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, ТО.Организация КАК Организация, Сумма(ТО.КоличествоОстаток) КАК Количество, ТО.АналитикаУчетаНоменклатуры.Склад КАК Склад ИЗ РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата, ) КАК ТО ГДЕ ТО.АналитикаУчетаНоменклатуры.Склад = &Склад СГРУППИРОВАТЬ ПО ТО.АналитикаУчетаНоменклатуры.Номенклатура, ТО.АналитикаУчетаНоменклатуры.Склад, ТО.Организация) КАК ОстаткиТоварыОрганизаций ПО (ОстаткиТоварыОрганизаций.Номенклатура = СправочникНоменклатура.Ссылка) ГДЕ НЕ СправочникНоменклатура.ЭтоГруппа {ГДЕ (1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Номенклатура = СправочникНоменклатура.Ссылка И Сегменты.Сегмент = &СегментНоменклатуры))} Фишка в том, что мне нужно видеть на какой организации находится номенклатура, то есть по-любому будет две записи |
|||
6
skela1c
13.07.17
✎
16:32
|
как- то некрасиво получилось (
|
|||
7
aleks_default
13.07.17
✎
17:15
|
(6)Ну ты красавчек! Не мог последнее предложение в (0) поместить? Пришлось весь запрос просмотреть
|
|||
8
aleks_default
13.07.17
✎
17:17
|
(7)Основную таблицу отключи
|
|||
9
skela1c
13.07.17
✎
17:30
|
(8) спасибо, а почему программа перестала ругаться?
|
|||
10
aleks_default
13.07.17
✎
17:36
|
Потому что перестала отслеживать уникальность ссылки справочника, который был назначен основной таблицей.
Но это еше не все сюрпризы. |
|||
11
aleks_default
13.07.17
✎
17:42
|
Кстати я бы не стал пихать остатки в основной запрос. Лучше сделать на форме отдельную таблицу с остатками по выбранной позиции. Смотри как в типовых сделано.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |