Несколько ошибок ЗУП 3.1.2.121

23.03.17

Задачи пользователя - Корректировка данных

Лечение ошибок типовой базы

При создании документа Увольнение появляется сообщение "значение не является значением объектного типа (ИспользованиеПериода).

В случае, если документ создается не из журнала документов, форма документа при этом не открывается.

Ошибка возникет по сотрудникам, у которых есть дополнительный ежегодный отпуск (северный).

В этом случае начисление при создании документа не определено и выбирается после заполнения документа.

В алгоритме 1С этот момент был упущен, что приводило к ошибке.

Лечение:

Общий модуль.РасчетЗарплатыРасширенный, с 253 строки вставить условие:

//ошибка при попадании северного доп отпуска начисление не определено
        если ЗначениеЗаполнено(Строка.Начисление) тогда
            //ошибка    
            Если РеквизитыНачислений[Строка.Начисление].ИспользованиеПериода <> Перечисления.ВариантыИспользованияПериодаНачисления.ПериодДействия Тогда
                Если НоваяСтрока.ПериодДействияНачало < НачалоМесяца Или НоваяСтрока.ПериодДействияНачало > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияНачало = НачалоМесяца;
                КонецЕсли;
                Если НоваяСтрока.ПериодДействияКонец < НачалоМесяца Или НоваяСтрока.ПериодДействияКонец > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияКонец = КонецМесяца;
                КонецЕсли;
            КонецЕсли;
            //ошибка при попадании северного доп отпуска начисление не определено
        КонецЕсли;
        //ошибка


и ниже на 12 строк:

// - если не переопределяется
        Если Не БазовыйПериодПереопределен Тогда
            //ошибка при попадании северного доп отпуска начисление не определено
            если ЗначениеЗаполнено(Строка.Начисление) тогда
                //ошибка    
                
                РеквизитыНачисления = РеквизитыНачислений[Строка.Начисление];
                Если РеквизитыНачисления.ИспользованиеПериода = Перечисления.ВариантыИспользованияПериодаНачисления.БазовыйПериод Тогда
                    БазовыйПериод = РасчетЗарплатыРасширенныйКлиентСервер.БазовыйПериодНачисления(
                    Месяц, РеквизитыНачисления.ПериодРасчетаБазовыхНачислений, РеквизитыНачисления.КоличествоМесяцевБазовогоПериода, РеквизитыНачисления.СдвигБазовогоПериода);
                    НоваяСтрока.БазовыйПериодНачало = БазовыйПериод.ДатаНачала;
                    НоваяСтрока.БазовыйПериодКонец = БазовыйПериод.ДатаОкончания;
                КонецЕсли;
                //ошибка при попадании северного доп отпуска начисление не определено
            КонецЕсли;
            //ошибка
            
        КонецЕсли;

исправление типовая ошибка

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    32457    105    152    

73

Корректировка данных Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    110301    663    174    

702

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4080    14    1    

31

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5874    14    5    

24

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6586    72    10    

29

Взаиморасчеты Корректировка данных Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Платные (руб)

Вы наконец разобрались с закрытием месяцев и пора начать контролировать сроки оплаты поставщикам и задолженности клиентов, но в базе расчеты не идут из-за развернутого сальдо? Не беда, есть решение!

7200 руб.

02.11.2020    7280    5    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. корум 288 23.03.17 17:57 Сейчас в теме
ещё одна ошибка:
в форме списка Сотрудники выводятся некорректные данные по окладу, ФОТ, авансу.

Лечение:
Общий модуль СотрудникиФормыРасширенный
Функция ТекстыЗапросовФормыВыбораСотрудников()

строка 3644, заменяем в запросе:

						//|			И КОНЕЦПЕРИОДА(ДанныеДляПодбора.Начало, День) МЕЖДУ ДанныеОбОплатеТрудаДляПодбора.Период И  ДанныеОбОплатеТрудаДляПодбора.ДатаОкончания}
						|			И (ДанныеОбОплатеТрудаДляПодбора.ДатаОкончания = ДАТАВРЕМЯ(3999, 12, 31, 23, 59, 59))}
3. корум 288 25.03.17 15:34 Сейчас в теме
(1) дополнение: на 2 строки ниже нужно заменить такое же условие по авансам.
2. корум 288 24.03.17 16:59 Сейчас в теме
Ошибка в документе Изменение плановых начислений.

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

Лечение:
ФормаДокумента ИзменениеПлановыхНачислений, в модуле формы заменить процедуру

ПрименитьИзмененияВДокументеКПлановымПоказателямСотрудников

на

&НаСервере
Процедура ПрименитьИзмененияВДокументеКПлановымПоказателямСотрудников(НачисленияПоказателиСотрудников, ФильтрСотрудников = Неопределено)
	//ошибка в показателях начислений выдается ересь при редактировании,
	// но в документе значения правильные
	фильтрСотр = "";	
	//ошибка
	ПоказателиСотрудниковВДокументе = Объект.ПоказателиСотрудников.Выгрузить();
	Для каждого СтрокаСотрудника Из Объект.Сотрудники Цикл
		
		Если ФильтрСотрудников <> Неопределено Тогда
			
			СтрокиФильтра = ФильтрСотрудников.НайтиСтроки(Новый Структура("ИдентификаторСтрокиСотрудника", СтрокаСотрудника.ИдентификаторСтрокиСотрудника));
			Если СтрокиФильтра.Количество() = 0 Тогда
				Продолжить;
			КонецЕсли;
			
		КонецЕсли;
		//ошибка в показателях начислений выдается ересь при редактировании,
		// но в документе значения правильные
		фильтрсотр = СтрокаСотрудника.ИдентификаторСтрокиСотрудника;
		//ошибка
		РеквизитФормыВПоказателиСотрудника(ПоказателиСотрудниковВДокументе, СтрокаСотрудника); 
		
	КонецЦикла;
	
	НачисленияПоказателиСотрудников.ПоказателиСотрудников.Индексы.Добавить("ИдентификаторСтрокиСотрудника, Показатель, ДокументОснование");
	
	Отбор = Новый Структура("ИдентификаторСтрокиСотрудника, Показатель, ДокументОснование");
	
	Для каждого Строка Из ПоказателиСотрудниковВДокументе Цикл
		
		Отбор.Показатель = Строка.Показатель;
		Отбор.ДокументОснование = Строка.ДокументОснование;
		Отбор.ИдентификаторСтрокиСотрудника = Строка.ИдентификаторСтрокиСотрудника;
		
		СтрокиПоказателей = НачисленияПоказателиСотрудников.ПоказателиСотрудников.НайтиСтроки(Отбор);
		Если СтрокиПоказателей.Количество() > 0 Тогда
			СтрокиПоказателей[0].Значение = Строка.Значение; 
		Иначе 
			//ошибка в показателях начислений выдается ересь при редактировании,
			// но в документе значения правильные
			если не (фильтрсотр = "") тогда
				//естьфильтр
				если Строка.ИдентификаторСтрокиСотрудника <> фильтрсотр тогда
					//и фильтр не пройден
					продолжить;
				КонецЕсли;
				//если фильтра нет, работаем как было
			КонецЕсли;
			//ошибка
			СтрокиПоказателей = НачисленияПоказателиСотрудников.ПоказателиСотрудников.Добавить();
			СтрокиПоказателей.ИдентификаторСтрокиСотрудника = Строка.ИдентификаторСтрокиСотрудника;
			СтрокиПоказателей.Показатель = Строка.Показатель;
			СтрокиПоказателей.ДокументОснование = Строка.ДокументОснование;
			СтрокиПоказателей.Значение = Строка.Значение; 
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры
Показать
4. корум 288 27.03.17 12:00 Сейчас в теме
(0) поправка:
Общий модуль.РасчетЗарплатыРасширенный, строка 225 (перед началом цикла)

вставить
идСтроки = 0;


Общий модуль.РасчетЗарплатыРасширенный, с 253 строки вставить условие:

//ошибка при попадании северного доп отпуска начисление не определено
        если ЗначениеЗаполнено(Строка.Начисление) тогда
            //ошибка    
            Если РеквизитыНачислений[Строка.Начисление].ИспользованиеПериода <> Перечисления.ВариантыИспользованияПериодаНачисления.ПериодДействия Тогда
                Если НоваяСтрока.ПериодДействияНачало < НачалоМесяца Или НоваяСтрока.ПериодДействияНачало > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияНачало = НачалоМесяца;
                КонецЕсли;
                Если НоваяСтрока.ПериодДействияКонец < НачалоМесяца Или НоваяСтрока.ПериодДействияКонец > КонецМесяца Тогда
                    НоваяСтрока.ПериодДействияКонец = КонецМесяца;
                КонецЕсли;
            КонецЕсли;
            //ошибка при попадании северного доп отпуска начисление не определено

            //!!! дополнение
            иначе
			Движения.Начисления.удалить(идСтроки);
			продолжить;

        КонецЕсли;
        //ошибка
Показать


Перед концом цикла вставить

		идСтроки = идСтроки+1;
5. корум 288 28.03.17 09:08 Сейчас в теме
ВедомостьНаВыплатуЗарплатыВбанк имеет интересную логику работы с полем НомерРеестра.
Новый номер реестра присваивается всем документам, а в регистр записываются только проведённые.
Причём уникальность номеров при этом не проверяется.

Минимальная заплатка, чтобы было меньше ошибок:

Форма документа

&НаСервере
Процедура ПриЗакрытииНаСервере()
	//не ошибка, но обнулим номер реестра в непроведенных документах.
	если не объект.проведен тогда
		Объект.номерРеестра=0;
		Записать();
	КонецЕсли;
	//не ошибка
КонецПроцедуры
Показать
6. teller 30.03.17 08:14 Сейчас в теме
На hotline написал?
или пираткой пользуешься?
7. корум 288 30.03.17 09:10 Сейчас в теме
(6) странное противопоставление.
есть люди, которые живут с лицензией, но в хлине письма не пишут.
(да и смысл невелик, когда уже 154 выложен, и завтра будет ещё более свежий...)
8. teller 31.03.17 05:45 Сейчас в теме
(7) странно что ты выложил в виде публикации, сам же написал комментарии, а разработчикам ничего не написал.
Исходя из чего 1с по твоему исправляет ошибки?
посмотри на bugboard.
9. пользователь 17.08.20 13:55
Сообщение было скрыто модератором.
...
Оставьте свое сообщение