Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 19:13

Вопрос по лабораторной работе в 1с Предприятие 8.0

Автор DarAkon, 06 фев 2015, 10:25

0 Пользователей и 1 гость просматривают эту тему.

DarAkon

Необходимо создать справочник,и  отключить у него автонумерацию и контроль уникальности.Это я сделал. Далее необходимо создать форму списка, отображающую все элементы справочника.Мне нужно сделать возможным добавление полноценного нового элемента справочника, который не будет совпадать по коду и наименованию с уже имеющимися элементами справочника.И сделать так, чтобы код был всегда минимально возможным, т.е. если, например, есть элементы с кодами 4, 5 и 8, то следующий код должен быть 6.

LexaK

Цитировать
И сделать так, чтобы код был всегда минимально возможным, т.е. если, например, есть элементы с кодами 4, 5 и 8, то следующий код должен быть 6.

Почему это 6 ? По условию: чтобы код был всегда минимально возможным
Код должен быть 1 !!!

что вы народ путаете?
если помогло нажмите: Спасибо!

cska-fanat-kz

делайте код обязательным полем (даже программить не надо) и только проверяйте уникальность )))
все остальное - сделает юзверь )))
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

cska-fanat-kz,
да нет, это же лабораторная, как раз и надо написать программу/запрос который вернет первый доступный самый минимальный номер!
DarAkon,
перед записью объекта (элемента справочника)
проверяйте, если номер не заполнен
напишите запрос к базе, который и вернет вам первый доступный номер.



Добавлено: 06 фев 2015, 12:19


если Код - тип Число

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

выбрать 1 как Код Поместить Таб объединить все
выбрать 2 объединить все
выбрать 7 объединить все
выбрать 8
;

выбрать первые 1
//Таб.Код,
количество(Таб.Код) как НовыйКод
из Таб
левое соединение Таб как Т1
по Таб.Код >= Т1.Код
сгруппировать по
Таб.Код
имеющие
Таб.Код <>
количество(Таб.Код)
упорядочить по //?
1


в этом примере вернется НовыйКод = 3.

с типом Код - тип Строка (ПР0001,ПР0002,...,ПР0005), тоже можно решить такую задачу, немного сложнее правда.
если помогло нажмите: Спасибо!

DarAkon

Цитата: LexaK от 06 фев 2015, 11:03
Цитировать
И сделать так, чтобы код был всегда минимально возможным, т.е. если, например, есть элементы с кодами 4, 5 и 8, то следующий код должен быть 6.

Почему это 6 ? По условию: чтобы код был всегда минимально возможным
Код должен быть 1 !!!

что вы народ путаете?
Да нет я не путаю,просто по заданию так было сказано.Тут скорее всего имеются ввиду что уже есть 1,2,3 и 7.
Добавлено: 07 фев 2015, 10:59


Цитата: LexaK от 06 фев 2015, 11:41
cska-fanat-kz,
да нет, это же лабораторная, как раз и надо написать программу/запрос который вернет первый доступный самый минимальный номер!
DarAkon,
перед записью объекта (элемента справочника)
проверяйте, если номер не заполнен
напишите запрос к базе, который и вернет вам первый доступный номер.



Добавлено: 06 фев 2015, 12:19


если Код - тип Число

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

выбрать 1 как Код Поместить Таб объединить все
выбрать 2 объединить все
выбрать 7 объединить все
выбрать 8
;

выбрать первые 1
//Таб.Код,
количество(Таб.Код) как НовыйКод
из Таб
левое соединение Таб как Т1
по Таб.Код >= Т1.Код
сгруппировать по
Таб.Код
имеющие
Таб.Код <>
количество(Таб.Код)
упорядочить по //?
1


в этом примере вернется НовыйКод = 3.

с типом Код - тип Строка (ПР0001,ПР0002,...,ПР0005), тоже можно решить такую задачу, немного сложнее правда.
Спасибо,извините за глупый вопрос,я только новичок в 1с,а как мне запустить консоль запросов в 1с и проверить этот код? И ещё мне кроме уникальности кода,надо еще проверять уникальность по наименованию.Как мне этот запрос адаптировать конкретно для моего справочника можно пожалуйста поподробнее LexaK?Буду очень благодарен,если поможете.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск