Не удалось получить наборы дополнительных реквизитов объекта

//////////////////////////////////////////////////////////////////////////////// // Подсистема «Свойства» // //////////////////////////////////////////////////////////////////////////////// #Область ПрограммныйИнтерфейс // Открывает форму редактирования набора дополнительных реквизитов. // // Параметры: // Форма — УправляемаяФорма, предварительно настроенная в процедуре. // УправлениеСвойствами.ПриСозданииНаСервере(). // Процедура РедактироватьСоставСвойств(Форма, Ссылка = Неопределено) Экспорт Наборы = Форма.Свойства_НаборыДополнительныхРеквизитовОбъекта; Если Наборы.Количество() = 0 ИЛИ НЕ ЗначениеЗаполнено(Наборы[0].Значение) Тогда ПоказатьПредупреждение(, НСтр(«ru = ‘Не удалось получить наборы дополнительных реквизитов объекта. | |Возможно у объекта не заполнены необходимые реквизиты.'»)); Иначе ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(«ПоказатьДополнительныеРеквизиты»); ОткрытьФорму(«Справочник.НаборыДополнительныхРеквизитовИСведений.ФормаСписка», ПараметрыФормы); ПараметрыПерехода = Новый Структура; ПараметрыПерехода.Вставить(«Набор», Наборы[0].Значение); ПараметрыПерехода.Вставить(«Свойство», Неопределено); ПараметрыПерехода.Вставить(«ЭтоДополнительноеСведение», Ложь); ДлинаНачала = СтрДлина(«ДополнительныйРеквизитЗначение_»); ЭтоПолеФормы = (ТипЗнч(Форма.ТекущийЭлемент) = Тип(«ПолеФормы»)); Если ЭтоПолеФормы И ВРег(Лев(Форма.ТекущийЭлемент.Имя, ДлинаНачала)) = ВРег(«ДополнительныйРеквизитЗначение_») Тогда ИдентификаторНабора = СтрЗаменить(Сред(Форма.ТекущийЭлемент.Имя, ДлинаНачала + 1, 36), «x»,«-«); ИдентификаторСвойства = СтрЗаменить(Сред(Форма.ТекущийЭлемент.Имя, ДлинаНачала + 38, 36), «x»,«-«); Если СтроковыеФункцииКлиентСервер.ЭтоУникальныйИдентификатор(НРег(ИдентификаторНабора)) Тогда ПараметрыПерехода.Вставить(«Набор», ИдентификаторНабора); КонецЕсли; Если СтроковыеФункцииКлиентСервер.ЭтоУникальныйИдентификатор(НРег(ИдентификаторСвойства)) Тогда ПараметрыПерехода.Вставить(«Свойство», ИдентификаторСвойства); КонецЕсли; КонецЕсли; Оповестить(«Переход_НаборыДополнительныхРеквизитовИСведений», ПараметрыПерехода); КонецЕсли; КонецПроцедуры // Определяет, что указанное событие — это событие об изменении набора свойств. // // Возвращаемое значение: // Булево — если Истина, тогда это оповещение об изменении набора свойств и // его нужно обработать в форме. // Функция ОбрабатыватьОповещения(Форма, ИмяСобытия, Параметр) Экспорт Если НЕ Форма.Свойства_ИспользоватьСвойства ИЛИ НЕ Форма.Свойства_ИспользоватьДопРеквизиты Тогда Возврат Ложь; КонецЕсли; Если ИмяСобытия = «Запись_НаборыДополнительныхРеквизитовИСведений» Тогда Если Не Параметр.Свойство(«Ссылка») Тогда Возврат Истина; Иначе Возврат Форма.Свойства_НаборыДополнительныхРеквизитовОбъекта.НайтиПоЗначению(Параметр.Ссылка) <> Неопределено; КонецЕсли; ИначеЕсли ИмяСобытия = «Запись_ДополнительныеРеквизитыИСведения» Тогда Если Форма.ПараметрыСвойств.Свойство(«ВыполненаОтложеннаяИнициализация») И Не Форма.ПараметрыСвойств.ВыполненаОтложеннаяИнициализация Или Не Параметр.Свойство(«Ссылка») Тогда Возврат Истина; Иначе Отбор = Новый Структура(«Свойство», Параметр.Ссылка); Возврат Форма.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(Отбор).Количество() > 0; КонецЕсли; КонецЕсли; Возврат Ложь; КонецФункции // Обновляет видимость, доступность и обязательность заполнения // дополнительных реквизитов. // // Параметры: // УправляемаяФорма — уже настроена в процедуре ПриСозданииНаСервере. // Процедура ОбновитьЗависимостиДополнительныхРеквизитов(Форма, Объект = Неопределено) Экспорт Если НЕ Форма.Свойства_ИспользоватьСвойства ИЛИ НЕ Форма.Свойства_ИспользоватьДопРеквизиты Тогда Возврат; КонецЕсли; Если Объект = Неопределено Тогда ОписаниеОбъекта = Форма.Объект; Иначе ОписаниеОбъекта = Объект; КонецЕсли; Для Каждого ОписаниеЗависимогоРеквизита Из Форма.Свойства_ОписаниеЗависимыхДополнительныхРеквизитов Цикл Если ОписаниеЗависимогоРеквизита.УсловиеДоступности <> Неопределено Тогда ЗначенияПараметров = ОписаниеЗависимогоРеквизита.УсловиеДоступности.ЗначенияПараметров; Результат = Вычислить(ОписаниеЗависимогоРеквизита.УсловиеДоступности.КодУсловия); Элемент = Форма.Элементы[ОписаниеЗависимогоРеквизита.ИмяРеквизитаЗначение]; Если Элемент.Доступность <> Результат Тогда Элемент.Доступность = Результат; КонецЕсли; КонецЕсли; Если ОписаниеЗависимогоРеквизита.УсловиеВидимости <> Неопределено Тогда ЗначенияПараметров = ОписаниеЗависимогоРеквизита.УсловиеВидимости.ЗначенияПараметров; Результат = Вычислить(ОписаниеЗависимогоРеквизита.УсловиеВидимости.КодУсловия); Элемент = Форма.Элементы[ОписаниеЗависимогоРеквизита.ИмяРеквизитаЗначение]; Если Элемент.Видимость <> Результат Тогда Элемент.Видимость = Результат; КонецЕсли; КонецЕсли; Если ОписаниеЗависимогоРеквизита.УсловиеОбязательностиЗаполнения <> Неопределено Тогда Если Не ОписаниеЗависимогоРеквизита.ЗаполнятьОбязательно Тогда Продолжить; КонецЕсли; ЗначенияПараметров = ОписаниеЗависимогоРеквизита.УсловиеОбязательностиЗаполнения.ЗначенияПараметров; Результат = Вычислить(ОписаниеЗависимогоРеквизита.УсловиеОбязательностиЗаполнения.КодУсловия); Элемент = Форма.Элементы[ОписаниеЗависимогоРеквизита.ИмяРеквизитаЗначение]; Если Элемент.АвтоОтметкаНезаполненного <> Результат Тогда Элемент.АвтоОтметкаНезаполненного = Результат; КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры // Проверяет наличие зависимых дополнительных реквизитов на форме // и, при необходимости, подключает обработчик ожидания проверки зависимостей реквизитов. // // Параметры: // УправляемаяФорма — уже настроена в процедуре ПриСозданииНаСервере. // Процедура ПослеЗагрузкиДополнительныхРеквизитов(Форма) Экспорт Если НЕ Форма.Свойства_ИспользоватьСвойства Или НЕ Форма.Свойства_ИспользоватьДопРеквизиты Тогда Возврат; КонецЕсли; Если Форма.Свойства_ОписаниеЗависимыхДополнительныхРеквизитов.Количество() > 0 Тогда Форма.ПодключитьОбработчикОжидания(«ОбновитьЗависимостиДополнительныхРеквизитов», 2); КонецЕсли; КонецПроцедуры #КонецОбласти

В данной заметке хотелось бы рассмотреть вопрос: Как загрузить дополнительные реквизиты номенклатуры при помощи обработки с диска ИТС «Загрузка данных из табличного документа (управляемые формы)»?

В качестве примера, будем использовать конфигурацию 1С:ERP Управление предприятием 2, аналогичным смособом можно будет загрузить в Управление торговлей 11 или любую другую, подобную конфигурацию.

Дополнительные реквизиты хранятся в табличной части «ДополнительныеРеквизиты» справочника «Номенклатура». Из обработки «Загрузка данных из табличного документа» можно добраться только к табличной части одной, выбранной номенклатуре, через тип данных «Позиция номенклатуры».

Позиция номенклатуры

Но такой способ нам не подходит, т.к. мы будем загружать дополнительные реквизиты для списка номенклатуры. Для примера загрузим одну номенклатуру и два ее дополнительных реквизита: «Формат» и «Толщина».

Загрузка из табличного документа

Настроим поиск номенклатуры по наименованию из колонки с номером один.

Настройка загрузки реквизитов

Теперь немного займемся программированием. Откроем событие «При записи объекта» и добавим туда следующий программный код:

Объект.ДополнительныеРеквизиты.Очистить(); // Предварительно удаляем все доп. реквизиты. Если не нужно — закомментировать.ДопСвойства = Новый Соответствие;
ДопСвойства.Вставить(«11», 91); // Наименование свойства, номер ячейки
ДопСвойства.Вставить(«АКЦИЯ», 92);
ДопСвойства.Вставить(«Размер,мм», 93);
ДопСвойства.Вставить(«Формат», 94);
ДопСвойства.Вставить(«Номер цвета», 95);
ДопСвойства.Вставить(«Цвет», 96);
ДопСвойства.Вставить(«шт./м2», 97);
ДопСвойства.Вставить(«шт. / палетта», 98);
ДопСвойства.Вставить(«вес, кг/шт.», 99);

Для Каждого

ЭлементДопСвойства Из ДопСвойства ЦиклТекСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ЭлементДопСвойства.Ключ + » (» + Объект.ВидНоменклатуры + «)», Ложь);
   
ТекЗначение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТекстыЯчеек[ЭлементДопСвойства.Значение], Ложь);
    Если Не
ЗначениеЗаполнено(ТекСвойство) Тогда
       
Сообщить(«Не удалось найти свойство: «»» + ЭлементДопСвойства.Ключ + » (» + Объект.ВидНоменклатуры + «)»»»);
        Продолжить;
    КонецЕсли;
    Если Не
ЗначениеЗаполнено(ТекЗначение) Тогда
       
Сообщить(«Создаем новое значение «»» + ТекстыЯчеек[ЭлементДопСвойства.Значение] + «»» для свойства «»» + ТекСвойство + «»»»);
       
НовоеЗначение = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
       
НовоеЗначение.Владелец = ТекСвойство;
       
НовоеЗначение.Наименование = ТекстыЯчеек[ЭлементДопСвойства.Значение];
       
НовоеЗначение.Записать();
       
ТекЗначение = НовоеЗначение.Ссылка;
    КонецЕсли;
МассивСтрок = Объект.ДополнительныеРеквизиты.НайтиСтроки(Новый Структура(«Свойство», ТекСвойство));
    Если
МассивСтрок.Количество() = 0 Тогда
       
ДопРеквизит = Объект.ДополнительныеРеквизиты.Добавить();
    Иначе
       
ДопРеквизит = МассивСтрок[0];
    КонецЕсли;
   
ДопРеквизит.Свойство = ТекСвойство;
   
ДопРеквизит.Значение = ТекЗначение;

КонецЦикла;

Объект.Записать();

В соответствие «ДопСвойста» нужно вставить столько записей, сколько требуется загрузить дополнительных реквизитов. В качестве ключа указываем текстовое наименование дополнительного реквизита, а в качестве значения — номе строки табличного документа, где это значение храниться.

Дополнительные реквизиты справочника характеристики не показываются на форме?

Я
   AnisaL

21.05.18 — 15:54

Добрый день!

Подскажите, пожалуйста, 1С Розница 2.2, создаю программно дополнительные реквизиты справочника характеристики, через Справочники.Характеристики.ДополнительныеРеквизиты, почему они не отображаются на форме элемента справочника Характеристики? Если доп реквизиты заполняю вручную через Предприятие, то они сохраняются на форме. Получается доп реквизиты в табличной части Характеристик есть, а на форме их нет?

ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект();                    

                    ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты;

                    СтрокаДопРеквизитов = ДопРеквизиты.Добавить();

                    СтрокаДопРеквизитов.Значение = Материал;

                    СтрокаДопРеквизитов.Свойство = ВидСвойства;

                    ОбъектХарактеристика.Записать();

  

Партнерская программа EFSOL Oblako

   DrShad

1 — 21.05.18 — 15:56

что-то не доделала

   AnisaL

2 — 21.05.18 — 15:57

(1) а что именно? уже второй день бьюсь с этими характеристиками..

   DrShad

3 — 21.05.18 — 15:58

свойство правильное?

   AnisaL

4 — 21.05.18 — 15:59

(3) свойство — да

   DrShad

5 — 21.05.18 — 15:59

пройтись отладчиком по вручную созданному документу и сравнить что там в ТЧ и что у вас

   AnisaL

6 — 21.05.18 — 15:59

(5)                     ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Материал»);

   AnisaL

7 — 21.05.18 — 16:00

(5) это не документ, а справочник, характеристики ном-ры

   AnisaL

8 — 21.05.18 — 16:00

(5) и у него есть табл часть Доп реквизиты

   Леха Дум

9 — 21.05.18 — 16:02

(0) Посмотри в справочник «Наборы дополнительных реквизитов и сведений». Кроме того, чтобы создать элемент в плане видов характеристик, нужно еще его и привязать к виду объектов

   AnisaL

10 — 21.05.18 — 16:09

(9) там заполнено все

   AnisaL

11 — 21.05.18 — 16:11

самое интересное, что прохожусь отладчиком, и вижу что таб часть заполнена, а на форме все равно нет

   AnisaL

12 — 21.05.18 — 16:16

А можно на самой форме заполнить как то эти доп реквизиты?

   AnisaL

13 — 21.05.18 — 16:16

(12) я имею в виду программно

   AnisaL

14 — 21.05.18 — 16:20

   Леха Дум

15 — 21.05.18 — 16:27

а заполняешь в какой момент? Когда форма открыта и командой из формы?

   Леха Дум

16 — 21.05.18 — 16:30

Я писал в свое время процедуру обновления реквизитов формы для БСП 2.1.9, код такой:

Функция УстановитьЗначениеДополнительногоРеквизитаВФорме(Форма, Свойство, Значение, Ошибка = «») Экспорт

    
    Попытка

        ТаблицаОписания = Форма.Свойства_ОписаниеДополнительныхРеквизитов;

    Исключение

        Ошибка = «Для данного типа объектов дополнительные реквизиты не подключены»;

        Возврат Ложь;

    КонецПопытки;

    
    СтрокиОписанияРеквизита = ТаблицаОписания.НайтиСтроки(Новый Структура(«Свойство», Свойство));

    Если СтрокиОписанияРеквизита.Количество() Тогда

        ИмяЭлементаФормы = СтрокиОписанияРеквизита[0].ИмяРеквизитаЗначение;

        
        Попытка

            Форма[ИмяЭлементаФормы] = Значение;

        Исключение

            Ошибка = «Невозможно установить в форме значение для указанного свойства»;

            Возврат Ложь;

        КонецПопытки;

        
        Форма.Модифицированность = Истина;

        
        Возврат Истина;

    Иначе

        Ошибка = «Для данного типа объектов указанное свойство не подключено»;

        Возврат Ложь;

    КонецЕсли;        

    
КонецФункции

Вызов процедуры следующий:

УправлениеСвойствамиПереопределяемый.УстановитьЗначениеДополнительногоРеквизитаВФорме(ЭтаФорма, ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ИмяРеквизита, ЗначениеРеквизита);

   AnisaL

17 — 21.05.18 — 16:33

(15) вот например, заполнила значение — Пластик у доп реквизита «Материал», и отладчиком посмотрела, как он записывается:

1 фото — как заполнила

2 фото — что видит отладчик у формы

http://www.fotolink.su/v.php?id=87ca6cc9c88d07634e2194b5600f89b9

http://www.fotolink.su/v.php?id=2ee80898f1a8590d39b02936b1476503

   AnisaL

18 — 21.05.18 — 16:35

(16) а функция где должна выполняться — на сервере или клиенте?

   AnisaL

19 — 21.05.18 — 16:37

(15) нет, заполняю вот так, не через форму:

        ОбъектХарактеристика = ЕстьХарактеристика.ПолучитьОбъект();                    

                    ДопРеквизиты = ОбъектХарактеристика.ДополнительныеРеквизиты;

                    СтрокаДопРеквизитов = ДопРеквизиты.Добавить();

                    СтрокаДопРеквизитов.Значение = Материал;

                    СтрокаДопРеквизитов.Свойство = ВидСвойства;

                    ОбъектХарактеристика.Записать();

   AnisaL

20 — 21.05.18 — 16:39

(15) форму вообще не могу получить, ошибку выдает:

{ВнешняяОбработка.ЗагрузкаДанныхИзТабличногоДокумента_УФ.Форма.Форма.Форма(891)}: Ошибка при установке значения атрибута контекста (Объект)

                    Объект = ЕстьХарактеристика.ПолучитьОбъект();

по причине:

Нельзя изменять поле, содержащее объект данных формы

   AnisaL

21 — 21.05.18 — 16:40

(15) вот пытаюсь форму получить:

Объект = ЕстьХарактеристика.ПолучитьОбъект();

                    ФормаЭлемента = Объект.ПолучитьФорму(«ФормаЭлемента»);

и ошибку выдает, как в предыдущем посте

   AnisaL

22 — 21.05.18 — 16:42

(16) а что получается, что можно только из самой формы вызвать процедуру?

   Леха Дум

23 — 21.05.18 — 17:23

(22) для процедуры форма — это один из параметров, а откуда вы его возьмете — процедуре все равно

   Вафель

24 — 21.05.18 — 17:53

в отладчике вид свойства чему равен.
Скорее всего нужно искать по полю «Заголовок» а не по наименованию

   AnisaL

25 — 21.05.18 — 18:33

(24)                     ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Материал»);

   AnisaL

26 — 21.05.18 — 18:34

(24) он его находит

   Вафель

27 — 21.05.18 — 18:35

(26) а точно с таким наименование только 1 свойство правильное?

   AnisaL

28 — 21.05.18 — 18:35

(27) да

   AnisaL

29 — 21.05.18 — 18:36

(23) в том то и дело, что я из внешней обработки не могу получить доступ к форме элемента справочника

   Вафель

30 — 21.05.18 — 18:37

(29) тогда все должно работать

   AnisaL

31 — 21.05.18 — 18:37

(29) а у меня не работает(

   Вафель

32 — 21.05.18 — 18:40

посмотри отладциком что после записи объекта там остается

   AnisaL

33 — 21.05.18 — 18:42

(32) в смысле в табличной части ДопРеквизиты ? там все записано, могу фото скинуть

  

AnisaL

34 — 21.05.18 — 21:17

(30) Ура, ура, ура! Нашла свою ошибку: я в значение доп реквизита записывала просто строку, а нужно было Справочник.ЗначенияСвойствОбъектов. Спасибо всем откликнувшимся, день прошел не зря! :)

вот здесь: СтрокаДопРеквизитов.Значение = Материал;

  1. Добрый день!
    Имеется УНФ 1С:Предприятие 8.3 (8.3.15.1489), необходимо создать печатную форму для документа «Заказ на производство», причем в документ добавлен дополнительный реквизит с наименованием «Места выдачи». Проблема в том, что
    не могу получить значение дополнительного реквизита. Делаю так:

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Места выдачи»);
    Значение = СсылкаНаОбъект.ДополнительныеРеквизиты.Найти(ДопСвойство);
    ОбластьШапки.Параметры.МестаВыдачи = Значение;

    В результате получаю пустое поле (ошибок не выдается). Что здесь не так?


  2. 1cUserAndrew

    Offline

    1cUserAndrew
    Профессионал в 1С
    Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104

    Попробуйте так:

    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
  3. Большое спасибо! Сработало!

  4. Столкнулся с неожиданной проблемой:
    Имеется три дополнительных реквизита, все три пытаюсь выводить так:

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Дополнительный реквизит1»);
    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект, ДопСвойство);
    ОбластьШапки.Параметры.ТипКлиента = Значение;

    В результате Дополнительный реквизит1 и Дополнительный реквизит2 выводятся нормально, а вместо значения Дополнительный реквизит3 — пустое поле. Что может быть не так с третьим реквизитом? Может быть дело в том, что первые два реквизита относятся к документу, для которого делается печатная форма, а третий к справочнику Контрагенты?


  5. 1cUserAndrew

    Offline

    1cUserAndrew
    Профессионал в 1С
    Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104

    Ну да, в параметр СсылкаНаОбъект нужно передавать владельца доп.свойства.
    В третьем случае, получается, что нужно передавать не документ, а контрагента.

  6. Не совсем понял: из документа «Заказы на производство» единственный путь добраться до справочника Контрагенты через поле «Заказ покупателя», т.е. так СсылкаНаОбъект.ЗаказПокупателя.Контрагент, пробовал так:

    Значение = УправлениеСвойствами.ЗначениеСвойства(СсылкаНаОбъект.ЗаказПокупателя.Контрагент, ДопСвойство);

    — безрезультатно.


  7. 1cUserAndrew

    Offline

    1cUserAndrew
    Профессионал в 1С
    Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    5.153
    Симпатии:
    217
    Баллы:
    104

    Точнее, к сожалению, не могу сказать. Нужно разбираться с конкретным случаем.
    В общем случае, судя по описанию, вроде, все верно.

  8. Помогла статья http://1c-bezproblem.ru/blog/v-pomo…polnitelnye-rekvizity-v-1c-8-3-na-primere-unf . Работоспособным оказался следующий код:

    ЗакКонтрагент = СсылкаНаОбъект.ЗаказПокупателя.Контрагент;

    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(«Тип клиента (Контрагенты)»);
    Значение = ЗакКонтрагент.ДополнительныеРеквизиты.Найти(ДопСвойство).Значение;


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Дополнительный реквизит не появляется в отборах

Автор Gennadiyy, 22 янв 2018, 14:50

0 Пользователей и 1 гость просматривают эту тему.

Здравствуйте! Добавил доп реквизит в номенклатуру, но данный реквизит по какой то причине не отображается в отборах в отчетах, другие доп реквизиты отображаются… Как я добавлял: В Элементе справочника «Виды номенклатуры» на закладке доп реквизиты добавил реквизит, теперь данный реквизит отображается в самой номенклатуре с данным видом, но не отображается в отборах, другие реквизиты я посмотрел, они так же были добавлены в видах ремонта и отображаются, что я мог упустить? Конфигурация ERP: 2.2.4.67


Цитата: Gennadiyy от 22 янв 2018, 14:50
Здравствуйте! Добавил доп реквизит в номенклатуру, но данный реквизит по какой то причине не отображается в отборах в отчетах, другие доп реквизиты отображаются… Как я добавлял: В Элементе справочника «Виды номенклатуры» на закладке доп реквизиты добавил реквизит, теперь данный реквизит отображается в самой номенклатуре с данным видом, но не отображается в отборах,

в отборах — чего?
по чем?
в чем?


А в форме отчетов выведен данный реквизит в списке показателей?


Цитата: kiksi от 24 янв 2018, 13:29
А в форме отчетов выведен данный реквизит в списке показателей?

Нет, но он должен отображаться в списке доступных реквизитов для отбора как в отчетах, так и, например в форме списка номенклатуры для отбора по свойствам, но он не отображается, главное в форме списка номенклатуры данное свойство видно, но при попытке поставить флаг напротив данного свойства — выскакивает ошибка «Поле не найдено «Ссылка[Наименование свойства]»» без ссылки на какой либо модуль, просто ошибка и всё, даже в журнале регистрации ничего по данной ошибке нет.

Добавлено: 25 янв 2018, 08:21


Цитата: Геннадий ОбьГЭС от 24 янв 2018, 13:10

Цитата: Gennadiyy от 22 янв 2018, 14:50
Здравствуйте! Добавил доп реквизит в номенклатуру, но данный реквизит по какой то причине не отображается в отборах в отчетах, другие доп реквизиты отображаются… Как я добавлял: В Элементе справочника «Виды номенклатуры» на закладке доп реквизиты добавил реквизит, теперь данный реквизит отображается в самой номенклатуре с данным видом, но не отображается в отборах,

в отборах — чего?
по чем?
в чем?

Когда добавляем новый доп. реквизит, то он должен отображаться в списке доступных реквизитов для отбора в отчетах/в формах списка, но у меня почему то не отображается. Отображается только в форме списка, но при попытке поставить флаг напротив свойства — выскакивает ошибка «Поле не найдено «Ссылка[Наименование свойства]»». Попробовал обновить до последнего релиза — ошибка пропала, но дело в том, что в последнем релизе не работает выгрузка на сайт (не выпустили еще обновление для битрикса), пробовал сравнивать обновленный конфигуратор и необновленный — никаких изменений в наборах доп. свойств и в значениях свойств нет. Сейчас попытаюсь скачать бсп и сравнить.


Проверьте корректность свойств реквизита. Может действительно обновление поможет, если все корректно


Цитата: kiksi от 25 янв 2018, 08:37
Проверьте корректность свойств реквизита. Может действительно обновление поможет, если все корректно

Всё корректно, обновление то помогает, но обновление нельзя пока что на рабочую ставить, так как обновление для выгрузки в битрикс еще не выпустили. В обновленной все хорошо работает, пробовал сравнивать с обновленной — никаких изменений в доп реквизитах нет, вот сейчас попытаюсь сравнить с бсп.


Теги:

  • Форум 1С

  • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

  • Конфигурирование, программирование в 1С Предприятие 8

  • Дополнительный реквизит не появляется в отборах

Похожие темы (5)

Рейтинг@Mail.ru

Rambler's Top100

Поиск

В новых редакциях программ 1С была существенно усовершенствована подсистема дополнительных реквизитов Дополнительные реквизиты и сведения. Эта подсистема дает возможность пользователю самим добавлять реквизиты и сведения к объектам программы не прибегая к помощи программиста.

Содержание

  • Дополнительные реквизиты и сведения в 1С
  • Настройка подсистемы Дополнительные реквизиты и дополнительные сведения на примере 1С 8.3 Бухгалтерия 3.0
    • Добавление дополнительных реквизитов
    • Добавление дополнительных сведений к форме

Дополнительные реквизиты являются неотъемлемой часть справочника, хранятся в самом объекте и отображаются на его форме. С их помощью описываются свойства объекта. После их настройки они появляются на форме объекта и становятся доступны для заполнения. Они доступны тем же пользователям, которым доступен и сам объект. Дополнительные реквизиты лучше использовать для отражения общедоступной информации.

Дополнительные сведения — не видны всем, они  хранятся в регистре сведений и доступны по команде из элемента  справочника или документа. Они вводятся в отдельном окне Дополнительные сведения, а также в формах списков документов и справочников и могут быть доступны для просмотра пользователям, доступ которым к объекту закрыт.

Настройка подсистемы Дополнительные реквизиты и дополнительные сведения на примере 1С 8.3 Бухгалтерия 3.0

Включить возможность создавать дополнительные реквизиты и сведения и настроить их можно в разделе Администрирование — Общие настройки. Для этого в подразделе Дополнительные реквизиты и сведения установите галочки, разрешающие добавлять эти элементы.

Добавление дополнительных реквизитов

Для добавления и настройки дополнительных реквизитов в 1С 8.3 перейдем по ссылке Дополнительные реквизиты. В окне перечислены объекты, к которым можем добавить реквизиты.

Для примера, создадим несколько дополнительных реквизитов к справочнику Номенклатура. Выберем элемент, к которому будем создавать реквизит (в нашем примере Номенклатура) и нажмем кнопку Добавить — Новый.

Для примера создадим Дополнительный реквизит, значения которого будут заданы и их необходимо будет выбрать из списка. Назовем его Доп. реквизит 1 (выбор значения). В открывшейся форме зададим его Наименование, Тип значения оставляем Дополнительный реквизит. При желании можно установить флажок Выводить в виде гиперссылки, соответственно в форме элемента данное поле будет представлено в виде гиперссылки. Настраиваем видимость, доступность и обязательность заполнения и по желанию заполнить следующие поля.

На вкладке Значения можем перечислить значения нашего реквизита, при этом значения можно объединять в группы. Например, Значение доп. реквизита 1, значение доп. реквизита 2, значение доп. реквизита 3.

Нажимаем Записать и закрыть и также сохраняем наш созданный реквизит.

Создадим еще один реквизит, назовем его Доп. реквизит — 2 (установка галочки). Для добавления реквизита галочка, флажок установим Тип реквизита Булево. При смене реквизита меняются настройки формы. В данном случае нам предлагается установить настройки видимости и доступности, установить всплывающую подсказку.

Сохраняем реквизит, нажав кнопку Записать и закрыть.

Введем для примера еще один реквизит с Типом значения Строка (назовем его для примера Доп. реквизит — 3 (текст)).

Все настройки интуитивно понятны.

Так, при создании дополнительных реквизитов в 1С, при выборе Тип значения реквизита, мы можем использовать разные варианты и в зависимости от его выбора немного меняется настройка создаваемого реквизита.

Итак, мы создали три дополнительных реквизита к справочнику Номенклатура.

Посмотрим, как они отобразятся в форме элемента справочника. Откроем элемент справочника Номенклатура и зайдем в раздел Дополнительные реквизиты, внизу формы.

Мы видим, три наших добавленных реквизита. В первом реквизите — поле с кнопкой выбора значений, во втором — возможность установить галочку, в третьем — обычное текстовое поле и наши всплывающие подсказки, которые прописали в настройках.

При выборе значений первого реквизита, нажав кнопку Показать все, видим введенные нами его значения дополнительного реквизита. При этом, с помощью кнопки Создать можем эти значения добавлять непосредственно при работе со справочником.

Добавление дополнительных сведений к форме

Рассмотрим пример добавления дополнительных сведений в 1С 8.3. Для этого перейдем по ссылке Дополнительные сведения, в разделе Администрирование — Общие настройки — Дополнительные реквизиты и сведения. Выберем элемент для добавления сведений и нажимаем кнопку Создать — Новое.

Новый объект в предложенный список ввести нельзя. В списке отражены все документы и часть справочников, для которых можно добавить Дополнительные сведения. Дополнительные реквизиты можно добавить лишь к справочникам.

Добавление и настройка дополнительных сведений в 1С производится аналогично дополнительным реквизитам.

Для примера создадим одно дополнительное сведение для справочника Сотрудники, где выбор будет производится из справочника Физические лица, для указания лица, которому подчиняется данный сотрудник (назовем его просто Дополнительные сведения).

Откроем справочник Сотрудники и проверим добавление сведений. Эта информация скрыта из формы элемента и открывается нажатием кнопки Еще — Дополнительные сведения.

Выбрав этот пункт, мы можем добавить дополнительные сведения для данного элемента справочника, в данном примере выбрав из справочника Физические лица.

Аналогично можно добавить Дополнительные сведения и к документам. Окно ввода дополнительных сведений также будет доступно в кнопке Еще — Дополнительные сведения документа.

Данная команда доступна как из самого документа, так и из журнала документов.

См. также:

  • Печать ценников в 1С
  • Очистка кэш 1С 8.3
  • Журнал регистрации в 1С 8.3
  • Как сделать копию базы 1С 8.3
  • Загрузка из Excel в 1С 8.3
  • Как выгрузить документ, отчет из 1С 8.3 в Excel

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

В УТ 11.0.9.8 при настройках отчётов пропала возможность работать с дополнительными реквизитами номенклатуры, которые я настраивал. Т.е. в видах номенклатуры доп.реквизиты указаны, в карточках товаров вся информация осталась (не зачёркнута). А в отчётах при произвольной настройке из реквизитов номенклатуры все доп.реквизиты исчезли. Скорее всего это произошло после настройки обмена с Розницей 2.0. Вроде справочник настроек доп.реквизитов сопоставился нормально, в плане видов характеристик визуально тоже всё ОК. Думаю, отладчик мне тут не поможет. Подскажите, пожалуйста, в чём м.б. дело?

Что подразумеваешь под доп. реквезитами? Свойства?

То, что можно добавить в разделе «Доп.реквизиты» вида номенклатуры.

В отчете стоит галка «Использовать свойства и категории»?

Гм… А где в УТ 11 в типовых отчётах такая галка?

У меня конфигурация локализованая от Российской УТ, может конечно у тебя этой галки и нет.

Кажется заработало. Заметил, что в справочнике наборов доп.реквизитов в папке для серий продублировались наборы номенклатуры, но с суффиксом «для серий». Включил в настройках использование серий и ОК.

По-моему, это в 10.3 было.

Чудеса продолжаются. Доп.реквизиты опять пропали из списка всех реквизитов номенклатуры. И теперь галка с сериями уже не помогает…

Похоже в этом механизме полно ошибок…

Сохранил первый попавшийся элемент справочника наборов доп.реквизитов и всё восстановилось. Но надолго ли?

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Понравилась статья? Поделить с друзьями:
  • Не является обязательным реквизитам бухгалтерских документов
  • Неверно что к элементам успешной бизнес модели можно отнести
  • Невская техническая компания санкт петербург измайловский 29
  • Невская торговая компания санкт петербург отзывы сотрудников
  • Кто оформляет ттн при перевозке груза транспортной компанией