|
1С ERP 2.4 Как найти доп. реквизит контрагента ? | ☑ | ||
---|---|---|---|---|
0
Azgerd
11.08.22
✎
09:31
|
Здравствуйте! Конфигурация 1С ERP 2.4 . В настройках CRM и маркетинг снят флаг с пункта "Независимо вести партнёров и контрагентов" . Появилась необходимость добавить дополнительный реквизит к справочнику контрагентов. В подсистеме "НСИ и администрирование" - "Общие настройки" установил флаг "Дополнительные реквизиты и сведения", перешёл по гиперссылке "Дополнительные реквизиты", в дереве нашёл раздел "Контрагенты" и добавил новый реквизит. Захожу в справочник контрагентов, на вкладке "Дополнительно" этого нового реквизита нет. По кнопке "Ещё" перехожу в раздел "Изменить состав дополнительных реквизитов" - перехожу на дерево разделов "Партнеры" - "Общие" (для меня было неожиданно, что по-умолчанию из справочника "Контрагенты" я попал в раздел "Партнеры" - "Общие", а не в раздел "Контрагенты"), нажал "Добавить" выбрал меню "Из другого набора" и скопировал реквизит из набора "Контрагенты" в набор "Партнеры" - "Общие".
В справочнике "Контрагенты" на вкладке "Дополнительно" появился этот реквизит. Необходимо через внешнюю обработку читать и изменять этот реквизит. В пользовательском режиме, в консоле запросов пытаюсь найти, где хранятся значения эт ого реквизита. Сделал запрос к табличной части КонтрагентыДополнительныеРеквизиты - пусто! Попробовал сделать запрос на Табличную часть справочника "Партнёры" ПартнерыДополнительныеРеквизиты - тоже пусто... Подскажите в какой таблице искать значения этого доп. реквизита ? |
|||
1
Timon1405
11.08.22
✎
09:46
|
>>Сделал запрос к табличной части КонтрагентыДополнительныеРеквизиты - пусто!
и будет пусто пока не заведёте значение реквизита хотя бы в одном контрагенте |
|||
2
delgadoo
11.08.22
✎
09:49
|
(0) вы же не указали значение в добавленном реквизите контрагента, поэтому при чтении табличной части у вас ничего нет.
Свойство - это ПВХ "Дополнительные реквизиты и сведения", значение - справочник "Дополнительные значения". Используя эти метаданные добавляйте строки программно. |
|||
3
Azgerd
11.08.22
✎
09:52
|
(1) Значения в доп. реквизите есть, по некоторым контрагентам значения доп.реквизита заполнены.
|
|||
4
shuhard
11.08.22
✎
10:04
|
(3) и в ЖР ни чего нет ?
|
|||
5
Azgerd
11.08.22
✎
10:05
|
(2) Значение доп.реквизитов хранятся в регистре сведений "ДополнительныеСведения" В котором измерение "Объект" - (составной тип) , в кот. в моём случае элемент справочника Контрагент, измерение "Свойство" тип - ПВХ (сам доп. ревизит) и ресурс "Значение". Например у доп. реквизита значение булево, как в запросе отобрать контрагентов, у которых значение доп. реквизита = Истина ?
|
|||
6
Azgerd
11.08.22
✎
10:06
|
(4) ЖР - журнал регистрации ? А он здесь причем ?
|
|||
7
delgadoo
11.08.22
✎
10:26
|
(5)
# ВЫБРАТЬ ДополнительныеСведения.Объект КАК Объект ИЗ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения ГДЕ ДополнительныеСведения.Свойство = &ВашеСвойство И ДополнительныеСведения.Значение = ИСТИНА # как вариант у "ВашеСвойство" (свойство ПВХ) есть реквизит "Имя", можно свойство находить исходя из значения данного реквизита. # ГДЕ ДополнительныеСведения.Свойство.Имя = "ИмяСвойства" # |
|||
8
Azgerd
11.08.22
✎
10:36
|
(7) Спасибо !
|
|||
9
Timon1405
11.08.22
✎
10:41
|
(5) значения доп. реквизитов хранятся в ТЧ объекта, а значения доп. свойств в РС
чтобы получить свойство изучите функцию, там например есть "разрешенные" в запросе, про которое часто забывают УправлениеСвойствами.ЗначениеСвойства(Объект, Свойство, КодЯзыка = "") и подумайте как ее применить к нескольким объектам |
|||
10
Azgerd
12.08.22
✎
10:13
|
Все же не могу добраться к значению доп. реквизита контрагента... Есть подозрение, что это связанно с особенностями 1C ERP. Для проверки создал доп. реквизит для Номенклатуры, с именем ВыгрузкаНоменклатуры - тип булево. На форме справочника этот реквизит появился,
выполнил код СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду("00-00009665"); ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаНоменклатуры"); ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит); Значение = ТаблицаЗначение.Значение; Значение получил, все прекрасно! Делаю тоже самое для справочника Контрагенты СсылкаКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН","XXXXXXXXXX"); ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаКонтрагентов"); ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит); Значение = ТаблицаЗначение.Значение; СсылкаКонтрагент - получил нужного контрагента, ДопРеквизит - нашелся, ТаблицаЗначение - НЕОПРЕДЕЛЕНО! Соответственно не получил и Значение. Для интереса делаю запрос к таблице НоменклатураДополнительныеРеквизиты - там есть записи с доп.реквизитом, делаю запрос к таблице КонтрагентыДополнительныеРеквизиты - пусто!!! Хотя на форме элемента справочника Контрагенты этот реквизит есть и заполнен. Получается Доп.реквизиты именно для справочника Контрагенты не хранятся в табличной части Контрагенты.ДополнительныеРеквизиты... Тогда где их искать ? |
|||
11
rsv
12.08.22
✎
10:35
|
(10) в бухии как в (9) . Работает. Реквизиты в табличной части , свойства в регистре.
|
|||
12
Azgerd
12.08.22
✎
11:36
|
Вроде докопался...При снятом флаге в настройке ERP "Независимо вести партнеров и контрагентов" = Ложь, доп.реквизиты, кот. ввели в справочнике контрагентов хранятся в табличной части доп.реквизитов справочника партнеров, а в табличной части доп.реквизитов контрагентов - пусто.
|
|||
13
AlvlSpb
12.08.22
✎
11:52
|
(10) СсылкаКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН","XXXXXXXXXX");
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВыгрузкаКонтрагентов"); ТаблицаЗначение = СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит); Значение = ТаблицаЗначение.Значение; ТабюлицаЗначение по контрагенту пытаешься получить из таб ДополнительныеРеквизиты справочника номенклатура (СсылкаНоменклатура.ДополнительныеРеквизиты.Найти(ДопРеквизит)). естественно там нет такого реквизита |
|||
14
Azgerd
12.08.22
✎
13:29
|
(13) Да это была ошибка, но дело не в этом, см (12)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |