Задвоение КПС при проведении Планового назначения. БГУ 8

1. ZoTik1987 15.03.17 16:09 Сейчас в теме
Всем доброго времени суток!

Помогите разобраться с проблемой. В в гос. учреждении ведется учет по нескольким бюджетным организациям. Все ведется в одной базе БГУ 8. Для каждого учреждения заведен свой баланс.

Заводим новый документ "Плановое назначение" (далее ПН). Заполняем все нужные поля. В табличной части указываем год, статью и сумму поступления. При проведении выскакивает ошибка:

Код КПС 00000000000000130 в заданном периоде (01.01.2017—01.01.2999) не уникален
Невозможно записать объект по причине:
Совпадают коды разных элементов справочника "ППП" (). Проверьте реквизит "Бюджет"


Перерыл кучу информации, перечитал по пойму все форумы где народ борется с данной проблемой. Ничего не помогло:

- Заполнял КПС по аналогии со статьей плана
- Пользовался обработкой "Редактирование реквизитов движений и табличных частей документов и справочников.epf"
- Менял даты, Главы по БК, создавал новые статьи и КПС,

Что только не делал, ничего не выходит. Справочник КПС чистый, элементов на удалении нет, КПС который уже существует используется бухгалтерами, но даже при этом ПН не хочет проводиться.

Как я понял, ПН создает на основании каждой статьи новый КПС, с теми же видами доходов/расходов и той же аналитикой.

Хорошо.... Удаляем КПС с таким же номером. Документ проводится! Но при его перепроведении ошибка повторяется! КАК! Он же сам создал этот КПС на основании статьи, а теперь говорит что он не уникален. Такое ощущение что он каждый раз создает новый КПС, и не важно есть такой уже или его нет!

Посмотрел что происходит в коде:
ДубльСсылка = НайтиКПС(КодКПС, ВидКПС, ДатаНачала, ДатаОкончания, УточнениеКПС);
	
	Если НЕ ДубльСсылка.Пустая() Тогда
		
		ДубльОбъект = ДубльСсылка.ПолучитьОбъект();
		
		СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
		НСтр("ru = 'Код КПС %3 в заданном периоде (%1—%2) не уникален'"),
		Формат(ДатаНачала, "ДЛФ=D"),
		Формат(ДубльОбъект.ДатаОкончания, "ДЛФ=D; ДП=…"),
		КодКПС);
		
		Если НЕ ВидКПС = Перечисления.ВидыКБК.Произвольный Тогда
			
			СообщениеОбОшибке = СообщениеОбОшибке + "
			|Невозможно записать объект по причине:";
			
			Для Каждого КлючИЗначение Из СтруктураБК Цикл
				
				Если КлючИЗначение.Ключ =  "Глава" //в структуру добавляется свойство Глава для совместимости с БГУ 2.0
					ИЛИ КлючИЗначение.Ключ = "ДатаНачалаДействия" 
					ИЛИ КлючИЗначение.Ключ = "ДатаОкончанияДействия" Тогда 				
					Продолжить;
				КонецЕсли;
				
				Если НЕ КлючИЗначение.Значение = ДубльОбъект[КлючИЗначение.Ключ] Тогда
					СообщениеОбОшибке =	СообщениеОбОшибке + "
					|" + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Совпадают коды разных элеменов справочника ""%1"" (%2). Проверьте реквизит ""Бюджет""'"),
					КлючИЗначение.Ключ,
					КлючИЗначение.Значение);				
				КонецЕсли;
				
			КонецЦикла;
			
		КонецЕсли;
		
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СообщениеОбОшибке, ДубльСсылка);
		
		ВызватьИсключение СообщениеОбОшибке;
		
		Возврат ПустойКПС;
		
	КонецЕсли;
Показать


Хорошо, т.е. дубль КПС ищется в Функции
НайтиКПС()
. Идем туда:

ТекстЗапроса =
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	КБК.Ссылка КАК Ссылка
		|ИЗ
		|	Справочник.КБК КАК КБК
		|ГДЕ
		|	КБК.ПометкаУдаления = ЛОЖЬ
		|	И КБК.Наименование = &Код
		|	И КБК.ВидКБК = &ВидКБК
		|	И КБК.УточнениеПоказателя = &УточнениеКПС
		|	И КБК.ДатаНачала <= &ДатаОкончанияДействия
		|	И КБК.ДатаОкончания >= &ДатаНачалаДействия";
	
	Запрос = Новый Запрос;
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("Код", Код);
	Запрос.УстановитьПараметр("ВидКБК", ВидКПС);
	Запрос.УстановитьПараметр("УточнениеКПС", УточнениеКПС);
	Запрос.УстановитьПараметр("ДатаНачалаДействия", ДатаНачалаПериода);
	Запрос.УстановитьПараметр("ДатаОкончанияДействия", ?(ЗначениеЗаполнено(ДатаОкончанияПериода), ДатаОкончанияПериода, '29990101'));
	
	УстановитьПривилегированныйРежим(Истина);
	РезультатЗапроса = Запрос.Выполнить();
	УстановитьПривилегированныйРежим(Ложь);
	
	Если РезультатЗапроса.Пустой() Тогда
		Возврат ПустаяСсылка();
	Иначе
		Выборка = РезультатЗапроса.Выбрать();
		Выборка.Следующий();
		Возврат Выборка.Получить(0);
	КонецЕсли;
Показать


Т.е. дубль КПС ищется по параметрам в запросе, а именно:

- Код
- ВидКПС
- УточнениеКПС
- ДатаНачалаДействия
- ДатаОкончанияДействия

И все! Т.е. если у нас уже заведен скажем КПС 00000000000000130 с видом КДБ и началом действия 01.01.2017, то все, будет ошибка!

На этом все. Если есть у кого какие мысли, помогите справится с этой задачей пожалуйста!

Платформа - 1С:Предприятие 8.3 (8.3.9.1818)
Конфигурация - Бухгалтерия государственного учреждения, редакция 1.0 (1.0.45.3)

Заранее благодарен!
Найденные решения
2. ZoTik1987 15.03.17 17:25 Сейчас в теме
Все решилось обновлением! Но ошибка была актуальна примерно 2 недели!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZoTik1987 15.03.17 17:25 Сейчас в теме
Все решилось обновлением! Но ошибка была актуальна примерно 2 недели!
3. fktrc171 04.10.17 15:09 Сейчас в теме
У нас такая же ошибка, релиз БГУ 1.0.48.4 (только что обновились) Платформа 8.3.5.1625
5. Agema 04.10.17 22:56 Сейчас в теме
(3)
Платформа 8.3.5.1625

-???
Читаем ReadMe
ВНИМАНИЕ!
С версии 1.0.46 конфигурацию "Бухгалтерия государственного
учреждения", редакция 1.0, можно использовать с версией
системы 1С:Предприятие не ниже 8.3.8.2197 и не выше 8.3.9.
6. fktrc171 05.10.17 09:10 Сейчас в теме
(5) Спасибо !
У нас была ошибка в КПС аналитический код был указан 0000 , а в плановых назначениях заполняли только КОСГУ и вид расхода - несоответствие устранили и даже в 8.3.5 отработало проведение документа Плановые назначения.
Но платформу обновим , как то потеряли эту информацию.
4. fktrc171 04.10.17 15:11 Сейчас в теме
Так же меняем даты , бюджеты , ничего не помогает !
Оставьте свое сообщение

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