Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:20

Код написан правильно,но он не работает

Автор gugu, 20 фев 2023, 10:42

0 Пользователей и 1 гость просматривают эту тему.

gugu


&НаСервере
Процедура Команда1(Команда)
   Если Справочники.ЗаказчикиПеревозчики.Вид = "Индивидуальный предприниматель" Тогда
   ДлинаИНН=12;   
   Иначе
      Сообщить("ИНН индивидуального предпринимателя должен состоять из 10 цифр");
      КонецЕсли;
КонецПроцедуры


Написан правильно,но он не работает в самой программе,то есть Инн можно написать любой длины и прорграмма не ругается

antoneus

Потому что Справочники.ЗаказчикиПеревозчики.Вид не равен "Индивидуальный предприниматель", этот код вообще не рабочий, он должен ошибку выдавать.
Длину ИНН чего именно мы в данном случае контролируем?
И обработчик команды должен находиться на клиенте, иначе при нажатии на кнопку ничего не произойдет.

gugu

antoneus, Ну собственно об этом он мне сейчас и пишет

{ВнешняяОбработка.ВнешняяОбработка3.Форма.Форма.Форма(4,7)}: Переменная не определена (Справочники)
   Если <<?>>Справочники.ЗаказчикиПеревозчики.Вид = "Индивидуальный предприниматель" Тогда (Проверка: Тонкий клиент)

Остается только понять,как жить с этим дальше

antoneus

Ну для начала книжечку по разработке почитать, постичь дзен клиент-серверного взаимодействия. Но если не терпится...
Повторяю вопрос: длину ИНН чего именно мы в данном случае контролируем? Я так понимаю, это внешняя обработка, вы на форме выбираете контрагента и нужно узнать какой длины у него ИНН?

gugu

Длину графы "Индивидуальный предприниматель"
в справочнике заказчики/перевозчики
то есть выбираю вид "Индивидуальный предприниматель",и должна контролироваться длина его инн

antoneus

>выбираю вид
Где? В форме элемента справочника "Заказчики/перевозчики"? Задачу вообще опишите.

gugu

antoneus,
   Проверка заполнения на форме
Проверка на длину ИНН
     Если Вид = «Индивидуальный предприниматель», тогда длина ИНН должна быть 12 символов, иначе текст с сообщением «ИНН индивидуального предпринимателя должен состоять из 10 цифр».
 
То есть при создании нового заказчика я заполняю много реквизитов(ВИД,инн,огрн,кпп)
и при вводе ИНН больше 12 символов должна быть ошибка

gugu

antoneus, и посоветуйте,пожалуйста доступный источник информации(Книги,курсы)

Afinogen

gugu,
на клиенте конструкции типа

Справочник.ИмяСправочника, Документы.Имя документа не работают, они работают на сервере
на клиенте вы можете проверить например совпадение на предопределенный элемент или пустую  ссылку нов таком случае проверка должна иметь вид

Значение = ПредопределенноеЗначение("Справочник.ИмяСправочника.ПредопределенноеЗначение")
все остальное - гоу на сервер

значение любого реквизита связанного со ссылочным элементом можно получить лишь на сервере. в типовый конфигах эти функции давно реализованы

это первый момент
далее у вас в коде

Вид = "Индивидуальный предприниматель",  при том что  тип значения реквизита Вид -ссылка,  вы пытаетесь сравнить котлету  с мухой, в таком случае если Индивидуальный предприниматель это чисто текст вам надо что т отипа

Вид.Наименование =
либо если предопределенный элемент то

Вид = Справочник....
почитайте для начала хотя бы Радченко  B)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск