Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Недоработка API или недоработка рук?

Недоработка API или недоработка рук?
Я
   Mentos1C
 
24.06.21 - 09:44
Всем привет, имеем сторонний SOAP Service с методом DownloadDocument c тремя аргументами, расположеный(ну и админят там же) на сервере контрагента исполнителя. Надо через апи выгружать документы по номеру и дате(необязательный параметр для меня).

Пока СписокНомеров.Следующий() цикл
        Если СтрДлина(СписокНомеров.Номер) = 10 тогда
            Попытка
                Номер = Число(СписокНомеров.Номер);
                WSПараметр.Number = Номер;
                Документы = Прокси.DownloadDocument(WSПараметр.Number, WsПараметр.startDate, WSПараметр.accessToken);
                Привязать(СписокНомеров, Документы);
            Исключение
            КонецПопытки
        КонецЕсли;
    КонецЦикла;

Обращение к этому методу провоцирует ошибку мол "не найдена квитанция". Сюр ситуации заключается в том что аргумент - точная дата, а не период. Соответственно невозможно перебирать абсолютно все даты ибо тип dateTime и перебор дат займет невероятное количество времени. Какие пути решения возможны в этом случае?
   ДенисЧ
 
1 - 24.06.21 - 09:46
Предлагаю воспользоваться методом Форреста Гампа. Если уж не можешь добиться от админа сервера внятного ответа.
   Галахад
 
2 - 24.06.21 - 09:48
А чего, по номеру получить список документов и посмотреть какие из них подходят по дате?
   Garykom
 
3 - 24.06.21 - 09:51
(0) Ты явны и законченный 1С, причем слегка недоученный

Периодичность номеров документов в 1С может стоять не год а сильно меньше
И каким образом ты получишь документ по номеру без указания даты если номера допустим каждый месяц повторяются?
   Garykom
 
4 - 24.06.21 - 09:52
(3) *явный и законченный 1Сник
   Garykom
 
5 - 24.06.21 - 09:52
>дате(необязательный параметр для меня)

пустую дату уже пробовал передавать?
   Mentos1C
 
6 - 24.06.21 - 10:06
Ого ребят, спасибо! Незнал что так быстро какие то предложения решений напишете)
(3) Это критика? Какие черты у явного и законченного 1Сника?) Пустая дата тоже не канает, сейчас скрин прикреплю. Может я чего то непонимаю
   ДенисЧ
 
7 - 24.06.21 - 10:10
(6) Ты не понимаешь одного - методов воздействия на админов сервера с целью заставления их выдать полную документацию по функциям.
   acht
 
8 - 24.06.21 - 10:10
(6) Так ты выгружаешь или Download?
   Mentos1C
 
9 - 24.06.21 - 10:11
(7) Ну, это не возможно по техническим причинам. Их просто не существует, этих админов)
   acht
 
10 - 24.06.21 - 10:12
(9) И ты хочешь найти этих несуществующих админов здесь, что-ли?
   ДенисЧ
 
11 - 24.06.21 - 10:15
(9) То есть ты предлагаешь нам протелепать интерфейс какого-то неизвестного сервера?
Боюсь, у тебя денег не хватит оплатить работу такого специалиста...
   ptiz
 
12 - 24.06.21 - 10:17
(6) "перебирать абсолютно все даты" - зачем? Укажи дату того периода, в котором находится документ. А то передаешь пустую дату и чему-то удивляешься.
   brainguard
 
13 - 24.06.21 - 10:19
(0) На токен ругается. Сначала с этим разберись, а с датой проблем особых не будет, как тебе уже сказали
   Mentos1C
 
14 - 24.06.21 - 10:20
(13) в табло использую другой метод этого сервиса, используя эти же параметры в качестве аргументов, работает. Засада именно с этим методом.
   Mentos1C
 
15 - 24.06.21 - 10:21
(12) Пустаю дату не принимает, только что попробовал. Как указать дату периода? Период же имеет два измерения, начало и конец, или я что то не так понимаю? Как запихнуть в dateTime период?
   Mentos1C
 
16 - 24.06.21 - 10:22
(8) верно подмечено, мой косяк) Хочу получать с сервера данные
   brainguard
 
17 - 24.06.21 - 10:25
(15) Указать любую дату, входящую в период
   ptiz
 
18 - 24.06.21 - 10:31
(15) Про метод 1С "НайтиПоНомеру", где используется точно такой же механизм - никогда не слышал?
   Mentos1C
 
19 - 24.06.21 - 10:31
(17) Не работает(
   Mentos1C
 
20 - 24.06.21 - 10:32
(18) слышал. А как я могу использовать этот метод на сервере исполнителя?
   brainguard
 
21 - 24.06.21 - 10:32
(19) Дело не в дате
   brainguard
 
22 - 24.06.21 - 10:41
Нужна документация. Без нее можно тыркаться до бесконечности. В документации может быть все, что угодно. Например, для загрузки документа сперва следует вызвать другой метод, что-то типа "ПолучитьРазрешениеНаЗагрузкуДокумента", этот метод выдаст квитанцию, затем уже можно вызывать метод загрузки. Может быть что-то еще... Документация нужна
   Mentos1C
 
23 - 24.06.21 - 10:42
(22) Хм) Понял, спасибо
   rsv
 
24 - 24.06.21 - 10:42
(0) когда надоест … запроси у админа доступ напрямки к табличке.
Может сделает.
   rsv
 
25 - 24.06.21 - 10:43
Напишешь селект звездочка фром и все. А тут соап …
Коммерция :)
   Mentos1C
 
26 - 24.06.21 - 10:47
(24) Они мне документацию то отправить не могут, видимо потому что ее нету. Доступ напрямую не дадут точно, грубо говоря муниципальное учереждение для приёма платежей по комуналке)
Да и некому давать мне доступ, на сайте исполнителя вакансия "Срочно требуется программист"...
   1Сергей
 
27 - 24.06.21 - 11:10
(26) устройся туда программистом, разберись, напиши инструкцию и уволься. Изи
   Mentos1C
 
28 - 24.06.21 - 12:47
по рекомендации (27) устроился, разобрался.
Не находил документы потому что надо указать точную дату, не сложным методом тыка, нашлось решение. 
WsПараметр.startDate = XMLСтрока(Дата("20210501235959"));
Всем спасибо! тему можно закрывать!


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.