Имя: Пароль:
1C
1С v8
Как заполнить доступные поля выбора настроек компоновщика настроек?
,
0 DJ Anthon
 
27.04.23
08:48
В схеме 25 полей. Схема в макете. Компоновщик инициализируется, в нем появляется 25 полей в доступных полях выбора.
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки));

Я добавляю в схеме ещё одно поле. Теперь их 26. Их видно и на схеме, и в отладке. А в компоновщике после инициализации по-прежнему 25.
Почему они не добавляются в КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы? Схему сохранял в файл, поля ничем друг от друга не отличаются, только названием.

Конфига ERP 2.5, работа с этикетками
1 vicof
 
27.04.23
09:13
Почистить кэш? Переименовать вариант? ПолучитьНастройки()?
2 DJ Anthon
 
27.04.23
09:47
(1) как кэш на это влияет вообще? отладка идет верно. только вот когда отладчик проходит инициализацию компоновщика, в нем откуда-то появляются доступные поля отбора, а откуда, я не могу понять. я же не могу отладить функцию Инициализировать. в схеме полей больше. создавал и программно, и конструктором. конкретно этот макет ПоляШаблонаТовары из обработки ПечатьЭтикетокИЦенников. делал всё так же, как описано в https://1c-bz.ru/programming/395
3 DJ Anthon
 
28.04.23
09:51
Если кому интересно, проблему решить не смог, пришлось обойти. Использовал уже имеющееся поле, которое, надеюсь, не будет никогда использоваться (PLU) и подменил его в запросе. Спасибо 1с хотя бы на том, что работа с этикетками вся усеяна вызовами функций локализации, можно обойтись микроправками, чего не скажешь о других подсистемах.

&Перед("ПриПодготовкеСтруктурыДанныхНабора")
Процедура ДР_ПриПодготовкеСтруктурыДанныхНабора(Режим, СхемаКомпоновкиДанных, ТекстЗапроса)
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "КАК PLU,", "КАК PLU1,
	|	ВЫБОР КОГДА ИсходныеДанныеПоследнийЗапрос.Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать) ТОГДА
	|		ИсходныеДанныеПоследнийЗапрос.Номенклатура.Артикул + ""
	|"" + ИсходныеДанныеПоследнийЗапрос.Номенклатура.НаименованиеПолное
	|	ИНАЧЕ
	|		ИсходныеДанныеПоследнийЗапрос.Характеристика.Артикул + ""
	|"" + ИсходныеДанныеПоследнийЗапрос.Номенклатура.НаименованиеПолное + "" ("" + ИсходныеДанныеПоследнийЗапрос.Характеристика.НаименованиеПолное + "")""
	|	КОНЕЦ КАК PLU,");
4 vicof
 
28.04.23
09:54
(2) Про кэш. Не так выразился. Имел ввиду обновление БСПшных объектов.
5 vicof
 
28.04.23
09:56
ОбновлениеВспомогалтельныхДанных.epf
6 lubitelxml
 
28.04.23
11:15
Совсем недавно тоже нарвался на подобную штуку, в схеме меняешь, но компоновшик не видит поле. У меня была ошибка в ПолучитьНастройки, и еще был косяк - настройщик был реквизитом обработки, перенес из объекта на форму, взлетело
7 Garykom
 
гуру
28.04.23
11:18
(6) С реквизитами объекта для внешних обработок это частый глюк
Сейчас стараюсь все реквизиты на форме
8 Garykom
 
гуру
28.04.23
11:18
(7)+ Имхо проблема с серверным кэшем
9 lubitelxml
 
28.04.23
11:21
(8) вот я походу такое и словил, что ПолучитьНастройки не срабатывало.
10 DJ Anthon
 
28.04.23
11:31
(6) (9) я вот не могу понять, при чем тут ПолучитьНастройки, если я выполняю только Инициализировать, почему на этом этапе уже отсутствует добавленное в схему поле? чем оно отличается от остальных?
(8) всё в конфигурации. даже не в расширении. я просто меняю схему во встроенной обработке. а компоновщик ё6ёт мне мозги.
11 lubitelxml
 
28.04.23
11:38
(10) у меня обработка тоже встроенная была, перенос в форму помогло, но у меня еще и получение настроек было.