Возникла необходимость взаимодействовать с 1C с мобильного клиента под Windows Phone 7/8. Самым простым способом взаимодействия показалось работа через web сервисы, поддерживаемые 1С.
С точки зрения публикации web сервиса особых сложностей нет. Шаги подробно описаны в статьях:
- http://habrahabr.ru/post/136684/
- http://howknow1c.ru/programmirovanie-1c/web-servisy-1s.html
- http://infostart.ru/public/86791/
- http://1cprogrammistu.ru/60-sozdanie-web-servisa-v-1s-predpriyatii.html
- http://www.basic.visual2000.ru/kolesov/pcmag/2006-1c/2006-05/web_1c.htm
- http://v8.1c.ru/overview/Term_000000286.htm
- http://1c-dn.com/forum/forum1/topic1184/
- http://fixin.com.ru/articles/1s_web_services/article.htm
- http://infostart.ru/public/327963/
Проблемы возникли с доступом к опубликованному web-сервису 1С. Под IIS 7.5 из под Windows 2008R2 после полудня танцев с бубном проблему решить не удалось. Были изучены статьи и ветки форумов:
- http://infostart.ru/public/75205/
- http://www.forum.mista.ru/topic.php?id=568905
- http://www.forum.mista.ru/topic.php?id=665708
- http://www.forum.mista.ru/topic.php?id=539933
- и т.д.
но счастье так и не наступило.
В результате решил, что стоит попробовать поднять web сервис на Apache, поскольку с ним у меня обычно все было несколько проще с настройкой. Итак, на другом порту (8080) на том-же сервере был поднят Apache 2.2.22. В 1С был создан ещё один web сервис и опубликован уже на Apache. С настройками по умолчанию он также не заработал. Разберем ошибки.
Web сервис был опубликован в 1С под именем wsApache.

Публикация web-сервиса 1С под Apache
Соответственно, в указанном при публикации каталоге появился файл default.vrd следующего содержания:
В httpd.conf 1С добавила следующие строчки:
# 1c publication
LoadModule _1cws_module "C:/Program Files (x86)/1cv82/8.2.17.153/bin/wsap22.dll"
Alias "/ws" "C:/inetpub/wwwroot/ws/"
<Directory "C:/inetpub/wwwroot/ws/">
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/wwwroot/ws/default.vrd"
</Directory>
В целом, файлы/изменения создаваемые 1С почти рабочие. Теперь о проблемах.
Правильный линк на сервис
В некоторых статьях путь к web сервису указан как: http://имя_сервера:порт/имя_при_публикации/alias?wsdl.
В моем случае:
- Имя сервера: s-1s-1-hw
- Порт: 8080
- Имя при публикации: wsApache
- Alias из файла default.vrd: service.1cws
Соответственно, НЕПРАВИЛЬНАЯ ссылка на web сервис 1С такая: http://s-1c-1-hw:8080/wsApache/service.1cws?wsdl
Если использовать такой линк, то 1C 8.2 выдаст сообщение вида:
1C:Enterprise 8 application error:
HTTP: Not found Ошибка при работе с ресурсом /ws/service.1cws
Правильный вариант:
http://имя_сервера:порт/имя_при_публикации/ws/alias?wsdl.
Это обращение эквивалентно обращению по имени сервиса из default.vrd:
http://имя_сервера:порт/имя_при_публикации/ws/name?wsdl.
В моем случае:
- Name из файла default.vrd: Service
Соответственно, ПРАВИЛЬНЫЙ линк для доступа к web сервису 1С будет такой:
http://s-1c-1-hw:8080/wsApache/ws/service.1cws?wsdl
или такой
http://s-1c-1-hw:8080/wsApache/ws/service?wsdl
Если указать ссылку с суффиксом ?wsdl, то в веб браузере отобразиться XML файл с описанием опубликованного сервиса.
Если указать ссылку без суффикса ?wsdl, то при правильной настройке должна появится страница с гиперссылкой на опубликованный сервис:
http://s-1c-1-hw:8080/wsApache/ws/Service
Авторизация пользователя при обращении к web сервису 1С
Если попытаться получить доступ к web сервису опубликованному под Apache не исправляя файл default.vrd, то появиться стандартный диалог авторизации:

Диалог авторизации на web сервисе 1С
В тестовой базе был заведен тестовый пользователь IUSR с полными правами с пустым паролем. Если ввести в диалог в качестве логина этого пользователя, то авторизация пройдет успешно и отобразиться либо XML файл, либо ссылка на него (см. выше).
Можно исключить запрос авторизационной информации вбив логин и пароль прямо в файл default.vrd, что, конечно, не рекомендуется с точки зрения безопасности, но иногда необходимо.
Это все. В моем случае каких-то дополнительных правок конфиг файлов не потребовалось.
В некоторых статьях указывалось, что нужно убрать из httpd.conf опцию «Options None«. У меня работает в обоих вариантах, т.е. когда строка присутствует и когда она удалена.
Публикация web сервиса 1С на IIS 7.5
Как уже упоминал выше, с публикацией web сервиса на IIS 7.5 с первого раза у меня не задалось, хотя тонкий клиент запускается без проблем. Поскольку пароль в конфигурационном файле по соображениям безопасности меня не устраивал, вернулся к вопросу настройки IIS. Был опубликован web сервис с именем wsIIS и именем сервиса ServiceIIS и alias-ом serviceIIS.1cws. Галка в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере» для простоты эксперимента была снята.

Публикация web сервиса 1С в IIS 7.5.
Корректная ссылка в моем случае: http://s-1c-1-hw/wsIIS/ws/ServiceIIS?wsdl. При попытке зайти из Chrome/IE получаем ошибку возвращенную IIS:
Ошибка HTTP 401.2 — Unauthorized
дабы избавиться от ошибки правим web.config сформированный 1С следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:Program Files (x86)1cv82binwsisapi.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
<security>
<authorization>
<add accessType="Allow" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
Эта правка эквивалента изменению через консоль управления IIS для нашего опубликованного приложения с именем wsIIS правил авторизации пользователя.

Настройки IIS 7.5 для доступа к web сервисам 1C
Добавление тегов security в web.config или правка правил авторизации в консоли IIS приводит к тому, что при обращении к сервису по указанной выше ссылке появляется запрос на авторизацию. Вводим нашего тестового пользователя IUSR без пароля и получаем нужный XML файл в ответе сервера.
Прописав в default.vrd логин и пароль пользователя, как было указано выше для Apache, уберем окно авторизации и сервис будет всегда авторизовываться под указанным пользователем. Как проходит авторизация можно посмотреть в логах 1C. Но вариант с прописыванием пользователя в конфигурационный файл — не наш путь, ибо не секьюрно.
Изменим настройки авторизации пользователя (в IIS проверка подлинности), чтобы использовалась Windows авторизация. Сменить можно в консоли управления IIS, либо в конфигурационном файле. Мне больше нравиться конфигурационный файл. так как проще переносить настройки при миграции на другой сервер.
Поскольку изменения секции web.config <authentication> заблокированы на уровне IIS в файле
%windir%system32inetsrvconfigapplicationHost.config
нужно зайти туда и сменить «Deny» на «Allow» для секции «authentication»:
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<section name="basicAuthentication" overrideModeDefault="Allow" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="digestAuthentication" overrideModeDefault="Deny" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="windowsAuthentication" overrideModeDefault="Allow" />
</sectionGroup>
после чего РАБОЧИЙ web.config для опубликованного web сервиса 1С будет выглядеть следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="1C Web-service Extension" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:Program Files (x86)1cv82binwsisapi.dll" resourceType="Unspecified" requireAccess="None" />
</handlers>
<security>
<authorization>
<add accessType="Allow" users="*" />
</authorization>
<authentication>
<windowsAuthentication enabled="true" useKernelMode="true">
<providers>
<clear />
<add value="Negotiate" />
<add value="NTLM" />
</providers>
<extendedProtection tokenChecking="Allow" />
</windowsAuthentication>
<basicAuthentication enabled="false" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</configuration>
Эквивалент последней выполненной операции (настройка <authentication>) — публикация сервиса с включенной галкой в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере». 1С при публикации меняет эту настройку не в web.config, а в настройках IIS через API. В любом случае изменения должны быть видны в консоли управления IIS:

Настройка аутентификации при публикации web сервиса 1С в IIS
На всякий случай для проверки настроек при публикации web сервиса имеет смысл в консоли управления IIS зайти в следующие разделы:

Публикация web сервиса 1С в IIS. Настройка через консоль.
После указанной выше настройки web.config, удаляем жестко прописанные логин и пароль из файла default.vrd. На всякий случай перегружаем IIS. Если для доменных пользователей прописаны корректные соответствия в учетных записях 1С, то авторизация пройдет прозрачно под доменными учетными записями, в чем можно будет убедиться посмотрев в логах авторизации 1С.
Здесь приводится ряд ошибок IIS (и способы их устранения) которые с высокой вероятностью могут возникнуть при публикации web сервиса 1С на IIS.
Доступ из Visual Studio 2012
Как подробно описано в статье на хабре, чтобы добавить ссылку на опубликованный web сервис 1С в Visual Studio для разработки клиента необходимо создать приложение (например, консольное), кликнуть правой кнопкой мышки на solution и выбрать пункт «Add Service Reference…». Следует обратить внимание на точное указание ссылки непосредственно на WSDL описание, т.е. без указания суффикса ?wsdl Visual Studio ничего не обнаружит.

Добавление reference к web службе 1С из Visual Stiudio.
Далее разрабатываем обычный клиент для web сервиса.
Удачи!!!
25.07.2022, 13:21. Показов 972. Ответов 7
Веб сервер IIS. 1C опубликована, и доступна снаружи, пользователи заходят нормально.Настройка через телефонии стандартный интерфейс Облачной телефонии. Подключение к АТС Ростелеком проходит
нормально, исходящие идут, а вот когда АТС пытается подключится к 1С чтобы передать входящий вызов, то идет ошибка 401.5.
Ключи в 1С указаны правильно.В логах 1с вызов есть, но пользователь неизвестен. подскажите где может быть ошибка?
Вот что происходит на стороне 1С во время запроса
04:55.126001-0,CONN,1,process=w3wp,OSThread=9940,Txt=’addrBelongsToThisComputer2, address=SERVER2008, result=true’
04:55.126002-0,CONN,1,process=w3wp,OSThread=9940,ClientID=3,Protected=0,Txt=’Connected, client=(23)[::1]:52528, server=(23)[::1]:1541, marker=1′
04:55.126003-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Ping direction opened: address=[::1]:1541,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=,directionID=e762e333-5caa-443f-a8c6-4192b1443958′
04:55.126004-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Connection added to ping direction: address=[::1]:1541,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=,clientID=3′
04:55.126005-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName1: NT AUTHORITYIUSR
04:55.126007-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=857,MName=createRemoteI nstance,DstClientID=0
04:55.126008-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: DstUserName1: SERVER2008USR1CV8 StartProtocol: 0 Success
04:55.126010-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=858,MName=createRemoteI nstance,DstClientID=0
04:55.126011-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName2:
04:55.126013-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=859,MName=createRemoteI nstance,DstClientID=0
04:55.126015-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,Interface=73b7d3a3-fe0b-4fdf-ba70-b74b3589ffc3,IName=ISelectSrvrProcess,CallID=860,MName=methodsCount,DstClientID= 13853
04:55.126017-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,Interface=73b7d3a3-fe0b-4fdf-ba70-b74b3589ffc3,IName=ISelectSrvrProcess,Method=0,CallID=861,MName=selectProcess,Ds tClientID=13853
04:55.126019-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=3,CallID=862,MName=Release,DstClie ntID=13853
04:55.126020-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Connection removed from ping direction: address=[::1]:1541,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=,clientID=3′
04:55.126021-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Ping direction closed: address=[::1]:1541,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=’
04:55.126022-22,CONN,0,process=w3wp,OSThread=9940,ClientID=3,Txt=Outgoing connection closed
04:55.126024-0,CONN,1,process=w3wp,OSThread=9940,ClientID=4,Protected=0,Txt=’Connected, client=(23)[::1]:52529, server=(23)[::1]:1560, marker=1′
04:55.126025-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Ping direction opened: address=[::1]:1560,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=,directionID=e762e333-5caa-443f-a8c6-4192b1443958′
04:55.126026-0,CONN,1,process=w3wp,OSThread=9940,Txt=’Connection added to ping direction: address=[::1]:1560,pingTimeout=15000,pingPeriod=3000,lastSentTs=1183846830,lastReceivedTs=118 3846830,lastReceivedTestTs=,clientID=4′
04:55.126027-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName1: NT AUTHORITYIUSR
04:55.126029-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=863,MName=createRemoteI nstance,DstClientID=0
04:55.141000-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: DstUserName1: SERVER2008USR1CV8 StartProtocol: 0 Success
04:55.141002-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=864,MName=createRemoteI nstance,DstClientID=0
04:55.141003-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName2:
04:55.141005-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,IName=IRemoteCreatorService,Method=0,CallID=865,MName=createRemoteI nstance,DstClientID=0
04:55.141007-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=bc15bd01-10bf-413c-a856-ddc907fcd123,IName=IVResourceRemoteConnection,CallID=866,MName=methodsCount,DstC lientID=12778
04:55.141008-0,CONN,0,process=w3wp,OSThread=13388,Txt=’Ping direction statistics: address=[::1]:1560,pingTimeout=15000,pingPeriod=3000,period=9048,packetsSent=3,avgResponseTim e=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=0,packetsLostAndFound=0′
04:55.141009-0,VRSREQUEST,1,process=w3wp,OSThread=9940,Method=POST,URI=/hs/telephony/rt/call_events,Headers=’Accept-Encoding: gzip,deflate
Connection: Keep-Alive
X-Client-Sign: 14dda9f1bd1cac43a734fae0e03a41dd8c19a5f5cb780d9b75bd32faf729ac17
X-Client-ID: 92FA971B10DD441672B03749D2FA352A
Host: 1.1.1.1
Content-Type: application/json; charset=utf-8
Content-Length: 220
1C-ApplicationName: WebClient
X-Radix-Process-ID: 008dabf6-79d8-4142-b210-e330c044d368
1C-OriginalLocation: https://1.1.1.1/unf/hs/telephony/rt/call_events/
1C-openIDLifetime: 43200
User-Agent: Apache-HttpClient/4.5.8 (Java/1.8.0_202)
1C-ConnectString: Srvr=SERVER2008;Ref=unf;ws=https://1.1.1.1/unf
1C-BaseLocation: https://1.1.1.1/unf
1C-WebLocale:
X-Forwarded-For: 95.167.42.110
1C-openIDProviderEndpoint: https://192.168.1.60:443/unf/e1cib/oid2op
1C-openIDAllowedReturnTo: Lio=;
1C-authorizationConfig: ezAsIiIsMH0%3D
1C-servicesPublicationSource: vrd
1C-servicesReuseSeances: %2Funf,hs%2FTelephonyApi,2,20,5,10′,Body=220
04:55.141010-0,CONN,0,process=w3wp,OSThread=9940,Txt=’Ping direction statistics: address=[::1]:1541,pingTimeout=15000,pingPeriod=3000,period=0,packetsSent=0,avgResponseTime=0 ,maxResponseTime=0,packetsTimedOut=0,packetsLost=0,packetsLostAndFound=0′
04:56.031001-889990,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=bc15bd01-10bf-413c-a856-ddc907fcd123,IName=IVResourceRemoteConnection,Method=0,CallID=867,MName=send,Dst ClientID=12778
04:56.031002-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName1: NT AUTHORITYIUSR
04:56.031004-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=bc15bd01-10bf-413c-a856-ddc907fcd123,IName=IVResourceRemoteConnection,Method=0,CallID=868,MName=send,Dst ClientID=12778
04:56.031005-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: DstUserName1: SERVER2008USR1CV8 StartProtocol: 0 Success
04:56.031007-1,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=bc15bd01-10bf-413c-a856-ddc907fcd123,IName=IVResourceRemoteConnection,Method=0,CallID=869,MName=send,Dst ClientID=12778
04:56.031008-0,CONN,1,process=w3wp,OSThread=9940,Txt=Clnt: MyUserName2:
04:56.046000-14991,SCALL,1,process=w3wp,OSThread=9940,ClientID=4,Interface=bc15bd01-10bf-413c-a856-ddc907fcd123,IName=IVResourceRemoteConnection,Method=0,CallID=870,MName=send,Dst ClientID=12778
04:56.046001-0,VRSRESPONSE,1,process=w3wp,OSThread=9940,Status=401,Phrase=Unauthorized,Header s=’WWW-Authenticate: Basic realm=»1C:Enterprise 8.3″
Content-Length: 0′,Body=0
05:05.177000-0,CONN,0,process=w3wp,OSThread=13704,Txt=’Ping direction statistics: address=[::1]:1560,pingTimeout=15000,pingPeriod=3000,period=10046,packetsSent=3,avgResponseTi me=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=0,packetsLostAndFound=0′
05:15.239000-0,CONN,0,process=w3wp,OSThread=13704,Txt=’Ping direction statistics: address=[::1]:1560,pingTimeout=15000,pingPeriod=3000,period=10062,packetsSent=3,avgResponseTi me=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=0,packetsLostAndFound=0′
0
РЕШЕНИЕ
При данной ошибке нам нужно проверить работоспособность .
- Заходим на 10.2.145.17 и вставляем ссылку в браузер http://haproxy.miac.lan:82/hospital_okb2/hs/venul/referenceInformation/patients?patientID=3856186 (вместо hospital_okb2 можно писать любую базу. а пациент нам в данном случае не важен мы проверяем что сервис отвечает, а не правильность данных)
тут неважно какие данные пациента , если выдало структуру с { как на скрине , то сервис нам отвечает.
2. Если выдало access denied 401 , то значит что-то с учетной записью web_Venul
- Remove From My Forums
-
Question
-
Добрый день!
Перевели WEB-сервер 1С на IIS на доменную авторизацию.
Столкнулись с проблемой, а именно —
Периодический, в среднем раз в 30-60 минут видим сообщение, что соединение потеряно(см.скриншот).В то же время эта база опубликованная на этом же IIS сервере, но с возможностью анонимной авторизации на IIS, не
выдает таких ошибок.В логах вижу довольно частые коды ответа 401, потому пробовал
1. решить как описано в этой статье
https://www.e-du.ru/2019/05/iis-401-unauthorized-error.html?m=1]
не помогло.2. Изменил Rapid-fail-protection с
5 за 5 минут
до 30 за 10 минут
не помогло.Может кто сталкивался и даст совет как решить проблему?
-
Edited by
Tuesday, November 15, 2022 6:52 AM
-
Edited by
В мастере первоначальной настройки когда меняю подключение на 1С в облаке атс в сети после нажатия кнопки настроить и ожидания получаем
[2022-09-01T14:32:50] 1C:Enterprise web-service return error: 401 Unauthorized
В это время в MIKOPBX в модуле телефонии 4.0
{
«statuses»: [
{
«name»: «monitord»,
«state»: «ok»,
«pid»: «27235»
},
{
«name»: «nats»,
«state»: «ok»,
«version»: «1.4.1»,
«uptime»: «5h9m51s»,
«start»: «2022-09-01T09:23:21.699135408+04:00»
},
{
«name»: «auth»,
«state»: «ok»,
«start»: «2022-09-01T09:23:22.957470496+04:00»,
«uptime»: «5h9m50s»,
«version»: «1.2»
},
{
«name»: «ami-listener»,
«state»: «ok»,
«start»: «2022-09-01T09:23:23.079610987+04:00»,
«uptime»: «5h9m50s»,
«version»: «2.4.20220829.236»
},
{
«name»: «speech»,
«state»: «ok»,
«start»: «2022-09-01T09:23:23.145732519+04:00»,
«uptime»: «5h9m50s»,
«version»: «1.0.20220829.236»
},
{
«name»: «chats»,
«state»: «ok»,
«start»: «2022-09-01T09:23:23.221763292+04:00»,
«uptime»: «5h9m50s»,
«version»: «1.2.20220829.236»
},
{
«name»: «crm-1c»,
«state»: «error»,
«last_error»: «[2022-09-01T14:32:50] 1C:Enterprise web-service return error: 401 Unauthorized
Изменено: Владислав Эсмонтов — 01.09.2022 13:34:51
