|   |   | 
| 
 | запрет на ввод в ячейку повторного значения из предыдущих строк | ☑ | ||
|---|---|---|---|---|
| 0
    
        toshchak 10.10.20✎ 13:24 | 
        Всем привет!
 Ситуация следующая. Есть таблица в документе, в ней если колонка с числовым значением. Необходимо выполнить запрет на ввод в эту ячейку повторного значения, что уже имеется в предыдущих строках. Я так понимаю, нужно сделать обход строк и если найдено текущее вводимое значение, то запретить ввод. Подскажите, пожалуйста, как то осуществить в коде? И режим обработки будет ВыборЗначения или ПриИзменении или еще какой-то? | |||
| 1
    
        Сергиус 10.10.20✎ 13:27 | 
        (0)Зачем обход, можно через Найти     | |||
| 2
    
        toshchak 10.10.20✎ 13:37 | 
        Подскажите, как в коде это все будет выглядеть? И какой режим обработки нужно сделать и именно на эту колонку или на всю форму?     | |||
| 3
    
        SleepyHead гуру 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, сообщить пользователю("ты кто такой ? Давай, до свидания!")     | |||
| 7
    
        toshchak 10.10.20✎ 18:09 | 
        Ёпрст,
 Вот в значенииПоиска и вся загвоздка. У меня не получается указать значениеПоиска текущее значение, которое я только что добавил в ячейку. Как обратиться к этому значению? ВыбранноеЗначение не работает, добавить в обработку не получается. Создать переменную "Переменная = ЭтаФорма.Элементы.ТекСтрокаМояКолонка"? | |||
| 8
    
        hhhh 10.10.20✎ 18:13 | 
        (7) ЭтаФорма.Элементы.НазваниеТвоейТЗ.ТекущиеДанные.ИмяКолонки     | |||
| 9
    
        toshchak 10.10.20✎ 18:58 | 
        Не работает ни черта. Пишет метод объекта не обнаружен(найти).
 &НаКлиенте Процедура ПутевкиНомерПутевкиПриИзменении(Элемент) ТекущаяПутевка = ЭтаФорма.Элементы.Путевки.ТекущиеДанные.НомерПутевки; МояТаблица = ЭтаФорма.Элементы.Путевки; Если МояТаблица.Найти(ТекущаяПутевка,"НомерПутевки") <> Неопределено Тогда ТекущаяПутевка = 0; Сообщить("твой метод ни черта не работает"); КонецЕсли КонецПроцедуры | |||
| 10
    
        Сергиус 10.10.20✎ 19:04 | 
        (9)Так это у тебя ДанныеФормыКоллекция. Для нее метод Найти не доступен(можно использовать НайтиСтроки), ну или сразу к Объекту обращаться.     | |||
| 11
    
        toshchak 11.10.20✎ 16:55 | 
        А как обратиться к объекту, если этот объект предыдущие ячейки в таблице?     | |||
| 12
    
        Chameleon1980 11.10.20✎ 17:02 | 
        бля. студенты. вы хоть букварь открывали?     | |||
| 13
    
        toshchak 11.10.20✎ 17:05 | 
        Через обход таблицы, я правильно понимаю?     | |||
| 14
    
        toshchak 11.10.20✎ 17:12 | 
        Да ты сам студентом не был что ли? 
 Нахрена писать свою блевотную реплику про букварь? Ты самый умный? Так помоги, напиши мне код. Когда на тебя за короткий срок падают тонны информации, букварь не поможет. Куда именно тыкать в букварь, если в голове каша? | |||
| 15
    
        hhhh 11.10.20✎ 17:18 | 
        (14) ну есть же специализированные сайты, которые помогают студентам. Чего вы сюда приперлись? Здесь таких кодов нет, которые подходят для студентов. Засираете тут всё своими блевотными заданиями. Уже и сайт из-за вас открывать не хочется. Понабежали.     | |||
| 16
    
        toshchak 11.10.20✎ 17:43 | 
        Так не сиди здесь, че ты развонялся то?
 Зачем еще нужны форумы, если не для взаимопомощи? Просто напиши мне код и не будешь больше тут читать не строчки | |||
| 17
    
        acht 11.10.20✎ 17:48 | 
        Какое оно борзое, однако.     | |||
| 18
    
        Chameleon1980 12.10.20✎ 04:39 | 
        (16) чтобы ТЕБЕ код написали есть специальные сайты в инете.
 а ты хоть пытался букварь открыть? реально за. бало каждого студента тыкать носом. я учился по книгам и мне иногда даже обломно было воппрс задать т. к. я боялся что обо мне подумают плохо. я искал ответы чаще сам. а сейчас спрашивают все подряд. на ваши вопррсы ответ найти пару секунд времени. тебе уже все разжевали. почитай еще раз и пойми почему не получается | |||
| 19
    
        Chameleon1980 12.10.20✎ 04:45 | 
        {16} акуенно "просто напиши МНЕ код"
 и поработать за тебя потом? 😁 | |||
| 20
    
        Злопчинский 12.10.20✎ 08:04 | 
        Я буду проще.
 Дайте мне денег. Работы не надо. | |||
| 21
    
        lEvGl гуру 12.10.20✎ 10:10 | 
        эта позиция "для чего еще нужны форумы, мне должны помогать" действительно за.рахала, никто ничего тебе не должен, ни обучать, ни помогать, вы привыкли к тому, что всегда помогают и воспринимаете это как должное. Открыть тебе секрет?: да срать хотелось на вас, обученцев, приходите, с круглыми галазами учитесь, через полгода появляется гонор, самомнение "я программист! в рот мне ноги", да хер ты моржовый, а не программист, наворотит за полгода лажи и сваливает, типа "я Специалист, но меня тут не уважают, хочу самостоятельности и зарплаты"
 пшел нах | |||
| 22
    
        Сергиус 13.10.20✎ 01:30 | 
        (9)&НаКлиенте
 Процедура ПутевкиНомерПутевкиПриИзменении(Элемент) ТекущаяПутевка = ЭтаФорма.Элементы.Путевки.ТекущиеДанные.НомерПутевки; МояТаблица = ЭтаФорма.Элементы.Путевки; МассивСтрок = МояТаблица.НайтиСтроки(Новый Структура("НомерПутевки",ТекущаяПутевка)); Если МассивСтрок.Количество() > 0 Тогда ТекущаяПутевка = 0; Сообщить("твой метод ни черта не работает"); КонецЕсли КонецПроцедуры | |||
| 23
    
        Cthulhu 13.10.20✎ 01:57 | 
        а почему при записи не проверять и если чо не так - ругаться и не сохранять?..
 (для оперативки ежели прижмет - повесить проверку в действия или на кнопку) | |||
| 24
    
        AlexSmirnov272 13.10.20✎ 02:07 | 
        (0) в список значений добавляй при открытии формы все значения что есть в этой тч по данному полю и при сходе с редактирования поля проверяй через найти() в этом списке, если не найден - добавляй в список новое значение, если найдено - отказ.     | |||
| 25
    
        SleepyHead гуру 13.10.20✎ 06:33 | 
        (22) НайтиСтроки в табличной части объекта - только на сервере или толстом клиенте.
 Автор не пояснил, что у него за таблица, но по СП видно, что поиск строк или вызывает серверный метод, или требует сервер/толстый клиент. Вы хоть иногда код проверяйте, советчики )) | |||
| 27
    
        Сергиус 13.10.20✎ 11:08 | 
        (25)Вообще-то там не таблица, а ДанныеФормыКоллекция. Для нее метод НайтиСтроки работает и на клиенте. Поэтому сам сначала проверяй)     | |||
| 28
    
        SleepyHead гуру 13.10.20✎ 13:26 | 
        (27) Наверное, я пропустил, где автор про это пишет. Но даже для этого метода все равно дергается сервер, почитай СП. Идеального решения я здесь не вижу, разве что задачу поставить как-то по-другому.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |