ВЫБРАТЬ РАЗРЕШЕННЫЕ
СправочникНоменклатура.Ссылка КАК Ссылка,
..............
СправочникНоменклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
ВЫБОР
КОГДА СправочникНоменклатура.ТипНоменклатуры.ИспользованиеХарактеристик = 1
ТОГДА СправочникНоменклатура.ТипНоменклатуры
КОГДА СправочникНоменклатура.ТипНоменклатуры.ИспользованиеХарактеристик = 2
ТОГДА СправочникНоменклатура.Ссылка
ИНАЧЕ НЕОПРЕДЕЛЕНО
КОНЕЦ КАК ВладелецХарактеристики,
ВЫБОР
КОГДА &ВыводитьОбщийОстаток
ТОГДА ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0)
ИНАЧЕ ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток - ОстаткиТоваровКомпанииОстатки.РезервОстаток, 0)
КОНЕЦ КАК Остаток,
ВЫБОР
КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
ТОГДА 1
КОГДА НаличиеФайлов.ЕстьФайлы
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК ЕстьФайлы,
НЕОПРЕДЕЛЕНО КАК Ячейка,
0 КАК Цена
{ВЫБРАТЬ
Ссылка.*}
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, СкладКомпании В (&СкладыКомпании)) КАК ОстаткиТоваровКомпанииОстатки
ПО СправочникНоменклатура.Ссылка = ОстаткиТоваровКомпанииОстатки.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
ПО СправочникНоменклатура.Ссылка = НаличиеФайлов.ОбъектСФайлами
{ГДЕ
СправочникНоменклатура.Ссылка.*}
Показать
Работает медленно. Почему то при поиске по вводу подстроки работает дольше чем по ALT+F.
Я пробовал заменить на такое, стало еще хуже (раза в полтора):
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СправочникНоменклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ТНоменклатура
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
{ГДЕ
СправочникНоменклатура.Ссылка.*}
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СправочникНоменклатура.Ссылка КАК Ссылка,
..................
ВЫБОР
КОГДА СправочникНоменклатура.ТипНоменклатуры.ИспользованиеХарактеристик = 1
ТОГДА СправочникНоменклатура.ТипНоменклатуры
КОГДА СправочникНоменклатура.ТипНоменклатуры.ИспользованиеХарактеристик = 2
ТОГДА СправочникНоменклатура.Ссылка
ИНАЧЕ НЕОПРЕДЕЛЕНО
КОНЕЦ КАК ВладелецХарактеристики,
ВЫБОР
КОГДА &ВыводитьОбщийОстаток
ТОГДА ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0)
ИНАЧЕ ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток - ОстаткиТоваровКомпанииОстатки.РезервОстаток, 0)
КОНЕЦ КАК Остаток,
ВЫБОР
КОГДА НаличиеФайлов.ЕстьФайлы ЕСТЬ NULL
ТОГДА 1
КОГДА НаличиеФайлов.ЕстьФайлы
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК ЕстьФайлы,
НЕОПРЕДЕЛЕНО КАК Ячейка,
0 КАК Цена
{ВЫБРАТЬ
Ссылка.*}
ИЗ
Справочник.Номенклатура КАК СправочникНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(
,
СкладКомпании В (&СкладыКомпании)
И Номенклатура В
(ВЫБРАТЬ
ТНоменклатура.Ссылка
ИЗ
ТНоменклатура)) КАК ОстаткиТоваровКомпанииОстатки
ПО СправочникНоменклатура.Ссылка = ОстаткиТоваровКомпанииОстатки.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
ПО СправочникНоменклатура.Ссылка = НаличиеФайлов.ОбъектСФайлами
{ГДЕ
СправочникНоменклатура.Ссылка.*}
Показать
У меня в голове есть только вариант только получать остатки запросов в ПриПолученииДанных списка.
Написал клиенту, хочет ли он тратить на это время.
Скажите, а условие {ГДЕ
СправочникНоменклатура.Ссылка.*} как нибудь можно впихнуть в виртуальную таблицу РегистрНакопления.ОстаткиТоваровКомпании.Остатки??
(8) Ограничение полей - это же поля СКД?
У меня коллекция Поля пустая в динамическом списке почему-то.
Список.Поля - тип ПоляНабораДанныхСхемыКомпоновкиДанных
Я бы для начала вывел только ту номенклатуру, для которой есть остатки. Понятно, что весь справочник номенклатуры выводить очень долго. То есть вместо левого соединения взял бы правое