|
Установить параметр динамического списка | ☑ | ||
---|---|---|---|---|
0
AnisaL
22.09.20
✎
12:37
|
Добрый день! Вот запрос динамического списка справочника номенклатуры. Параметр "Родитель", когда пытаюсь его установить в процедуре ПриОткрытии выдает ошибку, что он не найден! Как быть тогда?
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, СпрНоменклатура.Код КАК Код, СпрНоменклатура.Наименование КАК Наименование, СпрНоменклатура.Артикул КАК Артикул, СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС КАК СтавкаНДС, СпрНоменклатура.Родитель КАК Родитель, ВЫБОР КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества ТОГДА 4 + ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ КОНЕЦ КАК ИндексКартинки, ВЫБОР КОГДА ТоварыНаСкладах.Склад.Родитель = &Родитель ТОГДА СУММА(ЕСТЬNULL(ТоварыНаСкладах.ВНаличииОстаток, 0)) КОНЕЦ КАК Колво ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладах ПО (ТоварыНаСкладах.Номенклатура = СпрНоменклатура.Ссылка) ГДЕ НЕ СпрНоменклатура.ЭтоГруппа {ГДЕ (СпрНоменклатура.Ссылка В (ВЫБРАТЬ Сегменты.Номенклатура ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Сегмент = &СегментНоменклатуры))} СГРУППИРОВАТЬ ПО СпрНоменклатура.Ссылка, СпрНоменклатура.Код, СпрНоменклатура.Наименование, СпрНоменклатура.Артикул, СпрНоменклатура.ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС, СпрНоменклатура.Родитель, ВЫБОР КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества ТОГДА 4 + ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ КОНЕЦ, ТоварыНаСкладах.Склад.Родитель |
|||
1
AnisaL
22.09.20
✎
12:39
|
(0) Вот процедура ПриОткрытии, где я пытаюсь установить этот параметр:
&НаСервере Процедура Номенклатура_ПриОткрытииПередНаСервере() Родитель = Справочники.Склады.НайтиПоНаименованию("Магнитогорск"); СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Родитель",Родитель); КонецПроцедуры |
|||
2
AnisaL
22.09.20
✎
12:41
|
Я так понимаю, что вся беда в том, что этот параметр стоит не в секции "ГДЕ", а с оператором ВЫБОР, может быть в этом причина?
|
|||
3
PuhUfa
22.09.20
✎
12:49
|
А отладчик то что говорит на код из (1)?
|
|||
4
polosov
22.09.20
✎
12:52
|
ОбщегоНазначенияклиентСервер.УстановитьПараметрДинамическогоСписка
|
|||
5
AnisaL
22.09.20
✎
12:53
|
(3) Параметр с указанным именем не найден
{Номенклатура Справочник.Номенклатура.Форма.ФормаСписка.Форма(96)}: СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("Родитель",Родитель); {Номенклатура Справочник.Номенклатура.Форма.ФормаСписка.Форма(103)}: Номенклатура_ПриОткрытииПередНаСервере(); {Справочник.Номенклатура.Команда.Номенклатура.МодульКоманды(7)}: ОткрытьФорму( по причине: Параметр с указанным именем не найден |
|||
6
AnisaL
22.09.20
✎
12:55
|
В реквизиты формы я его добавила
|
|||
7
PuhUfa
22.09.20
✎
12:55
|
(5) Дай угадаю, это какая нить УТ.... и ты поправила запрос в свойствах динамического списка на форме?
|
|||
8
AnisaL
22.09.20
✎
12:57
|
(7) Да, все верно! Это УТ и динамический список на форме
|
|||
9
PuhUfa
22.09.20
✎
12:59
|
(8) Смотри В ПриСозданииНаСервере или еще где до выполнения твоего Номенклатура_ПриОткрытииПередНаСервере они программно меняют текст запроса у Динсписка. И соответственно все твои изменения в свойствах самого списка идут лесом
|
|||
10
Simod
22.09.20
✎
12:59
|
(0) 1. Использовать получение остатков в запросе динамического списка не рекомендуется - https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/?sphrase_id=175647
2. Для установки параметра запроса динамического списка лучше использовать БСП: ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка() 3. Проверить, что возвращает НайтиПоНаименованию() |
|||
11
AnisaL
22.09.20
✎
13:22
|
(10) Использовала процедуру ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка() вместо той, ошибку перестал выдавать. Но теперь другая проблема, это поле "Колво" - не могу его добавить на форму. В конфигураторе добавила его на форму динамического списка, а открываю Предприятие, его там нет.
https://a.radikal.ru/a15/2009/2c/d53ad82b8f14.jpg |
|||
12
AnisaL
22.09.20
✎
13:25
|
https://c.radikal.ru/c16/2009/a0/4d73eb88c7c1.jpg - тут видно, что столбик "Колво" не появился
|
|||
13
Simod
22.09.20
✎
13:27
|
(11) По скрину "Колво" элемент формы, а он с реквизитом формы (реквизит динамического списка) связан?
|
|||
14
AnisaL
22.09.20
✎
13:48
|
(13) Да, он реквизит динамического списка: https://c.radikal.ru/c23/2009/52/c5a8857e2dd3.jpg. Он получается из запроса: \
ВЫБОР КОГДА ТоварыНаСкладах.Склад.Родитель = &Родитель ТОГДА СУММА(ЕСТЬNULL(ТоварыНаСкладах.ВНаличииОстаток, 0)) КОНЕЦ КАК Колво |
|||
15
RomanYS
22.09.20
✎
13:50
|
(14) Свойства элемента формы покажи. Совпадение названия не означает привязку к источнику
|
|||
16
AnisaL
22.09.20
✎
13:53
|
||||
17
Simod
22.09.20
✎
13:59
|
(16) У тебя в (12) и (16) разные формы списка (состав кнопок). Ты точно нужную форму смотришь?
|
|||
18
AnisaL
22.09.20
✎
14:03
|
(17) Форма нужная, я в ней в модуле формы поставила точку останова, и она останавливается. Я даже колонки Наименование и Артикул поменяла местами и они поменялись. А Вот Колво не появляется (
|
|||
19
Simod
22.09.20
✎
14:13
|
А (9) проверила?
|
|||
20
AnisaL
22.09.20
✎
14:26
|
(19) Да, проверила! Оказывается там совсем другой запрос, и моих строчек там совсем нету, поэтому и столбик не добавляется!
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, СпрНоменклатура.Код КАК Код, СпрНоменклатура.Наименование КАК Наименование, СпрНоменклатура.Артикул КАК Артикул, СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры, СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения, СпрНоменклатура.СтавкаНДС КАК СтавкаНДС, СпрНоменклатура.Родитель, ВЫБОР КОГДА СпрНоменклатура.ЕстьТоварыДругогоКачества ТОГДА 4 + ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА СпрНоменклатура.ПометкаУдаления ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА СпрНоменклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА 0 ИНАЧЕ 2 КОНЕЦ КОНЕЦ КАК ИндексКартинки, // ЭлектронноеВзаимодействие.РаботаСНоменклатурой ВЫБОР КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено ТОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &НеСопоставлено И СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0 ТОГДА &СтрокаНайденыВарианты КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено) ТОГДА &СтрокаНайдено + СоответствиеНоменклатурыРаботаСНоменклатурой.ПредставлениеНоменклатурыСервиса ИНАЧЕ &СтрокаСопоставить КОНЕЦ КАК НоменклатураРаботаСНоменклатурой, ВЫБОР КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.КоличествоВариантов > 0 ИЛИ СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления В (&СтатусыНайдено) ТОГДА 1 КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.СтатусСопоставления = &Сопоставлено ТОГДА ВЫБОР КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.РежимЗагрузкиХарактеристик = &Сопоставление ТОГДА 3 ИНАЧЕ 2 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК КодСтатусаСопоставленияРаботаСНоменклатурой, СоответствиеНоменклатурыРаботаСНоменклатурой.ИдентификаторНоменклатурыСервиса КАК ИдентификаторНоменклатурыРаботаСНоменклатурой, ВЫБОР КОГДА СоответствиеНоменклатурыРаботаСНоменклатурой.ОбновляетсяАвтоматически ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК КартинкаРежимаОбновленияРаботаСНоменклатурой // Конец ЭлектронноеВзаимодействие.РаботаСНоменклатурой ИЗ Справочник.Номенклатура КАК СпрНоменклатура // ЭлектронноеВзаимодействие.РаботаСНоменклатурой ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СоответствиеНоменклатурыРаботаСНоменклатурой КАК СоответствиеНоменклатурыРаботаСНоменклатурой ПО СпрНоменклатура.Ссылка = СоответствиеНоменклатурыРаботаСНоменклатурой.Номенклатура И (СоответствиеНоменклатурыРаботаСНоменклатурой.Характеристика = &ПустаяХарактеристика) // Конец ЭлектронноеВзаимодействие.РаботаСНоменклатурой ГДЕ НЕ СпрНоменклатура.ЭтоГруппа {ГДЕ (СпрНоменклатура.Ссылка В (ВЫБРАТЬ Сегменты.Номенклатура ИЗ РегистрСведений.НоменклатураСегмента КАК Сегменты ГДЕ Сегменты.Сегмент = &СегментНоменклатуры))} |
|||
21
AnisaL
22.09.20
✎
14:31
|
И как тогда мне столбик добавить с количеством? Раз запрос меняется
|
|||
22
RomanYS
22.09.20
✎
14:34
|
(21) Так поменяй запрос
|
|||
23
AnisaL
22.09.20
✎
14:37
|
(22) Подскажите как? Что-то я не соображу
|
|||
24
Simod
22.09.20
✎
14:38
|
(21) Он наверное не просто так меняется, а по какому-то условию. Надо разбираться. Свой текст запроса также можешь установить программно. Пример там же смотри.
|
|||
25
RomanYS
22.09.20
✎
14:47
|
(23) ДС.ТекстЗапроса = ...
Посмотри в какой момент поменялся и внеси туда свои изменения |
|||
26
AnisaL
22.09.20
✎
14:49
|
(22) (24) Ура !!! Все получилось! Установила программно текст запроса и появился столбик Колво ! https://c.radikal.ru/c24/2009/96/74f59bad0080.jpg
|
|||
27
AnisaL
22.09.20
✎
14:49
|
(25) Да, я уже поменяла текст запроса, все получилось) Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |