1С ERP 2.4 Как найти доп. реквизит контрагента ? Я

1. Azgerd 11.08.22 09:33 Сейчас в теме
Здравствуйте! Конфигурация 1С ERP 2.4 . В настройках CRM и маркетинг снят флаг с пункта "Независимо вести партнёров и контрагентов" . Появилась необходимость добавить дополнительный реквизит к справочнику контрагентов. В подсистеме "НСИ и администрирование" - "Общие настройки" установил флаг "Дополнительные реквизиты и сведения", перешёл по гиперссылке "Дополнительные реквизиты", в дереве нашёл раздел "Контрагенты" и добавил новый реквизит. Захожу в справочник контрагентов, на вкладке "Дополнительно" этого нового реквизита нет. По кнопке "Ещё" перехожу в раздел "Изменить состав дополнительных реквизитов" - перехожу на дерево разделов "Партнеры" - "Общие" (для меня было неожиданно, что по-умолчанию из справочника "Контрагенты" я попал в раздел "Партнеры" - "Общие", а не в раздел "Контрагенты"), нажал "Добавить" выбрал меню "Из другого набора" и скопировал реквизит из набора "Контрагенты" в набор "Партнеры" - "Общие".
В справочнике "Контрагенты" на вкладке "Дополнительно" появился этот реквизит. Необходимо через внешнюю обработку читать и изменять этот реквизит. В пользовательском режиме, в консоле запросов пытаюсь найти, где хранятся значения эт ого реквизита. Сделал запрос к табличной части КонтрагентыДополнительныеРеквизиты - пусто! Попробовал сделать запрос на Табличную часть справочника "Партнёры" ПартнерыДополнительныеРеквизиты - тоже пусто... Подскажите в какой таблице искать значения этого доп. реквизита ?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. polax 11.08.22 10:02 Сейчас в теме
ДополнительныйРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("МойРеквизит");
Значение=СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДополнительныйРеквизит );
3. Azgerd 11.08.22 10:33 Сейчас в теме
(2) Спасибо! Не могу сообразить как в запросе сделать отбор в справочнике по значению этого реквизита...
4. polax 11.08.22 11:07 Сейчас в теме
"ВЫБРАТЬ
	|РеализацияТоваровУслугДополнительныеРеквизиты.Свойство КАК Свойство,
	|РеализацияТоваровУслугДополнительныеРеквизиты.Значение КАК Значение
|ИЗ
|	Документ.РеализацияТоваровУслуг.ДополнительныеРеквизиты КАК РеализацияТоваровУслугДополнительныеРеквизиты
|ГДЕ
|	РеализацияТоваровУслугДополнительныеРеквизиты.Свойство = &Свойство";

Запрос.УстановитьПараметр("Свойство",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("НаименваниеРеквизита"));
Показать
5. Azgerd 12.08.22 10:11 Сейчас в теме
Все же не могу добраться к значению доп. реквизита контрагента... Есть подозрение, что это связанно с особенностями 1C ERP. Для проверки создал доп. реквизит для Номенклатуры, с именем ВыгрузкаНоменклатуры - тип булево. На форме справочника этот реквизит появился,
выполнил код
	СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду("00-00009665"); 
	ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаНоменклатуры");
	ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит);
	Значение = ТаблицаЗначение.Значение;

Значение получил, все прекрасно! Делаю тоже самое для справочника Контрагенты
	СсылкаКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН","XXXXXXXXXX"); 
	ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаКонтрагентов");
	ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит);
	Значение = ТаблицаЗначение.Значение;

СсылкаКонтрагент - получил нужного контрагента, ДопРеквизит - нашелся, ТаблицаЗначение - НЕОПРЕДЕЛЕНО! Соответственно не получил и Значение.
Для интереса делаю запрос к таблице НоменклатураДополнительныеРеквизиты - там есть записи с доп.реквизитом, делаю запрос к таблице
КонтрагентыДополнительныеРеквизиты - пусто!!! Хотя на форме элемента справочника Контрагенты этот реквизит есть и заполнен. Получается Доп.реквизиты именно для справочника Контрагенты не хранятся в табличной части Контрагенты.ДополнительныеРеквизиты... Тогда где их искать ?
6. polax 12.08.22 10:16 Сейчас в теме
(5)
СсылкаКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН","XXXXXXXXXX");
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаКонтрагентов");
ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит);

в третьей строке ничего не смущает?
Получаешь СсылкаКонтрагент, а ищешь в СсылкаНоменклатура
7. Azgerd 12.08.22 11:34 Сейчас в теме
(6)
в третьей строке ничего не смущает?
Получаешь СсылкаКонтрагент, а ищешь в СсылкаНоменклатура
Да здесь ошибся, но не в этом суть, после исправления все равно не заработало, а все потому, что при снятом флаге в настройке ERP "Независимо вести партнеров и контрагентов" = Ложь, доп.реквизиты, кот. ввели в справочнике контрагентов хранятся в табличной части доп.реквизитов справочника партнеров, а в табличной части доп.реквизитов контрагентов - пусто. По мне - так странноватое решение...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот