Нужно не забыть для измерения Договор установить отбор по владельцу — таким образом, чтобы происходило отсеивание договоров, которые не относятся к данному контрагенту.
Дубли в регистра сведений обработка
Обработка для удаления и изменения записей любого регистра сведений для Обычных форм и Управляемого приложения!
Универсальные – будет работать в любой конфигурации (Если вдруг что-то!? – пишите в комментариях, исправлю)
Интуитивно понятны – все шаги последовательны: Выбрать регистр сведений, указать параметры отбора, посмотреть результат отбора – Удаление записей регистра
Часто ошибки возникают при обновлении конфигурации, — особенно если обновление «перескакивает» через несколько релизов. Рассмотрим причину появления и как исправить ошибку 1С «Записи регистра сведений стали неуникальными».
МЗ = РегистрыСведений . НашРегистр . СоздатьМенеджерЗаписи ( ) ;
Регистры сведений в 1С — Поддержка, обновление, внедрение и доработка 1С
- Сначала скачать и открыть обработку;
- Открыть register сведений с неуникальными строчками;
- Отметить те из измерений, которые нужно удалить в результате обновления;
- Дать команду нажатием «Свернуть дубли».
Мы знаем, что регистр (register, англ.) сведений формируется для хранения в виде записей (строк). Каждая из них характеризуется видами измерений (профилями) и ресурсов.
Измерения характеризуют разрезы (типы), в которых хранятся данные. А ресурсы— непосредственно содержат их значения.
Например, register сведений «Цены товаров» имеет структуру, состоящую из двух видов профилей («Товар», «ВидЦен») и одного ресурса («Цена»):
Таким образом, строки регистра в базе данных будут выглядеть так:
Кроме того, при создании записи ей присваивается уникальный ключ. Формирование его системой происходит автоматически.
Одинаковыми считаются такие записи, ключи которых идентичны.
Например, register сведений Цены товаров имеет структуру, состоящую из двух видов профилей Товар , ВидЦен и одного ресурса Цена.
Как запретить удаление записи регистра сведений 1С по условию
//Проверим, что это удаление
Если ЭтотОбъект . Количество ( ) = 0 И ЭтотОбъект . Модифицированность ( ) = Истина Тогда
//Создадим менеджер записи регистра сведений
МЗ = РегистрыСведений . НашРегистр . СоздатьМенеджерЗаписи ( ) ;
//Заполним измерения в менеджере записи по данным отбора
Для каждого ЭлементОтбора из ЭтотОбъект . Отбор Цикл
МЗ [ ЭлементОтбора . Имя ] = ЭлементОтбора . Значение ;
КонецЦикла ;
//Получим запись по заполненным измерениям
МЗ . Прочитать ( ) ;
//Дальше можно проверять любые условия. В менеджере записи теперь
//заполнены все измерения, ресурсы и реквизиты
Отказ =? ( МЗ . Ресурс 1 = «Какое-то значение» , Истина , Ложь ) ;
Промокоды на Займер на скидки
Этот вариант работает для непериодического регистра сведений. Для периодических регистров нужно в менеджер записи добавить еще и период.
Третий модуль: Работа с регистром сведений — Онлайн курсы
Как программно запретить удаление записи регистра сведений 1С : 2 комментария
Можно также в форме списка регистра сведений сделать так
&НаКлиенте
Процедура СписокПередУдалением(Элемент, Отказ)
ТекСтрока=Элементы.Список.ТекущиеДанные;
//далее проводить анализ реквизитов записи через ТекСтрока. или ТекСтрока[ ]
//и при необходимости
Отказ=Истина;
КонецПроцедуры
Михаил, да, такой способ должен сработать. Но у него есть одно важное ограничение: он будет работать только при удалении записи из формы списка регистра. А если запись удаляется из какой-то другой формы, или вообще программно, то запрет уже не сработает.
А процедура ПередЗаписью() модуля набора записей регистра сведений хороша тем, что вызывается при любой попытке сохранения/удаления записи регистра в базе данных.
Написать обработку для выявления таких записей и удалить Если записей не очень много — могу выслать вам универсальную обработку удаления объектов ИБ, дату зададите дате битой записи регистра Если много — и все типа 00000000-0000-0000-0000-000000000000 — нужно найти способ выбрать все подобные записи, очистить их, перепровести документы за период появления записей.
Урок 47. Автоподстановка цены товара из регистра сведений
Сегодня мы сделаем так, что у пользователя будет возможность добавить товар и указать у него цены, а потом выбирая этот товар в документе, будет происходить подстановка цены из регистра сведений.
Регистр сведений — это объект, предназначенный для хранения необходимой пользователю информации, например, информация о цене товара.
Но первоначально давайте модернизируем наш регистр сведений «ЦеныОтПроизводителя» и добавим в него новые поля с данными.
Измерения Контрагент и Договор имеют тип со ссылкой на соответствующие справочники. Нужно не забыть для измерения «Договор» установить отбор по владельцу — таким образом, чтобы происходило отсеивание договоров, которые не относятся к данному контрагенту.
Теперь откроем документ «ПриходТовара» и перейдем на форму. Нам нужен столбец «Товар» (Рисунок 2).
Нам нужно сделать так, чтобы при выборе товара, а это значит при изменении, подставлялась цена из регистра сведений автоматически. Для этого нужно использовать событие «ПриИзменении» для столбца «Товар» (Рисунок 3) и прописать внутри нужную процедуру.
Давайте разберемся, что написано внутри этой процедуры.
1. На клиенте — это значит, что выполняется эта процедура только на клиенте
3. СтрокаРасчета — это обращение к табличной части «ПриходТовара» у документа «ПриходТовара».
4. СтрокаРасчета.Цена — это обращение к процедуре «ПолучитьЦену».
5. ПриходТовараЦенаПриИзменении(Элемент);- это обращение к процедуре «ПриходТовараЦенаПриИзменении(Элемент);», она находится в модуле выше.
Теперь нажмите на панели сверху значок проверки и вы получите уведомление о том, что «ПолучитьЦену» не обнаружено(Рисунок 4).
Эта ошибка сообщает о том, что платформа не может найти эту процедуру, а если он не может ее найти, значит ее нужно создать (Рисунок 5).
После этого опять нажмите на значок проверки и уже никаких ошибок не будет.
Важно обратить внимание на то, что регистр сведений должен быть непериодическим (Рисунок 6).
Запустим и проверим весь функционал в пользовательском режиме. Сначала необходимо зайти в регистр сведений «Цены от производителя» и внести там данные (Рисунок 7).
После этого необходимо перейти в документ «Приход денег» и создать там приход (Рисунок 8).
Обратите внимание на рисунок 8. На нем выбраны поля такие же, какие были при создании элемента в регистре сведений. При выборе, он будет выдавать их первыми, так как он запомнил, что вы недавно с ними работали.
Как только начнете сделаете выбор товара, который создавали в регистре сведений, так сразу же цена автоматически будет подставлена из регистра.
Это сделано для того, чтобы пользователь при работе не перепутал цену и экономия времени.
На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их — ссылки внизу!
1С регистр накопления без регистратора –
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы