Имя: Пароль:
1C
1С v8
Где в 10-й УТ заполняется таблица в форме отбора?
0 lanc2233
 
25.12.11
20:03
Нужно в форму отбора для номенклатуры пару колонок добавить.
Никак не могу найти где заполняется эта таблица (НоменклатураДляПодбора), при виде отбора "по справочнику".

Может кто подсказать?
(у меня УТ для Украины, но думаю код для формы подбора там особо не отличается)
1 Rie
 
25.12.11
20:13
(0) В российской УТ НоменклатураДляПодбора - это табличная часть обработки. Видимо, в неё и надо добавлять колонки.
2 lanc2233
 
25.12.11
20:31
Нашел таки где заполняется - строки этой табличной части, результат здоровенного запроса, который ниже. В данном запросе нигде не участвует справочник - все источники данных регистры. Каким образом тогда в результате выборки получаются все элементы, независимо от того есть они на одном из регистров или нету ... ?


ВЫБРАТЬ РАЗРЕШЕННЫЕ
   ТоварыНаСкладах.Номенклатура                                КАК Номенклатура,
   СУММА(  ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
         - ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0.00)
         - ЕСТЬNULL(ТоварыКПередачеСоСкладов.КоличествоОстаток, 0.00)
         
   )                                                           КАК КоличествоСвободныйОстаток,
   СУММА(ЕСТЬNULL(ОстаткиОрганизации.КоличествоОстаток, 0.00)) КАК КоличествоОстатокОрганизации
ИЗ
   (ВЫБРАТЬ
       ОбщиеОстатки.Номенклатура               КАК Номенклатура,
       ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
       ОбщиеОстатки.Качество                   КАК Качество,
       СУММА(ОбщиеОстатки.КоличествоОстаток)   КАК КоличествоОстаток
   ИЗ
       (
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВРознице.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ТаблицаОстатков.Качество КАК Качество,
   0 КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТаблицаОстатков

ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
   ТаблицаОстатков.Номенклатура               КАК Номенклатура,
   ТаблицаОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
   ЗНАЧЕНИЕ(Справочник.Качество.Новый) КАК Качество,
   ТаблицаОстатков.КоличествоОстаток КАК КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыВНТТ.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры) ) КАК ТаблицаОстатков

       ) КАК ОбщиеОстатки

   СГРУППИРОВАТЬ ПО
       ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
   ) КАК ТоварыНаСкладах

ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры) ) КАК ТоварыВРезервеНаСкладах
ПО
   ТоварыВРезервеНаСкладах.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ТоварыКПередачеСоСкладов
ПО
   ТоварыКПередачеСоСкладов.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ТоварыКПередачеСоСкладов.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ТоварыКПередачеСоСкладов.Качество = ТоварыНаСкладах.Качество
   
ЛЕВОЕ СОЕДИНЕНИЕ
   РегистрНакопления.ТоварыОрганизаций.Остатки(&Дата,  Номенклатура В (&МассивНоменклатуры)  И ВЫБОР КОГДА &РазворачиватьДоКачества ТОГДА ИСТИНА ИНАЧЕ Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый) КОНЕЦ) КАК ОстаткиОрганизации
ПО
   ОстаткиОрганизации.Номенклатура = ТоварыНаСкладах.Номенклатура
   И ОстаткиОрганизации.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
   И ОстаткиОрганизации.Качество = ТоварыНаСкладах.Качество

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладах.Номенклатура
3 hhhh
 
25.12.11
21:41
(2) так это по остаткам. А тебе нужно по справочнику. Чего-то не то нам подсовываешь.
4 lanc2233
 
25.12.11
22:08
(3) да, действительно, результат этого запроса, служит для отображения остатков в таблице НоменклатураДляПодбора. А вот как в эту таблицу попадают данные до сих пор не нашел.
5 МишельЛагранж
 
26.12.11
01:32
(4) так и попадают. Из РН по остаткам ))
Вам зачем подбор из непонятно каких товаров, но не из остатков по складам? Вот и берутся остатки по складам, и подставляются как исходные данные для подбора.
А номенклатура из справочника - это поле в РН, ссылочное, и если есть остатки по товару В ЛЮБОМ ИЗ РН из запроса - номенклатура будет в форме подбора.
Добавляйте колонки на форму отбора своего, и правьте либо запрос этот, либо вяжитесь к результату, где он выгружается уже в ТП.
Ошибка? Это не ошибка, это системная функция.