Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

запрет на ввод в ячейку повторного значения из предыдущих строк

запрет на ввод в ячейку повторного значения из предыдущих строк
Я
   toshchak
 
10.10.20 - 13:24
Всем привет!
Ситуация следующая.
Есть таблица в документе, в ней если колонка с числовым значением.
Необходимо выполнить запрет на ввод в эту ячейку повторного значения, что уже имеется в предыдущих строках.
Я так понимаю, нужно сделать обход строк и если найдено текущее вводимое значение, то запретить ввод.
Подскажите, пожалуйста, как то осуществить в коде? И режим обработки будет ВыборЗначения или ПриИзменении или еще какой-то?
   Сергиус
 
1 - 10.10.20 - 13:27
(0)Зачем обход, можно через Найти
   toshchak
 
2 - 10.10.20 - 13:37
Подскажите, как в коде это все будет выглядеть? И какой режим обработки нужно сделать и именно на эту колонку или на всю форму?
   SleepyHead
 
3 - 10.10.20 - 13:54
(2) Подожди Дениса, он продаст СП.
   МихаилМ
 
4 - 10.10.20 - 14:04
или
ксорить (Задача на поиск в массиве)



или
соответствие
   Михаил Козлов
 
5 - 10.10.20 - 15:56
Странная задача: ввел я 1,2,3. Потом поменял 2 на 3.
   Ёпрст
 
6 - 10.10.20 - 16:35
(2) В ПриИзменении у нужной колонки пропиши Если твояТабличка.Найти(значениеПоиска,"твояолонка")<>неопределенно Тогда значениеПоиска = 0, сообщить пользователю("ты кто такой ? Давай, до свидания!")
   toshchak
 
7 - 10.10.20 - 18:09
Ёпрст,
Вот в значенииПоиска и вся загвоздка. У меня не получается указать значениеПоиска текущее значение, которое я только что добавил в ячейку. Как обратиться к этому значению? ВыбранноеЗначение не работает, добавить в обработку не получается.
Создать переменную "Переменная = ЭтаФорма.Элементы.ТекСтрокаМояКолонка"?
   hhhh
 
8 - 10.10.20 - 18:13
(7) ЭтаФорма.Элементы.НазваниеТвоейТЗ.ТекущиеДанные.ИмяКолонки
   toshchak
 
9 - 10.10.20 - 18:58
Не работает ни черта. Пишет метод объекта не обнаружен(найти).
&НаКлиенте
Процедура ПутевкиНомерПутевкиПриИзменении(Элемент)
    ТекущаяПутевка = ЭтаФорма.Элементы.Путевки.ТекущиеДанные.НомерПутевки;
    МояТаблица = ЭтаФорма.Элементы.Путевки;
    
    Если МояТаблица.Найти(ТекущаяПутевка,"НомерПутевки") <> Неопределено Тогда 
        ТекущаяПутевка = 0; 
        Сообщить("твой метод ни черта не работает");
        
    КонецЕсли    
КонецПроцедуры
   Сергиус
 
10 - 10.10.20 - 19:04
(9)Так это у тебя ДанныеФормыКоллекция. Для нее метод Найти не доступен(можно использовать НайтиСтроки), ну или сразу к Объекту обращаться.
   toshchak
 
11 - 11.10.20 - 16:55
А как обратиться к объекту, если этот объект предыдущие ячейки в таблице?
   Chameleon1980
 
12 - 11.10.20 - 17:02
бля. студенты. вы хоть букварь открывали?
   toshchak
 
13 - 11.10.20 - 17:05
Через обход таблицы, я правильно понимаю?
   toshchak
 
14 - 11.10.20 - 17:12
Да ты сам студентом не был что ли?
Нахрена писать свою блевотную реплику про букварь? Ты самый умный? Так помоги, напиши мне код.
Когда на тебя за короткий срок падают тонны информации, букварь не поможет. Куда именно тыкать в букварь, если в голове каша?
   hhhh
 
15 - 11.10.20 - 17:18
(14) ну есть же специализированные сайты, которые помогают студентам. Чего вы сюда приперлись? Здесь таких кодов нет, которые подходят для студентов. Засираете тут всё своими блевотными заданиями. Уже и сайт из-за вас открывать не хочется. Понабежали.
   toshchak
 
16 - 11.10.20 - 17:43
Так не сиди здесь, че ты развонялся то?
Зачем еще нужны форумы, если не для взаимопомощи?
Просто напиши мне код и не будешь больше тут читать не строчки
   acht
 
17 - 11.10.20 - 17:48
Какое оно борзое, однако.
   Chameleon1980
 
18 - 12.10.20 - 04:39
(16) чтобы ТЕБЕ код написали есть специальные сайты в инете.
а ты хоть пытался букварь открыть? реально за. бало каждого студента тыкать носом.
я учился по книгам и мне иногда даже обломно было воппрс задать
т. к. я боялся что обо мне подумают плохо. я искал ответы чаще сам.
а сейчас спрашивают все подряд. на ваши вопррсы ответ найти пару секунд времени.

тебе уже все разжевали. почитай еще раз и пойми почему не получается
   Chameleon1980
 
19 - 12.10.20 - 04:45
{16} акуенно "просто напиши МНЕ код"
и поработать за тебя потом? 😁
   Злопчинский
 
20 - 12.10.20 - 08:04
Я буду проще.
Дайте мне денег.
Работы не надо.
   lEvGl
 
21 - 12.10.20 - 10:10
эта позиция "для чего еще нужны форумы, мне должны помогать" действительно за.рахала, никто ничего тебе не должен, ни обучать, ни помогать, вы привыкли к тому, что всегда помогают и воспринимаете это как должное. Открыть тебе секрет?: да срать хотелось на вас, обученцев, приходите, с круглыми галазами учитесь, через полгода появляется гонор, самомнение "я программист! в рот мне ноги", да хер ты моржовый, а не программист, наворотит за полгода лажи и сваливает, типа "я Специалист, но меня тут не уважают, хочу самостоятельности и зарплаты"
пшел нах
   Сергиус
 
22 - 13.10.20 - 01:30
(9)&НаКлиенте
Процедура ПутевкиНомерПутевкиПриИзменении(Элемент)
    ТекущаяПутевка = ЭтаФорма.Элементы.Путевки.ТекущиеДанные.НомерПутевки;
    МояТаблица = ЭтаФорма.Элементы.Путевки;
    МассивСтрок = МояТаблица.НайтиСтроки(Новый Структура("НомерПутевки",ТекущаяПутевка));
    Если МассивСтрок.Количество() > 0 Тогда
        ТекущаяПутевка = 0; 
        Сообщить("твой метод ни черта не работает");
    КонецЕсли    
КонецПроцедуры
   Cthulhu
 
23 - 13.10.20 - 01:57
а почему при записи не проверять и если чо не так - ругаться и не сохранять?..
(для оперативки ежели прижмет - повесить проверку в действия или на кнопку)
   AlexSmirnov272
 
24 - 13.10.20 - 02:07
(0) в список значений добавляй при открытии формы все значения что есть в этой тч по данному полю и при сходе с редактирования поля проверяй через найти() в этом списке, если не найден - добавляй в список новое значение, если найдено - отказ.
   SleepyHead
 
25 - 13.10.20 - 06:33
(22) НайтиСтроки в табличной части объекта - только на сервере или толстом клиенте.

Автор не пояснил, что у него за таблица, но по СП видно, что поиск строк или вызывает серверный метод, или требует сервер/толстый клиент. Вы хоть иногда код проверяйте, советчики ))
   Сергиус
 
27 - 13.10.20 - 11:08
(25)Вообще-то там не таблица, а ДанныеФормыКоллекция. Для нее метод НайтиСтроки работает и на клиенте. Поэтому сам сначала проверяй)
   SleepyHead
 
28 - 13.10.20 - 13:26
(27) Наверное, я пропустил, где автор про это пишет. Но даже для этого метода все равно дергается сервер, почитай СП. Идеального решения я здесь не вижу, разве что задачу поставить как-то по-другому.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь можно задать вопрос "Как сделать?" и получить кучу ответов, что тебе это делать не надо. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.