Убираем развернутое сальдо и неверные итоги валютных взаиморасчетов

21.11.22

Задачи пользователя - Адаптация типовых решений

Иногда случается так, что в ОСВ появляется развёрнутое сальдо, которое видно только при включенном выводе валютных сумм или же в итогах, как показано на изображении, другая цифра. Проблема связана в неверным приведением типов. Для этого создана данная обработка.

Файлы

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

Наименование Скачано Купить файл
Убрать развёрнутое сальдо и неверные итоги валютных взаиморасчетов v 1.0:
.epf 6,79Kb
3 2 500 руб. Купить
Убираем развернутое сальдо и неверные итоги валютных взаиморасчетов v 1.1:
.epf 7,57Kb
11 2 500 руб. Купить

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

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

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

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

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

UPD В v1.1 Добавлена кнопка проверки и исправление идёт сразу по трём контурам, Валюты, Направления деятельности, Подразделения.

 

Для исправления этой проблемы необходимо выполнить приведение типов, в старых документах (а иногда и в новых) 1С зачастую выполняют запись то значения NULL, то значения Справочники.Валюты.ПустаяСсылка что приводит к некорректному отображению в ОСВ.

Создана обработка, которая приводит значения к корректному NULL. Обработка "В одну кнопку", разумеется, сначала необходимо запустить её на тестовой базе.

Выполнялась проверка данного действия на ERP 2.5.8.245 и ERP 2.5.7.402, также, вероятнее всего, подойдёт и для КА соответствующих версий. 

Код открытый. Обработка одноразовая, однако можно приведение типов внедрить и в регламентное задание, и в событие перед записью в регистр. 


&НаКлиенте
Процедура ОбработатьПроводки(Команда)
	ОбработатьПроводкиНаСервере();
КонецПроцедуры

&НаСервере
Процедура ОбработатьПроводкиНаСервере()
		
	Запрос = Новый Запрос();
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Хозрасчетный.Регистратор КАК Регистратор
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный
	|ГДЕ
	|	(Хозрасчетный.ВалютаДт = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
	|			ИЛИ Хозрасчетный.ВалютаКт = ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка))
	|	И НЕ ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = ТИП(Документ.ОперацияБух)
	|
	|СГРУППИРОВАТЬ ПО
	|	Хозрасчетный.Регистратор
	|АВТОУПОРЯДОЧИВАНИЕ";
	Результат = Запрос.Выполнить().Выбрать();
	Пока Результат.Следующий() Цикл
	
		СтарыеПроводки = Результат.Регистратор.ПолучитьОбъект().Движения.Хозрасчетный;     
		СтарыеПроводки.Прочитать();
		
		НовыеПроводки = Результат.Регистратор.ПолучитьОбъект().Движения.Хозрасчетный;     
		НовыеПроводки.Прочитать();  
		
		Для Каждого НоваяПроводка из НовыеПроводки Цикл 
			
			Если НоваяПроводка.СуммаВРДт = Null Тогда     
				//Сообщить("Исправлен тип пустого поля проводки ВРКт " + Результат.Регистратор);
				НоваяПроводка.СуммаВРДт = 0;	
			КонецЕсли;	
				
			Если НоваяПроводка.СуммаПРДт = Null Тогда     
				//Сообщить("Исправлен тип пустого поля проводки ПРКт " + Результат.Регистратор);
				НоваяПроводка.СуммаПРДт = 0;	
			КонецЕсли;

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

Если будете запускать на других конфигурациях, строчку 

РегистрыБухгалтерии.Хозрасчетный.ВыполнитьДопОбработкуПроводок(НовыеПроводки);

можно убрать, она в принципе вспомогательная. Запускает типовую обработку проводок.

 

Было время, я делал в событии перед записью хозрасчетного обработку проводок, вот пример:

Процедура актУдалитьПустыеВалютыВПроводках(Проводки) Экспорт

	Для Каждого СтрокаТЧ из Проводки Цикл
		Если СтрокаТЧ.ВалютаДТ = Справочники.Валюты.ПустаяСсылка() Тогда
			СтрокаТЧ.ВалютаДТ = NULL;		
		КонецЕсли;
		
		Если СтрокаТЧ.ВалютаКТ = Справочники.Валюты.ПустаяСсылка() Тогда
			СтрокаТЧ.ВалютаКТ = NULL;		
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

 

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

См. также

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

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

32330 руб.

29.06.2023    12434    35    15    

42

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    1026    1    0    

3

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 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, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    13328    119    23    

75

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

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

9760 руб.

17.06.2025    3802    9    0    

8

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

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    1440    2    0    

2

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

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

9150 руб.

02.08.2023    8306    26    5    

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