applesound
02.07.2020, 14:35
Конвертация данных, редакция 2.1 (2.1.8.2)
Переношу данные из УТ 11.1.2.29 в БП 3.0.75.37
УТ
Документ источник: СписаниеБезналичныхДенежн ыхСредств вид операции Перечисление налога
Реквизит источник: ПоказательПериода (строка)
БП
Документ приёмник: СписаниеСРасчётногоСчета
Реквизит приёмник: НалоговыйПериод (Дата)
Данные источника вносятся пользователем с помощью ФормаВводаПериода, которая в обратном порядке раскладывает данные строки в дату и число для вывода пользователю.
Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
ПоказательОснования = Параметры.ПоказательОснов� �ния;
ПозицияПериода = Найти(СокрЛП(Параметры.Пок� �зательПериода),".");
ПозицияГода = Найти(Сред(СокрЛП(Параметр� �.ПоказательПериода), ПозицияПериода + 1), ".") + ПозицияПериода;
ПериодичностьНалога = Лев(СокрЛП(Параметры.Показ� �тельПериода), ПозицияПериода - 1);
СтрокаНомерПериода = Сред(СокрЛП(Параметры.Пока� �ательПериода), ПозицияПериода + 1, ПозицияГода - ПозицияПериода - 1);
СтрокаГодПериода = Сред(СокрЛП(Параметры.Пока� �ательПериода), ПозицияГода + 1);
Если Найти("ТП, ЗД", ПоказательОснования) > 0 Тогда
Если СтрДлина(ПериодичностьНал� �га) = 2
И СтрДлина(СтрокаНомерПерио� �а) = 2
И СтрДлина(СтрокаГодПериода) = 4
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Пер иодичностьНалога)
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Стр окаНомерПериода)
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Стр окаГодПериода) Тогда
ДатаПоказателя = Дата(Число(СтрокаГодПериод а), Число(СтрокаНомерПериода), Число(ПериодичностьНалога) );
КонецЕсли;
КонецЕсли;
НомерПериода = СтрокаНомерПериода;
ГодПериода = СтрокаГодПериода;
Если Параметры.ПоказательПерио� �а = "0" Тогда
ПериодичностьНалога = "0";
ИначеЕсли Найти("МС,КВ,ПЛ,ГД", ПериодичностьНалога) = 0 Тогда
ПериодичностьНалога = "-";
КонецЕсли;
УправлениеЭлементамиФормы ();
КонецПроцедуры
Вопрос. КАК перенести данные строки в дату? Строка источник выглядит МС.12.2019.
Мои предположиения: перед выгрузкой на стороне источника необходимо привести строку к началу месяца, используя механиз процедуры ПриСозданииНаСервере. Далее педать получившуюся дату в приёмник. Главная проблема как это правильно сделать.
Переношу данные из УТ 11.1.2.29 в БП 3.0.75.37
УТ
Документ источник: СписаниеБезналичныхДенежн ыхСредств вид операции Перечисление налога
Реквизит источник: ПоказательПериода (строка)
БП
Документ приёмник: СписаниеСРасчётногоСчета
Реквизит приёмник: НалоговыйПериод (Дата)
Данные источника вносятся пользователем с помощью ФормаВводаПериода, которая в обратном порядке раскладывает данные строки в дату и число для вывода пользователю.
Процедура ПриСозданииНаСервере(Отка� �, СтандартнаяОбработка)
ПоказательОснования = Параметры.ПоказательОснов� �ния;
ПозицияПериода = Найти(СокрЛП(Параметры.Пок� �зательПериода),".");
ПозицияГода = Найти(Сред(СокрЛП(Параметр� �.ПоказательПериода), ПозицияПериода + 1), ".") + ПозицияПериода;
ПериодичностьНалога = Лев(СокрЛП(Параметры.Показ� �тельПериода), ПозицияПериода - 1);
СтрокаНомерПериода = Сред(СокрЛП(Параметры.Пока� �ательПериода), ПозицияПериода + 1, ПозицияГода - ПозицияПериода - 1);
СтрокаГодПериода = Сред(СокрЛП(Параметры.Пока� �ательПериода), ПозицияГода + 1);
Если Найти("ТП, ЗД", ПоказательОснования) > 0 Тогда
Если СтрДлина(ПериодичностьНал� �га) = 2
И СтрДлина(СтрокаНомерПерио� �а) = 2
И СтрДлина(СтрокаГодПериода) = 4
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Пер иодичностьНалога)
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Стр окаНомерПериода)
И СтроковыеФункцииКлиентСер вер.ТолькоЦифрыВСтроке(Стр окаГодПериода) Тогда
ДатаПоказателя = Дата(Число(СтрокаГодПериод а), Число(СтрокаНомерПериода), Число(ПериодичностьНалога) );
КонецЕсли;
КонецЕсли;
НомерПериода = СтрокаНомерПериода;
ГодПериода = СтрокаГодПериода;
Если Параметры.ПоказательПерио� �а = "0" Тогда
ПериодичностьНалога = "0";
ИначеЕсли Найти("МС,КВ,ПЛ,ГД", ПериодичностьНалога) = 0 Тогда
ПериодичностьНалога = "-";
КонецЕсли;
УправлениеЭлементамиФормы ();
КонецПроцедуры
Вопрос. КАК перенести данные строки в дату? Строка источник выглядит МС.12.2019.
Мои предположиения: перед выгрузкой на стороне источника необходимо привести строку к началу месяца, используя механиз процедуры ПриСозданииНаСервере. Далее педать получившуюся дату в приёмник. Главная проблема как это правильно сделать.