Имя: Пароль:
1C
 
Немного об Web-сервисах в 1С 8.2
, , ,
0 Vlaloplo
 
28.03.22
14:37
Есть рабочий, опубликованный web сервис, который отдает N значения стороннему сервису, отдает и хорошо.. Но отдает почему то с английской локализаций, т.е к примеру Дата - 1/1/2022 11:55:03 PM, ссылка на документ отправляется с типом строка и имеет вид "Заявка 00000000341 from 01.01.2022 23:48"... Данные из базы получаются не хитрым запросом, он же в консоли - отдает верные данные. Код формирования данных находится в общем модуле, пробовал внешней обработкой обращаться и получать данные, так же, как это делает веб сервис, с локализацией в таком случае проблем нет, проблема именно при работе веб сервиса. Пробовал на разных серверах, но проблему это не решает. В какую сторону стоит копать?
1 Vlaloplo
 
28.03.22
14:39
Локализация 1С установлена русская. Может где то отдельно может настраиваться локализация для web сервиса?
2 vicof
 
28.03.22
14:40
А язык у пользователя БД какой стоит?
3 Vlaloplo
 
28.03.22
14:41
(2) Русский
4 unbred
 
28.03.22
14:43
у тебя там "PM" . вот и получай "from" ибонех
5 Vlaloplo
 
28.03.22
14:46
(4), согласен, нех) Но в самом документе и в самой базе стоит нормальный, привычный всем формат времени, данная дата результат выполнения запроса web сервиса :(. Т.е он сам какие то образом переводит ссылки и даты
6 lodger
 
28.03.22
14:48
ну если хочешь похавать матчасти, то добро пожаловать на https://infostart.ru/1c/articles/779726/
7 Vlaloplo
 
28.03.22
15:05
(6) этой матчастью наелся до того, как сюда написать) Это конечно интересно, но в конфигурации везде установлен русский язык, работа на английском никогда не проходила, он и не нужен был. Но web сервису не понравился такой расклад и он решил навести свой порядок
8 Vlaloplo
 
28.03.22
15:05
Да даже в дереве конфигурации, язык только русский (
9 ptiz
 
28.03.22
15:08
(7) Веб-сервис на какой машине? Что там с региональными настройками?
10 Fragster
 
гуру
28.03.22
15:10
если отдавать веб сервисом именно ДАТУ, то она будет прям ДАТОЙ на принимающей стороне (вернее строкой в формате ISO), которую уже принимающая сторона раскукоживает в представление в соответствии со своей локалью.
11 Vlaloplo
 
28.03.22
15:13
На серверах, где тестировал веб сервис, так же основной язык русский, с датой в 24 часом формате
12 Vlaloplo
 
28.03.22
15:14
(10) к сожалению - не разжёвывает :(
Разве это особенность веб сервиса все переводить на другую локаль? На других веб сервисах такого не встречал
13 lodger
 
28.03.22
15:15
(11) это прекрасно, но код локализации для представлений дат и ссылок может задаваться конечным клиентом.
такая шняга, например, при работе из веб-клиента. если в какой-нибудь убунте всё на английском и в браузере основной язык английский, то везде интерфейсы, даты и представления в 1ске будут на английском формате.
14 lodger
 
28.03.22
15:16
от конфига, настроек веб-сервера и публикации веб-с может ничего не зависеть, если пришёл клиент и говорит "let me speak from my heart"
15 Vlaloplo
 
28.03.22
15:27
(13), тестирую web сервис через postman, кидая запросы в базу и проверяю отладкой, уже на моменте выполнения запроса, данные на английской локале. Если верно тебя понял, это потому что сам постман - сервис англоязычный и поэтому данные из 1С формируются сразу согласно его языку?
16 Vlaloplo
 
28.03.22
15:28
До этого думал, что данные должны поменять локаль в момент прихода в место вызова этого веб сервиса.. Можно ли это как это обойти? Чтобы данные на англоязычные сервисы приходили на русском?
17 lodger
 
28.03.22
15:30
(15) вот в постмане как раз удобно вытряхнуть все заголовки запроса. поищи там что-то про локаль. попробуй другую подставить.
18 lodger
 
28.03.22
15:31
(16) мы для этого перемалывали данные до примитивов, составляли в структуру и сворачивали в json, чтобы не ломать себе голову этими проблемами.
19 Vlaloplo
 
28.03.22
15:33
(18) У нас так же, приходит json, разбираю, смотрю что пришло, собираю данные, формирую json и кидаю ответ обратно. Но json который приходит, уже содержит другую локаль (