PDA

Просмотр полной версии : Проверка по определенному реквизиту на форме.



Shaggart
19.01.2015, 01:06
Добрый вечер, прошу знатоков подсказать, сразу скажу, только начинаю программировать в 1с. Есть задачка, существует документ Регистрация контрагента, в нем 2 реквизита, полное и краткое наименование соответственно, надо по полю "Краткое наименование" проверять есть ли в базе такой контрагент, если же нет, то создавать его в справочнике контрагенты. Как мне это реализовать? На данный момент я понимаю, что проверку надо делать ПередЗаписью, создана форма документа, а дальше что именно?

arccos6pi
19.01.2015, 02:53
Добрый вечер, прошу знатоков подсказать, сразу скажу, только начинаю программировать в 1с. Есть задачка, существует документ Регистрация контрагента, в нем 2 реквизита, полное и краткое наименование соответственно, надо по полю "Краткое наименование" проверять есть ли в базе такой контрагент, если же нет, то создавать его в справочнике контрагенты. Как мне это реализовать? На данный момент я понимаю, что проверку надо делать ПередЗаписью, создана форма документа, а дальше что именно?а дальше или запрос, или если этот реквизит индексируется, то Справочник.Контрагенты.Най тиПоРеквизиту("КраткоеНаименование",Объект.КраткоеНаименовани е)
и если Выборка.Количество <> 0 Тогда Отказ = Истина

avm3110
19.01.2015, 11:33
что проверку надо делать ПередЗаписью
Не совсем понятны "исходные данные". Например для какой формы документа делаете - или для "Управляемого приложения", либо для "обычного".
Если для обычного, то можно прямо из события формы "ПередЗаписью" это проверить запросом к справочнику и выдать соответствующее сообщение для пользователя (чтобы он понимал, почему документ не записывается).
Если это управляемая форма, то нужно либо делать такую проверку в событии "ПередЗаписью" модуля объекта, либо организовывать работу "для контекста" для формы (в управляемом приложении в контексте "&НаКлиенте" вы не сумеете обратиться к справочнику напрямую)

arccos6pi
19.01.2015, 11:51
Не совсем понятны "исходные данные". Например для какой формы документа делаете - или для "Управляемого приложения", либо для "обычного".
Если для обычного, то можно прямо из события формы "ПередЗаписью" это проверить запросом к справочнику и выдать соответствующее сообщение для пользователя (чтобы он понимал, почему документ не записывается).
Если это управляемая форма, то нужно либо делать такую проверку в событии "ПередЗаписью" модуля объекта, либо организовывать работу "для контекста" для формы (в управляемом приложении в контексте "&НаКлиенте" вы не сумеете обратиться к справочнику напрямую)в УФ у формы есть обработчик ПередЗаписьюНаСервере

avm3110
19.01.2015, 12:09
в УФ у формы есть обработчик ПередЗаписьюНаСервере

Вы это мне? Или автору топика, который написал

сразу скажу, только начинаю программировать в 1с

Просто на мой взгляд начинающему (если действительно хотите помочь), нужно давать более полный ответ. Из Вашего первого ответа этот нюанс как-то не совсем освещён :blush:

arccos6pi
19.01.2015, 12:37
Вы это мне? Или автору топика, который написал


Просто на мой взгляд начинающему (если действительно хотите помочь), нужно давать более полный ответ. Из Вашего первого ответа этот нюанс как-то не совсем освещён :blush:мне кажется ТС надо почитать Радченко для начала,и 90% вопросов отпадут сами собой
а решать за него задачки на форуме никто не будет
направление в каком капать ему дали...этого более чем достаточно