#0
by VKRNA5
Здравствуйте! Подскажите, пожалуйста, как в табличной части документа, программно ограничить пользователю ввод значений, которые уже присутствуют в этой табличной части. К примеру, в колонке таблицы, значения 30 40 50 60, пользователь вводит число 50, система не должна давать ввести данное значение, пока пользователь не отредактирует число на другое, которого нет в табличной части.
#2
by Defender aka LINN
Придется написать немного кода. Или много, если промеж ушей масла маловато. Или заплатить денег тому, кто умеет, если промеж ушей только ниточка.
#3
by VKRNA5
Заплатить денег за 2 строчки кода?) Я сделал так, что при вводе значений в табличную часть, если значение повторяется, то строка удаляется, но это не корректно, как сделать так, чтобы строка не удалялась, но и не давала пользователю ввести не корректное значение в таблицу, пока он его не изменит?
#7
by PR третий
Так если ты разбираться не хочешь, а хочешь готовый код, то почему тебя возмущает предложение заплатить за это?
#8
by spectre1978
У табличной части есть всяки-разны события. Вот их надо покурить и написать обработчик, который не даст закончить ввод строки, если введены значения которые уже были
#11
by oslokot
Вообще-то в идеале, принято ограничивать пользователю выбор данных уже имеющихся в ТЧ. И сделать это нужно на уровне параметра выбора для поля ввода.
#14
by oslokot
Если это выбор из имеющихся данных, например из справочника, то имеет смысл наложить на него отбор при интерактивном подборе. А если это число, то проверять ввод в событии, например, в ПриОкончанииРедактирования
#15
by VKRNA5
Это число и У меня Выбрано событие ПередОкончаниемРедактирования Я в цикле обхожу табличную часть, проверяю каждую строку табличной части на соответствие введенной строке, если строки совпадают, то Отказ Но когда в режиме предприятия пользователь вводит в таблицу значение. которые уже есть в табличной части, всё зависает и не даёт совершить больше никаких действий, в том числе и отредактировать данное число.
#16
by PR третий
Что-то не похоже на две строки кода, больше похоже на небольшую тележечку копрокода
#17
by breezee
А зачем накладывать? пусть пользователь хоть 10 раз вводит. Можно(нужно) же потом свернуть табличную часть. В том же запросе поставить группировку по нужному полю. Можно постановку задачи где такое необходимо?
#19
by SiAl-chel
ESC в восьмерке не всегда не поможет, там вроде Ctrl+Break рулит, и то при условии прямых рук кодера. В цикле наложи условие Если СтрокаТЧ <> ТекущаяСтрокаТЧ Тогда ПыСы: Переменные в условии надо воспринимать абстрактно.
#20
by SeraFim
Сделать проверку в обработке проведения не предлагали еще? Предположим наколотили 500 строк в таблице. Пользователь тыкает 50, система не дает ничего сделать, просит ввести другое., тыкает 40, то же самое. А пользователь не знает, какие значения уже введены, пересматривать все 500 строк будет очень долго. Пока пользователь пытается угадать нужную цифирку, могут отключить свет/админ перезагрузит сервак и тд. А пользователь даже сохраниться не может. А так - хоть 500 одинаковых строк пусть введет, но сможет сохраниться, однако потом все-таки провести он нифига не сможет.
#24
by ЧеловекДуши
Отлавливать в "ПриИзменении". А "ПриНачалеРедактирования", запоминать значения для восстановления :)
#26
by ЧеловекДуши
>>> в обработке проведения Откуда у вас такое маниакальное желание засорять лишними проверками и тормозными диалогами Модули, которые выполняются в Транзакции? :)
#27
by SeraFim
это маниакальное желание решить задачу сразу, просто и комплексно, дабы потом по 15 раз не возвращаться к ней. Сейчас окажется, что: 1. Автор забыл сделать проверку при копировании строки. 2. Документ вводится на основании другого. То есть в другом документе (например, "ЗаказПокупателя") можно указывать 20 20 20, а в этом документе (скажем, "Продажа") - этого делать уже нельзя, а автоматом уже заполнилось. 3. Есть какие-то другие операции, которые программно заполняют документ. Какие-то обмены, обработки и тд.
#28
by Vladal
Тогда перед записью проверять. ЧТобы при первом вводе не было дублей. , В типовых есть процедура ОбщегоНазначения.ОтобратьСтрокиПоКритериям
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Дубли таблиц после объединения?
- Выгрузка табличной части и загрузка таб.части документа
- Как найти дубли в справочнике по коду?
- Дубли при переносе между идентичными конфигурациями
- Внешняя обработка табличной части для управляемых форм - кто делал?
- Выводу дубли с СКД Помогите
- БП 3.0 обработка заполнения табличной части документа инвентаризация
- Обращение к табличной части справочника из табличной части документа
- Выбрать в табличной части документа элемент табличной части справочника
- почему в табличной части не выводится реквизит табличной части?
В этой группе 1С
- Инструкции по работе с Контуром при выгрузке отчетов из ЗуП и прочая отчетность.
- Печать ШК складских ячеек УТ 11
- Как удалить внутреннюю картинку макета?
- Индикатор прогресса в ячейку табличного поля
- Коллеги, что-то запарился я с подключением своей ВК к УФ
- БСП. Печать. Как отключить возможность редактирования формы перед печатью?
- Обмен БП3 - УТ11 не проставляются счета расчетов с контрагентами
- СКД не выводит список ссылок
- Переоценка валютных средств БП 3.0
- Файловая база БП3.0 после обновления увеличилась в три раза
- Количество дней просроченной дебиторской задолженности УТ 10.3
- СообщениеПользователю привязать к подвалу табличной части как?
- Перевод Motorola DS9208 USB в режим com-порта
- Авторизация к веб-сервису 1С
- Реализация товаров со счетов 41.01 и 43, 1С 8.2 Бухгалтерия 2.0
- Ошибка: "Возможно, не был освобожден менеджер временных таблиц"
- Начисление по больничному ЗУП 2.5
- Розница 2.1 и обмен товара
- Ошибка в запросе. Поле не входит в группу '_TTC_2RRef'
- Не отправляет почту из 1С