Справочник не имеет владельца 1с
Добрый день.
Может, кто нибудь сталкивался с проблемой: при обновлении "1С- бухгалтерия" релиза 3.0.37.43 на 3.0.38.48 или 3.0.38.50 или 3.0.38.51 возникает одна и та же ошибка- "Не может быть изменен владелец справочника: Банковские счета". Нужна помощь. Спасибо.
Aleksana , у вас база типовая? проверяли на корректность заполнения элементов справочника "Банковские счета"?
Да, типовая. На корректность заполнения элементов справочника не проверяли, т.к. не знаем, как это сделать, и нужды в этом не возникало.
Aleksana ,Та же фигня, релиз 3.0.37.40. Ошибка сразу с пятью базами. И у всех причина Банковские счета и его владелец. Отдал одну базу программисту, посмотрим, что он скажет. Возможно причина в кривом релизе 37.40
Обновляла 3.0.37.38 на 3.0.38.50. Базовая. Проблем не было.
Aleksana , в вашей базе есть расчетные счета, у которых не задан владелец. Поскольку в обновлении на 3.0.38.хх к справочнику "БанковскиеСчета" добавляется новый владелец (справочник "ФизическиеЛица"), программа не может определить тип владельца у элементов справочника "Банковские счета", где, собственно, владелец отсутствует (простите за корявость изложения, четкость вечером в пятницу отсутствует напрочь). Проставьте владельца там, где он отсутствует, и ошибка исчезнет.
chernikova_irina , Спасибо огромное. Мы проблему решили. У нас действительно был банковский счет без владельца. Из-за него 1С не хотела обновляться. Для тех, у кого та же проблема:
1. Определить, какой именно банковский счет без владельца, можно через конфигуратор-администрирование-тестирование (в протоколе тестирования будет написано, какой именно счет без владельца).
2. Дальше из 1С -меню-все функции- обработка- групповое изменение реквизитов (здесь в верхнем окне задать отбором банковские счета без владельца, т.е. "владелец" равно "пустое место"), в нижней части окна у "владельца" поставить галочку и выбрать конкретного контрагента или организацию). Таким образом бесхозный банковский счет привяжется к конкретному владельцу. Только после этого можно удалить этот банковский счет.
3. Благополучно обновляете 1С
ВСЕМ СПАСИБО ЗА ОТЗЫВЧИВОСТЬ!
Есть справочник "Сотрудники", и справочник "ИндивидуальныйГрафик". Справочник "ИндивидуальныйГрафик" подчинен спр. "Сотрудники". В справочнике "ИндивидуальныйГрафик" есть реквизит "Период" (тип "Дата"). Этот реквизит должен быть уникальным (т.е. пользователю нельзя давать возможность его редактировать). Но в тоже время пользователь должен иметь возможность выбирать дату периода, которую он хочет ввести. Для этого я делаю обработку "ВводГрафика", которую вызываю в процедуре "ПриВводеСтроки()" .
Возникла такая проблема, когда я открываю форму обработки в процедуре "ПриВводеСтроки()" я должен передать Владельца справочника "ИндивидуальныйГрафик", но Владелец всегда = null если справочник пустой.
Процедура ПриВводеСтроки()
ф = ОткрытьФормуМодально("Обработка._ВводГрафика", Владелец, 0);
СтатусВозврата(0);
КонецПроцедуры
"Обработка._ВводГрафика" проверяет наличие записи в справочнике, и если не находит, то добавляет новую.
7.7 Определить владельца эленмента справочника
Всем доброго дня! Подскажите, пожалуйста, как можно определить владельца элемента справочника, если.
7.7 Как Отловить Владельца Справочника
Добрый день. В документе есть реквизит Договоры, но нет Контрагента. По условию он не нужен.
Изменение поля Владельца справочника
Имеется два справочника: "спр1" с дополнительным реквизитом "Доп"; "спр2" подчинен "спр1". .
Как определить/установить владельца для формы справочника
Доброго времени суток. Подскажите, как определить/установить владельца для формы справочника. Нужно.
Похоже, надо так :
Процедура ПриВводеСтроки()
Владелец = ТекущийЭлемент();
ф = ОткрытьФормуМодально("Обработка._ВводГрафика", Владелец, 0);
СтатусВозврата(0);
КонецПроцедуры
Похоже, надо так :
Процедура ПриВводеСтроки()
Владелец = ТекущийЭлемент();
ф = ОткрытьФормуМодально("Обработка._ВводГрафика", Владелец, 0);
СтатусВозврата(0);
КонецПроцедуры
Спасибо за ответ.
Но данный вариант не подходит, потому что обработка запускается из спр. "_ИндивидуальныйГрафик" и ТекущегоЭлемент будет значить элемент этого же справочника, а мне необходимо передать Элемент спр. "Сотрудники" (т.е. Владельца спр. "_ИндивидуальныйГрафик".
Если спр. "_ИндивидуальныйГрафик" имеет хоть одну запись, то мой вариант работает, а если справочник пуст, то Владелец всегда null.
Народ, подскажите плиз как правильно задавать владельца. сделал так:
Договор = СоздатьОбъект("Справочник.Договоры");
Договор.Владелец = Контрагент;
Договор.НайтиПоКоду(Прав(Код,6));
Получаю ошибку -
Договор.Владелец = Контрагент;
: Не выбран элемент!
пробовал также Договор.Владелец = Контрагент.ТекущийЭлемент();
Но результат тот же. Подскажите пожалуйста что делаю неправильно
P.S. переменная Контрагент содержит значение - проверено отладчиком
Справочник владелец
Нужно связать два справочника в одном только элементы в другом группы и элементы. Когда задаю.
1c7.7 ТЗ, как скопировать строку?
обхожу ТЗ в цикле в какой-то момент получаю строку, значения которой мне нужно продублировать, т.е.
1c7. как обходить значения ТЗ
В восьмерке есть очень удобный цикл для обхода таблиц значения - для каждого. Подскажите.
Как зафиксировать область просмотра колонок(1c7.7), т.е. как закрепить столбец у справочника.
Добрый день. Помогите пожалуйста, как можно зафиксировать область просмотра, например, у.
Более того - следующий код выдает подобную ошибку
Для начала надо хоть написать договор.Новый();
А если тебе не поможет: То Договор.ИспользоватьВладельца(Контрагент);
Bap, мне не нужен новый договор. Мне нужно найти договор по коду. А он не ищет нифига, хотя когда в договоры захожу - вижу что такой существует.
Ясен пень, блин сначала надо установить владельца: ИспользоватьВладельца(), а потом все остальное если не нравится то поставь флажок что по всему справочнику .
Bap, а как дальше осуществлять поиск?
Договор.ИспользоватьВладелеца(Контрагент);
: Поле агрегатного объекта не обнаружено (ИспользоватьВладелеца)
Мало использоватьВладельца.
Надо еще Договор.НайтиПоРеквизиту("ВидДоговора",НайденныйВидДоговора, 0)
ИспользоватьВладелеца - синтаксическая ошибка
vbs, да пока достаточно только ИспользоватьВладельца. А синтаксис не проверил в очередной раз.
Ребята спасибо большое - ловите свои плюсы
Текс. появилась чуть другая задача. Есть номер договора. Можно ли по нему достать владельца т.е. определить контрагента? По идее можно. вопрос -как это сделать?
Делаю так
Самая сложность в том что СпрКонтр.НайтиПоРеквизиту("ВидДоговора",Брокерский.ТекущийЭл емент(),0); возвращает 0. да и СпрКонтр.НайтиПоРеквизиту("ВидДоговора",Брокерский.ТекущийЭл емент(),0); тоже возвращает 0. Хотя такие элементы в базе данных есть.
Подскажите пожалуйста как быть в моей ситуации
НайтиПоРеквизиту выдаст тебе только один элемент а если у тебя их несколько?
СпрКонтр.НайтиПоРеквизиту("ВидДоговора",Брокерский.ТекущийЭл емент(),1) - тогда ищет не в пределах подчинения, а с 0 так как владелец договора неопределен, то он тебе и вернет пустое значение
и вообще - проще через запрос с условием.
Ну да. точно. забыл про еденичку. и действительно выдает не совсем то что мне нужно. Или наоборот совсем не то. Просто думал поиск этим сократить - чтобы искало только среди ограниченного вида договоров
puh14, а можешь помочь текст запроса правильно поставить? Мне нужно узнать владельца договора по коду. Код такой - Прав(Код, 6). Не понимаю почему он через СозданиеОбъекта не находит по Коду((
Давай попробую я:
Текст = "
|Период с Выбнач По ВыбКон;
|Без Итогов;
|ВидДог = Справочник.ВидыДоговоров.ТекущийЭлемент, Справочник.Договоры.ВидДоговора;
|Договор = Справочник.Договоры.ТекущийЭлемент;
|Контрагент = Справочник.Контрагенты.ТекущийЭлемент, Справочник.Договоры.Владелец;
|КодКонтрагента = Спрвочник.Контрагенты.Код;
|Группировка Контрагент Без Групп;
|Группировка КодКонтрагента;
|Группировка Договор Без Групп;
|Условие(ВидДог в выбВидДог);
|Условие(Договор.Код в Число(Прав(Код,6)))"; // либо = вместо в
не заню как у тебя точно контрагенты справочник называется - поправь, ежлии что
ВыбВидДог можешь определить либо поиском по коду, либо выбором в форме
Рекомендую выгрузить усе в ТЗ на форме - ежли всё корректно , то убрать лишние группировки
если не влом - код можешь вытаскивать при переборе ТЗ с записью в добаленную колонку
ВыбНач и ВыбКон определи
Кстати - ежли у тебя код договора уникален в пределах подчинения, то у тебя через найтипокоду вообще фигня будет
Bap, ты меня не правильно понял. СпрКонтр.НайтиПоКоду(Прав(Код,6),0) возвращает ноль. В этом и заключается проблема. то что договор - брокерский - это необязательное условие. эт я так. додумывал авось поможет.
Задача такая - найти договор с нужним кодом (если глазками смотреть в базе он есть!) и получить его Владельца - это и будет нужный мне контрагент
puh14, ща попробую это, но непонятно какой временной период лучше ставить. Это раз. А два - переберать в таком случае несколько затруднительно.
Если реквизиты не периодические - тогда период пофиг, главное чтобы был. А насчет перебрать - проверь корректность работы ( только для отладки так многог надо) и оставь только группировку по Контрагенту. А у тебя нумерация кодов договора в справочнике стоит "в пределах подчинения", или "во всем справочнике"?
Кстати - если у тебя код справочника числовой, то ПРав либо не будет работать, либо сделает в конечном итоге строку, проверь и заложись через форматирование.
Я конечно понимаю, много чего хотите!! но то что у меня написано работает .
извени, я незнаю что за фигня у тебя там, но у меня работает. (тока смотри прервать напиши где надо!)
Справочники 1С — специализированный объект древа метаданных, который служит для хранения статичной информации справочного характера. Например, в типовых конфигурациях можно увидеть следующие виды: Контрагенты, Номенклатура, Сотрудники, Основные средства и т.д. Информация в справочниках, как правило, часто не изменяется. Справочники в дальнейшем используются практически во всех объектах учета как разрез учета или справочная информация.
Справочники в конфигураторе 1С 8
Ниже мы рассмотрим настройку и проектирование справочника из конфигуратора на примере справочника «Номенклатура».
Вкладка «Основные»
На вкладке «Основные» указывается имя, синоним, представление объектов, описание назначения.
Вкладка «Иерархия справочника»
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Здесь устанавливается иерархичность справочника.
Иерархия в 1С 8.3 бывает двух типов — «групп и элементов» и «элементов«. Отличается тем, что в первом случае родителем (папкой) может быть только папка (группа), а во втором случае родителем может быть и элемент.
«Размещать группы сверху» — флаг отвечает за отображение групп в форме списка.
Также в настройках можно ограничить количество групп иерархии справочника соответствующей настройкой.
Вкладка «Владельцы»
Справочник может быть подчинен другому справочнику. С точки зрения конфигурирования 1С 8.3 это значит, что у подчиненного элемента становится обязательным реквизит «Владелец». Пример такой связи справочников в типовых конфигурациях «Номенклатура — Единицы Измерения», «Контрагенты-Договоры Контрагентов».
Владельцем справочника могут также быть следующие объекты метаданных: планы обмена, планы видов характеристик, планы счетов, планы видов расчета.
Вкладка «Данные»
Самая важная вкладка с точки зрения программиста. На ней указываются реквизиты справочника.
У справочника есть набор стандартных реквизитов, которые не редактируются программистом 1С 8.2, список их можно увидеть, нажав кнопку «Стандартные реквизиты»:
Остановлюсь на каждом подробнее:
- ЭтоГруппа — реквизит с типом булево, показывающий, группа это или элемент. Доступен только в иерархическом справочнике. Обратите внимание, значение этого реквизита невозможно изменить в режиме 1С: Предприятие.
- Код — реквизит, тип число или строка (как правило строка). Номер, присваиваемый системой автоматически. Как правило, рассчитывается как (предыдущий код + 1). Рекомендую использовать именно строковый тип, потому как сортировка числовых значений происходит не так, как нужно. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Код, укажите в длине строки ноль.
- Наименование — реквизит, обязательный к заполнению, строкового типа. Максимальная длина строки — 150 символов. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Наименование, укажите в длине строки ноль.
- Родитель — реквизит, имеющий тип СправочникСсылка.. Доступен только в иерархическом справочнике. Указывает на вышестоящего родителя в иерархии. Если Элемент или Группа находятся в корне справочника, указывается значение Справочник..ПустаяСсылка.
- Владелец — ссылка на элемент-владелец текущего элемента (группы) справочника. Доступен только в подчиненном справочнике 1С.
- ПометкаУдаления — реквизит с типом булево. Отвечает за отображение «пометки удаления» в системе. Помеченный на удаление элемент считается непригодным к использованию, однако на нём могут оставаться старые движения в документах.
- Ссылка — поле строкового типа. В этом реквизите хранится уникальный идентификатор объекта — GUID. То, что в системе мы видим в визуальном отображении под название «ссылка», — это всего лишь представление объекта. Невозможно изменить.
- Предопределенный — тип булево, отображает, является ли элемент предопределенным, об этом позже. Невозможно изменить.
На вкладке «Данные» так же указывается представление справочника в системе, до версии 8.2.16 представление могло быть лишь Кодом или Наименованием. В свежих версиях платформы (начиная с 8.3) представление можно описать самостоятельно в модуле менеджера с помощью обработчика «ОбработкаПолученияПредставления».
Вкладка «Нумерация»
Серия кодов — определяет, как нумеровать справочник, можно ввести нумерацию справочника в разрезе владельца. Например, у контрагента «Рога и копыта» будет иметься своя нумерация договоров — «1, 2, 3» и тд.
Вкладка «Формы»
Тут описываются формы для справочника. Если конфигурация запускается как в обычном, так и управляемом режиме, тогда вкладок с формами по умолчанию будет две: «основные» и «дополнительные» — для обычного и управляемого приложения разные.
На этой странице есть немаловажное свойство справочника — «Ввод по строке«. Это очень удобная функция 1С 8, позволяющая при заполнении данных в поле ввода не заходить в справочник, а набрать его наименование, код или т.п. и выбрать из выпадающего списка нужный элемент. Выглядит это так:
Вкладка «Прочее»
На вкладке можно получить быстрый доступ к основным модулям справочника — модулю объекта и модулю менеджера.
На странице можно также определить список предопределенных элементов справочника. Это элементы, которые невозможно удалить в режиме Предприятия. К предопределенным элементам можно обратиться в конфигураторе напрямую, по имени, например: Справочники.Номенклатура.Услуга.
На этой вкладке также определяется режим блокировки — автоматический или управляемый. Использование полнотекстового поиска, а также справочная информация о справочнике, доступная в режиме 1С: Предприятия.
Минивидео, как работать со справочниками:
В этой статье речь пойдет о настройке прав доступа пользователей к объектам системы 1С.
В 1С 8для управления доступа пользователей используется отдельный объект метаданных, который называется Роли.
Далее мы рассмотрим, как использовать и настраивать роли в 1С предприятие 8.3.
Обратите внимание! Эта статья написана в помощь программистам. Настройка прав в пользовательском режиме на примере 1С Бухгалтерия рассмотрена в данной статье.
Роль определяет набор прав пользователя, которые он имеет. Механизм ролей очень похож на механизмы прав Windows Active Directory. Для каждого из объектов (справочники, документы) разработчик устанавливает свой набор прав — чтение/запись/добавление/изменение/…
Набор доступных прав — совокупность всех разрешений в ролях пользователя.
Ниже мы рассмотрим подробно каждый атрибут метаданных при настройке роли пользователя 1С 8.3.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Общие настройки роли 1С
Если открыть объект метаданных Роль, мы можем увидеть следующую картину:
У объекта есть две закладки — Права и Шаблоны ограничений. Права — основная закладка, Шаблоны — вкладка для настройки прав на уровне записи в 1С (RLS). Это очень важная тема, её я постараюсь описать в будущих статьях.
Будем рассматривать только вкладку Права.
- Объекты — список метаданных, на которые будут устанавливаться права.
- Права — список возможных для установки настроек прав.
- Ограничение доступа к данным — поля роли для настройки РЛС (настроек прав на уровне записей)
Следует обратить внимание на галочки в нижней части:
- Устанавливать права для новых объектов — если флаг установлен у роли, на новые объекты метаданных будут автоматически установлены разрешающие права. Рекомендую установить, если Вы часто забываете установить права на новые объекты.
- Устанавливать права для реквизитов и табличных частей по умолчанию — флаг, при установке которого реквизиты и табличные части будут наследовать права владельца(справочника, документа и т.д.)
- Независимые права подчиненных объектов — если флаг установлен, то система при определении права на объект конфигурации учтёт права на родительский объект
Настройки прав на всю конфигурацию
Если открыть Роль и кликнуть на корень конфигурации, мы увидим следующие настройки:
Подробнее о каждом из прав на всю конфигурацию:
- Администрирование — администрирование информационной базы (требуется наличие права «Администрирование данных»)
- Администрирование данных — право на административные действия над данными
- Обновление конфигурации базы данных — право на обновление конфигурации базы данных
- Монопольный режим — использование монопольного режима
- Активные пользователи — просмотр списка активных пользователей
- Журнал регистрации — журнал регистрации — право запуска тонкого клиента
- Веб клиент — право запуска веб-клиента
- Толстый клиент — право роли запуска толстого клиента
- Внешнее соединение — право запуска внешнего соединения
- Automation — право на использование automation
- Режим «Все функции» — доступ к пункту меню «Все функции» в режиме управляемого приложения
- Сохранение данных пользователя — разрешение или запрет на сохранение данных пользователя (настроек, избранного, истории). Особенно актуально для 1С управляемых форм.
- Интерактивное открытие внешних обработок — открытие внешних обработок
- Интерактивное открытие внешних отчетов — открытие внешних отчетов
- Вывод — вывод на печать, запись и копирование в буфер обмена
Настройка прав 1С на другие объекты метаданных
Для остальных основных объектов (справочники, константы, документы, регистры…), набор прав у роли достаточно стандартен:
- Чтение — чтение (программное)
- Добавление — добавление (программное)
- Изменение — изменение (программное)
- Удаление — удаление (программное)
- Просмотр — просмотр
- Интерактивное добавление — интерактивное добавление
- Редактирование — редактирование
- Интерактивная пометка удаления — интерактивная пометка на удаление
- Интерактивное снятие пометки удаления — снятие пометки на удаление
- Интерактивное удаление помеченных— удаление помеченных объектов
- Ввод по строке — использование режима ввода по строке
- Интерактивное удаление — непосредственное удаление (shift +del)
Права только для документов:
- Интерактивное проведение — проведение
- Отмена проведения — отмена проведения документов
- Интерактивное проведение неоперативное — проведение (стандартными командами форм) документа в неоперативном режиме
- Интерактивная отмена проведения — интерактивная отмена проведения
- Интерактивное изменение проведенных — редактирование проведенного документа. Если право у роли не установлено, то пользователь не может удалить проведенный документ, установить пометку удаления, перепровести или сделать непроведенным. Форма такого документа открывается в режиме просмотра
Только для регистров накопления и бухгалтерии
- УправлениеИтогами — управление итогами регистра бухгалтерии и регистра накопления (установка периода, по который рассчитаны итоги, и пересчет итогов)
Только для обработок и отчетов:
Привилегированный режим 1С
Если Вы не хотите давать роли права на какие-либо действия, но эти метаданные нужно использовать в какой-то момент, можно воспользоваться методом «УстановитьПривилегированныйРежим()» (или использовать привилегированный режим общего модуля).
Все, что внутри, будет выполняться без проверки прав пользователя.
Доступна ли роль 1С пользователю?
Чтобы узнать, нужно выполнить функцию РольДоступна(), передав туда название роли строкой.
Например:
Нарушение прав доступа
Такую ошибку можно увидеть, если недостаточно прав на чтение/редактирование/удаление данных. Система выдаёт вот такую ошибку:
Объект не найден…
Ошибка, когда в полях отображается некое ( … ):
Как правило, специалисты думают, что это просто так называемая «битая ссылка». Но это не всегда так. Такая ошибка бывает и при неправильно настроенном механизме прав RLS. Это связано с тем, что у пользователя не хватает прав, чтобы получить представление ссылки.
Для того чтобы понять, битая ссылка или нет, просто зайдите в базу под пользователем с полными правами.
Для массового поиска таких ошибок подойдет статья как найти битые ссылки в базе 1С.
P.S. Если у Вас все же не получилось разобраться в ролях пользователей, Вы можете заказать услуги 1С программиста.
Видео с примером настройки прав в 1С бухгалтерии 3.0:
Другие статьи по 1С:
-
(обновление 1С, резервные копии и т.д); (для пользователей)
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Читайте также: