[БП 3.0] Свертка БП 2.0 или БП 3.0 документами "Ввод начальных остатков" в БП 3.0 beta

0. Алексей Ермилов (Alex_E) 1798 02.04.16 17:53 Сейчас в теме
Новое воплощение старой идеи http://infostart.ru/public/118486/
Много взято отсюда http://infostart.ru/public/303564/
Движок переноса данных http://infostart.ru/public/421541/

04.04.2018 - Версия 6.3.8.4 - Исправлена ошибка создание ВНО по НМА от Erne100 (Спасибо!!!). (Платформа 8.3.11.3034 БП 3.0.60.44)

Перейти к публикации

Комментарии
208. Алексей Ермилов (Alex_E) 1798 06.02.18 11:20 Сейчас в теме
(206) По запросу, текст должен быть такой:

Если ИмяКонфигурацииИсточника = "БП30" Тогда
		Запрос.Текст =
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	Сотрудники.Ссылка
		|ИЗ
		|	Справочник.Сотрудники КАК Сотрудники
		|ГДЕ
		|	Сотрудники.ФизическоеЛицо = &ФизическоеЛицо
		|	И Сотрудники.ГоловнаяОрганизация = &Организация";
	Иначе
		Запрос.Текст =
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|    Сотрудники.Ссылка
		|ИЗ
		|    Справочник.СотрудникиОрганизаций КАК Сотрудники
		|ГДЕ
		|    Сотрудники.Физлицо = &ФизическоеЛицо
		|    И Сотрудники.Организация = &Организация";	
	КонецЕсли;
Показать

(нажимаю оформить в виде текста - ничего не происходит, тех.поддержка, аау!)
209. Евгений Азаркин (eugene_a) 09.02.18 11:06 Сейчас в теме
В функции _ПеренестиРеквизит
Если ИмяКонфигурацииИсточника = "БП20" Тогда
	Если НовОбъект.Метаданные().ТабличныеЧасти.Найти("КонтактнаяИнформация") <> Неопределено  Тогда
		_ПеренестиКИ82(_СтрокаXML, НовОбъектСсылка);
	КонецЕсли;


должно быть
Если ИмяКонфигурацииИсточника = "БП20" Тогда
	Если НовОбъект.Метаданные().ТабличныеЧасти.Найти("КонтактнаяИнформация") <> Неопределено И НЕ НовОбъект.ЭтоГруппа Тогда
		_ПеренестиКИ82(_СтрокаXML, НовОбъектСсылка);
	КонецЕсли;

а то оно пытается с контактной информацией для группы работать.
210. Алексей Ермилов (Alex_E) 1798 09.02.18 14:33 Сейчас в теме
211. Наталия Степанчикова (stepnatti) 09.02.18 15:31 Сейчас в теме
Добрый день, Алексей.
С удовольствием работаю с Вашей обработкой, хотя просто бух. Она гораздо удобнее стандартной. И спасибо Вам за оперативные ответы на мои вопросы дилетанта )))
212. Алексей Ермилов (Alex_E) 1798 09.02.18 15:59 Сейчас в теме
213. Василий Ермаченко (VasilyErmak) 230 13.02.18 12:32 Сейчас в теме
Здравствуйте Алексей.
при переносе остатков из Бух 2.0 в 3.0
Выдает:
Не найдены остатки по основным средствам, счет учета: 04.01
Не найдены остатки по основным средствам, счет учета: 05
Хотя остатки по этим счетам есть.
В Функция _ПолучитьОстаткиНМА(СчетНМА, СчетАмортизации)
По моему есть ошибка вместо
ВидыСубконто.Добавить(Коннект.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства);

надо
ВидыСубконто.Добавить(Коннект.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы);

Правда это исправление тоже не помогает.
214. Алексей Ермилов (Alex_E) 1798 13.02.18 12:41 Сейчас в теме
(213) Я сейчас точно не скажу, у меня просто не было баз с НМА, возможно что вообще не прописано получение остатков. Запрос там аналогичен ОС, только другие регистры должны использоваться, просто счета и вид субконто для остатков тут однозначно маловато будет... Сделать надо аналогично ОС, но нужна база, придумывать пример (проверено мин нет) бесполезно ... даже база может оказать каким - то частным случаем, но всё равно лучше искусственного примера с парой НМА. Могу посмотреть через АА - пишите в личку.
215. Василий Ермаченко (VasilyErmak) 230 13.02.18 14:33 Сейчас в теме
Я пару часов с запросом провозился, но в пустую. Оно того не стоит, там пара позиций. Внесу руками.
Сам текст запроса похоже взят из 3.0?
217. Алексей Ермилов (Alex_E) 1798 13.02.18 14:45 Сейчас в теме
(215) Текст не помню уже откуда, но сейчас я бы, наверное сделал по другому. С задвоением ОС не сталкивался, задваивает где, в остатках или в справочнике? И ещё, исходная база точно типовая? А то сталкивался с настройками, из-за которых "типовые запросы" (ну в смысле на типовой сделанные) такую лажу выдавали...
216. Василий Ермаченко (VasilyErmak) 230 13.02.18 14:43 Сейчас в теме
Ещё основные средства почему то задваевает.
218. Евгений Азаркин (eugene_a) 21.02.18 19:05 Сейчас в теме
Приветствую Алексей. Чтобы при переносе из БП2 в БП3 информация об "ОсновнойДоговорКонтрагента" не терялась, в функции _ПеренестиРеквизит
вместо
Если стрCOM.Name = "ЮрФизЛицо" Тогда
							НовОбъект["ЮридическоеФизическоеЛицо"] = Перечисления.ЮридическоеФизическоеЛицо[?(Коннект.XMLString(РеквCOM[стрCOM.Name]) = "ФизЛицо", "ФизическоеЛицо", "ЮридическоеЛицо")];
						ИначеЕсли стрCOM.Name = "БазоваяЕдиницаИзмерения" Тогда
							НовОбъект.ЕдиницаИзмерения = _ПеренестиРеквизит(РеквCOM[стрCOM.Name]);
Иначе
							Сообщить("Не обнаружен реквизит: " + стрCOM.Name + ", ссылки: " + _ПолныйТипОбъекта);
						КонецЕсли;
						
Показать

добавил кусок кода
Если стрCOM.Name = "ЮрФизЛицо" Тогда
							НовОбъект["ЮридическоеФизическоеЛицо"] = Перечисления.ЮридическоеФизическоеЛицо[?(Коннект.XMLString(РеквCOM[стрCOM.Name]) = "ФизЛицо", "ФизическоеЛицо", "ЮридическоеЛицо")];
						ИначеЕсли стрCOM.Name = "БазоваяЕдиницаИзмерения" Тогда
							НовОбъект.ЕдиницаИзмерения = _ПеренестиРеквизит(РеквCOM[стрCOM.Name]);
						ИначеЕсли стрCOM.Name = "ОсновнойДоговорКонтрагента" Тогда //в свежих версиях БП3 этого реквизита нет , а есть только в БП2 поэтому попробуем перенести информацию"
							ОсновнойДоговор =  _ПеренестиРеквизит(РеквCOM[стрCOM.Name]);
							Если ОсновнойДоговор <> неопределено Тогда
								НаборЗаписейОсновныеДоговоры = РегистрыСведений.ОсновныеДоговорыКонтрагента.СоздатьНаборЗаписей();
								НаборЗаписейОсновныеДоговоры.Отбор.Организация.Установить(ОсновнойДоговор.Организация,Истина);
								НаборЗаписейОсновныеДоговоры.Отбор.Контрагент.Установить(НовОбъект.Ссылка,Истина);
								НаборЗаписейОсновныеДоговоры.Прочитать();
								Если НаборЗаписейОсновныеДоговоры.Количество() = 0 Тогда //Записываем только 1 раз для контрагента
									НовЗаписьОсновныеДоговоры = НаборЗаписейОсновныеДоговоры.Добавить();
									НовЗаписьОсновныеДоговоры.Организация = ОсновнойДоговор.Организация;
									НовЗаписьОсновныеДоговоры.Контрагент = НовОбъект.Ссылка;
									НовЗаписьОсновныеДоговоры.ВидДоговора = ОсновнойДоговор.ВидДоговора;
									НовЗаписьОсновныеДоговоры.Договор = ОсновнойДоговор;
									НаборЗаписейОсновныеДоговоры.УстановитьАктивность(Истина);
									НаборЗаписейОсновныеДоговоры.Записать(Ложь);
								КонецЕсли; 
								
							КонецЕсли;
							
						Иначе
							Сообщить("Не обнаружен реквизит: " + стрCOM.Name + ", ссылки: " + _ПолныйТипОбъекта);
						КонецЕсли;
Показать
219. Алексей Ермилов (Alex_E) 1798 21.02.18 19:25 Сейчас в теме
(218) Спасибо! Тут тогда уж и про банковский счет нужно посмотреть, наверное...
Включил Ваше добавление в состав версии 6.3.7.9
220. Евгений Азаркин (eugene_a) 22.02.18 10:39 Сейчас в теме
(219) Алексей доброе время суток.
Основной банковский счет переносится нормально. Ничего делать не нужно.
221. Алексей Ермилов (Alex_E) 1798 22.02.18 10:42 Сейчас в теме
(220) Ну и отлично, пишите, если ещё что найдётся...
222. Erne100 (Erne100) 219 02.03.18 17:04 Сейчас в теме
Нашёл пару ошибочек:
1. В БП 2.0 (ПРОФ) на счете 04.01 нет подразделений, потому результат запроса по НМА пустой.
Решение: Меняем
ХозрасчетныйОстаткиАмортизация.Подразделение КАК Подразделение
на
ЕСТЬNULL(ХозрасчетныйОстаткиАмортизация.Подразделение, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)) КАК Подразделение

2. В 2.0 Справочник "Пользователи" иерархический, а в 3.0 нет - валится при записи родителя
223. Алексей Ермилов (Alex_E) 1798 02.03.18 17:16 Сейчас в теме
237. Erne100 (Erne100) 219 03.04.18 22:52 Сейчас в теме
Подтверждаю, есть ошибка в запросе в версии 6.3.8.3. Запрос по "ОС" не возвращает порядок некоторых перечислений
Например: Способ приобретения, порядок учета, способ начисления амортизации.
... и потом не удается получить их в приемнике. Заметил подобное ещё где-то при переносе документов.

Кроме того: В запросе по "НМА" ОЧЕНЬ ЗРЯ убрана группировка по подразделениям. Ранее я предлагал не это см. (222)
В результате получилось, что из-за пары слэшей запрос потерял остатки по 05 счету.

Ещё "ВНО" игнорируют "Налоговый учет УСН", "Патент" и всякие там "Принимаются/Не принимаются". Но...
...это можно даже к достоинствам отнести. Исправить ошибки прошлого легче заполняя красные поля.

Одному хорошему главбуху я никак не мог объяснить, зачем в БП3.0 после смены налогового режима(ОСН->УСН)
надо заполнять остатки "посреди учета" и "правда руками"... а этой обработкой свернул и сиди убирай красненькое.
224. Erne100 (Erne100) 219 14.03.18 00:17 Сейчас в теме
Версия 6.3.7.9 Перенос документов с движениями не работает. Например: Проводки по КУДИР есть но пустые.

В последней версии https://infostart.ru/public/421541/ всё ок.
225. Алексей Ермилов (Alex_E) 1798 14.03.18 05:57 Сейчас в теме
226. Евгений Азаркин (eugene_a) 15.03.18 18:11 Сейчас в теме
Алексей приветствую. В 6.3.7.5 не переносится забалансовый счет 003, т.к. там только количественный учет.
Запрос в функции СписокСчетовСОстатками
должен быть таким:
"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ХозрасчетныйОстатки.Счет.Код КАК КодСчетаCOM,
	|	СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток
	|ИЗ
	|	РегистрБухгалтерии.Хозрасчетный.Остатки(&НаДату, Счет В (&МассивСчетов), , Организация = &Организация) КАК ХозрасчетныйОстатки
	|ГДЕ
	|	(ХозрасчетныйОстатки.СуммаОстаток <> 0
	|			ИЛИ ХозрасчетныйОстатки.КоличествоОстаток <> 0)
	|
	|СГРУППИРОВАТЬ ПО
	|	ХозрасчетныйОстатки.Счет.Код"	
Показать
227. Алексей Ермилов (Alex_E) 1798 15.03.18 18:58 Сейчас в теме
228. Алексей Ермилов (Alex_E) 1798 25.03.18 18:36 Сейчас в теме
(226) Выложил новую версию, Ваше исправление тоже включено в версию 6.3.8.3. Спасибо всем, кто помогает выявить и исправить косяки!!!
229. Константин Куликов (Светлый ум) 231 25.03.18 20:15 Сейчас в теме
БП 3.0.58.20 - полет нормальный, отработало все. Спасибо
230. Алексей Ермилов (Alex_E) 1798 25.03.18 20:17 Сейчас в теме
231. Erne100 (Erne100) 219 26.03.18 10:33 Сейчас в теме
Забыл добавить не критичное...
ВНО по счету 05 валится при проведении, но...
в БП 3.0 не нужен отдельный документ ВНО по счету 05.
Пред идущий заносит остатки и по 04.01 и по 05.
232. Алексей Ермилов (Alex_E) 1798 26.03.18 10:50 Сейчас в теме
(231) в версии 6.3.8.3 это учтено
233. Константин Куликов (Светлый ум) 231 27.03.18 10:19 Сейчас в теме
Один нюанс (для тех кто будет делать свертку)

- Сразу после свертки - документы текущего периода переносите этой же обработкой (переносит долго, но все верно 8186 док - за 7 с небольшим часов на мощном компе)

К чему поднял этот вопрос:
- сделал свертку, а документы текущего периода переносил ИТС-совской "ВыгрузкаЗагрузкаДанныхXML", и в итоге получил тысячи дублей (в том числе и предопределенных элемнтов в плане счетов). Пришлось откатится и сделать все данной обработкой.
234. Алексей Ермилов (Alex_E) 1798 27.03.18 10:57 Сейчас в теме
(233) Выгрузка загрузка с ИТС, наверное, была со старых ИТС, более свежие версии не должны так "плохо себя вести". Но, я давно ей не пользовался, и в этой обработке по умолчанию сделал перенос документов - просто чтобы пользоваться одним инструментом...
235. Alex Nikulin (Al-77) 60 03.04.18 16:37 Сейчас в теме
Взял последнию версию попробовал только перенести ОС из БП 3.0 в БП 3.0
Сразу ошибка {ВнешняяОбработка.СверткаИПереносБП_БП30.МодульОбъекта(1150)}: Поле объекта не обнаружено (MetaData)
236. Алексей Ермилов (Alex_E) 1798 03.04.18 16:44 Сейчас в теме
(235) как вариант в порядке бреда - или попробуйте нажать на создать ВНО ещё раз, или в строке с ошибкой, после metadata поставьте (). Сегодня буду разбираться как раз с ОС, у одного из клиентов косяк обнаружился, если это ошибка - увижу, исправлю. Могу у Вас в базе посмотреть через АА - пишите в личку
238. Erne100 (Erne100) 219 03.04.18 23:02 Сейчас в теме
(235) (236) Подтверждаю, есть ошибка в запросе в версии 6.3.8.3. Запрос по "ОС" не возвращает порядок некоторых перечислений
Например: Способ приобретения, порядок учета, способ начисления амортизации.
... и потом не удается получить их в приемнике. Заметил подобное ещё где-то при переносе документов.

Кроме того: В запросе по "НМА" ОЧЕНЬ ЗРЯ убрана группировка по подразделениям. Ранее я предлагал не это см. (222)
В результате получилось, что из-за пары слэшей запрос потерял остатки по 05 счету.

Ещё "ВНО" игнорируют "Налоговый учет УСН", "Патент" и всякие там "Принимаются/Не принимаются". Но...
...это можно даже к достоинствам отнести. Исправить ошибки прошлого легче заполняя красные поля.

Одному хорошему главбуху я никак не мог объяснить, зачем в БП3.0 после смены налогового режима(ОСН->УСН)
надо заполнять остатки "посреди учета" и "правда руками"... а этой обработкой свернул и сиди убирай красненькое.
239. Алексей Ермилов (Alex_E) 1798 04.04.18 06:00 Сейчас в теме
(238) Про перечисления - посмотрю...
про
В запросе по "НМА" ОЧЕНЬ ЗРЯ убрана группировка по подразделениям. Ранее я предлагал не это см. (222)
не понял, сейчас в запросе (стр. 5682) ЕСТЬNULL(ХозрасчетныйОстаткиАмортизация.Подразделение, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)) КАК Подразделение, о какой группировке речь? Какие слеши?
Ещё "ВНО" игнорируют "Налоговый учет УСН", "Патент" и всякие там "Принимаются/Не принимаются".
- это да, как то не случилосьпока задачи, чтобы это было обязательно нужно, а придумывать сферического коня в вакууме не хочется... И да, иногда это проще ввести руками, даже не при переходе с ОСНО, а, например, при свёртке базы с .... как бы помягче ... О! "хаотическим" ведением учета в исходной базе))))
240. Erne100 (Erne100) 219 04.04.18 18:11 Сейчас в теме
Точно, группировка "По Подразделение" есть...Сорри
Возможно тогда Не тот "Вид субконто" в парамерах
  //ВидыСубконто.Добавить(Коннект.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства);
    ВидыСубконто.Добавить(Коннект.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы); //Замена
    Запрос.УстановитьПараметр("ВидСубконтоНМА", ВидыСубконто);
241. Алексей Ермилов (Alex_E) 1798 04.04.18 18:16 Сейчас в теме
(240)
ВидыСубконто.Добавить(Коннект.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НематериальныеАктивы);
- точно так, копипаста - враг мой!!!

Спасибо!!!
242. Алексей Ермилов (Alex_E) 1798 04.04.18 18:24 Сейчас в теме
Выложил новую версию с исправлением по НМА
243. Александр Белицкий (ryutao) 50 09.04.18 14:37 Сейчас в теме
Версия 6.3.8.4, Платформа 8.3.11.3034, БП 3.0.59.45.
Создаю ВНО "Основные средства", пишет ошибку:
{ВнешняяОбработка.СверткаИПереносБП_БП30.МодульОбъекта(1150)}: Метод объекта не обнаружен (MetaData)
Меняю MetaData на MetaData(), ВНО создался.
Далее создаю ВНО "Материалы", пишет ошибку:
{ВнешняяОбработка.СверткаИПереносБП_БП30.МодульОбъекта(1150)}: Метод объекта не обнаружен (MetaData).
Я так понимаю, надо скобки теперь удалять?
244. Алексей Ермилов (Alex_E) 1798 09.04.18 15:02 Сейчас в теме
(243) Если честно, достали уже эти скобки, и надо как-то собраться с духом, и понять, почему то это метод, то реквизит... Есть уже версия 6.3.8.5, пишите почту в личку, могу скинуть, может там это не проявится, но не факт... Вообще - каждая база уникальна (в смысле, что во всех какие-то свои тараканы))))))))))
245. Александр Белицкий (ryutao) 50 10.04.18 13:00 Сейчас в теме
(244) Выгрузил остатки из очень проблемной базы. Как оказалось, база - источник была восстановлена из крутого падения. Мне об этом сообщили только сейчас, сам убедился, база практически неработоспособна. Прошлый 1С-ник сбежал от них. Вот привлекли меня. Буквально в паре мест добавил Попытку смены со скобками и без скобок, и остатки перенеслись. Еще раз, большое Вам спасибо! Отличная обработка! Я бы купил эту обработку за деньги.
246. Денис П (Qwizard) 12.04.18 14:24 Сейчас в теме
Алексей, добрый день.

При выполнении любого действия получаю такую ошибку:
{ВнешняяОбработка.СверткаИПереносБП_БП30.МодульОбъекта(2065)}: Значение не является значением объектного типа (Найти)
Найдено = СоответствиеОбъектовИсточникПриемник.Найти(ИдИсточник, "ИдИсточник");

Не нахожу в модуле обработки инициализацию соответствия "СоответствиеОбъектовИсточникПриемник" или заполнение его чем-либо, есть только объявление.
Что я делаю не так?
Прикрепленные файлы:
247. Алексей Ермилов (Alex_E) 1798 12.04.18 14:27 Сейчас в теме
(246) Пишите в личкцу - посмотрю через АА
248. Александр Маликов (malikov_pro) 28 20.05.18 08:21 Сейчас в теме
В "_ПолучитьТекстЗапросаДляСпискаСсылок" есть упущение по поиску организации.
2.0.66.53 в спр. ПодразделенияОрганизаций нет реквизита "ГоловнаяОрганизация" работает через "Владелец"
Решил через:

Если НетОрганизации Тогда //Проверим реквизиты на вхождение слова организация
		Попытка
		Если ТипЗнч(ПустойОбъект.Владелец) = Тип("СправочникСсылка.Организации") Тогда
			НетОрганизации = Ложь;
			ИмяРеквизитаОрганизация = "Владелец";
		КонецЕсли;
		Исключение
		КонецПопытки;
	КонецЕсли;
Показать
250. Алексей Ермилов (Alex_E) 1798 20.05.18 09:09 Сейчас в теме
(248) Спасибо, исправлю.
(249) Про это на протяжении всего времени существования обработки говорю (например рядом в (244)).
251. Алексей Ермилов (Alex_E) 1798 20.05.18 09:19 Сейчас в теме
(248) Сделал так:
	Если ТипОбъекта = "Справочник" И НетОрганизации Тогда //Проверим стандартные реквизиты справочника на вхождение типа организация организация
        Если ТипЗнч(ПустойОбъект.Владелец) = Тип("СправочникСсылка.Организации") Тогда
            НетОрганизации = Ложь;
            ИмяРеквизитаОрганизация = "Владелец";
        КонецЕсли;		
	КонецЕсли;
249. Александр Маликов (malikov_pro) 28 20.05.18 08:48 Сейчас в теме
"Коннект.MetaData.InformationRegisters" заменил на "Коннект.MetaData().InformationRegisters", возможно специфика 8.3.12
Оставьте свое сообщение