Чем отличается хранение даты 1с и оракла? #810025


#0 by DES
Использую API одного сайта. Там формат данных даты dateTime Задаю дату в формате 1с8 '20170110000000' API возвращает данные от 2017-10-01Т00:00:00 Т.е.YYYYMMDD воспринимает как YYYYDDMM Может можно как то пересчитать дату 1с8 в формат хранения для этого API
#1 by Fragster
XMLСтрока(Дата)
#2 by DES
Всмысле? У меня параметр тип дата я делаю парамДата =  '20170110000000' ; Как вы предлагаете?
#3 by Fragster
не тупи
#4 by Fragster
те
#5 by DES
Стараюсь,но не прокатывает Ваш совет.
#6 by DES
пишет несоответствие типов
#7 by DES
Значение не является значением объектного типа (StartDate)
#8 by Fragster
Сообщить(XMLСтрока(ТекущаяДата));
#9 by Вафель
в xml дата вроде не так задается
#10 by Fragster
Сообщить(XMLЗначение(Тип("Дата"), XMLСтрока(ТекущаяДата)));
#11 by Fragster
да и вообще, при использовании XSD схемы все эти форматы для примитивных типов никого не волнуют и происходят прозрачно для программиста
#12 by Fragster
телепатов тут нету
#13 by Вафель
Это явно не тот формат
#14 by DES
про XML я в курсе Дело в том что параметр для функции создается по API и после его создания он имеет тип вида (в отладчике 1с8) дата и значение 30.12.1899  0:00:00 Следовательно я могу записать в него только дату , а не строку
#15 by hhhh
парамДата =  Дата(2017,01,10,00,00,00)
#16 by Вафель
Дата(2017,01,10,00,00,00) = '20170110000000'
#17 by Fragster
->
#18 by DES
дата устанавливается, воспринимается API не так. Я не могу получить данные от 28 числа любого месяца, так как API отвечает что нет такого месяца 28
#19 by Fragster
а
#20 by hhhh
ну, там строка, а тут дата.
#21 by hhhh
так дата у вас где устанавливается? в 1с или в api?
#22 by DES
данные от 01.01.2017 или 02.02.2017 или 03.03.2017 получаю корректно
#23 by Вафель
в одинарных ковычках - это как раз не строки
#24 by DES
из 1с вызываю API параметры вызова устанавливаю в 1с
#25 by DES
Задаю дату 02.01.2017 получаю данные от 01.02.2017
#26 by Fragster
У командира сломалась рация на бронетранспортере. Прапорщик построил личный состав и говорит: - У командира на бронетранспортере сломалась рация. Кто починит – поедет в отпуск. Голос из строя: - Товарищ прапорщик! А рация на чем: на полупроводниках или на лампах? - Для дебилов повторяю. На БРОНЕТРАНСПОРТЕРЕ!
#27 by Вафель
а как ты дату передаешь в апи?
#28 by Вафель
Код в студию, плз
#29 by DES
присваиваю параметру, а параметр передаю . Я же говорю , проблема не присвоить дату, а интерпретировать ее так что бы API  понимал месяз за день, а день за месяц
#30 by Fragster
с кодом любой дурак разберется
#31 by hhhh
а где там формат данных даты dateTime   ?? на какой строчке?
#32 by DES
</xs:appinfo> <xs:documentation source=";
#33 by Cyberhawk
2017-12-11T13:25:00
#34 by Cyberhawk
Чего там тебе возвращает какое-то АПИ, это уже какое отношение имеет?
#35 by DES
это строка - а параметр имеет тип дата
#36 by Cyberhawk
Я из всей ветки не понял, что требуется. Ты в трех словах опищи
#37 by DES
25 прочитай - там все
#38 by DES
+ как получить данные на 20.12.2017?
#39 by Cyberhawk
Кривое АПИ или руки, хз что ты и куда там передаешь и что получаешь. Не все можно решить на стороне источника, но подменить СОАП-сервис на HTTP-запрос с нужным текстом тела / заголока, думаю, можно
#40 by ambrozii-fadeevich-s
овер 30 постов ни о чем Формат(ТекущаяДатаСеанса, "ДФ='MM.dd.yyyy ЧЧ:мм:сс'; ДЛФ=T")
#41 by DES
да билин же, это не тип дата.
#42 by ambrozii-fadeevich-s
ты же в xml ее подсовываешь.
#43 by ambrozii-fadeevich-s
еще на всякий случай в отладчике ТипЗнч('20170110000000') рассчитай. понятнее станет.
#44 by DES
нет, не в XML
#45 by DES
private EFacturaApiRef.ServiceClient _client; var request = new SearchRequest InvoiceStatus = 7, e-Factura Integration Guide (API for external accounting systems) Document prepared by Alfa -Soft S.R.L 34 System administrated by Fiscservinform foreach (var info in response.Results) { }
#46 by DES
вот пример их кода, на C# наверное там StartDate = DateTime.Now.AddDays(-100),
#47 by ambrozii-fadeevich-s
Ну вот когда ты делаешь в 1С как в >> я делаю >> парамДата =  '20170110000000' ; ты туда не дату передаешь. Ну так на всякий случай напоминаю. И как их сервис эту строку в дату преобразует - это уже второй вопрос.
#48 by ambrozii-fadeevich-s
Не дошло?
#49 by Вафель
Так это же ДАТА
#50 by ambrozii-fadeevich-s
Точно. А у меня везде считается, что строка. надо срочно править :)
#51 by ambrozii-fadeevich-s
А блин. а тут везде кавычки двойные. вот налажал.
#52 by Fragster
если ты используешь WSПрокси, и там валидный WSDL с нормальными определениями типов параметров, то ничего тебе делать не надо, пихай прямо 1совскую дату в объект XDTO
#53 by DES
да вот как бы не пихается в объект XDTO Уже все перепробовал, дата пихается только как дата, а воспринимается как хрен знает что.
#54 by Fragster
ну рассказывай, как обгонял, как подрезал? Где всдл? Где то, как ты его использовал?
#55 by DES
wsdl тута
#56 by DES
функция  name="SearchInvoices" Возращает ТТН по критериям. Даю диапазон дат, получаю ТТН, смотрю - даты наперекосяк, не те что запрашивал. Путает номер дня с номером месяца.
#57 by DES
Или функция "GetLogs" Можно запросить  лог действий за период. Та же фигня, присылает не то. Короче, все работает, кроме функций в которых параметром идет дата, причем даты в ТТН возвращает корректные (т.е. не путает в них день/месяц)
#58 by ИмяФамилия
ну может просто косяк у граждан, даты в запросе хотят видеть одни, а в ответе отдают другие. т.е. в запросе, вроде, должно быть YYYYMMDD а на самом деле воспринимаются как YYYYDDMM ) и с ответами тоже самое) уточни у разработчиков что они имели ввиду)
#59 by 1Сергей
YYYYDDMM амерский формат, локализацию проверь
#60 by ИмяФамилия
это гражданам разработчикам апи нужно сообщить. либо дока не полная. и необходимо в запросе указывать локаль.
#61 by Cyberhawk
#62 by Cyberhawk
#63 by Fragster
если так: то в объект XDTO присваиваешь прямо 1сную дату, и всё работает как надо
#64 by Fragster
без всяких преобразований
#65 by ambrozii-fadeevich-s
Да попробуй запихни простую строку из даты в формате ymd "20171201" (в двойных кавычках) и посмотри, что получится, ибо если в XDTO не пихается дата, то скорее всего - там тупо строка из которой потом сервис конвертит дату. А все обертки с типами данных такие же гуру-прогеры (или горе-прогеры), как мы в ТЗ для важности написали.
#66 by DES
это на что намек?
#67 by DES
строка не пихается по определению. Насчет локали - есть зерно истины, где бы ее прописать....
#68 by Лефмихалыч
в оракле дата хранится вот так вопрос к ораклу отношения не имеет
#69 by Cyberhawk
Ну это кусочек одной из XSD-схем, типами данных которых оперирует твой веб-сервис
#70 by DES
а вот тут заморочка, параметры идут не типом XML, а типом ДатаВремя
#71 by DES
это не хранение - это показано отображение (одного из вариантов)
#72 by Лефмихалыч
к ораклу вопрос все равно отношения не имеет
#73 by MM
Опирайтесь на стандарт
#74 by DES
не прокатывает.
#75 by mistеr
Твоя картинка к *хранению* даты в Оракле также отношения не имеет.
#76 by Cyberhawk
Ты написал какую-то хрень или ты ошибся номером поста
#77 by DES
а ты не ошибся? XSD — это язык описания структуры XML документа. XML не используется в параметрах.
#78 by Cyberhawk
Хз, что ты пишешь
#79 by DES
ну вот у них нулевое значение соответствует 30.12.1899 00:00:00 А в 1С-не 01.01.0001 00:00:00 т.е. если я запилю туда 0, то ДР христа Спасителя я не получу. Вот может в этом дело?
#80 by Fragster
нет
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С