1с скопировать элемент справочника программно

Обновлено: 07.07.2024

Вывести все типы ссылок на элементы справочников, существующие в конфигурации.

Создать новую группу справочника.

НоваяГруппа = Справочники . Номенклатура . СоздатьГруппу ( ) ;

Получить ссылку на справочник.

Проверить, помечен ли на удаление элемент справочника с кодом 22.

Если Справочники . Номенклатура . НайтиПоКоду ( 22 ) . ПометкаУдаления Тогда

Если Справочники . Номенклатура . НайтиПоНаименованию ( "Услуги" , Истина ) . ЭтоГруппа Тогда

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

ПустаяСсылкаПеречисления = Перечисления . ВидыНоменклатуры . ПустаяСсылка ( ) ;

Если Не Справочники . Номенклатура . НайтиПоРеквизиту ( "ВидНоменклатуры" , ПустаяСсылкаПеречисления ) . Пустая ( ) Тогда

Сообщить ( "Есть элементы, для которых не задан вид номенклатуры" ) ;

Передать пустую ссылку на элемент справочника в параметр метода.

Выборка = Справочники . Номенклатура . Выбрать ( Справочники . Номенклатура . ПустаяСсылка ( ) ) ;

Вывести список элементов справочника, расположенных в корне справочника.

Выборка = Справочники . Номенклатура . Выбрать ( Справочники . Номенклатура . ПустаяСсылка ( ) ) ;

Удалить все элементы иерархического справочника.

Выборка = Справочники . Номенклатура . ВыбратьИерархически ( ) ;

Создать новый элемент справочника.

НовыйЭлемент = Справочники . Сотрудники . СоздатьЭлемент ( ) ;

НовыйЭлемент . Наименование = "Гобленков Аркадий Викторович" ;

НовСтрТЧ = НовыйЭлемент . ТрудоваяДеятельность . Добавить ( ) ;

Запретить изменение подчиненных элементов справочника, если у владельца установлено соответствующее свойство ИзмененияЗапрещены , в модуле формы элемента справочника.

Изменить наименование элемента справочника.

Элемент = Справочники . Номенклатура . НайтиПоКоду ( 10 ) . ПолучитьОбъект ( ) ;

Заполнить справочник новыми данными.

Элемент = Справочники . Номенклатура . СоздатьЭлемент ( ) ;

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

Выборка = Справочники . Номенклатура . ВыбратьИерархически ( ПолеВвода 1 ) ;

Если СсылкаНаНоменклатуру . ЭтоГруппа Тогда Продолжить ;

Пометить на удаление все элементы не иерархического справочника

Выборка . ПолучитьОбъект ( ) . УстановитьПометкуУдаления ( Истина ) ;

Программно создать группу в справочнике.

НашаГруппа = Справочники . Номенклатура . СоздатьГруппу ( ) ;

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

НашЭлемент = Справочники . Номенклатура . СоздатьЭлемент ( ) ;

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

Если ( НЕ Выборка . ЭтоГруппа ) И ( НЕ ЗначениеЗаполнено ( Выборка . Родитель ) ) Тогда

Поиск по сайту

Okolokompa в Яндекс Дзен

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

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

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

На этом описательную часть считаю законченой. Собственно сама функция:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

(2) CaSH_2004, Раз вы работаете "приходящим" (без обид, ничего личного) программистом, значит Ваши клиенты сравнительно не большие предприятия, где копирование действительно больше вред чем польза.
В больших предприятиях, где различные части справочников заполняются разными специалистами (отвечающими за правильность своего набора реквизитов) иной раз и нельзя быстро создать новую запись иначе чем копированием. Поэтому говорить, что решение такое решение несет вред, это все равно, что ударив микроскопом по пальцам в попытке забить им гвоздь, заявить, что микроскопы несут вред и посему бесполезны. :-)

(3) dddxddd, если заполняют разные специалисты то как один специалист может создать ее копированием? И для чего спрашивается если опять таки оно должно заполнятся разными специалистами? Уважаемый - вы противоречите сами себе.
(10) gigabyte_artur, в смысле дали? А мы типа просили? Еще раз повторюсь - более чем за 10 лет обслуживания несколько сотен разных клиентов разных сфер и размеров от 1 до 30 пользователей 1С я не разу не встречал такой потребности как и сам ее не испытывал, зато знаю чем заканчивается обычное копирование, а вы ратуете за групповое копирование обычным пользователем!.
Я не говорю что инструмент плох. Но давать его пользователю - крайне опасно, и нормальны программист/администратор не стал бы этого делать если только он хоть как то следит за базой. Никто не застрахован от ошибок - а вот результаты их придется устранять админу, а не пользователю. Так что и сам бы использовал такой инструмент только с указанными ранее интерактивными отметками что нужно копировать, а что нет. А получить "кота в мешке" на выходе - боже упаси.

(14) CaSH_2004, "более чем за 10 лет обслуживания несколько сотен разных клиентов разных сфер и размеров от 1 до 30 пользователей 1С я не разу не встречал такой потребности как и сам ее не испытывал"

Это не означает что такой потребности нет :-) Но соглашусь, что нужно такое достаточно редко.

"Но давать его пользователю - крайне опасно, и нормальны программист/администратор не стал бы этого делать если только он хоть как то следит за базой."

Все мужчины потенциально опасны, т.к. у них есть то чем они отличаются от женщин и этим они могут изнасиловать кого нибудь. Логика примерно такая же :-)

Electronic Software Distribution

Вроде разобрался, у меня 2 единицы измерения, ругался на код ед.изм.

А бывает оказывается клиенту нужно всю папку номенклатуры скопировать!Так что берем на вооружение.

А вот разве не работает:

(8) prophet85, по идее должно работать. Не помню почему написал так как написал.

Просмотры 9944

Загрузки 0

Рейтинг 12

Создание 10.07.13 10:06

Обновление 10.07.13 08:55

№ Публикации 193831

Тип файла Нет файла

Операционная система Windows

Страна Россия

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Не указано


См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

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

12.12.2020 4561 Eugen-S 23

СКД: 5 советов, как сделать лучше

Несколько примеров решения задач с использованием разных подходов

27.10.2021 4479 Neti 19

Что за ? в коде, или Секретный оператор в 1С

Инкремент, модуль и прочая магия, которая скрыта под символом "?"

21.10.2021 8371 SeiOkami 41

Полезные примеры СКД, ч.2

Еще несколько примеров решения задач в СКД.

06.04.2021 10876 Neti 8

27.01.2016 85840 Serginio 116

Обзор полезных методов БСП 3.1.4

Библиотека стандартных подсистем (далее - БСП) является частью любой типовой конфигурации, поэтому умение применять готовые процедуры и функции повышает качество разработки и избавляет от написания лишнего кода. К сожалению, не у всех есть время и упорство овладеть всей документацией, поэтому я собрал воедино наиболее популярный функционал.

25.03.2021 41424 rayastar 51

Звуковое управление в 1С 8.3

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021 7228 velemir 33

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020 8963 comol 31

Использование программных перечислений, ч.1: строковые константы Промо

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016 41158 unichkin 74

Базовые вещи БСП, которые облегчат жизнь программисту 1С

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

30.08.2020 20393 quazare 34

[Общий модуль] Динамическое формирование интерфейса

Версия 2.0.0.1 + добавил GitHub

28.08.2020 13073 rpgshnik 74

Форма выбора (подбор) в управляемых формах

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020 79487 user5300 19

Вспомогательные инструкции в коде 1С Промо

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018 36203 tormozit 106

Программная работа с настройками СКД

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

27.01.2020 66212 ids79 26

[СКД] Программное создание схемы компоновки данных

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

15.01.2020 43929 John_d 22

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

30.12.2019 35639 kuzyara 38

Оформление и рефакторинг сложных логических выражений Промо

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

20.09.2012 82911 tormozit 131

Сходство Джаро - Винклера. Нечеткое сравнение строк

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

25.12.2019 8466 brooho 19

22.11.2019 12435 Sibars 19

Полезные процедуры и функции для программиста

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

07.10.2019 39861 HostHost 41

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

11.07.2007 54515 tormozit 51

Таблица значений. Нюансы

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019 53340 Yashazz 56

[Шпаргалка] Программное создание элементов формы

Программное создание практически всех популярных элементов формы.

06.09.2019 103330 rpgshnik 75

Агрегатные функции СКД, о которых мало кто знает

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019 78174 ids79 56

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

10.09.2017 51286 tormozit 74

Регистры бухгалтерии. Общая информация

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019 46879 YPermitin 25

Три костыля. Сказ про фокусы в коде

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

03.09.2019 30254 YPermitin 81

Иерархия без "В ИЕРАРХИИ"

22.08.2019 15104 ildarovich 24

Выгрузка документа по условию Промо

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий. А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019 18048 m-rv 3

Отслеживание выполнения фонового задания

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019 45367 ids79 22

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019 153393 ids79 75

Фоновое выполнение кода в 1С - это просто

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

02.08.2019 61140 avalakh 27

Как прикрутить ГУИД к регистру сведений Промо

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

16.04.2019 23373 m-rv 18

Разбираемся с параметрами редактирования СКД

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019 42107 json 17

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019 106325 ids79 17

Обработчики событий при записи объектов. Зачем и что за чем?

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта. Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

Читайте также: