Ошибка перед обновлением "Справочники.ДоговорыКонтрагентов.ЗаполнитьСпособЗаполненияСтавкиНДС"

1. zayden 17 19.04.19 10:55 Сейчас в теме
БП 3.0
Перед обновлением зашел в Резульататы обновления и что увидел:
Обнавлять пока не стал - что с этим делать?
Процедура "Справочники.ДоговорыКонтрагентов.ЗаполнитьСпособЗаполненияСтавкиНДС" обработки данных завершилась с ошибкой:

{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5171)}: Превышено допустимое количество запусков процедуры обновления.
Выполнение прервано для предотвращения зацикливания механизма обработки данных.
ВызватьИсключение ТекстОшибки;
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Teut_Vlad 182 19.04.19 11:09 Сейчас в теме
Закомментировать код, обновить, изменить ставку через групповое изменение справочник и реквизитов
3. Teut_Vlad 182 19.04.19 11:25 Сейчас в теме
В процедурах обновления у вас сейчас что?
4. zayden 17 19.04.19 11:31 Сейчас в теме
(3)
Прикрепленные файлы:
5. zayden 17 19.04.19 11:32 Сейчас в теме
5171 строка говорит ток о зацикливании а как вообще проверку эту исключить?
6. Teut_Vlad 182 19.04.19 11:39 Сейчас в теме
Сделайте резервную копию,
попробуйте ТИИ (Тестирование и исправление из конфигуратора)
если не поможет, закомментируйте текст процедуры

Процедура ЗаполнитьСпособЗаполненияСтавкиНДС(Параметры) Экспорт

	Параметры.ОбработкаЗавершена = Ложь;

	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ДоговорыКонтрагентов.Ссылка КАК Договор,
	|	ДоговорыКонтрагентов.Владелец КАК Контрагент
	|ИЗ
	|	Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
	|ГДЕ
	|	ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
	|	И ДоговорыКонтрагентов.ЭтоГруппа = ЛОЖЬ
	|	И ДоговорыКонтрагентов.ВидДоговора В(&СписокВидовДоговоров)
	|	И ДоговорыКонтрагентов.СпособЗаполненияСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.СпособыЗаполненияСтавкиНДС.ПустаяСсылка)";

	СписокВидовДоговоров = Новый Массив;
	СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
	СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СФакторинговойКомпанией);
	СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомитентом);
	СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку);
	СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
	
	Запрос.УстановитьПараметр("СписокВидовДоговоров", СписокВидовДоговоров);
	ТаблицаДоговоров = Запрос.Выполнить().Выгрузить();

	Если ТаблицаДоговоров.Количество() = 0 Тогда
		Параметры.ОбработкаЗавершена = Истина;
		Возврат;
	КонецЕсли;
	
	Для каждого ВыборкаДоговоров Из ТаблицаДоговоров Цикл
	
		СправочникОбъект = ВыборкаДоговоров.Договор.ПолучитьОбъект();
		Если СправочникОбъект.УдалитьПредъявляетНДС 
			ИЛИ СправочникОбъект.УчетАгентскогоНДС Тогда
			СправочникОбъект.СпособЗаполненияСтавкиНДС = Перечисления.СпособыЗаполненияСтавкиНДС.Автоматически;
		Иначе
			СправочникОбъект.СпособЗаполненияСтавкиНДС = Перечисления.СпособыЗаполненияСтавкиНДС.БезНДС;
		КонецЕсли;
		
		Попытка
			ОбновлениеИнформационнойБазы.ЗаписатьОбъект(СправочникОбъект);
		Исключение
			ТекстСообщения = НСтр("ru = 'Не удалось установить ""Заполнение ставки НДС в документах"" для договора %1 контрагента %2, рекомендуется самостоятельно установить необходимое значение'");
			ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ВыборкаДоговоров.Договор, ВыборкаДоговоров.Контрагент);
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
		КонецПопытки;

	КонецЦикла

КонецПроцедуры
Показать
7. zayden 17 19.04.19 11:42 Сейчас в теме
(6) а где эта процедура? Лежит в каком модуле?
8. Teut_Vlad 182 19.04.19 11:55 Сейчас в теме
(7) так ж написано же Справочники.ДоговорыКонтрагентов
Модуль менеджера
И вам комментировать только внутренности)
Процедура ЗаполнитьСпособЗаполненияСтавкиНДС(Параметры) Экспорт

	//Параметры.ОбработкаЗавершена = Ложь;

	//Запрос = Новый Запрос;
	//Запрос.Текст = 
	//"ВЫБРАТЬ
	//|    ДоговорыКонтрагентов.Ссылка КАК Договор,
	//|    ДоговорыКонтрагентов.Владелец КАК Контрагент
	//|ИЗ
	//|    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
	//|ГДЕ
	//|    ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
	//|    И ДоговорыКонтрагентов.ЭтоГруппа = ЛОЖЬ
	//|    И ДоговорыКонтрагентов.ВидДоговора В(&СписокВидовДоговоров)
	//|    И ДоговорыКонтрагентов.СпособЗаполненияСтавкиНДС = ЗНАЧЕНИЕ(Перечисление.СпособыЗаполненияСтавкиНДС.ПустаяСсылка)";

	//СписокВидовДоговоров = Новый Массив;
	//СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком);
	//СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СФакторинговойКомпанией);
	//СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомитентом);
	//СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку);
	//СписокВидовДоговоров.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
	//
	//Запрос.УстановитьПараметр("СписокВидовДоговоров", СписокВидовДоговоров);
	//ТаблицаДоговоров = Запрос.Выполнить().Выгрузить();

	//Если ТаблицаДоговоров.Количество() = 0 Тогда
	//    Параметры.ОбработкаЗавершена = Истина;
	//    Возврат;
	//КонецЕсли;
	//
	//Для каждого ВыборкаДоговоров Из ТаблицаДоговоров Цикл
	//
	//    СправочникОбъект = ВыборкаДоговоров.Договор.ПолучитьОбъект();
	//    Если СправочникОбъект.УдалитьПредъявляетНДС 
	//        ИЛИ СправочникОбъект.УчетАгентскогоНДС Тогда
	//        СправочникОбъект.СпособЗаполненияСтавкиНДС = Перечисления.СпособыЗаполненияСтавкиНДС.Автоматически;
	//    Иначе
	//        СправочникОбъект.СпособЗаполненияСтавкиНДС = Перечисления.СпособыЗаполненияСтавкиНДС.БезНДС;
	//    КонецЕсли;
	//    
	//    Попытка
	//        ОбновлениеИнформационнойБазы.ЗаписатьОбъект(СправочникОбъект);
	//    Исключение
	//        ТекстСообщения = НСтр("ru = 'Не удалось установить ""Заполнение ставки НДС в документах"" для договора %1 контрагента %2, рекомендуется самостоятельно установить необходимое значение'");
	//        ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ТекстСообщения, ВыборкаДоговоров.Договор, ВыборкаДоговоров.Контрагент);
	//        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
	//    КонецПопытки;

	//КонецЦикла

КонецПроцедуры
Показать
9. Teut_Vlad 182 19.04.19 11:56 Сейчас в теме
(7) Вы тестирование и исправление то попробовали?
10. zayden 17 19.04.19 11:59 Сейчас в теме
12. zayden 17 19.04.19 12:42 Сейчас в теме
13. WWWWW 8 19.04.19 23:09 Сейчас в теме
У меня способ заполнения ставки тоже ни где не указан, если зайти в договор и попытаться пересохранить, указывает на это и пока не заполнишь не сохраняет((
14. meriferi 21.04.19 18:33 Сейчас в теме
тоже такая ошибка после обновления БП
15. nuori 26.02.24 16:33 Сейчас в теме
Можно просто статус этой обработки поменять на "Выполнено".
17. amkrasn 06.03.24 07:49 Сейчас в теме
(15)Спасибо тебе, дорогой человек.
16. nuori 26.02.24 16:35 Сейчас в теме
здесь
Прикрепленные файлы:
Оставьте свое сообщение

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