Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Уникальность реквизита справочника          
_leon4uk_ Подменю пользователя
сообщение 18.04.12, 16:42
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Проверку уникальности для Наименования я реализовал таким вот способом:


 ! 

Правила п.12
 


но ещё необходимо сделать уникальность реквизита "Модификация" в табличной части. как это реализовать?


 ! 

Правила, п.9.
Никто за Вами не будет запоминать что было в других темах. Учитесь нормально описывать задачи
 


Сообщение отредактировал logist - 18.04.12, 17:35

_leon4uk_ Подменю пользователя
сообщение 18.04.12, 18:16
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Как создать уникальность для реквизита в Справочнике, чтобы при Сохранении выдавалась ошибка.

Vofka Подменю пользователя
сообщение 19.04.12, 7:48
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата(_leon4uk_ @ 18.04.12, 19:16) *
Как создать уникальность для реквизита в Справочнике, чтобы при Сохранении выдавалась ошибка.

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

_leon4uk_ Подменю пользователя
сообщение 19.04.12, 10:10
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 19.04.12, 7:48) *
Уникальность в пределах таб. части конкретного элемента?


нет, не в табличной части.

Vofka Подменю пользователя
сообщение 19.04.12, 10:19
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Я догадываюсь, что надо сделать, но всё же опишите нормально задачу.

_leon4uk_ Подменю пользователя
сообщение 19.04.12, 10:28
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 19.04.12, 10:19) *
Я догадываюсь, что надо сделать, но всё же опишите нормально задачу.


Есть справочник Модели. На ней добавлены реквизиты, один из них "Модификация"(строка 20). Необходимо чтобы при записи выполняло проверку, нет ли уже записанного такого поля в реквизите "Модификация".

alex040269 Подменю пользователя
сообщение 19.04.12, 10:38
Сообщение #7

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Есть процедура ПриПроверкеЗаполнения или где-то так . Выполняется на сервере.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Vofka Подменю пользователя
сообщение 19.04.12, 10:59
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

_leon4uk_, почему в названии темы присутствует фраза "табличная часть"?

_leon4uk_ Подменю пользователя
сообщение 19.04.12, 11:41
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 19.04.12, 11:59) *
_leon4uk_, почему в названии темы присутствует фраза "табличная часть"?


я просто много раз уже переделывал, и ни как не могу справиться... huh.gif не понимаю как это написать всё

Vofka Подменю пользователя
сообщение 19.04.12, 12:42
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Ладно, помогу.

В процедуре ПередЗаписью пишете следующее:

Отбор = Новый Структура("НаименованиеРеквизитаУникальностоКоторогоНадоКонтролировать", ЗначениеРеквизитаУникальностоКоторогоНадоКонтролировать);

Выборка = Справочники.МойСправочник.Выбрать(,,Отбор);

Если Выборка.Следующий() Тогда
     Отказ = Истина;
КонецЕсли;


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

ЗЫ. Да, кстати, тему переименовал.

Сообщение отредактировал Vofka - 19.04.12, 12:43

Silantiy Подменю пользователя
сообщение 16.07.13, 10:06
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 22
Из: Владимир
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 19.04.12, 13:42) *
В процедуре ПередЗаписью пишете следующее:

Отбор = Новый Структура("НаименованиеРеквизитаУникальностоКоторогоНадоКонтролировать", ЗначениеРеквизитаУникальностоКоторогоНадоКонтролировать);

Выборка = Справочники.МойСправочник.Выбрать(,,Отбор);

Если Выборка.Следующий() Тогда
     Отказ = Истина;
КонецЕсли;
надо бы ещё добавить:
1. что эту процедуру надо перенести на сервер (т.к. тема у нас про 8.2), а ПередЗаписью на клиенте
2. и в данной обработке возникает отказ, если Вы редактируете уже существующее элемент справочника (он находит сам себя)

Vofka Подменю пользователя
сообщение 16.07.13, 10:22
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата(Silantiy @ 16.07.13, 11:06) *
эту процедуру надо перенести на сервер (т.к. тема у нас про 8.2), а ПередЗаписью на клиенте

Выше не укзано, поэтому добавлю, что имелась ввиду процедура ПередЗаписью модуля объекта (где нету разделения на клиент/сервер).

Цитата(Silantiy @ 16.07.13, 11:06) *
в данной обработке возникает отказ, если Вы редактируете уже существующее элемент справочника (он находит сам себя)

Это да, верно подмечено smile.gif .

Сообщение отредактировал Vofka - 16.07.13, 10:22

Silantiy Подменю пользователя
сообщение 16.07.13, 12:01
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 22
Из: Владимир
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Vofka @ 16.07.13, 11:22) *
Это да, верно подмечено smile.gif .

а Гуру предложит выход? )

Vofka Подменю пользователя
сообщение 16.07.13, 12:17
Сообщение #14

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата(Silantiy @ 16.07.13, 13:01) *
а Гуру предложит выход? )

Если в контексте кода выше, то вот, навскидочку:
Отбор = Новый Структура("НаименованиеРеквизитаУникальностоКоторогоНадоКонтролировать", ЗначениеРеквизитаУникальностоКоторогоНадоКонтролировать);

Выборка = Справочники.МойСправочник.Выбрать(,,Отбор);

Пока Выборка.Следующий() Цикл
     Если Выборка.Ссылка = Ссылка Тогда
          Продолжить;
     КонецЕсли;
     Отказ = Истина;
КонецЦикла;


А если делать запросом, то можно сразу ограничить выборку в условии ГДЕ.

Сообщение отредактировал Vofka - 16.07.13, 12:17

Спасибо сказали: Silantiy,

Silantiy Подменю пользователя
сообщение 16.07.13, 12:19
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 22
Из: Владимир
Спасибо сказали: 0 раз
Рейтинг: 0

Спасибо, просто то всё как )

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.05.24, 11:18
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!