|
КД 2 Строка в дату | ☑ | ||
---|---|---|---|---|
0
applesound
02.07.20
✎
12:30
|
Конвертация данных, редакция 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. Мои предположиения: перед выгрузкой на стороне источника необходимо привести строку к началу месяца, используя механиз процедуры ПриСозданииНаСервере. Далее педать получившуюся дату в приёмник. Главная проблема как это правильно сделать. |
|||
1
Злопчинский
02.07.20
✎
12:44
|
прочитал заглавие
Строка в аду |
|||
2
Mihasya
02.07.20
✎
13:20
|
в правилах выгрузки в ПКС ПоказательПериода пиши:
Значение = <тут преобразуешь значение из Источник.ПоказательПериода в дату> |
|||
3
applesound
02.07.20
✎
15:51
|
ПКС Перед выгрузкой
ПоказательПериода = Источник.ПоказательПериода ПозицияПериода = Найти(СокрЛП(ПоказательПериода),"."); ПозицияГода = Найти(Сред(СокрЛП(ПоказательПериода), ПозицияПериода + 1), ".") + ПозицияПериода; ПериодичностьНалога = Лев(СокрЛП(ПоказательПериода), ПозицияПериода - 1); СтрокаНомерПериода = Сред(СокрЛП(ПоказательПериода), ПозицияПериода + 1, ПозицияГода - ПозицияПериода - 1); СтрокаГодПериода = Сред(СокрЛП(ПоказательПериода), ПозицияГода + 1); НалоговыйПериод = Дата(Строка(СтрокаГодПериода + СтрокаНомерПериода + "01")); Значение = НалоговыйПериод; Верно? |
|||
4
polosov
02.07.20
✎
15:53
|
(3) Значение = СтроковыеФункцииКлиентСервер.СтрокаВДату(Источник.ПоказательПериода);
|
|||
5
applesound
02.07.20
✎
17:04
|
(4) не совсем понял.
Реквизит источника ПоказательПериода тип.строка Значение: МС.12.2019 Реквизит приёмник НалоговыйПериод тип.дата Формат:ДФ='ММММ гггг' Значение 12.2019 Для переноса реквизитов достаточно: ПКС Источник: ПоказательПериода Приёмник: НалоговыйПериод Перед выгрузкой Значение = СтроковыеФункцииКлиентСервер.СтрокаВДату(Источник.ПоказательПериода); Так? |
|||
6
Mihasya
02.07.20
✎
19:18
|
(5) нет, выделяешь год через Сред(...), потом выделяешь месяц также, после это все переводишь функцией преобразования строки в дату
И значению присваиваешь эту дату |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |