1с дополнительные реквизиты весовой коэффициент

Дополнительные реквизиты в 1С Управление Нашей Фирмой

grafic1.jpg

Видеоинструкция к этой статье https://youtu.be/f9Q8398SjE4

В 1С Управление Нашей Фирмой есть возможность создавать дополнительные реквизиты — поля и справочники для ввода данных без программиста. Ссылки на добавление реквизитов есть во многих карточках и документах — карточка контрагента, карточка номенклатуры, заказ покупателя и т. п.

Дополнительные реквизиты могут использоваться в вспомогательных целях, таких как переменные в формулах динамических спецификаций.

Возможность использовать доп. реквизиты в 1С Управление Нашей Фирмой включается при установке программы, но если у вас эта функция отсутствует, то включить ее можно в разделе «Настройки» по ссылке «Общие настройки»

Рис 1. Включение модуля Дополнительных реквизитов в 1С Управление Нашей Фирмой


Рис 1. Включение модуля Дополнительных реквизитов в 1С Управление Нашей Фирмой

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

Рис 2. Журнал Дополнительные реквизиты в 1С Управление Нашей Фирмой


Рис 2. Журнал Дополнительные реквизиты в 1С Управление Нашей Фирмой

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

Для добавления реквизита необходимо нажать на кнопку «Добавить» и выбрать один из двух вариантов — «Новый» и «Из другого набора»

Рис 3. Кнопка добавить в журнале Дополнительные реквизиты в 1С Управление Нашей Фирмой

Рис 3. Кнопка «Добавить» в журнале Дополнительные реквизиты в 1С Управление Нашей Фирмой

Начнем обзор с создания нового реквизита.

1. Создание нового реквизита

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

Откроется карточка создания Дополнительного реквизита.

Рис 4. Карточка создания Дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 4. Карточка создания Дополнительного реквизита в 1С Управление Нашей Фирмой

Поле «Наименование»

В первую очередь необходимо заполнить поле «Наименование» — наименование реквизита должно четко его идентифицировать, так как на его основании будет заполнено поле «Идентификатор для формул» и поле «Имя» в блоке «Для разработчиков», которое используется для программного обращения к данному реквизиту.

Поле «Тип значения»

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

Рис 5. Карточка выбора Типов значений карточки Дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 5. Карточка выбора Типов значений карточки Дополнительного реквизита в 1С Управление Нашей Фирмой

Часть элементов справочника «Типы значений» понятна большинству пользователей — Дата, Валюта и т. п., а часть значений будет понятна специалистам или опытным пользователям — рассмотрим эти значения подробно с примерами использования доп. реквизитов в карточке номенклатуры.

Типы значений дополнительных реквизитов в 1С: Управление Нашей Фирмой
1)Булево

Булево — имеет только 2 значения: да/нет, истина/ложь и т. п.

Рис 6. Вариант карточки Дополнительного реквизита при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 6. Вариант карточки Дополнительного реквизита при выборе типа значений Булево в 1С Управление Нашей Фирмой

В карточке Номенклатуры этот тип данных может выглядеть как Чек-бокс с галочкой.

Рис 7. Вариант карточки Номенклатуры при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 7. Вариант карточки Номенклатуры при выборе типа значений Булево в 1С Управление Нашей Фирмой.

Мы можем изменить формат отображения нажав на ссылку «Формат по умолчанию» в карточке доп. реквизита справа от поля «Тип значения»

Рис 8. Конструктор форматной строки при выборе типа значений Булево в 1С Управление Нашей Фирмой

Рис 8. Конструктор форматной строки при выборе типа значений Булево в 1С Управление Нашей Фирмой.

Клик по ссылке откроет форму «Конструктор форматной строки». В ней нам нужен список из двух значений «Представление значения булево Ложь» и «Представление значения булево Истина» — если галочки перед строками снять, то останется первый вариант с чек-боксом.

В поле со значениями мы можем выбрать из трех вариантов Ложь/Истина, Да/Нет, Выключено/Включено или ввести собственное значение как в примере (см. Рис. 11).

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

Рис 9. Дополнительный реквизит с типом Булево с собственными значениями в карточке номенклатуры в 1С Управление Нашей Фирмой


Рис 9. Дополнительный реквизит с типом Булево с собственными значениями в карточке номенклатуры в 1С Управление Нашей Фирмой.

2)Строка

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

При выборе Типа значения в форме «Редактирование типа данных» в нижней части формы в зависимости от типа данных появляются дополнительные настройки.

Рис 10. Настройки отображения данных дополнительных реквизитов в 1С Управление Нашей Фирмой


Рис 10. Настройки отображения данных дополнительных реквизитов в 1С Управление Нашей Фирмой.

В типе значений «Строка» в нижней части расположены настройки длины строки: Длина — количество символов, Вариант изменения длины строки — «Переменная» (в зависимости от количества введенных символов) и «Фиксированная», а также чек-бокс для галочки «Неограниченная» — снимает все ограничения по количеству вводимых символов.

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

Рис 11. Дополнительные параметры Дополнительных реквизитов с типом Строка в 1С Управление Нашей Фирмой


Рис 11. Дополнительные параметры Дополнительных реквизитов с типом Строка в 1С Управление Нашей Фирмой.

3)Дополнительное значение

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

Рис 12. Создание Дополнительного реквизита с типом значения Дополнительное в 1С Управление Нашей Фирмой

Рис 12. Создание Дополнительного реквизита с типом значения Дополнительное в 1С Управление Нашей Фирмой.

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

Вариант без галочки:

Рис 13. Дополнительный реквизит с типом значения Дополнительное в 1С Управление Нашей Фирмой


Рис 13. Дополнительный реквизит с типом значения Дополнительное в карточке номенклатуры в 1С Управление Нашей Фирмой.

Для выбора значения нажимаем на стрелочку в правой части поля и появляется форма значения, в которой переходим по ссылке «Показать все» или «+(создать)».

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

Рис 14. Гиперссылка дополнительного реквизита в карточке номенклатуры в 1С Управление Нашей Фирмой


Рис 14. Гиперссылка дополнительного реквизита в карточке номенклатуры в 1С Управление Нашей Фирмой.

Ниже выбора варианта отображения, располагается табличная форма с двумя вкладками — «Главное» и «Значения».

Во вкладке «Главное» заполняем поля по необходимости — более подробно рассмотрим поля ниже.

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

Рис 15. Вкладка Значения в карточке дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 15. Вкладка «Значения» в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Значения можно ввести в этой вкладке с помощью кнопки «Создать» или после в процессе работы, как показано на Рис. 13.

Кнопка «Еще» раскрывает список дополнительных действий по управлению списком.

Рис 16. Список действий кнопки Еще вкладки Значения карточки дополнительного реквизита в 1С Управление Нашей Фирмой.


Рис 16. Список действий кнопки «Еще» во вкладки «Значения» карточки дополнительного реквизита в 1С Управление Нашей Фирмой.

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

Рис 17. Весовые коэффициенты значений в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Рис 17. Весовые коэффициенты значений в карточке дополнительного реквизита в 1С Управление Нашей Фирмой.

Значения можно сгруппировать — кнопка «Создать группу» позволяет создавать группы (папки) значений.

4)Число

Этот тип значений ограничен только числовыми значениями.

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

Рис 18. Настройки дополнительного реквизита при выборе типа значений в 1С Управление Нашей Фирмой.

Рис 18. Настройки дополнительного реквизита при выборе типа значений в 1С Управление Нашей Фирмой.

Остальные Типы значений и их настройка более понятны пользователям и не имеют дополнительных настроек поэтому не будем их рассматривать.

Рассмотрим остальные элементы карточки «Дополнительный реквизит» общие для всех типов.

5)Составной тип данных

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

После установки галочки в чек-боксе «Составной тип данных» в списке появляется возможность выбора нескольких значений — например:

В заказе покупателя вы хотите отобразить Агента, человека, который нашел данный заказ -сторонний человек или сотрудник предприятия.

Создаем дополнительный реквизит с названием «Агент». А при выборе типа значений устанавливаем галочки: «Составной тип данных», «Контрагент», «Сотрудник».

Рис 19. Составной тип данных дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 19. Составной тип данных дополнительного реквизита в 1С Управление Нашей Фирмой.

В Заказе покупателя находим созданный реквизит «Агент» и нажимаем на три точки в правой части поля и, в открывшейся форме, нажимаем на нужный тип данных — Сотрудник или Контрагент

Рис 20. Поле с составным дополнительным реквизитом в 1С Управление Нашей Фирмой


Рис 20. Поле с составным дополнительным реквизитом в 1С Управление Нашей Фирмой.

Выбор поля дает доступ к нужному справочнику «Контрагенты» или «Сотрудники».

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

Ссылка «Виден»

Позволяет настроить видимость реквизита в зависимости от настроенных условий.

Например:

У товара, в редких случаях, кроме основного цвета могут быть элементы с другим цветом.

Создаем два дополнительных реквизита — один реквизит с типом «Булево», а второй с типом «Строка».

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

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

Рис 21. Настройка условий видимости дополнительного реквизита в 1С Управление Нашей Фирмой


Рис 21. Настройка условий видимости дополнительного реквизита в 1С Управление Нашей Фирмой.

  • «Вид сравнения» — двойной клик откроет список выбора вида сравнения — равно, не равно, заполнено, не заполнено и т. п.

  • «Значение» — двойной клик откроет список значений выбранного реквизита, выбираем кликом нужное значение

В примере у нас получилось условие: Если в реквизите «Дополнительный цвет» установлена галочка, то реквизит «дополнительная гамма цветов» становится виден.

Рис 22. Видимость дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 22. Видимость дополнительного реквизита в 1С Управление Нашей Фирмой.

Ссылка «Доступен»

Эта ссылка позволяет настроить доступность реквизита, также, как ссылка «Виден», но в отличии от нее реквизит виден всегда, но активен при определенном условии.

Чек-бокс (Галочка) «Заполнять обязательно»

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

Поле «Идентификатор для формул»

Заполняется автоматически, но возможна ручная корректировка.

Рис 23. Карточка дополнительного реквизита 1С Управление Нашей Фирмой


Рис 23. Карточка дополнительного реквизита 1С Управление Нашей Фирмой.

С права от поля расположена кнопка со стрелкой для перезаполнения поля на основании строки «Наименование».

Поле «Всплывающая подсказка»

Это поле позволяет выводить нужную информацию — наименование или инструкцию по заполнению реквизита, которая будет появляться при наведении на реквизит.

Поле «Комментарий»

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

На этом обзор работы с новой карточкой «Дополнительный реквизит» заканчиваем и переходим к рассмотрению копирования дополнительных реквизитов.

2. Копирование реквизита «Из другого набора»


В журнале «Дополнительные реквизиты» нажимаем кнопку «Добавить» и выбираем второй вариант — «Из другого набора».

 Откроется форма «Добавление дополнительного реквизита»

Рис 24. Добавление Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой


Рис 24. Добавление Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой

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

— «Тип значения» — показывает, какого типа значения присутствуют в выбранном варианте,

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

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

Заполнили поля и нажимаем в нижнем правом углу желтую кнопку «Далее».

Откроется новая страница с выбором варианта добавления реквизита

Рис 25. Выбор варианта добавления Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой


Р
ис 25. Выбор варианта добавления Дополнительного реквизита из другого набора в 1С Управление Нашей Фирмой

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

Рис 26. Разделение общего Дополнительного реквизита в 1С Управление Нашей Фирмой

Рис 26. Разделение общего Дополнительного реквизита в 1С Управление Нашей Фирмой

При нажатии на ссылку откроется список групп реквизитов, в которых присутствует этот реквизит.

Для разделения реквизитов в самостоятельные параметры необходимо нажать кнопку «Изменить» справа от ссылки. В открывшейся форме необходимо выбрать один из двух вариантов: «Реквизит со своим списком значений» или «Общий реквизит» — в первом варианте будет полное разделение реквизитов на самостоятельные единицы, а во втором случае все останется так как есть.

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

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

Вариант разделения аналогично с предыдущим вариантом, но ссылка и кнопка изменить есть только во вкладке «Значения».

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

Выбираем вариант копирования и нажимаем на кнопку «Далее» в нижнем правом углу.

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

На этом обзор Дополнительных реквизитов заканчиваем.

Если остались вопросы пишите нам на почту mail@rps-1c.ru или звоните на телефон(он же WhatsApp) +7-923-158-67-74

Аренда 1С: УНФ в облачном сервисе 1С: Фреш — https://rps-1c.ru/content/published/1cfresh/1с-fresh/

Протестируйте 1С Управление Нашей Фирмой бесплатно 30 дней — https://rps-1c.ru/1capp/arenda_fresh.html

Обсуждение (9)

  1. Здравствуйте! Не совсем поняла, что нужно сделать. Можно на примере, пожалуйста.
    Вы хотите вносить значение доп. реквизита в документе? Значение может меняться. Вы бы хотели хранить историю изменения? Сразу скажу, что ничего из этого нельзя делать типовыми средствами. Значения доп. реквизитов и сведений регистрируется в форме объекта, и нельзя это сделать списочно. История изменения не хранится, когда изменили, прежнее значение затирается.

  2. Юлия, добрый день. Менять ничего не надо. История соответственно не нужна. Доп. реквизит или сведения, без разницы. Нужно внести список сотрудников (их количество может быть разным) и по ним указать соответствующие числовые значения.

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

      А для какой цели Вы собираетесь использовать эти значения. Может быть это не реквизит вовсе, а показатель?

  3. Юлия, спасибо. Пока решили задачу другим способом. Попроще. Но на будущее интересно, т.к. идея эта периодически возникает. Смысл такой — документ премия, вводится суммой на несколько сотрудников. Схема начисления сложная, с присутствием субъективного мнения руководителя и соответственно пока не вижу как можно её начисление реализовать в программе. Но есть один базовый показатель, объем упакованной продукции, который хотелось бы справочно указать в доп сведениях или реквизитах, соответственно на каждого премированного сотрудника. Есть варианты?

    1. Объем упакованной продукции — будет всегда для сотрудника постоянным? Кажется, что это фактический показатель, который должен меняться ежемесячно, но из Ваших ответов выше, следует что постоянный.
      И еще вопрос: для каких целей его указывать для сотрудника: для целей расчета премии или ещё для каких-то? Ну может руководитель, например, хочет это сразу видеть в базе ЗУП?

  4. Объем всегда разный. Указывается справочно

    1. Понятно.
      Показатель тут тоже не очень подходит, потому что в расчетах он не участвует. Но можно тем не менее его в базу внести, ежемесячно отражать через Данные для расчета зарплаты. Добавить его в формулу расчета премии. Если сейчас вводите фикс. суммой, то формулу можно сделать «Сумма + Объем*0». Тогда «Объем будет прописываться в регистры как показатель расчета премии и его можно вытащить в отчетах «Анализ зарплаты», «Расчетный листок». Тут смотря в каком виде хочет видеть это руководитель.
      А доп. реквизит нельзя вносить списочно. И на этот счет вариантов нет, кроме доработки заполнения доп.реквизита списком.

  5. то что надо. идея с умножением на ноль хороша. возьму на вооружение). спасибо!

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

  Маркет42 - Место для твоих разработок  

СКД: параметр условного оформления — весовой коэфф. ширины

Я
   kittystark

19.02.20 — 17:07

есть где почитать про сабж ?

  

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

   vicof

1 — 19.02.20 — 18:28

И что ты хочешь узнать про условное оформление?

   kittystark

2 — 20.02.20 — 08:37

весовой коэфф. ширины, как им пользоваться ?

   ДенисЧ

3 — 20.02.20 — 08:56

(2) Задавать разные значения и смотреть результат?

Грубо говоря — при к = 1 для всех — ширина меняется равномерно.

При к = 2 для отдельной колонки — она рсширяется в два раза быстрее остальных

   kittystark

4 — 20.02.20 — 10:27

это на этапе компоновки ширина перевычисляется перед показом готового отчета?

что-то типа ширин flex-box’a в CSS

или это для интерактива, когда пользователь мышой изменяет ширину колонок уже сформированного отчета и перерасширяются другие?

примерчик бы практического использования:

— хотим то-то, то-то

— делаем вот так и вот так

  

ДенисЧ

5 — 20.02.20 — 10:29

(4) Именно для предвывода. Пользователь меняет так, как ему захочется.

И да, флекс — подходящий аналог.

Быстрый старт в Python для 1С Разработчиков | 1s-to-python.ru

       Очень часто в организациях учет договоров ведется в каких-то специфических разрезах. По-этому в «1С:Документооборот» предусмотрена возможность добавлять новые (дополнительные) реквизиты договора, которые затем можно использовать для анализа либо для заполнения шаб-лонов.

       Дополнительные реквизиты конкретного вида документа задаются в разделе Настройка и администрирование — Дополнительные реквизиты-Дополнительные сведения.

       Сразу отметим, что на форме отражается два списка:

  • «Дополнительные реквизиты». Редактируются в карточке договора и доступны тем пользователям, у которых есть права на доступ к договору;
  • «Дополнительные сведения». Редактируются в отдельной форме и доступны к просмотру и изменению также и тем пользователям, у которых нет прав на доступ к самому договору.

       Добавление свойств аналогично добавлению реквизитов, поэтому далее опишем только до-бавление реквизитов.

       При создании нового реквизита необходимо указать его тип (можно указать и составной тип данных).

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

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

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

       Чтобы заполнить дополнительный реквизит в конкретном договоре достаточно в карточке договора на закладке Свойства указать нужное значение.

       Значения дополнительных реквизитов отражаются и на закладке Обзор.

       Механизм дополнительных реквизитов и свойств позволяет вести учет не только стандартных основных реквизитов, но и любых произвольных реквизитов, необходимых для учета в конкретной организации. Значения этих реквизитов можно использовать в отчетах, а также для автозаполнения шаблонов файлов (см. вопрос «94. Можно ли использовать дополнительный реквизит для автоматического заполнения файла договора?»).

Просмотров: 11879

Если Ваш интернет-магазин интегрирован с 1С, скорее всего столкнулись с такой проблемой: 1С не умеет выгружать параметры товара: Вес, Ширина, Высота, Глубина.

Но эти параметры нужны для служб доставки, таких как Почта России, DHL и прочих. И желательно, что бы они были именно в параметрах товара модуля торгового каталога.

Заполнить их достаточно просто, для этого понадобиться создать дополнительные реквизиты в 1С с этими параметрами и воспользоваться методом API CCatalogProduct::Update

Заполняем параметры из свойств

Итак: мы создали доп реквизиты Вес, Ширина, Высота, Глубина в 1С, заполнили их и обменялись с сайтом. Теперь на сайте есть свойства ATT_WEIGHT, ATT_WIDTH, ATT_HEIGHT, ATT_LENGTH

Пишем простенький скрипт, который просто получит все элементы из инфоблока с каталогом (в примере, его ID = 15), с отбором данных свойств.

$addProps = CIBlockElement::GetList (
Array("ID" => "ASC"),
Array("IBLOCK_ID" => 15),
	false,
	false,
	Array(
		'ID',
		'PROPERTY_ATT_WEIGHT',
		'PROPERTY_ATT_WIDTH',
		'PROPERTY_ATT_HEIGHT',
		'PROPERTY_ATT_LENGTH'
	)
);
while($ar_fields = $addProps->GetNext())
{
	echo 'ID' . $ar_fields['ID'] .' / ';
	echo 'Вес:' . $ar_fields['PROPERTY_WEIGHT_VALUE'].' / ';
	echo 'Длина:' . $ar_fields['PROPERTY_DLINA_VALUE'].' / ';
	echo 'Ширина:' . $ar_fields['PROPERTY_SHIRINA_VALUE'].' / ';
	echo 'Высота:' . $ar_fields['PROPERTY_VYSOTA_VALUE'].'

'; } endif;

Если запустить этот скрипт, просто получим вывод всех товаров каталога с указанием ID элемента и наших свойств.

Зная эти свойства, просто загоняем их значения в стандартные поля торгового каталога, методом CCatalogProduct::Update

$addProps = CIBlockElement::GetList (
Array("ID" => "ASC"),
Array("IBLOCK_ID" => 15),
	false,
	false,
	Array(
		'ID',
		'PROPERTY_ATT_WEIGHT',
		'PROPERTY_ATT_WIDTH',
		'PROPERTY_ATT_HEIGHT',
		'PROPERTY_ATT_LENGTH'
	)
);
while($ar_fields = $addProps->GetNext())
{
	echo 'Товару с ID-' . $ar_fields['ID'] .' установлены параметры';
	echo 'Вес:' . $ar_fields['PROPERTY_ATT_WEIGHT_VALUE'].' / ';
	echo 'Длина:' . $ar_fields['PROPERTY_ATT_WIDTH_VALUE'].' / ';
	echo 'Ширина:' . $ar_fields['PROPERTY_ATT_HEIGH_VALUET'].' / ';
	echo 'Высота:' . $ar_fields['PROPERTY_ATT_LENGTH_VALUE'];
	
	Cmodule::IncludeModule('catalog');
	$PRODUCT_ID = $ar_fields['ID'];
	$arFields = array(
		'WEIGHT' => $ar_fields['PROPERTY_ATT_WEIGHT_VALUE'],
		'WIDTH' => $ar_fields['PROPERTY_ATT_WIDTH_VALUE'],
		'HEIGHT' => $ar_fields['PROPERTY_ATT_HEIGHT_VALUE'],
		'LENGTH' => $ar_fields['PROPERTY_ATT_LENGTH_VALUE']
	);
	CCatalogProduct::Update($PRODUCT_ID, $arFields);
}
endif;

В примере, вывод с небольшой свисто-перделкой- он выводит уведомление об установке параметров. Можно этого не делать, просто вывести
echo ‘Параметры успешно установлены’;

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

Само собой, можете добавить его в init.php дабы скрипт срабатывал на событиях
OnAfterIBlockElementUpdate — обновление элемента
OnAfterIBlockElementAdd — добавление элемента
Что повысит время обмена с 1С и в целом, нагрузку на сервер. Лучше повесить скрипт на агента, что бы срабатывал с некоторой переодичностью (раз в сутки, например). На врядли габариты товаров меняются постоянно и при каждом обмене.

Дополнение: Если 1С выгружает габариты в множественное свойство «Реквизиты»

Если ваша 1С выгружает габариты товаров в множественное свойство «Реквизиты» (пример на скрине):

Можно также получить данные цифры методом CIBlockElement::GetProperty а дальше заполнить штатные поля товара способом выше

Пример кода (в данном случае, нужно было еще и перевести сантиметры в миллиметры):

CModule::IncludeModule('iblock');
Cmodule::IncludeModule('catalog');
$iBlockID = 5; // ID инфоблока с товарами
$addProps = CIBlockElement::GetList(
    Array("ID" => "ASC"),
    Array("IBLOCK_ID" => $iBlockID), 
    false,
    false,
    Array(
        'ID',
    )
);
while ($ar_fields = $addProps->Fetch()) {
    $VALUES = array(); // создаем пустой массив
    $db_props = CIBlockElement::GetProperty(
    	$iBlockID, 
    	$ar_fields['ID'], 
    	array("sort" => "asc"), 
    	Array("CODE" => "CML2_TRAITS") // код свойства с реквизитами
    );
    while ($ar_props = $db_props->Fetch()) {
        $VALUES[] = $ar_props['VALUE']; // наполняем массив
    }
    $arFields = array(
    	// Берем габариты из значений массива (у вас могут быть другие номера
        'WIDTH' => $VALUES['3'] * 10,
        'HEIGHT' => $VALUES['4'] * 10,
        'LENGTH' => $VALUES['5'] * 10;
    );
    CCatalogProduct::Update($ar_fields['ID'], $arFields);
    echo "Габариты для " . $ar_fields['ID'] . " применены";
    $arFields = array();
}

Небольшое пояснение к происходяему в скрипте:

  • От метода CIBlockElement::GetList нам нужен только ID товара. Поэтому используем Fetch (работает быстрее).
  • Методом CIBlockElement::GetProperty получили значения свойства CML2_TRAITS и наполниили ими массив $VALUES.
  • В массив $arFields передали элементы массива $VALUES со значениями габаритов (рапечатайте print_r($VALUES), что бы увидеть свои).
  • Массив $VALUES принудительно создается именно в нутри цикла, что бы очищался при каждой итерации

Поблагодарить и поддержать!

Поддержать выпуски видео уроков, поблагодарить за полезную инструкцию или заметку можно через:

Юманей

1с дополнительные реквизиты и сведения

В библиотеке стандартных подсистем 1С дополнительные реквизиты и сведения включены и активно применяются. Эти механизмы позволяют добавить дополнительный реквизит к объекту метаданных без изменения типовой конфигурации. В публикации хочу продемонстрировать работу дополнительных реквизитов и сведений, их добавление и получение значений.

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

Пример добавление дополнительного реквизита вручную вы можете посмотреть в публикации Брутто в ТОРГ12, где добавляется новый реквизит «Коэффициент брутто» в справочнике «Номенклатура». Таким образом можно добавлять реквизиты всех известных типов (число, строка, булево, список значений, ссылки на справочники и т.д.) к распространенным справочникам и документам 1С.

Отличие дополнительного реквизита от дополнительного сведения в том, что

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

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

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

Для получения дополнительного сведения использую запрос вида:

Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	ДополнительныеСведения.Свойство,
	|	ДополнительныеСведения.Значение
	|ИЗ
	|	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
	|ГДЕ
	|	ДополнительныеСведения.Объект = &Объект";
Запрос.УстановитьПараметр("Объект", СсылкаДокумент);

Для получения дополнительного реквизита использую код вида (пример получения коэффициента брутто в ТОРГ12):

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	НоменклатураДополнительныеРеквизиты.Свойство,
	|	НоменклатураДополнительныеРеквизиты.Значение
	|ИЗ
	|	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
	|ГДЕ
	|	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
	|	И НоменклатураДополнительныеРеквизиты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаДокумент);
Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Коэффициент бруто"));

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

Понравилась статья? Поделить с друзьями:
  • Vivat group строительно инвестиционная компания
  • Эми стюарт путь розы внутри цветочного бизнеса
  • Актив бизнес коллекшн официальный сайт должники
  • 1с дополнительные реквизиты для табличной части
  • Warcraft 3 reforged скачать торрент с компанией