Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Май 2018, 20:50
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1с 8.2.Не срабатывает Отказ проведения.  (Прочитано 10783 раз)

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

Оффлайн |R|U|D|E|N

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 3
  • КПД: 1%
  • Регистрация: 2011-01-09
  • Компания: Virtual-Kernel | KVM | Xen
  • Профессия: Разработчик 1С
Добрый день. У меня в обработке проведения есть два небольших блока кода с различными проверками

Первый:
//Проверка установленного флажка //----------------------------------------------------------------------	
Если ЭтотОбъект.Отработан = Истина Тогда
Сообщить("Для проведения документа, снемите флажек - Отработан");
Сообщить("При установленном флажке Отработан, возможно только сохранение документа!");
Отказ = Истина;
КонецЕсли;

Если выполняется это условие, то проведение документа жестко останавливается как и задумано и код ниже этого блока уже не выполняется.

Второй блок:
//Выполняется контроль складов по ролям //----------------------------------------------------------------
Если РольДоступна("РядовойМенеджерГО") = Истина ИЛИ РольДоступна("СтаршийМенеджерГО") = Истина Тогда
Если ЭтотОбъект.ПеремещениеИЗ = Справочники.Склады.Сервис ИЛИ ЭтотОбъект.ПеремещениеИЗ.СкладИнжинер = Истина Тогда
Сообщить("Нет прав для перемещения с указанного склада - "+ЭтотОбъект.ПеремещениеИЗ+"!");
Отказ = Истина;
КонецЕсли;
КонецЕсли;

Если выполняется это условие то сообщение из этого блока выдается(тойсть условие истино и Отказ = Истина) но код ниже этого блока все равно продолжает выполняться!!! Тойсть даже при том что указанно  Отказ = Истина выполнение не останавливается и документ проводится!!

Как это понимать? Подскажите пожалуйста?




Оффлайн kastrtroy2006

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 2
  • КПД: 25%
  • Регистрация: 2011-07-14
  • Сайт: 
  • Профессия: Программист 8.1
1. Чтобы процедура не продолжалась дальше, надо вставить оператор Возврат

//Выполняется контроль складов по ролям //----------------------------------------------------------------
Если РольДоступна("РядовойМенеджерГО") = Истина ИЛИ РольДоступна("СтаршийМенеджерГО") = Истина Тогда
    Если ЭтотОбъект.ПеремещениеИЗ = Справочники.Склады.Сервис ИЛИ ЭтотОбъект.ПеремещениеИЗ.СкладИнжинер = Истина Тогда
        Сообщить("Нет прав для перемещения с указанного склада - "+ЭтотОбъект.ПеремещениеИЗ+"!");
        Отказ = Истина;
    КонецЕсли;
КонецЕсли;

2. Если значение Отказ = истина, то документ не проведется.
Выложите всю процедуру проведения.

Оффлайн |R|U|D|E|N

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 3
  • КПД: 1%
  • Регистрация: 2011-01-09
  • Компания: Virtual-Kernel | KVM | Xen
  • Профессия: Разработчик 1С
Код процедуры слишком большой....

Но за вторым блоком кода идут еще ряд проверок в которых Отказ получает Ложь и документ проводится.

У меня вопрос почему после первого блока где Отказ = Истина процедура дальше не выполняется. А вот после второго блока где тоже Отказ = Истина процедура продолжает выполняться.

Как мне сделать, что бы при первом попавшемся Отказ = Истина процедура намертво останавливалась не выполняя остальные проверки??

Оффлайн Lis3004

  • *
  • Сообщений: 21
  • РЕПУТАЦИЯ: 1
  • КПД: 5%
  • Регистрация: 2010-01-28
  • Сайт: 
//Проверка установленного флажка //---------------------------------------------------------------------- Если ЭтотОбъект.Отработан = Истина ТогдаСообщить("Для проведения документа, снемите флажек - Отработан");
Сообщить("При установленном флажке Отработан, возможно только сохранение документа!");
Отказ = Истина;
Возврат;
КонецЕсли;

Оффлайн |R|U|D|E|N

  • ***
  • Сообщений: 217
  • РЕПУТАЦИЯ: 3
  • КПД: 1%
  • Регистрация: 2011-01-09
  • Компания: Virtual-Kernel | KVM | Xen
  • Профессия: Разработчик 1С
Спасибо огромное за такую маленькую но невероятно ценную подсказку!!)

Все работат. Код дальше не выполняется!


Теги:
 

"Удалять автоматически" и "Удалять автоматически при отмене проведения" - в чем отличие?

Автор leklerkРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 4740
Последний ответ 18 Ноя 2014, 09:13
от leklerk
ошибка проведения реализации "При списании комиссионных товаров не определены параметры партии ""

Автор WelllaryРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 4535
Последний ответ 15 Апр 2015, 17:58
от Дмитрий@
Отбор по дате проведения документа в обработке "Универсальные подбор и обработка объектов"

Автор rooflessРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 2844
Последний ответ 25 Июн 2014, 15:30
от roofless
Что лучше: добавить код в обработку проведения или создать подписку на событие "при записи"

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 935
Последний ответ 26 Окт 2016, 14:42
от MuI_I_Ika
Необходимо подпиской на событие "отредактировать" обработки проведения ПКО и РКО

Автор Vika_22Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 4718
Последний ответ 07 Авг 2011, 02:37
от Klyacksa

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
153 Сообщений
oleg-x
69 Сообщений
alex0402
65 Сообщений
AIFrame AIFrame
57 Сообщений
wise wise
39 Сообщений
buketov.av buketov.av
36 Сообщений
KOI8-R
34 Сообщений
ilyay ilyay
29 Сообщений
Alter
27 Сообщений
trialex3
25 Сообщений

* Кто онлайн

  • Точка Гостей: 273
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal