Конвертация - документы ввода начальных остатков

1. andrstpnv 10.09.20 09:23 Сейчас в теме
При переносе данных через КД2.1 (типовыми правилами) из КА1.1 в КА2.4 на платформе 8.3.15 перенёсся документ ввода начальных остатков "прочие активы и пассивы", по которому нет проводок и аналитика перенеслась некорректно (см. рис.). Анализируя xml файл, который создала типовая обработка выгрузки, стало понятно, что конвертация формирует некорректные данные (обрезаны названия аналитики). Может кто поможет разобраться. ПВД дебаггером проверял, вроде проблем с кодом нет.

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

Если Параметры.Организации.Количество() > 0 Тогда
	Запрос.Текст = СтрЗаменить(Запрос.Текст, ") КАК ХозрасчетныйОстатки", " Организация В (&МассивОрганизаций) ) КАК ХозрасчетныйОстатки");
	Запрос.УстановитьПараметр("МассивОрганизаций", Параметры.Организации);
КонецЕсли;

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

ВыборкаПоОрганизациям = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоОрганизациям.Следующий() Цикл
	
	НоваяСтрока = ВыборкаДанных.Добавить();
	ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаПоОрганизациям);
	НоваяСтрока.Дата = КонецДня(Параметры.ДатаОстатков);
	НоваяСтрока.Комментарий = НСтр("ru='Ввод остатков прочих активов и пассивов.'");
	НоваяСтрока.Содержание  = НСтр("ru='Ввод остатков прочих активов и пассивов.'");
	
	НоваяСтрока.Хозрасчетный = Новый ТаблицаЗначений;
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Субконто1");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ВидыСубконто");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Субконто2");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Субконто3");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ВалютаДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ВалютаКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Организация");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ПодразделениеДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ПодразделениеКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("НеКорректироватьСтоимостьАвтоматически");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Содержание");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("ВалютнаяСуммаКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("КоличествоДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("КоличествоКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Сумма");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаВРДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаВРКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаНУДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаНУКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаПРДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СуммаПРКт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Активность");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Период");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("Регистратор");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СчетДт");
	НоваяСтрока.Хозрасчетный.Колонки.Добавить("СчетКт");
	
	ТаблицаПрочиеАктивы = Новый ТаблицаЗначений;
	ТаблицаПрочиеАктивы.Колонки.Добавить("Аналитика");
	ТаблицаПрочиеАктивы.Колонки.Добавить("Статья");
	ТаблицаПрочиеАктивы.Колонки.Добавить("Сумма");
	
	ДетальнаяВыборка = ВыборкаПоОрганизациям.Выбрать();
	Пока ДетальнаяВыборка.Следующий() Цикл
		
		НоваяСтрокаХозрасчетный = НоваяСтрока.Хозрасчетный.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрокаХозрасчетный, ДетальнаяВыборка);
		НоваяСтрокаХозрасчетный.Период = КонецДня(Параметры.ДатаОстатков);
		
		Если ДетальнаяВыборка.Сумма > 0 Тогда
			НоваяСтрокаПрочиеАктивы = ТаблицаПрочиеАктивы.Добавить();
			ЗаполнитьЗначенияСвойств(НоваяСтрокаПрочиеАктивы, ДетальнаяВыборка);
			Аналитика = Новый Структура;
			Аналитика.Вставить("Наименование", Лев(ДетальнаяВыборка.Аналитика, 25));
			Аналитика.Вставить("Владелец", ДетальнаяВыборка.Статья);
			НоваяСтрокаПрочиеАктивы.Аналитика = Аналитика;
		КонецЕсли;
		
	КонецЦикла;
	
	Если НоваяСтрока.Хозрасчетный.Количество() = 0 Тогда
		ВыборкаДанных.Удалить(НоваяСтрока);
	Иначе
		Если ТаблицаПрочиеАктивы.Количество() > 0 Тогда
			// дополнительно создаем документ Ввод остатков
			ТаблицаПрочиеАктивы.Свернуть("Статья, Аналитика", "Сумма");
			ВводОстатков = Новый Структура();
			ВводОстатков.Вставить("Организация", ВыборкаПоОрганизациям.Организация);
			ВводОстатков.Вставить("ПрочиеАктивыПассивы", ТаблицаПрочиеАктивы);
			ВыгрузитьПоПравилу(ВводОстатков,,,,"ВводОстатковПрочиеАктивыИПассивы");
		КонецЕсли;
		
		НоваяСтрока.СуммаОперации = НоваяСтрока.Хозрасчетный.Итог("Сумма");
	КонецЕсли;	
	
КонецЦикла;
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
9. ZergKRSK 130 10.09.20 10:43 Сейчас в теме
(1)
Аналитика.Вставить("Наименование", Лев(ДетальнаяВыборка.Аналитика, 25));

тут обрезает Наименование до 25 символов
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. ZergKRSK 130 10.09.20 10:11 Сейчас в теме
9. ZergKRSK 130 10.09.20 10:43 Сейчас в теме
(1)
Аналитика.Вставить("Наименование", Лев(ДетальнаяВыборка.Аналитика, 25));

тут обрезает Наименование до 25 символов
10. andrstpnv 10.09.20 10:50 Сейчас в теме
(9)
Аналитика.Вставить("Наименование", Лев(ДетальнаяВыборка.Аналитика, 25));


О как! спасибо большое, проглядел. Я пол года как начал программированием заниматься и сразу такая не простая задача упала. А почему нет проводок по документу?
2. UtSpar 134 10.09.20 09:31 Сейчас в теме
А в КД в правилах конвертации свойства какие указаны типы? Например строка (15) или как?
3. andrstpnv 10.09.20 09:39 Сейчас в теме
(2)Статья, аналитика и сумма (источника нет)
4. UtSpar 134 10.09.20 09:41 Сейчас в теме
(3)
Имею ввиду тип свойства источника и приемника какие указаны?
Прикрепленные файлы:
5. andrstpnv 10.09.20 09:42 Сейчас в теме
(4)тип приёмника- Строка(неогр)
6. UtSpar 134 10.09.20 09:47 Сейчас в теме
(5) Это у свойства наименования справочника? Странно. если по типам все нормально, значит обрезается где то в обработчиках событий правила.
7. andrstpnv 10.09.20 09:55 Сейчас в теме
(6) это ПКС Аналитики
Прикрепленные файлы:
Оставьте свое сообщение

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