Перенос остатков БП 3.0 > УТ 11.4

1. JasonT 24.04.20 14:09 Сейчас в теме
Есть типовая обработка начального заполнения из БП 3 в УТ 11, которая должна выгрузить остатки.
По остаткам взаиморасчетов выдает, что организация должна контрагенту, хотя в БП 3 по счету 62 сальдо равно 0.
Как понять где ошибка в переносе остатков? Или как алгоритм берет эти взаиморасчеты?
По теме из базы знаний
Найденные решения
13. AndKovalchuk 195 24.04.20 18:00 Сейчас в теме
Вот еще судя по правилам выгружаются еще и взаиморасчеты по кредитам, по крайней мере перед выгрузкой формируется соответсвующая виртуальная таблица

Процедура ПВД_ПередОбработкой_Константы(Отказ, ИмяПКО, Правило, ИсходящиеДанные, ВыборкаДанных) Экспорт

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

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

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AndKovalchuk 195 24.04.20 14:22 Сейчас в теме
(1) Насколько я понимаю, что в УТ нет разделения покупатель, продавец и прочие организации, поэтому анализируется не только 62 счет, но и 60, 76 и возможно другие бухгалтерские счета.
3. JasonT 24.04.20 14:40 Сейчас в теме
11. AndKovalchuk 195 24.04.20 17:38 Сейчас в теме
(3) А сальдо о по всех договорам контрагента, или есть сальдо с плюсом и сальдо с минусом?


(3) Другие - не знаю. Но думал что возможно 63, 73,19 ( там где есть учет по контрагентам)
4. JasonT 24.04.20 15:05 Сейчас в теме
(2) Проверил остатки по всем счетам. 62, 60 и 76 уходят в 0. Других счетов с этим контрагентов не найдено.
5. Xershi 1557 24.04.20 15:11 Сейчас в теме
(1) если у вас вопрос что именно это вам в ТП писать.
Открываете обработку и смотрите запрос, работы на минут 15.
6. JasonT 24.04.20 15:36 Сейчас в теме
(5)
работы на минут 15.


Ага на 15 раз по 15 и еще 15 столько же.
7. Xershi 1557 24.04.20 15:37 Сейчас в теме
(6) хорошо, мне на 15 минут. Вам может на день.
8. JasonT 24.04.20 15:39 Сейчас в теме
(7) Если не сложно потратьте 15 минут и найдите пожалуйста в этом файле, где идет выборка остатков взаиморасчетов
Прикрепленные файлы:
обмен.xml
9. Xershi 1557 24.04.20 15:44 Сейчас в теме
(8) бесплатно только консультации на форуме.
Тут вам нужно в отладчике сидеть. Смысла с ковыряния файла мало.
10. JasonT 24.04.20 16:10 Сейчас в теме
12. AndKovalchuk 195 24.04.20 17:41 Сейчас в теме
(8) Входящие остатки формируются не правилах, а перед использованием правил обмена

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

</Свойство>
14. AndKovalchuk 195 24.04.20 18:24 Сейчас в теме
Но вообще для выгрузки
(8) Попробовал эти правила, но на релизе 3.0.

Кстати правила для выгрузки из БП 3.0.75 - в ERP 2.4.11

ДатаВремяСоздания>2020-01-21T16:04:54</ДатаВремяСоздания>

<Источник СинонимКонфигурации="Бухгалтерия предприятия, редакция 3.0" ВерсияКонфигурации="3.0.75.66" ВерсияПлатформы="8.0">БухгалтерияПредприятия</Источник>

<Приемник СинонимКонфигурации="1С:ERP Управление предприятием 2" ВерсияКонфигурации="2.4.11.41" ВерсияПлатформы="8.0">УправлениеПредприятием</Приемник>


Странно, что они вообще работают.
13. AndKovalchuk 195 24.04.20 18:00 Сейчас в теме
Вот еще судя по правилам выгружаются еще и взаиморасчеты по кредитам, по крайней мере перед выгрузкой формируется соответсвующая виртуальная таблица

Процедура ПВД_ПередОбработкой_Константы(Отказ, ИмяПКО, Правило, ИсходящиеДанные, ВыборкаДанных) Экспорт

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

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

Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот