Имя: Пароль:
   
1C
1С v8
Недоработка API или недоработка рук?
0 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
А чего, по номеру получить список документов и посмотреть какие из них подходят по дате?
3 Garykom
 
24.06.21
09:51
(0) Ты явны и законченный 1С, причем слегка недоученный

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

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