Убрать правило проверки заполнения реквизита тч

1. Stanislav1993 09.10.19 19:23 Сейчас в теме
Конфигурация ерп.
Проблема с проверкой заполнения.

Если  ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда	
		МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов");
		
		Сообщить("1");
			Иначе
		 Сообщить(0); 
	КонецЕсли;

Показать


Не работает отмена проверки заполнения.
Есть у Вас варианты?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Anastasia_ 09.10.19 19:44 Сейчас в теме
Возможно, не связано с проблемо, но Сообщить(0) надо заменить на Сообщить("0). А что отладка показывает?
3. Stanislav1993 09.10.19 19:47 Сейчас в теме
(2) Отладка показывает что документ основание ЗвС.
Мне нужно отменить проверку заполнения при проведении документа ЗП (Заказ поставщику), если он был создан на основании ЗвС (Заказ в снабжение)
4. Anastasia_ 09.10.19 20:10 Сейчас в теме
(3) Можете выложить больший кусок значимого для данного вопроса кода? У меня нет erp под рукой. Чтоб видеть код с проверкой заполнения и удалением массива непроверяемых реквизитов из массива проверяемых реквизитов.
5. Stanislav1993 09.10.19 20:11 Сейчас в теме
(4)
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда	
		МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов");
		ПланыВидовХарактеристик.СтатьиРасходов.ПроверитьЗаполнениеАналитик(
		ЭтотОбъект,
		Новый Структура("Товары"),
		МассивНепроверяемыхРеквизитов,
		Отказ);

		Сообщить("1");
			Иначе
		 Сообщить("0"); 
	КонецЕсли;

Показать
6. Anastasia_ 09.10.19 20:14 Сейчас в теме
(5) Сообщение с "1" отрабатывает? Вы потом удаляете массив непроверяемых реквизитов из массива проверяемых?

С ИТС:

УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты);


Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт

Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл

ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;

КонецЦикла;

КонецПроцедуры
7. Stanislav1993 09.10.19 20:17 Сейчас в теме
(6) Сообщение отрабатывает...
Мне нужно отключить проверку только для документа ЗвС.
А для остальных пусть работает. Как было сказано в сообщении (2)
8. Stanislav1993 09.10.19 20:18 Сейчас в теме
(6) В тч "Товары" в документе ЗП, есть реквизит "АналитикаРасходов", при проведении его, процедура ПроверкаЗаполнения должна пропускать мимо, если реквизит не заполнен.
9. Anastasia_ 09.10.19 20:22 Сейчас в теме
(8)
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) 

  НепроверяемыеРеквизиты = Новый Массив();
  ...

  Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда    
        МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов");
        ПланыВидовХарактеристик.СтатьиРасходов.ПроверитьЗаполнениеАналитик(
        ЭтотОбъект,
        Новый Структура("Товары"),
        МассивНепроверяемыхРеквизитов,
        Отказ);

        Сообщить("1");
            Иначе
         Сообщить("0"); 
    КонецЕсли;

  ...
  УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты); 
КонецПроцедуры;
Показать


Процедура УдалитьНепроверяемыеРеквизитыИзМассива(МассивРеквизитов, МассивНепроверяемыхРеквизитов) Экспорт

Для Каждого ЭлементМассива Из МассивНепроверяемыхРеквизитов Цикл

ПорядковыйНомер = МассивРеквизитов.Найти(ЭлементМассива);
Если ПорядковыйНомер <> Неопределено Тогда
МассивРеквизитов.Удалить(ПорядковыйНомер);
КонецЕсли;

КонецЦикла;

КонецПроцедуры
Показать


УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, НепроверяемыеРеквизиты) - отработает в случае, если непроверяемые реквизиты имеются. Если нет, ничего не произойдёт
10. Stanislav1993 09.10.19 20:26 Сейчас в теме
(9)
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда	
		 Сообщить("1");
		 УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов"));
			Иначе
		 Сообщить("0"); 
	КонецЕсли;
12. Anastasia_ 09.10.19 20:36 Сейчас в теме
(10) Проверьте состав массива ПроверяемыеРеквизиты до и после отработки строки УдалитьНепроверяемыеРеквизитыИзМассива. Есть ли в составе "Товары.АналитикаРасходов" до этой строки и нет после?
13. Stanislav1993 09.10.19 20:48 Сейчас в теме
(12)
Если  ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда	
		 Сообщить("1");
		 МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов");
		 ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты, МассивНепроверяемыхРеквизитов);

	 Иначе
		 Сообщить("0"); 
	КонецЕсли;

Показать


До есть этот реквизит, а после нет, но все равно ругается.

Я думаю ругается из за этого
ПланыВидовХарактеристик.СтатьиРасходов.ПроверитьЗаполнениеАналитик(
		ЭтотОбъект,
		Новый Структура("Товары"),
		МассивНепроверяемыхРеквизитов,
		Отказ);



Не знаю дальше как быть
11. Stanislav1993 09.10.19 20:35 Сейчас в теме
(9) Не помогает и не работает. Все равно требует проверку заполнения
14. dhurricane 09.10.19 21:00 Сейчас в теме
(5) Что ж за каша то у Вас в голове? :-) Вы уж извините за резкость. Одной строчкой пытаетесь отключить проверку и тут же второй строчкой проверяете реквизиты.

Вероятнее всего должно быть так:
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.СТ_ЗаказВСнабжение") Тогда    
        МассивНепроверяемыхРеквизитов.Добавить("Товары.АналитикаРасходов");
Иначе
        ПланыВидовХарактеристик.СтатьиРасходов.ПроверитьЗаполнениеАналитик(
                ЭтотОбъект,
                Новый Структура("Товары"),
                МассивНепроверяемыхРеквизитов,
                Отказ);
    КонецЕсли;
Показать
Stanislav1993; +1 Ответить
15. Stanislav1993 09.10.19 21:03 Сейчас в теме
16. Stanislav1993 09.10.19 21:12 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот