Правила переноса документа "Сторно" в Бухгалтерию 3.0 из любой конфигурации, где он есть

13.05.22

Интеграция - Перенос данных 1C

В данной статье представлен код обработчика "ПослеЗагрузки" документа бухгалтерии "Сторно".

Может, кому-нибудь будет полезно.

Как известно, в типовых правилах конвертации документ "Сторно" не представлен. 

В Бухгалтерии 3.0 сторнирование производится с помощью документа "ОперацияБух".

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

При создании правил обмена, важно правильно заполнить реквизит "СторнируемыйДокумент" и создать для этого типа ПКО.

Для этого реквизита обязательно указать в ПКС "ПередВыгрузкой": 

ВыгрузитьТолькоСсылку = Истина;

В ПКС "СпособЗаполнения" пишем: 

Значение = "Сторно";

Ну и наконец в обработчике "ПослеЗагрузки" пишем следующий код:

СуммаДокумента = 0;
//Если объект найден, очищаем движения
Если ОбъектНайден Тогда
	Для Каждого Движение ИЗ Объект.Движения Цикл
	    Если Движение.Количество() > 0 Тогда
	        Точка = Найти(Строка(Движение), ".");
	        ВидРегистра = Лев(Строка(Движение), Точка - 13);
	        РегистрИмя = СокрП(Сред(Строка(Движение), Точка + 1));

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

//Копируем движения сторнируемого документа со знаком минус
ДокОбъект = Объект.СторнируемыйДокумент.ПолучитьОбъект();
Для Каждого Движение ИЗ ДокОбъект.Движения Цикл
    Точка = Найти(Строка(Движение), ".");
    ВидРегистра = Лев(Строка(Движение), Точка - 13);
    РегистрИмя = СокрП(Сред(Строка(Движение), Точка + 1));

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

В общем, правило можно сделать для конвертации из любой конфигурации, хоть из 7.7. 

Главное правильно сконвертировать сторнируемый документ, а дальше после загрузки заполнятся все движения Сторно.

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

Конвертация данных Документ Сторно

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

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

См. также

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    191628    461    308    

462

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    190460    370    294    

427

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    85875    231    181    

168

SALE! 20%

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

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    162900    990    329    

486

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    209190    178    253    

297

Перенос данных 1C Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Перенос данных из УПП 1.3 в УНФ | из КА 1.1 в УНФ | из УТ 10.3 в УНФ | Перенос разработан в формате КД 2 (правила конвертации объектов) | Выгружаются все возможные виды документов, начальных остатков и вся нормативно-справочная информация | Есть фильтр по организациям при выгрузке данных | Есть несколько алгоритмов выгрузки начальных остатков товаров на выбор | Можно проверить перед покупкой на своем сервере!

58000 руб.

17.10.2019    45422    60    118    

62

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

55200 руб.

03.12.2020    46225    132    83    

120

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Программист Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    901    3    8    

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