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

07.10.22

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Управление торговлей 11.5. Расчеты Онлайн с клиентами "поехали"? Как откорректировать?:
.epf 8,09Kb
15
15 Скачать (1 SM) Купить за 1 850 руб.

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

 

 

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

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

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

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

 

 

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


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

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

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

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

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

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

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

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

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

 

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

См. также

SALE! 10%

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

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

55778 50200 руб.

24.04.2015    194983    150    243    

280

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

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

14400 руб.

13.03.2018    60737    207    76    

120

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

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

14400 руб.

29.04.2020    32710    106    152    

73

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    24491    238    8    

205

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

Один из лучших вариантов отчета по дебиторской задолженности в 1С. Отображает сроки возникновения задолженности, просроченной задолженности с точностью до регистратора, а также многое другое, вне зависимости от объекта расчетов (УТ 11.3, 11.4, 11.5, КА 2.4, 2.5, ERP 2.4, 2.5), состояния флажка По документам расчета ( УТ 10, КА 1.1, УПП 1.3) в договоре. Группирует задолженность по интервалам. Имеет большое количество настроек. Не требует доработок конфигурации. Не требует перепроведения документов.

15120 руб.

28.09.2012    97005    593    283    

145

Взаиморасчеты Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение позволяет гибко настроить расчет и начисление пени в 1С в организации. Представлена в двух вариантах исполнения: как расширение и как обработка.

7200 руб.

18.10.2017    39146    73    46    

72

SALE! 20%

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

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

3600 2880 руб.

10.02.2017    110544    662    174    

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

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