Обмен опытом по работе с программой 1С Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК

1. Maxsj_Payne 6 26.06.13 10:51 Сейчас в теме
Сколько ни работаю с конфигурацией 1С Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК, все равно периодически возникают разного рода ошибки, обновляемся всегда с опаской, что в новом релизе появятся новые ошибки.
Не спорю конфигурация хорошая, легкая в освоении, легко дописывать. Но частота возникновения ошибок просто сводит с ума.
Предлагаю обсуждать в этой теме все ошибки или проблемы связанные с эксплуатацией данной конфигурации. Кто-то уже нашел решение проблемы, кто-то наступил на грабли, а кто-то еще нет (и возможно не наступит поучаствовав в обсуждении).
Кто-нибудь сталкивался с такой проблемой: В январе обновились на новый релиз и после этого стали вылазить ошибки в начислениях по приборам учета. Посмотрел по регистрам, происходит следующее, если в лицевом счете было несколько приборов учета по одной услуге, а потом какой-то счетчик сняли, то программа все равно ежемесячно пытается на этот прибор что-то начислять, причем может в плюс, а может в минус. Начисления абсолютно не адекватные, сумма может быть -100 000 руб или + 200 000 руб. Я конечно обработками правлю все это дело. Но слишком большой объем ошибок, не успеваем иногда отследить подобные ошибки, абоненты приходят с жалобами, пишут в прокуратуру и т.д. Если у кого-то подобное было, напишите, очень поможете!
kas1989; inlimbo; RomanBardikov; Светлый ум; +4 Ответить
Найденные решения
761. Di_Denis 36 03.10.18 04:51 Сейчас в теме
(760) Посмотреть какая версия бухгалтерии используется в ЖКХ, взять БП этого же релиза, и просто поверх загрузить конфигурацию. Перед этим сохранить базу.
user1769262; _Kuznetsofff_; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1001. пользователь 15.02.25 21:39
Сообщение было скрыто модератором.
...
1002. OlgaMakarova88 15.02.25 22:50 Сейчас в теме
Добрый день, помогите найти ошибку в начислениях по капремонту!!! В квитанции по ЖКУ выходит недоплата а в квитанции по капремонту выходит переплата на эту сумму, в начислениях, в регламентных операциях все верно, перелопатила все уже, а в зачете авансов по услуге ЖКХ выходит эта сумма и ее никак не исправить
1003. AlexGoldT 16.02.25 10:33 Сейчас в теме
(1002) Так ошибка в начислениях или в расчетах?
Могу предположить что неправильно разносите оплаты между ЖКУ и Капремонтом. Смотрите отчет по расчетам - скорее всего неправильно разнесли оплату или владелец ЛС оплатил не туда - так так же часто бывает и Вы видите реальное состояние расчетов в квитанциях. В любом случае необходимо смотреть расчеты а не начисления 8-)
Квитанция в программе это только отчет - внешняя форма отчета по данным из регистров ЖКХ
1004. user2142055 16.04.25 20:03 Сейчас в теме
Добрый день. Подскажите пожалуйста такой момент. При начислении по услуге содержание помещение на нового собственника (собственность не с начала месяца) расчет в документе производиться по количеству дней. В счёте и документе реализации по данной услуге в графе объем услуги (т.е. площадь помещения) выводиться уменьшенная. Что нужно настроить, чтобы указывалась полная,тариф полный, а сумма итоговая была указана из начислений? Либо как настроить, чтобы в расшифровке услуги в документе выводилось например "оплата за период с 10 по 31 марта 2025 года"( сейчас выводиться "оплата за март 2025").
1005. Vika8619 25.05.25 03:49 Сейчас в теме
1С:Учет в управляющих компаниях ЖКХ, ТСЖ и ЖСК в редакция 3.0 (3.0.175.1)

При загрузке групповых данных в справочник "Лицевые счета" через заполнение таблицы или через файл выдает ошибку
Возникла ошибка записи объекта: РегистрСведенийНаборЗаписей.КВП_РазмерыДолейЛицевыхСчетов
Описание ошибки: {ОбщийМодуль.КВП_ОбщегоНазначения.Модуль(3999)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Значение поля "Объект" не может быть пустым!: КВП_РазмерыДолейЛицевыхСчетов: 22.05.2025 (эти цифры - текущая дата, мое примечание), , 1234567890 (эти цифры- наименование лицевого счета, мое примечание) (Регистр сведений: Размеры долей лицевых счетов)
В обоих случаях указаны доли в числителе и знаменателе 1 установлена, так и в случае, когда в эти строках пропущен, так как по умолчанию программа сама должна поставить 1 в обеих колонка
Как загрузить таблицу? Построчно руками вводить несколько тысяч строк лицевых счетов очень долго
1006. starik-2005 3211 25.05.25 17:39 Сейчас в теме
(1005)
Как загрузить таблицу? Построчно руками вводить несколько тысяч строк лицевых счетов очень дол
ОТкрываешь дипсик, регишься, просишь написать процедуру разгрузки на языке 1С 8.3 из эксель такого-то формата (список колонок) в регистр с такими-то колонками (список колонок, тип данных). Через 20 минут после пары уточнений получишь рабочий код. Не благодари.
1009. Di_Denis 36 07.08.25 09:58 Сейчас в теме
(1006)
Кажется будете долго объяснять Китайскому ДипСику написать вот это

&НаСервере
Процедура СоздатьЛСНаСервере(БД1_имя,БД3_имя,ДатаЗагрузки)
	БД = Новый XBase;
	БД.Кодировка = КодировкаXBase.OEM;
	БД.ОткрытьФайл(БД1_имя); 	//
	//Сообщить("Загрузка лицевых счетов");
	ТекВариант = Бд.КоличествоЗаписей();
	
	БД.Первая();
	
	Пока Не БД.ВКонце() Цикл
		Если Не БД.ЗаписьУдалена() Тогда 
			
			
			Лс_Отбор = Справочники.КВП_ЛицевыеСчета.НайтиПоНаименованию(СокрЛП(БД.ID)); 
			Если СокрЛП(БД.ID)= СокрЛП("55329") Тогда
				а=1;
			КонецЕсли;

			Если Лс_Отбор <> Справочники.КВП_ЛицевыеСчета.ПустаяСсылка() Тогда 
				БД.Следующая();
				Продолжить;
			КонецЕсли;
			
			ГруппаНасПункт = СоздатьГруппу(НормализоватьНаименование(СокрЛП(БД.PUNKT)),"КВП_ЛицевыеСчета");
			
			ГруппаУлица    = СоздатьГруппу(НормализоватьНаименование(СокрЛП(БД.UL)),"КВП_ЛицевыеСчета");
			
			Если ГруппаУлица.ЭтоГруппа и ПустаяСтрока(ГруппаУлица.Родитель) Тогда
				ГруппаУлица = ГруппаУлица.ПолучитьОбъект();
				ГруппаУлица.Родитель = ГруппаНасПункт;
				Попытка
				ГруппаУлица.Записать();
			Исключение
				КонецПопытки;
				ГруппаУлица = ГруппаУлица.Ссылка;
			КонецЕсли;
			
			УчастокСформированный = ""+НормализоватьНаименование(СокрЛП(БД.PUNKT))+", " + НормализоватьНаименование(СокрЛП(БД.UL))+", № "+БД.DOM+БД.BDOM;
			
			НашлиЗдание = Справочники.КВП_Здания.НайтиПоНаименованию(УчастокСформированный);
			Если НашлиЗдание = Справочники.КВП_Здания.ПустаяСсылка() Тогда
				БД.Следующая(); 
				Продолжить;
			КонецЕсли;
			
			НашлиКв=Справочники.УПЖКХ_Помещения.НайтиПоНаименованию(Строка(СокрЛП("Кв. "+БД.KV)),,,НашлиЗдание);
			Если НашлиКв=Справочники.УПЖКХ_Помещения.ПустаяСсылка() Тогда
				БД.Следующая();
				Продолжить;
			КонецЕсли;
			
			//Создадим группу лицевых счетов (Ул+Дом)
			Дом=Бд.DOM;
			Ул=СокрЛП(БД.UL);
			Группа=""+Ул+" "+Дом+БД.BDOM;
			//Если не нашли группу, то создадим новую
			//НашлиГруппу= Справочники.КВП_ЛицевыеСчета.НайтиПоНаименованию(Группа);
			//Если НашлиГруппу.Пустая() Тогда
			//	НоваяГруппа = Справочники.КВП_ЛицевыеСчета.СоздатьГруппу();
			//	НоваяГруппа.Наименование = Группа;
			//	НоваяГруппа.Записать();
			//	НашлиГруппу=НоваяГруппа.Ссылка;
			//	//на всякий склучай, если нашли с таким наименованием, 
			//	//но это не группа, то тоже создадим новую
			//ИначеЕсли не НашлиГруппу.ЭтоГруппа Тогда
			//	НоваяГруппа = Справочники.КВП_ЛицевыеСчета.СоздатьГруппу();
			//	НоваяГруппа.Наименование = Группа;
			//	НоваяГруппа.Записать();
			//	НашлиГруппу=НоваяГруппа.Ссылка;
			//КонецЕсли;
						СправЛС=Справочники.КВП_ЛицевыеСчета.СоздатьЭлемент();
			СправЛС.Наименование=СокрЛП(БД.ID);
			СправЛС.Родитель=ГруппаУлица;
			СправЛС.Идентификатор=УПЖКХ_ОбщегоНазначенияСервер.ПолучитьИдентификаторЛС(, СправЛС.Наименование,, Истина);;
			
			СправЛС.Адрес=НашлиКв.Ссылка;
			СправЛС.Записать();
			ЛС=СправЛС.Ссылка;
			
			// Запись доли л/с.
			РазмерСтавок = РегистрыСведений.КВП_РазмерыДолейЛицевыхСчетов.СоздатьНаборЗаписей();
			РазмерСтавок.Отбор.Период.Установить(Объект.Период);
			РазмерСтавок.Отбор.Объект.Установить(НашлиКв);
			РазмерСтавок.Отбор.ЛицевойСчет.Установить(ЛС);
			
			НовЗапись = РазмерСтавок.Добавить();
			НовЗапись.Период          = Объект.Период;
			НовЗапись.Объект          = НашлиКв;
			НовЗапись.ЛицевойСчет     = ЛС;
			НовЗапись.ДоляЧислитель   = 1;
			НовЗапись.ДоляЗнаменатель = 1;
			
			РазмерСтавок.Записать(Истина);
			
			СозДатьАдрес = РегистрыСведений.Удалить_КВП_Адреса.СоздатьМенеджерЗаписи();
			СозДатьАдрес.Период = Объект.Период;
			СозДатьАдрес.Страна = "РОССИЯ";
			СозДатьАдрес.НаселенныйПункт = СокрЛП(БД.PUNKT);
			СозДатьАдрес.Дом = Дом;
			СозДатьАдрес.Улица = СокрЛП(Ул);
			СозДатьАдрес.Объект = ЛС;
			СозДатьАдрес.Вид = Перечисления.КВП_ВидыАдресов.ЛС;
			СозДатьАдрес.Записать();
			
			
			//Создадим Док регистрации ЛС
			ДокументОбъект = Документы.КВП_ОткрытиеЛицевогоСчета.СоздатьДокумент();
			ДокументОбъект.Дата=НачалоМесяца(ДатаЗагрузки);
			ДокументОбъект.ЛицевойСчет=ЛС; 		
			ДокументОбъект.ВладелецКонтрагент=Ложь;
			
			//Здесь будем считать проживающи и зарегистрированных 
			ИтПрож=0;
			ИтЗарег=0;
			//Заполним таб. ч. всеми проживающими по запросу
			НашлиОтветственного=Ложь;
			
			Проживающие = НайтиЖителей(БД.ID, БД.KVSM,БД3_имя);
			
			Для Каждого НовыйЖитель ИЗ Проживающие Цикл  
				НашлиФЛ = Справочники.ФизическиеЛица.НайтиПоНаименованию(НовыйЖитель.Житель);
				Если НашлиФЛ  = Справочники.ФизическиеЛица.ПустаяСсылка() Тогда
					НашлиФЛ = Справочники.ФизическиеЛица.СоздатьЭлемент();
					НашлиФЛ.Наименование = ВРег(НовыйЖитель.Житель);
					//	Спр_КВП_Физлица.ДатаРождения = ПолучитьДатуИзСтроки(Бд.DR);
					НашлиФЛ.Записать();
					
				КонецЕсли;
				
				СправЖильцы=Справочники.УПЖКХ_Жильцы.СоздатьЭлемент();
				СправЖильцы.Наименование = ВРег(НовыйЖитель.Житель); 			
				СправЖильцы.ФизЛицо=НашлиФЛ;
				СправЖильцы.Владелец=ЛС;
				СправЖильцы.Записать();
				Жилец=СправЖильцы.Ссылка;
				
				//Если проживающий совпал с ответственным, то сразу это запомним
				
				Если НовыйЖитель.Главный = Истина Тогда
					НашлиОтветственного=Истина;
					ДокументОбъект.ОтветственныйСобственник=Жилец;
				КонецЕсли;
				
				НоваяСтрока = ДокументОбъект.Главная.Добавить();
				НоваяСтрока.Проживающий=Жилец;
				НоваяСтрока.Проживает=Истина;
				ИтПрож=ИтПрож+1;
				НоваяСтрока.Зарегистрирован=Истина;
				ИтЗарег=ИтЗарег+1;
				НоваяСтрока.ДатаЗаселения=НовыйЖитель.ДатаРегистрации;
				НоваяСтрока.ДатаРегистрации=НовыйЖитель.ДатаРегистрации;                               
				
				//Создадим контрагента на основании ответственного
			КонецЦикла;
			
			//		СправЖильцы=Справочники.УПЖКХ_Жильцы.СоздатьЭлемент();
			//		СправЖильцы.Наименование = БД.FIO; 			
			//		СправЖильцы.ФизЛицо=Справочники.ФизическиеЛица.НайтиПоНаименованию(БД.FIO);
			//		СправЖильцы.Владелец=ЛС;
			//		СправЖильцы.Записать();
			//		Жилец=СправЖильцы.Ссылка;
			//		
			//		НоваяСтрока = ДокументОбъект.Главная.Добавить();
			//		НоваяСтрока.Проживающий=Жилец;
			//		НоваяСтрока.Проживает=Истина;
			//		ИтПрож=БД.SEM;
			//		НоваяСтрока.Прописан=Истина;
			//		ИтЗарег=БД.SEM;
			//		
			//		Если ИтПрож=0 Тогда
			//			НоваяСтрока.Проживает=Ложь;
			//			ИтПрож=0;
			//			НоваяСтрока.Прописан=Ложь;
			//			ИтЗарег=0;
			//
			//			
			//		КонецЕсли;
			
			
			//Если проживающий совпал с ответственным, то сразу это запомним
			
			//Если НовыйЖитель.Главный = Истина Тогда
			//	НашлиОтветственного=Истина;
			ДокументОбъект.ОтветственныйСобственник=Жилец;
			//КонецЕсли;
			
			
			
			Попытка
				НашлиКонтра= Справочники.Контрагенты.НайтиПоНаименованию(Жилец);
			Исключение
			КонецПопытки;
			
			Если НашлиКонтра=Неопределено  Тогда
				НовыйКонтр=Справочники.Контрагенты.СоздатьЭлемент();
				НовыйКонтр.Наименование=ВРег(Жилец);
				НовыйКонтр.НаименованиеПолное=ВРег(Жилец);
				НовыйКонтр.ЮрФизЛицо=Справочники.ФизическиеЛица.НайтиПоНаименованию(Жилец);
				ФормаЭлемента=НовыйКонтр.ПолучитьФорму("ФормаЭлемента");
				УправлениеКонтактнойИнформацией.ПрочитатьКонтактнуюИнформацию(ФормаЭлемента.НаборКонтактнойИнформации, НовыйКонтр.Ссылка);
				
				Если НЕ ФормаЭлемента.ЗаписатьВФорме() Тогда
					ОбщегоНазначения.СообщитьОбОшибке("Запись объекта " + НовыйКонтр + Символы.ПС + ОписаниеОшибки(), , , , Ложь);
				КонецЕсли;
				НашлиКонтра=НовыйКонтр.Ссылка;
			КонецЕсли;
			ДокументОбъект.Контрагент=НашлиКонтра;
			
			//Создадим договор контрагента
			НаименованиеДоговора="Договор на обслуживание " + Бд.ID;
			НайденыйДоговор=Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(НаименованиеДоговора, Истина, , НашлиКонтра);
			Если НайденыйДоговор.Пустая() Тогда
				НовыйЭлемент=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
				НовыйЭлемент.Владелец=НашлиКонтра;
				НовыйЭлемент.Наименование=НаименованиеДоговора;
				НовыйЭлемент.ВалютаВзаиморасчетов=Справочники.Валюты.НайтиПоНаименованию("Руб.");
				
				НайденнаяОрганизация = Справочники.Организации.НайтиПоКоду("00-000001");
				Если НайденнаяОрганизация.Пустая() Тогда
					НайденнаяОрганизация = Справочники.Организации.СоздатьЭлемент();
					НайденнаяОрганизация.Наименование = Бд.ORGN;
					НайденнаяОрганизация.Записать();
				КонецЕсли;
				
				НовыйЭлемент.Организация=НайденнаяОрганизация;
				НовыйЭлемент.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
				
				
				Если НЕ КВП_ЗаписатьОбъект(НовыйЭлемент) Тогда
					УПЖКХ_ТиповыеМетодыКлиентСервер.СообщитьОбОшибке("Запись объекта " + НовыйЭлемент + Символы.ПС + ОписаниеОшибки(), , , , Ложь);
					НашлиКонтра = Справочники.Контрагенты.НайтиПоНаименованию("НЕ НАЙДЕН"); 
					НовыйЭлемент.Владелец=НашлиКонтра;
					
				КонецЕсли;
				НовыйЭлемент.Записать();
				НайденыйДоговор = НовыйЭлемент.Ссылка;
			КонецЕсли;
			
			Если НашлиКонтра.УдалитьОсновнойДоговорКонтрагента.Пустая() Тогда
				// Установим созданный договор как Основной.
				КонтрагентОбъект = НашлиКонтра.ПолучитьОбъект();
				КонтрагентОбъект.УдалитьОсновнойДоговорКонтрагента = НайденыйДоговор;
				КонтрагентОбъект.Записать();
				КВП_ЗаписатьОбъект(КонтрагентОбъект);
			КонецЕсли;
			
			ДокументОбъект.УдалитьДоговорКонтрагента=НайденыйДоговор;
			ДокументОбъект.КоличествоЗарегистрированных=ИтЗарег;
			ДокументОбъект.КоличествоПроживающих=ИтПрож;
			Попытка
				ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
			Исключение
				ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
				
			КонецПопытки;
			// СООТВЕТСТВИЕ ФИЗЛИЦ И КОНТРАГЕНТОВ
			// Запись соответствия физлица и контрагента.
			СписокСоответствия = РегистрыСведений.УПЖКХ_СоответствиеФизЛицИКонтрагентов.СоздатьНаборЗаписей();
			СписокСоответствия.Отбор.Период.Установить(НачалоМесяца(ДатаЗагрузки));
			СписокСоответствия.Отбор.ФизЛицо.Установить(ДокументОбъект.ОтветственныйСобственник.ФизЛицо);
			
			НовЗапись = СписокСоответствия.Добавить();
			НовЗапись.Период     = НачалоМесяца(ДатаЗагрузки);
			НовЗапись.ФизЛицо    = ДокументОбъект.ОтветственныйСобственник.ФизЛицо;
			НовЗапись.Контрагент = НашлиКонтра;
			
			СписокСоответствия.Записать(Истина);
			ТекВариант = ТекВариант -1;
			
			Сообщить("Загружен новый объект Лицевой счет " + ЛС.Ссылка);	
			
			БД.Следующая();
		КонецЕсли;
		
		
		
	КонецЦикла;   
	БД.ЗакрытьФайл();
	
КонецПроцедуры
Показать
1007. user2158523 04.08.25 16:35 Сейчас в теме
Здравствуйте, не начисляется услуга хв на лицевые счета, по которым вышел срок поверки счетчиков, в прошлом месяце начислился, в этом нет. В услуге, все галки вроде верные, в чем ещё может быть проблема?
1008. AlexGoldT 04.08.25 18:02 Сейчас в теме
(1007) Может нет установленной нормы потребления и уже вышли за предел периода по среднему с момента срока поверки?
1010. Di_Denis 36 07.08.25 10:01 Сейчас в теме
Может кому пригодится...
Обработка создания лицевых счетов из файлов DBF (Выгрузка в соц. защиту, это для Красноярского края)
Прикрепленные файлы:
ПереносДанныхИзУСЗНвЖКХ3.epf
1011. Maxsj_Payne 6 09.09.25 07:31 Сейчас в теме
Очень часто нужно загрузить данные от Застройщика или другой УК из файлов Excel: помещения (квартиры, офисы, машино-места, кладовки), лицевые счета, договоры управления, приборы учета, контактную информацию, паспортные данные и т.д. Для этого есть готовая обработки, которые очень сильно упрощают этот процесс. Конечно можно это сделать и типовой обработкой "Загрузка из Табличного документа", но обычным сотрудникам УК это сделать будет сложно.
Прикрепленные файлы:
Для отправки сообщения требуется регистрация/авторизация

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