1. Stanislav1993 09.10.19 19:23 Сейчас в теме

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

Конфигурация ерп.
Проблема с проверкой заполнения.

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

Показать


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

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

Показать
6. Nustik 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. Nustik 09.10.19 20:22 Сейчас в теме
(8)
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) 

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

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

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

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


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

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

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

КонецЦикла;

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


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

Вакансии

Консультант-аналитик 1С
Набережные Челны
зарплата до 90 000 руб.
Полный день

Программист 1С
Набережные Челны
зарплата от 40 000 руб. до 110 000 руб.
Полный день

Программист 1С
Казань
зарплата от 40 000 руб. до 110 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день