Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Программный запрет снятия с проведения

Программный запрет снятия с проведения
Я
   prilforreal
 
05.07.18 - 11:38
Доброго, Миста! Как программно запретить снятие документа с проведения? В какой процедуре?
 
 
   Бертыш
 
1 - 05.07.18 - 11:39
ПередЗаписью
   prilforreal
 
2 - 05.07.18 - 11:59
(1) Разве перед записью вызывается при отмене проведения?
   catena
 
3 - 05.07.18 - 12:00
ПередЗаписью при любом пуке вызывается. Не зря там в параметрах РежимЗаписи есть.
   prilforreal
 
4 - 05.07.18 - 12:01
А это тогда зачем?

Процедура ОбработкаУдаленияПроведения(Отказ)
   catena
 
5 - 05.07.18 - 12:03
(4)ПередЗаписью раньше стартует. Зачем заставлять пользователя ждать?
   prilforreal
 
6 - 05.07.18 - 12:05
(5) Если о сути:
Нужно запретить снятие с проведения документ, если в связанных документах у него есть документ "монтаж"
   prilforreal
 
7 - 05.07.18 - 12:54
Сделал так, но выдает ошибку что "Отказ"-неопознанный оператор

Процедура ПередЗаписью(Отказ, Режим)

    МассивСсылок = КритерииОтбора.СвязанныеДокументы.Найти(Документы.Монтаж);
    Для Каждого Ссылка Из МассивСсылок Цикл 
        Если Ссылка = Null Тогда
    Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Отказ;
    КонецЕсли;        ; 
КонецЦикла;

КонецПроцедуры
   ssh2006
 
8 - 05.07.18 - 12:55
(7) рукалицо
   prilforreal
 
9 - 05.07.18 - 12:56
(8) Все так плохо?
   prilforreal
 
10 - 05.07.18 - 13:00
Ошибка пропала, но снять с проведения по прежнему получается...

Процедура ПередЗаписью(Отказ, Режим)
    
КритерииОтбора.СвязанныеДокументы.Найти(Документы.Монтаж);
    Для Каждого Ссылка Из МассивСсылок Цикл 
        Если Ссылка = Null Тогда
    Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Отказ=Истина;
    Предупреждение("ЕстьМонтаж!");
    КонецЕсли;
    КонецЦикла;
КонецПроцедуры
 
 Рекламное место пустует
   HomoAlbus
 
11 - 05.07.18 - 13:02
(7)

МассивСсылок = КритерииОтбора.СвязанныеДокументы.Найти(Документы.Монтаж);

Если МассивСсылок.Количество() > 0 Тогда
Отказ = Истина;
Сообщить("Я обязательно прочту красно-желтую книгу!");
КонецЕсли;
   novichok79
 
12 - 05.07.18 - 13:02
я бы сделал так, пишу сейчас на УТ 11, поэтому пример оттуда.

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения
        И ЗначениеЗаполнено(Ссылка)
        И ОбщегоНазначения.ЕстьСсылкиНаОбъект(Ссылка) Тогда 
        
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
        НСтр("ru = 'А пошто, боярин, документ изволил снять с проведения? Не могет такого быть!'"), , , , Отказ);

    КонецЕсли;

КонецПроцедуры
   novichok79
 
13 - 05.07.18 - 13:03
(12) вот это наверное
    Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения
        И ЗначениеЗаполнено(Ссылка)
        И ОбщегоНазначения.ЕстьСсылкиНаОбъект(Ссылка) Тогда 


даже можно заменить на это, Ссылка то будет всегда

    Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения
        И ОбщегоНазначения.ЕстьСсылкиНаОбъект(Ссылка) Тогда
   HomoAlbus
 
14 - 05.07.18 - 13:04
(13) ОбщегоНазначения.ЕстьСсылкиНаОбъект(Ссылка) <> Есть связанный с документом Монтаж
   FIXXXL
 
15 - 05.07.18 - 13:04
и лучше эту бубуйню в подписке сделать...
   HomoAlbus
 
16 - 05.07.18 - 13:06
А еще надо обязательно разрешить это делать Администратору и проверочку на загрузку данных = истина сделать, а то потом плакать будешь.
   bolobol
 
17 - 05.07.18 - 13:17
Скока всего знать нужно, нигде ж не написано... Когда уже мышкой программировать будем - галки расставил "Администратор: Разрешить", "Загрузке данных: Разрешить", "При обновлении конфы сохранять моё: Обязательно" и Ф5, Да, Демонически, Кеш очистить где сломается.
   prilforreal
 
18 - 05.07.18 - 13:24
(11) При таком условии запрещает все, и проведение и отмену, не зависимо есть ли монтаж в связанных
   novichok79
 
19 - 05.07.18 - 13:30
(14) а ну да, ты прав, там же могут быть не все галочки в составе проставлены.
   novichok79
 
20 - 05.07.18 - 13:31
(16) да, групповой обработкой не установишь какие-нибудь реквизиты.
   patapum
 
21 - 05.07.18 - 13:33
Записать(РежимЗаписиДокумента.ОтменаПроведения);
    Отказ=Истина;

Это классно! То есть отмену проведения выполним сами, а стандартную обработку пошлем далеко ))).
Процедура ПередЗаписью формы вызывается? Потому как, если в модуле объекта, вроде должна упасть в бесконечную рекурсию.
   bolobol
 
22 - 05.07.18 - 14:15
(20) Точняк! "На групповой: Соглашаться"
   HomoAlbus
 
23 - 05.07.18 - 14:19
(18) Блин, ну отбор по режиму записи добавь
   prilforreal
 
24 - 05.07.18 - 14:59
(23) Условие по режиму записи работает, не работает по наличию монтажа в связанных, уже фляга свистит...
   Вафель
 
25 - 05.07.18 - 15:03
(24) у тебя связь первого уровня?
   Малыш Джон
 
26 - 05.07.18 - 15:04
(24) потому что способ "буду что-нибудь менять, когда-нибудь да угадаю" - очень трудоемкий

ты сядь разберись, чего ты хочешь
потом сядь разберись, каких знаний тебе не хватает
потом сядь, найди и усвой весь нужный материал
потом - выстрой одну логическую схему работы в голове
и только потом - садись за написание кода
   bolobol
 
27 - 05.07.18 - 15:08
Тем не менее - самый эффективный при наличии множества многократно превышающего целевую группу, где целевая группа, в данном случае - понимание, а множество - возможности.
   yavasya
 
28 - 05.07.18 - 15:59
(13) а РС "Статусы проверки документов" для слабаков ?
   novichok79
 
29 - 05.07.18 - 16:45
(28) если в метаданных УТ 11.4.5.32 он каким-то образом у вас появился, то я вас поздравляю. вот в ERP он есть, да.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует