Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Окт 2017, 20:04
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Поиск свободного числа в диапозоне  (Прочитано 883 раз)

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

Оффлайн LastShine

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-06
  • Сайт: 
  • Профессия: Ученик 1С
Нужна помощь. Суть дела такова есть номера карточек в справочнике, от 1 до 9999, потом когда все номера используются и часть удаляется по определенному критерию. Какой должен быть алгоритм, что при создании новой записи в справочнике автоматически искалось следующее свободное значение после последеего записанного и вписывалось в элемент.


Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 356
  • РЕПУТАЦИЯ: 68
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Компания: Центр бизнес решений "ALT"
  • Профессия: Разработчик 1С
LastShine, сложно конечно сказать не зная логики освобождения номеров, но может наведу на мысль:)
С помощью запроса выберите все номера, далее в нем же получите признак (некое поле Булево) какие из них заняты поставьте условие и отсортируйте. Если позволяет структура данных сразу получайте не занятые, а далее уже делайте как считаете нужным: получайте первую/последнюю запись, отбирайте и т.д.
Если я Вам помог, нажми - Спасибо!

Оффлайн LastShine

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-06
  • Сайт: 
  • Профессия: Ученик 1С
LastShine, сложно конечно сказать не зная логики освобождения номеров, но может наведу на мысль:)
С помощью запроса выберите все номера, далее в нем же получите признак (некое поле Булево) какие из них заняты поставьте условие и отсортируйте. Если позволяет структура данных сразу получайте не занятые, а далее уже делайте как считаете нужным: получайте первую/последнюю запись, отбирайте и т.д.
Наверное так не получится потому что удаляется вся строка а не только элемент с номером. Условие очищение такого, у этой карточки когда поручение по ней выполнено, проставляется дата,  после все карточки у которых поле дата исполнения заполнены удаляются. И надо что бы на их места писались новые)


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
В качестве идеи:
ТЗ=Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Нумератор",Новый ОписаниеТипов("Число"));

Для ее=1 По 99999 Цикл
НовСтрока=ТЗ.Добавить();
НовСтрока.Нумератор=ее;
КонецЦикла;


Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    | ТЗ.Нумератор КАК Нумератор
    |ПОМЕСТИТЬ Таб
    |ИЗ
    | &ТЗ КАК ТЗ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВЫБОР
    | КОГДА Клиенты.Код ЕСТЬ NULL
    | ТОГДА ЛОЖЬ
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ КАК НомерЗанят,
    | Таб.Нумератор
    |ПОМЕСТИТЬ вт1
    |ИЗ
    | Таб КАК Таб
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Клиенты КАК Клиенты
    | ПО Таб.Нумератор = Клиенты.Код
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | МИНИМУМ(вт1.Нумератор) КАК Нумератор
    |ИЗ
    | вт1 КАК вт1
    |ГДЕ
    | НЕ вт1.НомерЗанят";

Оффлайн LastShine

  • *
  • Сообщений: 9
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-06
  • Сайт: 
  • Профессия: Ученик 1С
В качестве идеи:
ТЗ=Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Нумератор",Новый ОписаниеТипов("Число"));

Для ее=1 По 99999 Цикл
НовСтрока=ТЗ.Добавить();
НовСтрока.Нумератор=ее;
КонецЦикла;
Это интересно, попробую, спасибо

Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    | ТЗ.Нумератор КАК Нумератор
    |ПОМЕСТИТЬ Таб
    |ИЗ
    | &ТЗ КАК ТЗ
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | ВЫБОР
    | КОГДА Клиенты.Код ЕСТЬ NULL
    | ТОГДА ЛОЖЬ
    | ИНАЧЕ ИСТИНА
    | КОНЕЦ КАК НомерЗанят,
    | Таб.Нумератор
    |ПОМЕСТИТЬ вт1
    |ИЗ
    | Таб КАК Таб
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Клиенты КАК Клиенты
    | ПО Таб.Нумератор = Клиенты.Код
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    | МИНИМУМ(вт1.Нумератор) КАК Нумератор
    |ИЗ
    | вт1 КАК вт1
    |ГДЕ
    | НЕ вт1.НомерЗанят";


Теги:
 

Поиск в справочнике "Номенклатура" в УТ 11

Автор HolicРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 1265
Последний ответ 08 Фев 2016, 20:53
от Holic
Поиск стандартных процедур модуля формы из другой формы.

Автор Дамир ТлеухановРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 689
Последний ответ 18 Авг 2016, 11:50
от MuI_I_Ika
Как установить "Поиск по точному совпадению" по умолчанию?

Автор BulatsergРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 1494
Последний ответ 16 Сен 2016, 14:58
от Bulatserg
Поиск и замена способа отражения расходов в документе Передача материалов в эксплуатацию

Автор Елена ПлаксинаРаздел Пользователям "1С - Предприятие 8"

Ответов: 5
Просмотров: 2379
Последний ответ 08 Авг 2015, 00:37
от Дмитрий@
Поиск в основной форме обработки ссылок на формирование табличной части

Автор Nail2010Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 3390
Последний ответ 21 Дек 2010, 10:02
от Nail2010

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
88 Сообщений
alex0402
49 Сообщений
AIFrame
43 Сообщений
Oldman06
31 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
30 Сообщений
vitasw
29 Сообщений
Golickoff Golickoff
28 Сообщений
MuI_I_Ika MuI_I_Ika
18 Сообщений
Liv98 Liv98
15 Сообщений
DmitriyF DmitriyF
14 Сообщений

* Кто онлайн

  • Точка Гостей: 290
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal