Каталог решений - Замена основного договора для БП 3.0

Замена основного договора для БП 3.0

Замена основного договора для БП 3.0

В наличии

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

Тестировалось на:
1С:Предприятие 8.3 (8.3.20.1789)
Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.113.17)

Категория:

Описание

Простенькая обработка для замены договоров.

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

На форме можно отобрать период за который отбираются документы, организацию, контрагента (если не выбран, тогда работает по всем контрагентам) и виды документов.

Отбирает 6 видов документов:

  • Списание с расчетного счета;
  • Поступление на расчетный счет;
  • Реализация товаров и услуг;
  • Счета — фактуры;
  • Возвраты товаров от покупателя;
  • Корректировка реализации.

По кнопке "Проверить" заполняется таблица с документами.

По кнопке "Исправить" меняется договор в документе. Отрабатывает только по тем строкам, где стоит галка в колонке "Пометка".

В таблицу попадают только документы, у которых договор шапки не равен договору выбранному основным у контрагента. Дополнительно проверяется вид договора — работает только по договорам с покупателями.

Пример запроса:

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

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

Исправление договора производится только в шапке документа. По договорам в табличных частях (например в поступлении БДС) договор НЕ ПОМЕНЯЕТ.

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

has been added to your cart:
Оформление заказа