Расчеты онлайн с клиентами "поехали"? Как откорректировать? Управление торговлей 11.5

07.10.22

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

В публикации рассмотрен механизм, позволяющий перезаполнить в 1С:Управление торговлей 11.5 расчеты с клиентами новой архитектуры "онлайн".

Скачать файлы

Наименование Файл Версия Размер
Управление торговлей 11.5. Расчеты Онлайн с клиентами "поехали"? Как откорректировать?:
.epf 8,09Kb
4
.epf 8,09Kb 4 Скачать

В 1С:Управление торговлей 11.5 есть возможность использовать 2 архитектуры расчетов: офлайн (старая) и онлайн (новая).

 

 

Если у вас этого переключателя не видно, значит у вас уже Онлайн.

В данной публикации рассматриваются только расчеты с клиентамиОфлайн (старая) архитектура использует регистр накопления РасчетыСКлиентами, онлайн (новая)регистр накопления РасчетыСКлиентамиПоСрокам.

Иногда после обновления ведомость взаиморасчетов или сверка взаиморасчетов показывает неправильные остатки или обороты. Радует, что "портится" только один регистр РасчетыСКлиентамиПоСрокам. Сверяться можно по-прежнему по регистру РасчетыСКлиентами. Но только с помощью консоли запросов т.к. все штатные отчеты будут брать данные из регистра РасчетыСКлиентамиПоСрокам.

Приложенная обработка делает следующее:
- очищает регистр РасчетыСКлиентамиПоСрокам по заданному Партнеру
- перезаполняет регистр РасчетыСКлиентамиПоСрокам по заданному Партнеру по данным регистра РасчетыСКлиентами.

 

 

Тестировалось на демо базе конфигурации 1С:Управление торговлей 11.5.9.119 на платформе 8.3.21.1302. Код обработки ниже.


&НаКлиенте
Процедура ПартнерПриИзменении(Элемент)
	ПартнерПриИзмененииНаСервере();
КонецПроцедуры

&НаСервере
Процедура ПартнерПриИзмененииНаСервере()
	
	ДолгОфлайн = 0;
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РасчетыСКлиентамиОстатки.СуммаОстаток КАК ДолгОфлайн
	|ИЗ
	|	РегистрНакопления.РасчетыСКлиентами.Остатки(, АналитикаУчетаПоПартнерам.Партнер = &Партнер) КАК РасчетыСКлиентамиОстатки";
	
	Запрос.УстановитьПараметр("Партнер", Партнер);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Если ВыборкаДетальныеЗаписи.Следующий() Тогда
		ДолгОфлайн = ВыборкаДетальныеЗаписи.ДолгОфлайн;
	КонецЕсли;
	
	ДолгОнлайн = 0;
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РасчетыСКлиентамиПоСрокамОстатки.ДолгОстаток - РасчетыСКлиентамиПоСрокамОстатки.ПредоплатаОстаток КАК ДолгОнлайн
	|ИЗ
	|	РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(, АналитикаУчетаПоПартнерам.Партнер = &Партнер) КАК РасчетыСКлиентамиПоСрокамОстатки";
	
	Запрос.УстановитьПараметр("Партнер", Партнер);
	РезультатЗапроса = Запрос.Выполнить();
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Если ВыборкаДетальныеЗаписи.Следующий() Тогда
		ДолгОнлайн = ВыборкаДетальныеЗаписи.ДолгОнлайн;
	КонецЕсли;
	
	Разница = ДолгОфлайн - ДолгОнлайн;
	
КонецПроцедуры

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

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

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

&НаСервере
Функция СписокОбъектовВзаиморасчетов()
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РасчетыСКлиентамиОбороты.ОбъектРасчетов КАК Ссылка,
	|	РасчетыСКлиентамиОбороты.СуммаПриход КАК Приход,
	|	РасчетыСКлиентамиОбороты.СуммаРасход КАК Расход,
	|	РасчетыСКлиентамиОбороты.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам
	|ИЗ
	|	РегистрНакопления.РасчетыСКлиентами.Обороты(, , , АналитикаУчетаПоПартнерам.Партнер = &Партнер) КАК РасчетыСКлиентамиОбороты
	|
	|УПОРЯДОЧИТЬ ПО
	|	РасчетыСКлиентамиОбороты.ОбъектРасчетов.Дата";
	
	Запрос.УстановитьПараметр("Партнер", Партнер);
	РезультатЗапроса = Запрос.Выполнить();
	СписокОбъектовВзаиморасчетов = РезультатЗапроса.Выгрузить();
	
	Возврат СписокОбъектовВзаиморасчетов;
	
КонецФункции

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

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

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

 

управление торговлей 11.5 взаиморасчеты расчеты онлайн офлайн новая архитектура сбой некорректно поехали

См. также

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

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

14400 руб.

29.04.2020    24186    75    144    

58

УТ 11, КА 2, ERP 2: Настраиваемые под каждую организацию печать и подпись ответственных лиц в печатных формах (ТОРГ-12, Счёт-фактура, УПД, УКД, Заказ клиента, Акт сверки, М-15 и др.)

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

12000 руб.

13.03.2018    52435    161    72    

97

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2 (ЕРП 2)

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

Предлагаем вам качественное и проверенное временем решение для перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2. Наш перенос данных находится в продаже с 2015 года, постоянно развивается, им воспользовались уже более 240 компаний. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных. Если у вас появятся замечания - напишите нам, обязательно исправим. В стоимость включена техническая поддержка - в течение месяца решаем все возникающие вопросы по переносу данных.

43889 39500 руб.

24.04.2015    186880    280    232    

261

Тестирование и исправление ключей аналитики ERP, УТ11, КА

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

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

3600 руб.

10.02.2017    102139    599    166    

638

Автоматическая корректировка НДФЛ в ЗКГУ

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

На этот раз действительно автоматическая корректировка НДФЛ! С помощью данной обработки можно автоматически скорректировать НДФЛ, не тратя целые часы на его ручную корректировку. Можно в считанные минуты изменить НДФЛ по всем сотрудникам в организации. Что бережет деньги на оплату специалиста и время! Обновлена и адаптирована к новым правилам исчисления и удержания НДФЛ с 01.01.2023 г.

4500 руб.

23.06.2022    10496    75    30    

35

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Внешняя обработка с открытым кодом.

9000 руб.

08.12.2011    79808    119    121    

139
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Константин С. 748 21.11.22 22:37 Сейчас в теме
А работа штатной не подходит для формирования документов "РегистраторРасчетов"
e1cib/app/Обработка.ЗаполнениеРегистровВзаиморасчетов

и не приводит ваше действие "корректировки" системой остатков по регистру "по срокам", в момент закрытия месяца "Актуализацией движения документов..."
Оставьте свое сообщение