1с в поле введены некорректные данные
v8: Окно предупреждения «В поле введены некорректные данные. Отменить ввод?
Уже поднималась эта тема.
Текстовое поле имеет тип ДокументСсылка. Справа кнопка выбора позволяет выбрать нужный документ. Если ввести в поле текст значения реквизита. То выдается ошибка:
«В поле введены некорректные данные.Отменить ввод?»
Так и должно быть. С этим все понятно.
Как я хочу сделать:
При окончании ввода по введенному тексту найти запросом нужный документ.
Далее присвоить этому текстовому полю ссылку на найденный документ.
Все работает. Ввожу текст. Документ находится. Поле заполняется:
Док номер такой-то от таког-то числа
Вот только ошибка эта все равно вылазиит.
Отключал
СтандартнаяОбработка = Ложь
В этом случае вообще ничего не заполняется.
——
Если надо кому нашел решение.
Да, всё верно в случае если Ставим СтандартнаяОбработка = Ложь ничего не заполняется. Именно это нам и надо.
1. В вышеописанной процедуре присваиваем значение Глобальной (описанной в модуле этой форме) Переменной.
Например описали:
Перем НайденныйДок;
И присваиваем ей например Номер найденного в запросе документа
2. В процедуре при изменении пишем
Процедура ТабличнаяЧастьДоверенностьПриИзменении(Элемент)
ИщемДокумент=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата);
Если ИщемДокумент=Документы.Доверенность.ПустаяСсылка() Тогда
Сообщить(«К сожалению не найдена доверенность под Номером «+НайденныйДок);
Иначе
Элемент.Значение=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата);
КонецЕсли;
КонецПроцедуры;
Отмена изменения поля ввода
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Событие изменения содержимого поля ввода управляемой формы
Никто случайно не знает каким событием поймать изменение содержимого поля ввода (строка).
Отмена выделения ListBox и очистка Поля ввода TextBox по клику на кнопку (WPF+Core)
Гуглю второй вечер, не получается( Как очистить из XAML список ListBox при нажатии на свободное.
Рабочий способ изменения цвета поля ввода Input, Placeholder & Auto-Complete
Буду краток. И так.. в первом шаблоне находятся стандартные CSS настройки поля ввода input.
Отмена ввода и повтор ввода в DataGridView
Всем привет. В DataGridView подключенному к Access провожу следующее действия: добавление и.
— Здесь имеется ввиду такой элемент как полеВвода или ЯчейкаТабПоля? У этих эелементов разные события )
Добавлено через 50 секунд
и какая 1С?
Событие ПриОкончанииВводаТекста происходит перед записью значения. Т.е. через него можно обратиться к элементу до его непосредственного изменения.
Например, у вас Таблица1 на форме.
В теле процедуры ПриОкончанииВводаТекста вы можете обратиться к:
Элементыформы.Таблица1.ТекущаяСтрока.ИнтересующаяКолонка
и получите значение до изменения.
Но если просто надо отменить ввод, то ПриОкончанииВводаТекста задаём:
СтандартнаяОбработка = Ложь;
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Отмена изменения текста в textbox
Всем привет. Помогите, пожалуйста, у меня есть форма с textbox1 и textbox2 c заполненным text и.
Отмена последнего изменения в dbgrid
Вопрос такой, возможно ли сделать отмену изменения не во всей таблицы до первоначальной а ток.
Отмена ввода примечания
При выполнении этого кода, после отмены ввода примечания остается коммент False. Как сделать так.
Как вставить макрос изменения даты и времени изменения поля?
Я не русский, я юрист. В моей базе на МС Акксесс 2016 я делаю базу цитат из литературных.
Как в форме выбора при закрытии формы отказаться от значения
Так ты ж и получаешь просто выбранный элемент. Вместо этого нужно почитать про возвращаемое значение для модального окна в синтакс-помощнике:
И переделать код на
Вот нашел ранее что писал, думаю этот алгоритм можно и тут применить.
Уже поднималась эта тема.
Текстовое поле имеет тип ДокументСсылка. Справа кнопка выбора позволяет выбрать нужный документ. Если ввести в поле текст значения реквизита. То выдается ошибка:
«В поле введены некорректные данные.Отменить ввод?»
Так и должно быть. С этим все понятно.
Как я хочу сделать:
При окончании ввода по введенному тексту найти запросом нужный документ.
Далее присвоить этому текстовому полю ссылку на найденный документ.
Все работает. Ввожу текст. Документ находится. Поле заполняется:
Док номер такой-то от таког-то числа
Вот только ошибка эта все равно вылазиит.
Отключал
СтандартнаяОбработка = Ложь
В этом случае вообще ничего не заполняется.
——
Если надо кому нашел решение.
Да, всё верно в случае если Ставим СтандартнаяОбработка = Ложь ничего не заполняется. Именно это нам и надо.
1. В вышеописанной процедуре присваиваем значение Глобальной (описанной в модуле этой форме) Переменной.
Например описали:
Перем НайденныйДок;
И присваиваем ей например Номер найденного в запросе документа
2. В процедуре при изменении пишем
Процедура ТабличнаяЧастьДоверенностьПриИзменении(Элемент)
ИщемДокумент=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата);
Если ИщемДокумент=Документы.Доверенность.ПустаяСсылка() Тогда
Сообщить(«К сожалению не найдена доверенность под Номером «+НайденныйДок);
Иначе
Элемент.Значение=Документы.Доверенность.НайтиПоНомеру(НайденныйДок,ЭтотОбъект.Дата);
КонецЕсли;
КонецПроцедуры;
1С подставляет неверные данные в документы – как бороться?
Программы 1С постоянно пытаются помочь своим пользователям, автоматизируя ежедневные рутинные операции и ускоряя процесс ведения бухгалтерского учета. Но иногда, принимая за пользователя некоторые решения, они скорее мешают работать. Например, подставляют в документы неверные значения, тем самым требуя повышенного внимания и увеличивая вероятность ошибок. В большинстве случаев, причина таких неудобств для пользователя кроется в неверных настройках. Давайте разберем подробнее несколько ситуаций на примере программы 1С: Бухгалтерия предприятия 8 редакции 3.0.
Ставка НДС
Довольно часто при работе с банковской выпиской в 1С: Бухгалтерии можно заметить, что ставка НДС в документах на списание денежных средств автоматически указывается неверно. Например, вы отражаете списание с расчетного счета в адрес контрагента, не являющегося плательщиком НДС, но программа по умолчанию указывает в документе ставку 18%.
Для того, чтобы этого не происходило, нужно в настройках договора снять галочку «Поставщик по договору предъявляет НДС» (сделать это можно только для договоров, по которым в программе еще нет проведенных документов, поэтому, прежде всего, не забывайте о данной настройке при добавлении нового договора).
Также неверная ставка НДС может подставляться в документы реализации и поступления.
В данном случае информация по умолчанию заполняется из реквизита справочника «Номенклатура». Для каждого товара, материала или услуги в этом справочнике задается значение ставки НДС, которое автоматически будет подставлено в документы.
Обязательно контролируйте данный реквизит при создании новых номенклатурных позиций.
Счета учета номенклатуры
Проблема с некорректным определением счетов учета при заполнении документов знакома очень многим пользователям 1С. Достаточно часто какие-то материалы «улетают» на 41 счет, а другие, к примеру, приобретаются на 10.06 и списываются с 10.01, т.к. бухгалтер забыл исправить счета учета в документе.
Что необходимо сделать для того, чтобы программа сама подставляла счета учета во все документы верно? Конечно, нужно настроить правила их определения. Удобнее всего выполнить такую настройку для видов или групп номенклатуры (подробно об этих понятиях и отличиях между ними мы рассказывали в статье Номенклатура и номенклатурные группы в 1С: Бухгалтерии предприятия 8 — как использовать правильно?
Итак, открываем справочник «Номенклатура» и переходим по гиперссылке «Счета учета номенклатуры» в верхней части формы.
На приведенной картинке счета учета настроены для вида номенклатуры (заполнена именно эта колонка). Сам вид указывается для каждой номенклатурной позиции в форме элемента справочника.
По созданному правилу вся номенклатура с видом «Продукция» будет учитываться на 43 счете, и именно этот счет будет автоматически подставляться в документы с участием такой номенклатуры.
Если же виды номенклатуры в справочнике указаны некорректно или не созданы правила для автоматического определения счетов учета, то есть риск формирования неверных проводок.
Основная организация, подразделение, склад и договор контрагента
В программе 1С: Бухгалтерия есть возможность указать для некоторых элементов справочников основные значения, которые будут автоматически подставляться при создании новых документов.
Если вы ведете в одной базе учет по нескольким организациям, то в соответствующем справочнике можно выбрать основную, документы для которой создаются чаще других.
Также можно указать основную организацию, подразделение и склад, перейдя по ссылке «Персональные настройки» на вкладке «Главное».
А для каждого поставщика или покупателя можно определить основной договор, который будет автоматически подставляться в документы. Для этого нужно открыть элемент справочника «Контрагенты» и перейти по гиперссылке «Договоры» в верхней части формы.
Щелкаем мышкой на нужный договор и нажимаем кнопку «Использовать как основной».
В процессе работы основные значения для подстановки в документы (организацию, подразделение, договоры и др.) можно изменять с любой периодичностью. Главное – не делать это слишком часто, чтобы не создать путаницу.
Надеюсь, что эта информация поможет вам повысить удобство работы в 1С. А если остались какие-либо вопросы, то их можно задать в комментариях к статье.
Понравилась статья? Подпишитесь на рассылку новых материалов
Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
Предыстория
К написанию статьи меня подтолкнула задача, для решения которой я должен был разработать сложную форму с большим количеством полей, связанных с разными объектами и, что главное, «c одной кнопкой». Тут и родилась мысль воспользоваться функцией «ввода по строке» в управляемом приложении 1С. В процессе решения задачи пришлось «набить шишек», но, надеюсь, приобретенный опыт будет полезен не только мне.
Механика
Думаю, правильным будет начать с краткого описания механики клиент-серверного взаимодействия при «вводе по строке».
Все начинается с поля ввода формы, у которого есть события «Автоподбор» и «ПриОкончанииВводаТекста».
Событие «АвтоПодбор» возникает при остановке ввода текста или нажатии на кнопку «стрелка вниз».
Событие «ОкончаниеВводаТекста» вызывается, как нам сообщает справка, при формировании значения из текста ввода. Кстати, это событие интересно тем, что если значение не сформировано, система не даст нам выйти из режима редактирования элемента. Иными словами, если введенный в поле текст не соответствует какому либо значению из данных выбора, то редактирование не будет завершено.
Обращаясь к труду «Разработка управляемого интерфейса» госпожи Хрусталевой и прочих уважаемых авторов, находим упоминание о методе «ПолучитьДанныеВыбора». Если спросить об этом методе синтаксис помощник, он выдаст нам список методов менеджеров для всех видов объектов платформы. Но, что толку от методов менеджеров, которые выполняются на сервере, если серверные вызовы нам недоступны? На самом деле, этот вопрос здесь, только по той причине, что если бы я был более внимательным человеком, я сразу решил бы свою задачу, и никакой статьи не появилось бы. Достаточно просто пролистать до конца список ссылок, и в конце обнаружится глобальный метод «ПолучитьДанныеВыбора». С помощью этого метода мы на клиенте можем получить данные выбора для любого ссылочного объекта системы, что дает возможность переопределить стандартный алгоритм получения выбора данных. Например, для поля строчного типа, у которого вообще нет стандартных данных выбора, использовать алгоритм справочника «Контрагенты».
Но для нас основная ценность метода «ПолучитьДанныеВыбора» в том, что он провоцирует вызов события «ПриПолученииДанныхВыбора», котрое выполняется в контексте менеджера выбранного нами типа объекта. Иными словами мы, наконец, получаем возможность работать с сервером, а значит и самостоятельно сформировать данные выбора. И с этого момента на возможность работать с автоподбором влияют только фантазия и здравый смысл.
Задача
Мы разобрались с взаимодействием клиента и сервера, теперь я предлагаю подкрепить теорию практикой. Решим небольшую задачу, которая звучит следующим образом.
Реализовать в форме документа «РасходТовара» подбор покупателя по ФИО.
Решать сохранение нового покупателя и его ФИО не будем, так как к «вводу по строке» это не относится.
Решение:
Добавим в конфигурацию «Управляемое приложение» новый периодический регистр сведений «ФИОКонтрагентов». Периодичность «день», единственное и ведущее измерение «Контрагент» (Тип(«СправочникСсылка.Контрагенты»)), ресурсы «Фамилия», «Имя», «Отчество» (Тип(«Строка(50)»)).
На форме документа «РасходТовара» также добавим три новых реквизита «ПокупательФамилия», «ПокупательИмя», «ПокупательОтчество». Также, для удобства, добавим кнопку и команду «ОчиститьФИО».
В модуле формы реализуем метод «ПолучитьДанныеВыбораПоФИО» с директивой компиляции &НаКлиенте
В модуле менеджера справочника «Контрагенты» реализуем обработчик «ОбработкаПолученияДанныхВыбора»
В модуле менеджера регистра сведений «ФИОКонтрагентов» реализуем экспортную функцию
«ПолучитьДанныеВыбораФИО»
Теперь определим в форме документа обработчики «ФамилияАвтоПодбор», «ИмяАвтоПодбор», «ОтчествоАвтоПодбор».
Готово! Можем заходить и проверять, что у нас получилось.
Решенный вариант можно получить с помощью обновления (cfu) в приложении к статье. Для этого создайте из «Демонстрационной конфигурации «Управляемое приложение» (1.0.16.1)» файл поставки и обновите его приложенным файлом. Для тех, кто редко делает поставки вот нехитрая процедура:










