Перенос остатков со счета на счет (только хозрасчетное)

24.08.16

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

Обработка по переносу остатков между бух. счетами.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Перенос остатков БУХ
.epf 9,26Kb
21 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Ранним пасмурным утром пришел я на работу в плохом настроении, связанным с чрезмерным пивовозлиянием по поводу дня рождения моего кота. Сел на свой трон вседержителя 1С (шутка), и решил поспать. Как вдруг, неожиданно, прибегает ко мне бухгалтер и просит, дословно:

Б - мне нужно срочно закрыть 62 счет

Я - А я при чем?

Б - Помоги я знаю ты можешь закрыть остатки по 62.02 да 91 автоматом.

Я - ок.

Б - только потом еще надо будет так же 60 закрыть

Я - ок.

Делаю обработку для буха, чтобы сам закрывал.

Суть: Обработка состоит из двух частей 

Левая - это дебетовая часть, Правая Кредитовая, в зависимости от значения переключателя Ведущее на форме обработки остатки по бух регистру (оборотке то есть для буха) снимаются либо по счету дебета либо по счету кредита, так же имеют значения выбраны или нет субконто у ведущего ибо при выбранных субконто остатки буду так же и по ним.

Итак выбрали ведущее выбрали счет и субконто или не выбрали субконто тогда остаток снимется по всему счету.

Выбираем не ведущую чать, туда отвалятся остатки.

Выбираем там субконто если нужно.

Жмем выполнить, рождается документ операция.

Проверял на КА 1, перенос с 62.02 на 91.02.1 заполняет работает.

Сразу извиняюсь за небольшой колхоз в именах переменных, лень переименовывать.

Вот код обработчика кнопки выполнить фотка формы в рисунках, обработка во вложении.

Может кому пригодится.

Дополнение: Переносит сумму и количество.

Разработано и протестировано на платформе 1С:Предприятие 8.2 (8.2.19.83) для Windows 2000 и выше

Конфигурация Комплексная автоматизация, редакция 1.1 (1.1.73.3) 

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

Исправление: при АП счете не верно выбирает сумму списания с ведущего, исправлено

Добавлено получение остатков и формирование операции на дату

	Если ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода9.Значение) Тогда
		ДатаОс = КонецДня(ЭлементыФормы.ПолеВвода9.Значение);
	Иначе
		ДатаОс = ТекущаяДата();
	КонецЕсли;
	
	
	
	Если НЕ ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода1.Значение)
		ИЛИ
		НЕ ЗначениеЗаполнено(ЭлементыФормы.ПолеВвода5.Значение) Тогда
		Предупреждение("Не выбран счет ДТ или счет Кт");
		Возврат;
	КонецЕсли;
	
	ДобТекст = "";
	Если  НЕ ЭлементыФормы.Переключатель2.Значение Тогда
		СчОпр = ЭлементыФормы.ПолеВвода1.Значение;
		Сб1 = ЭлементыФормы.ПолеВвода2.Значение;
		Сб2 = ЭлементыФормы.ПолеВвода3.Значение;
        Сб3 = ЭлементыФормы.ПолеВвода4.Значение;
		
		ДобТекст = "ВЫБРАТЬ  ХозрасчетныйОстатки.Счет КАК СчетДТ, &Сч2 КАК СчетКТ, &ТД КАК Период, ";
         Сч2 = ЭлементыФормы.ПолеВвода5.Значение;

		
	Иначе   //Дт
		СчОпр = ЭлементыФормы.ПолеВвода5.Значение;
        Сб1 = ЭлементыФормы.ПолеВвода6.Значение;
		Сб2 = ЭлементыФормы.ПолеВвода7.Значение;
        Сб3 = ЭлементыФормы.ПолеВвода8.Значение;
        ДобТекст = "ВЫБРАТЬ  ХозрасчетныйОстатки.Счет КАК СчетКТ, &Сч2 КАК СчетДТ, &ТД КАК Период, ";
        Сч2 = ЭлементыФормы.ПолеВвода1.Значение;
	КонецЕсли;
	//Исправление 31.08 начало
	Запрос = Новый Запрос;
	Запрос.Текст = ДобТекст + 
	"	ХозрасчетныйОстатки.Субконто1,
	|	ХозрасчетныйОстатки.Субконто2,
	|	ХозрасчетныйОстатки.Субконто3,
	|	ХозрасчетныйОстатки.Организация,
	|	ХозрасчетныйОстатки.Валюта, 
	|  ВЫБОР КОГДА ХозрасчетныйОстатки.СуммаОстаток < 0 Тогда
	|	-ХозрасчетныйОстатки.СуммаОстаток 
    |  ИНАЧЕ
	|   ХозрасчетныйОстатки.СуммаОстаток
	|  КОНЕЦ КАК Сумма,
	|	ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоДТ, 
	|	ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоКТ
	| ИЗ	РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОс, Счет = &сч, , ) КАК ХозрасчетныйОстатки";
	
	
	//Исправление конец
	Запрос.УстановитьПараметр("Сч", СчОпр);
	Запрос.УстановитьПараметр("Сч2", Сч2);
	Запрос.УстановитьПараметр("ДатаОс",ДатаОс);
    Запрос.УстановитьПараметр("ТД", ТекущаяДата());

	
	Если ЗначениеЗаполнено(Сб1) Тогда
		Запрос.Текст = Запрос.Текст + " ГДЕ ХозрасчетныйОстатки.Субконто1 = &Сб1";
		Запрос.УстановитьПараметр("Сб1", Сб1);
	КонецЕсли;

	Если ЗначениеЗаполнено(Сб2) и ЗначениеЗаполнено(Сб1)  Тогда
		Запрос.Текст = Запрос.Текст + " И ХозрасчетныйОстатки.Субконто1 = &Сб2";
		Запрос.УстановитьПараметр("Сб2", Сб2);
	ИначеЕсли ЗначениеЗаполнено(Сб2) Тогда
		Запрос.Текст = Запрос.Текст + " ГДЕ ХозрасчетныйОстатки.Субконто1 = &Сб2";
		Запрос.УстановитьПараметр("Сб2", Сб2);

	КонецЕсли;
	
	Если ЗначениеЗаполнено(Сб3) и (ЗначениеЗаполнено(Сб2) или ЗначениеЗаполнено(Сб1)) Тогда
		Запрос.Текст = Запрос.Текст + " И ХозрасчетныйОстатки.Субконто1 = &Сб3";
		Запрос.УстановитьПараметр("Сб3", Сб3);
	ИначеЕсли ЗначениеЗаполнено(Сб3) Тогда
		Запрос.Текст = Запрос.Текст + " ГДЕ ХозрасчетныйОстатки.Субконто1 = &Сб3";
		Запрос.УстановитьПараметр("Сб3", Сб3);
    КонецЕсли;

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

	НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
	НаборЗаписей.Отбор.Регистратор.Установить(Опер.Ссылка); 
	НаборЗаписей.Записать();
	
	Для Каждого Выборка из Рез Цикл

		Движение = НаборЗаписей.Добавить(); 
		Движение.Регистратор = Опер.Ссылка; 
		Движение.Период = Опер.Дата; 
		
		Движение.СчетДт = Выборка.СчетДТ;
		Движение.СчетКт = Выборка.СчетКТ;
		
		Движение.Организация = Опер.Организация; 
		Движение.Сумма = Выборка.Сумма;
		Движение.ВалютаКт = Рез[0].Валюта;
		Движение.ВалютаДт = Рез[0].Валюта;
	
			
		Если Движение.СчетДт.Количественный = Истина Тогда
			Движение.КоличествоДт = Выборка.КоличествоДт;	
		КонецЕсли;	
		Если Движение.СчетКт.Количественный = Истина Тогда
			Движение.КоличествоКт = Выборка.КоличествоКт;	
		КонецЕсли;	
		Если НЕ ЭлементыФормы.Переключатель2.Значение Тогда
			
			ВидыСубконто = Выборка.СчетДТ.ВидыСубконто;
			
			Для Каждого Стр Из ВидыСубконто Цикл
				
				Движение.СубконтоДт[Стр.ВидСубконто] = Выборка["Субконто" + СокрЛП(стр.НомерСтроки)];
				
			КонецЦикла;
			
			ВидыСубконто = Выборка.СчетКТ.ВидыСубконто;
			
			Для Каждого Стр Из ВидыСубконто Цикл
				
			  Движение.СубконтоКт[Стр.ВидСубконто] = ЭлементыФормы["ПолеВвода" + СокрЛП(стр.НомерСтроки + 5)].Значение;


			КонецЦикла;

		Иначе
			ВидыСубконто = Выборка.СчетКТ.ВидыСубконто;
			
			Для Каждого Стр Из ВидыСубконто Цикл
				
				Движение.СубконтоКт[Стр.ВидСубконто] = Выборка["Субконто" + СокрЛП(стр.НомерСтроки)];
				
			КонецЦикла;
			
			ВидыСубконто = Выборка.СчетДТ.ВидыСубконто;
			
			Для Каждого Стр Из ВидыСубконто Цикл
				
				Движение.СубконтоДт[Стр.ВидСубконто] = ЭлементыФормы["ПолеВвода" + СокрЛП(стр.НомерСтроки + 1)].Значение;

			КонецЦикла;

			
		КонецЕсли;
	
			
	КонецЦикла;	
	
	НаборЗаписей.Записать();

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    46458    32    13    

50

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

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

6100 руб.

10.02.2017    121405    731    177    

768

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    8225    322    93    

22

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

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

14640 руб.

29.04.2020    50593    137    162    

92

Корректировка данных Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Налоговый учет Налог на прибыль Платные (руб)

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2928 руб.

05.05.2024    2782    22    0    

18
Для отправки сообщения требуется регистрация/авторизация