09.04.21 — 17:19
Собственно сабж. При попытке обновления типовой БП на последний релиз из режима предприятия выдает ошибку 404. ИТС действующий, истекает в июне. В режиме конфигуратора через автоматический поиск обновлений (оставляю галочку только на сайт 1С) спокойно находит и обновляет конфу. https://ibb.co/6RXH3pk ссылка на текст ошибки. Есть один ньюанс, почему то когда по ошибке в режиме предприятия нажимаю ссылку обратиться в техподдержку, отправляет на украинский сайт 1С! Сталкивался кто нибудь? И в ЖР кстати тоже вижу что лезет в режиме предприятия на укр домен.
1 — 09.04.21 — 17:19
2 — 09.04.21 — 17:20
Обновите через конфигуратор.
3 — 09.04.21 — 17:21
(2) +1
4 — 09.04.21 — 17:23
(0) Это у всех лузеров так.Смени ник)
5 — 09.04.21 — 17:25
Через конфигуратор то обновил. Бухгалтер просто хочет сама обновлять… И там не одна конфа, зачем человеку доставлять трудности, если у нее все они типовые.
6 — 09.04.21 — 17:26
(5) Бухгалтер должен страдать,платить и страдать.Такова саромятная правда жизни
7 — 09.04.21 — 17:30
(6) )))))) а по делу если?
8 — 09.04.21 — 17:31
(7) Установите обновлятор.
9 — 09.04.21 — 17:34
(7) отладь, не помню точно — но при создании бекапа 1с лезет в недоступный каталог, отчего падает
10 — 09.04.21 — 17:34
(8) Тоже не выход. 1500 за него не жалко, но зачем буху это надо, если все до этого обновлялось в штатном режиме, и тут непонятно что произошло.
11 — 09.04.21 — 17:34
1. см. региональные параметры ИБ и сеанса в 1С
2. см. региональные настройки Windows
наверняка найдется подсказка
12 — 09.04.21 — 17:34
Короче никто не сталкивался?
13 — 09.04.21 — 17:35
+9 перед обновлением есть доп настройки, в которых и указывается каталог бекапа
14 — 09.04.21 — 17:35
(12) ты бот?
15 — 09.04.21 — 17:36
(7) Я те в пнд отвечу,в птн лениво))
16 — 09.04.21 — 17:38
(11) 1. см. региональные параметры ИБ и сеанса в 1С
это где?
2. см. региональные настройки Windows
Тут все норм
17 — 09.04.21 — 17:38
(14) разве похож?
18 — 09.04.21 — 17:41
+ (16) В конфигураторе в региональных настройках ИБ стоит Россия
19 — 09.04.21 — 17:41
(17) тогда писатель? см 9 и 13
20 — 09.04.21 — 17:43
(10) Для одной базы обновлятор бесплатный )
21 — 09.04.21 — 17:44
(10) Обновлятор бесплатный для любого количества баз, если готовы запускать их по 2 штуки (а не всей пачкой, за это надо платить).
22 — 09.04.21 — 17:46
(19) Да не нужен каталог бэкапа, нужно обновление с портала 1С! Лезет почему то в укр.
23 — 09.04.21 — 17:47
+ (20) (21) не будет бух обновлять через него… ей раньше было достаточно что сама конфа покричала что доступно обновление, она нажимает обновить и идет пить кофе.
24 — 09.04.21 — 17:50
(18) покажи окно со справкой о программе
25 — 09.04.21 — 17:56
26 — 09.04.21 — 17:58
Кстати если перенести базу на другой сервер, но в той же локальной сети, то спокойно дает обновить из режима предприятия…. дело где то в винде блин. Кстати ОС server 2008 r2
27 — 09.04.21 — 19:04
UP
28 — 09.04.21 — 19:11
(25) с 1С все Ок, теперь что с региональными настройками Windows?
29 — 09.04.21 — 19:22
30 — 09.04.21 — 19:23
Да везде все нормально
31 — 09.04.21 — 19:28
напиши свой обновлятор. 5 строчек кода
32 — 09.04.21 — 19:34
(0)[Бухгалтер просто хочет сама обновлять]
Вот это зря..обновит как-нибудь криво, на тебя же бочки будет катить. Лучше сам делай через Конфигуратор, через Предприятие чревато.
33 — 09.04.21 — 19:36
(29) база на этой же машине или по сети на другой?
34 — 09.04.21 — 19:40
(30) может это только в этот раз? А в следующий прекрасно обновится.
35 — 09.04.21 — 19:42
(33) на этой же
36 — 09.04.21 — 19:43
(34) это уже с месяц как длится, просто и мне и ей надоело друг другу звонить… Раньше она сама обновляла, я не штатный админ, не могу быть на месте, и просит все таки починить чтобы сама обновляла
37 — 09.04.21 — 19:44
До понедельника если гуру мисты не подскажут, буду 1С долбить или франча который ИТС продал, хотя все думаю отправят к настройкам винды
38 — 09.04.21 — 20:01
(36)если ты не штатный админ, тем более не твоя проблема. А так, если уж хочется поразбираться, ставить фидлер и смотри куда 1с ломится в этот момент.
39 — 09.04.21 — 20:03
+(38)А для начала кэш базы бы почистил, если еще не делал.
40 — 10.04.21 — 08:10
(39) Я базу под своим профилем на этом сервере подключал и пытался через предприятие тоже обновлять. Дело не в кэше.
1С вот куда ломится: Ошибка при получении файла дистрибутива конфигурации (https://dl03.1c.eu/public/file/tmplts/get/e0b1f86d-8bb3-4231-97b9-c44e44522c73). Ошибка клиента (404) при выполнении запроса к ресурсу (https://dl03.1c.eu/public/file/tmplts/get/e0b1f86d-8bb3-4231-97b9-c44e44522c73). Видно же что на укр.
41 — 10.04.21 — 09:54
Вообще-то там есть место, куда вписывается и сохраняется место поиска обновлений. В конфигураторе оно видно в момент показа окошка с подтверждением на поиск обновления.
42 — 10.04.21 — 09:55
Откуда строчки поиска тянет при поиске обновлений из Предприятие — не проверял
43 — 10.04.21 — 09:58
Но если для самой базы БП 3 , к примеру , на окне поиска обновлений в Предприятии как-то не очень видно, откуда берет строки. Но патчи откуда-то берет, даже не смотря на то, что в конфигураторе очищен поиск обновления через инет.
44 — 10.04.21 — 10:00
И в порядке бреда, а что если при установке платформы не было указано, что это российская установка явным образом, а поставили с системными, а системные исправлены уже вручную, но винда ставилась не пойми как, откуда и куда.
Т.е. просто перестановить платформу с указанием явным способом, что русская платформа, а не по системным.
45 — 10.04.21 — 10:10
(44) Во время обновления позавчера БП просила обновить и платформу. Я скачал ее с сайта релизес руками, и установил, поставив вместо системные настройки русские, а потом опять попытался обновить через предприятие, не помогло. Предлагаешь снести вообще все версии платформ? Их там установлено много (по мере автоматических обновлений), и установить все с нуля?
46 — 10.04.21 — 10:34
(40) dl03.1c.eu — домен EU, это точно для Украины.
для РФ должно быть dl03.1c.ru,
как понимаю, если в url вручную поменять»EU» на «RU», то по полученной ссылке скачается нужный дистрибутив…
занятный глюк
на компе случаем не устанавливался BAF / BAS?
47 — 10.04.21 — 10:37
(44) если бы неправильно определялся язык, то в интерфейсе бы были надписи не на русском, но попробовать конечно можно…
48 — 10.04.21 — 10:40
(45) Как минимум, хуже не будет, а все остальные, которые не актуальные уже — только место на диске занимают и реестре мусорят.
Говорю же, в порядке бреда…
Но ведь еще можно попробовать тоже самое на другом «чистом» компе, но этой базой. Она же файловая, хотя на проф лицензии, насколько по обсуждению можно судить.
49 — 10.04.21 — 11:09
ещё мысль
открой в конфигураторе Конфигурация — Поддержка — Обновить конфигурацию
— Поиск доступных обновлений
в окне «Искать обновления в каталогах» какие ресурсы указаны?
50 — 10.04.21 — 11:59
в списке должна остаться только одна запись — downloads.v8.1c.ru/tmplts/
все остальные URL надо удалить
https://online-ufa.ru/images/downloads-1c-01.png
51 — 10.04.21 — 12:24
(50) Тут все норм, и через конфигуратор обновляет спокойно… https://ibb.co/6n4dx24
52 — 10.04.21 — 12:25
(48) На другом компе нормально обновляется… Говорю же дело в винде походу, понять не могу где(
53 — 10.04.21 — 12:32
Реестр?
54 — 10.04.21 — 13:03
(53) Знать бы где
55 — 10.04.21 — 13:17
https://www.ccleaner.com/ru-ru
можно и деинсталить, и чистить, в том числе, реестр
56 — 10.04.21 — 17:02
(55) да это все фигня
57 — 10.04.21 — 19:09
Из ИТС:
»
ExternalResourcesMode
Данный параметр определяет состав используемых служебных ресурсов сети Интернет и некоторые особенности поведения системы.
Параметр может принимать следующие значения:
● D ‑ значение по умолчанию, при этом система функционирует следующим образом:
● система программного лицензирования платформы и конфигураций использует сервера, расположенные в России;
● при использовании команд меню Справка ‑ Информация в Интернете происходит обращение к российским ресурсам;
● поддерживается регистрация в системе взаимодействия;
● поддерживается использование специального сервиса фирмы «1С» для рассылки PUSH-уведомлений.
● A ‑ альтернативный список служебных ресурсов. При этом система функционирует следующим образом:
● система программного лицензирования платформы и конфигураций использует сервера, расположенные в Европе;
● при использовании команд меню Справка ‑ Информация в Интернете происходит обращение к европейским ресурсам;»
Параметр находится в conf.cfg.
58 — 12.04.21 — 06:21
(57) Спасибо огромное!!! Стоял почему то параметр А.
59 — 12.04.21 — 11:41
(7) Купите обновлятор.
60 — 11.08.21 — 09:34
(58) стоит A сменить на D ?
61 — 11.08.21 — 09:35
(59) если не удастся победить, то похоже придется
Vstur
62 — 11.08.21 — 09:56
(5) тогда это только ее проблемы, если сама….
it_looser
09.04.21 — 17:19
Собственно сабж. При попытке обновления типовой БП на последний релиз из режима предприятия выдает ошибку 404. ИТС действующий, истекает в июне. В режиме конфигуратора через автоматический поиск обновлений (оставляю галочку только на сайт 1С) спокойно находит и обновляет конфу. https://ibb.co/6RXH3pk ссылка на текст ошибки. Есть один ньюанс, почему то когда по ошибке в режиме предприятия нажимаю ссылку обратиться в техподдержку, отправляет на украинский сайт 1С! Сталкивался кто нибудь? И в ЖР кстати тоже вижу что лезет в режиме предприятия на укр домен.
it_looser
1 — 09.04.21 — 17:19
Затейник
2 — 09.04.21 — 17:20
Обновите через конфигуратор.
lubitelxml
3 — 09.04.21 — 17:21
(2) +1
d_monah
4 — 09.04.21 — 17:23
(0) Это у всех лузеров так.Смени ник)
it_looser
5 — 09.04.21 — 17:25
Через конфигуратор то обновил. Бухгалтер просто хочет сама обновлять… И там не одна конфа, зачем человеку доставлять трудности, если у нее все они типовые.
d_monah
6 — 09.04.21 — 17:26
(5) Бухгалтер должен страдать,платить и страдать.Такова саромятная правда жизни
it_looser
7 — 09.04.21 — 17:30
(6) )))))) а по делу если?
25-11
8 — 09.04.21 — 17:31
(7) Установите обновлятор.
mikecool
9 — 09.04.21 — 17:34
(7) отладь, не помню точно — но при создании бекапа 1с лезет в недоступный каталог, отчего падает
it_looser
10 — 09.04.21 — 17:34
(8) Тоже не выход. 1500 за него не жалко, но зачем буху это надо, если все до этого обновлялось в штатном режиме, и тут непонятно что произошло.
Winnie Buh
11 — 09.04.21 — 17:34
1. см. региональные параметры ИБ и сеанса в 1С
2. см. региональные настройки Windows
наверняка найдется подсказка
it_looser
12 — 09.04.21 — 17:34
Короче никто не сталкивался?
mikecool
13 — 09.04.21 — 17:35
+9 перед обновлением есть доп настройки, в которых и указывается каталог бекапа
mikecool
14 — 09.04.21 — 17:35
(12) ты бот?
d_monah
15 — 09.04.21 — 17:36
(7) Я те в пнд отвечу,в птн лениво))
it_looser
16 — 09.04.21 — 17:38
(11) 1. см. региональные параметры ИБ и сеанса в 1С
это где?
2. см. региональные настройки Windows
Тут все норм
it_looser
17 — 09.04.21 — 17:38
(14) разве похож?
it_looser
18 — 09.04.21 — 17:41
+ (16) В конфигураторе в региональных настройках ИБ стоит Россия
mikecool
19 — 09.04.21 — 17:41
(17) тогда писатель? см 9 и 13
МимохожийОднако
20 — 09.04.21 — 17:43
(10) Для одной базы обновлятор бесплатный )
Shadawn
21 — 09.04.21 — 17:44
(10) Обновлятор бесплатный для любого количества баз, если готовы запускать их по 2 штуки (а не всей пачкой, за это надо платить).
it_looser
22 — 09.04.21 — 17:46
(19) Да не нужен каталог бэкапа, нужно обновление с портала 1С! Лезет почему то в укр.
it_looser
23 — 09.04.21 — 17:47
+ (20) (21) не будет бух обновлять через него… ей раньше было достаточно что сама конфа покричала что доступно обновление, она нажимает обновить и идет пить кофе.
Winnie Buh
24 — 09.04.21 — 17:50
(18) покажи окно со справкой о программе
it_looser
25 — 09.04.21 — 17:56
it_looser
26 — 09.04.21 — 17:58
Кстати если перенести базу на другой сервер, но в той же локальной сети, то спокойно дает обновить из режима предприятия…. дело где то в винде блин. Кстати ОС server 2008 r2
it_looser
27 — 09.04.21 — 19:04
UP
Winnie Buh
28 — 09.04.21 — 19:11
(25) с 1С все Ок, теперь что с региональными настройками Windows?
it_looser
29 — 09.04.21 — 19:22
it_looser
30 — 09.04.21 — 19:23
Да везде все нормально
xXeNoNx
31 — 09.04.21 — 19:28
напиши свой обновлятор. 5 строчек кода
Сергиус
32 — 09.04.21 — 19:34
(0)[Бухгалтер просто хочет сама обновлять]
Вот это зря..обновит как-нибудь криво, на тебя же бочки будет катить. Лучше сам делай через Конфигуратор, через Предприятие чревато.
Winnie Buh
33 — 09.04.21 — 19:36
(29) база на этой же машине или по сети на другой?
hhhh
34 — 09.04.21 — 19:40
(30) может это только в этот раз? А в следующий прекрасно обновится.
it_looser
35 — 09.04.21 — 19:42
(33) на этой же
it_looser
36 — 09.04.21 — 19:43
(34) это уже с месяц как длится, просто и мне и ей надоело друг другу звонить… Раньше она сама обновляла, я не штатный админ, не могу быть на месте, и просит все таки починить чтобы сама обновляла
it_looser
37 — 09.04.21 — 19:44
До понедельника если гуру мисты не подскажут, буду 1С долбить или франча который ИТС продал, хотя все думаю отправят к настройкам винды
Сергиус
38 — 09.04.21 — 20:01
(36)если ты не штатный админ, тем более не твоя проблема. А так, если уж хочется поразбираться, ставить фидлер и смотри куда 1с ломится в этот момент.
Сергиус
39 — 09.04.21 — 20:03
+(38)А для начала кэш базы бы почистил, если еще не делал.
it_looser
40 — 10.04.21 — 08:10
(39) Я базу под своим профилем на этом сервере подключал и пытался через предприятие тоже обновлять. Дело не в кэше.
1С вот куда ломится: Ошибка при получении файла дистрибутива конфигурации (https://dl03.1c.eu/public/file/tmplts/get/e0b1f86d-8bb3-4231-97b9-c44e44522c73). Ошибка клиента (404) при выполнении запроса к ресурсу (https://dl03.1c.eu/public/file/tmplts/get/e0b1f86d-8bb3-4231-97b9-c44e44522c73). Видно же что на укр.
Фрэнки
41 — 10.04.21 — 09:54
Вообще-то там есть место, куда вписывается и сохраняется место поиска обновлений. В конфигураторе оно видно в момент показа окошка с подтверждением на поиск обновления.
Фрэнки
42 — 10.04.21 — 09:55
Откуда строчки поиска тянет при поиске обновлений из Предприятие — не проверял
Фрэнки
43 — 10.04.21 — 09:58
Но если для самой базы БП 3 , к примеру , на окне поиска обновлений в Предприятии как-то не очень видно, откуда берет строки. Но патчи откуда-то берет, даже не смотря на то, что в конфигураторе очищен поиск обновления через инет.
Фрэнки
44 — 10.04.21 — 10:00
И в порядке бреда, а что если при установке платформы не было указано, что это российская установка явным образом, а поставили с системными, а системные исправлены уже вручную, но винда ставилась не пойми как, откуда и куда.
Т.е. просто перестановить платформу с указанием явным способом, что русская платформа, а не по системным.
it_looser
45 — 10.04.21 — 10:10
(44) Во время обновления позавчера БП просила обновить и платформу. Я скачал ее с сайта релизес руками, и установил, поставив вместо системные настройки русские, а потом опять попытался обновить через предприятие, не помогло. Предлагаешь снести вообще все версии платформ? Их там установлено много (по мере автоматических обновлений), и установить все с нуля?
Winnie Buh
46 — 10.04.21 — 10:34
(40) dl03.1c.eu — домен EU, это точно для Украины.
для РФ должно быть dl03.1c.ru,
как понимаю, если в url вручную поменять»EU» на «RU», то по полученной ссылке скачается нужный дистрибутив…
занятный глюк
на компе случаем не устанавливался BAF / BAS?
Winnie Buh
47 — 10.04.21 — 10:37
(44) если бы неправильно определялся язык, то в интерфейсе бы были надписи не на русском, но попробовать конечно можно…
Фрэнки
48 — 10.04.21 — 10:40
(45) Как минимум, хуже не будет, а все остальные, которые не актуальные уже — только место на диске занимают и реестре мусорят.
Говорю же, в порядке бреда…
Но ведь еще можно попробовать тоже самое на другом «чистом» компе, но этой базой. Она же файловая, хотя на проф лицензии, насколько по обсуждению можно судить.
Winnie Buh
49 — 10.04.21 — 11:09
ещё мысль
открой в конфигураторе Конфигурация — Поддержка — Обновить конфигурацию
— Поиск доступных обновлений
в окне «Искать обновления в каталогах» какие ресурсы указаны?
Winnie Buh
50 — 10.04.21 — 11:59
в списке должна остаться только одна запись — downloads.v8.1c.ru/tmplts/
все остальные URL надо удалить
https://online-ufa.ru/images/downloads-1c-01.png
it_looser
51 — 10.04.21 — 12:24
(50) Тут все норм, и через конфигуратор обновляет спокойно… https://ibb.co/6n4dx24
it_looser
52 — 10.04.21 — 12:25
(48) На другом компе нормально обновляется… Говорю же дело в винде походу, понять не могу где(
acanta
53 — 10.04.21 — 12:32
Реестр?
it_looser
54 — 10.04.21 — 13:03
(53) Знать бы где
Фрэнки
55 — 10.04.21 — 13:17
https://www.ccleaner.com/ru-ru
можно и деинсталить, и чистить, в том числе, реестр
it_looser
56 — 10.04.21 — 17:02
(55) да это все фигня
ansh15
57 — 10.04.21 — 19:09
Из ИТС:
»
ExternalResourcesMode
Данный параметр определяет состав используемых служебных ресурсов сети Интернет и некоторые особенности поведения системы.
Параметр может принимать следующие значения:
● D ‑ значение по умолчанию, при этом система функционирует следующим образом:
● система программного лицензирования платформы и конфигураций использует сервера, расположенные в России;
● при использовании команд меню Справка ‑ Информация в Интернете происходит обращение к российским ресурсам;
● поддерживается регистрация в системе взаимодействия;
● поддерживается использование специального сервиса фирмы «1С» для рассылки PUSH-уведомлений.
● A ‑ альтернативный список служебных ресурсов. При этом система функционирует следующим образом:
● система программного лицензирования платформы и конфигураций использует сервера, расположенные в Европе;
● при использовании команд меню Справка ‑ Информация в Интернете происходит обращение к европейским ресурсам;»
Параметр находится в conf.cfg.
it_looser
58 — 12.04.21 — 06:21
(57) Спасибо огромное!!! Стоял почему то параметр А.
SleepyHead
59 — 12.04.21 — 11:41
(7) Купите обновлятор.
Voblhned
60 — 11.08.21 — 09:34
(58) стоит A сменить на D ?
Voblhned
61 — 11.08.21 — 09:35
(59) если не удастся победить, то похоже придется
Vstur
62 — 11.08.21 — 09:56
(5) тогда это только ее проблемы, если сама….
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?xml version=»1.0″ encoding=»UTF-8″?> <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» base=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?xml version=»1.0″ encoding=»UTF-8″?> <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» base=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
|
|||
Slashman6667
24.07.21 — 19:31 |
Друзья, нужна помощь. Весь день мучаюсь, но так и не нашел решение. Задача — вызвать http-сервис. База опубликована, веб-сервисы(!!!) видны, сама база в браузере открывается… default.vrd и т.п. все настроено… Но именно http-сервис не работает. http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — путь в строке браузера. В чем может быть такая загвоздка? |
||
Смотрящий
1 — 24.07.21 — 19:42 |
Права на сервис какие и какой юзер? |
||
Slashman6667
2 — 24.07.21 — 19:48 |
(1) База файловая. Права на каталог базы полные у пользователя IUSR, также права даны полные на все места куда можно. IUSR также добавлен в группу IIS_IUSRS. Публикация из-под админа естественно делалась. |
||
Slashman6667
3 — 24.07.21 — 19:57 |
В 1С права само собой тоже полные |
||
Slashman6667
4 — 24.07.21 — 20:02 |
Просто еще раз для понимания. Вот например, http://localhost/MO/ws/exchange.1cws?wsdl — работает А то что через /hs/(http-сервисы именно) не пашет. |
||
Slashman6667
5 — 24.07.21 — 20:03 |
Ошибка HTTP 404.0 — Not found Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен. |
||
acht
6 — 24.07.21 — 20:04 |
(0) > В чем может быть такая загвоздка? В несовпадении корневого урла и шаблона сервиса со строкой запроса |
||
Slashman6667
7 — 24.07.21 — 20:36 |
(6) /{id_Reserve}/{id_ComplexReserve}/{EventType}/{ReserveState}/{ComplexState}/{EventDescription}/{CallbackId} — это шаблон HTTPCallback — корневой URL http://localhost/MO/hs/HTTPCallback/A/B/C/D/E/F/J — строка запроса Что не так? |
||
Slashman6667 8 — 24.07.21 — 20:46 |
Все, вопрос решен… Но как я не понял… Просто перписал руками строку запроса заново))) Может какие-то символы были внутри другой раскладки… Фиг знает… |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Содержание
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
- web-сервис и ws-ссылка ошибка
- Сервис не найден.
- Решение проблем интеграции с Порталом 1С:ИТС
- Содержание
- 1. Общие действия
- 2. Если у пользователя не работают услуги портала.
- Симптомы проблемы
- Решение
- 3. Расхождение данных портала и менеджера сервиса
- 4. Подписки перестали отправляться в портал
- 5. Устранение причин непринятия подписок порталом
- 5.1. Бизнес-ошибки
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- Пример ошибки
- Решение
- 5.2. Технические ошибки
- Пример ошибки
- Решение
- Симптомы проблемы
- Решение
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
Не получается опубликовать HTTP сервис расширения в IIS. Ошибка 404.
Бьюсь уже полдня((
Галка «Публиковать HTTP сервисы расширений по умолчанию стоит», в default.vrd вроде все норм, пробовал прописывать сервис вручную в default.vrd — не помогает.
Перезапускал сервер 1С, IIS раз 20. Создавал новые http-сервисы с другими именами, все так же 404.
Причем http сервисы из конфигурации как работали до манипуляций, так и работают.
Где вообще можно посмотреть при флаге publishExtensionsByDefault=»true» куда он обращается, как IIS понимает к какому http-сервису расширения конфигурации идет обращение, если сам http-сервис в default.vrd не прописан?
Платформа 8.3.18.1363 х64
Млииин. Ларчик просто открывался. фейспалм.. посыпаю голову пеплом(
С утра уже все кеши почистил, как советовали, ничего не заработало. Я в отчаянии стал такое же расширение создавать на рабочей сервере с другим IIS — вдруг взлетит.
Создал, применил, хотел опубликовать, тут наш консультант заходит в ту же базу и говорит — тут ошибка выскочила, ошибка применения расширения, я смотрю — там конфликт по названию основной роли расширения с ролью в другом расширении.
В итоге как оказалось — мое расширение тупо не работало, я нажимал применить на базу, но оно не применялось, а 1С предупреждает о том, что оно не применилось только когда зайдешь в режиме предприятия (а я туда не заходил за ненадобностью), а в режиме конфигуратора оно только молча дает ошибку в ЖР и типа все норм.
Источник
web-сервис и ws-ссылка ошибка
Здравствуйте, нужна помощь.
Имею свой написанный web-сервис, прогнал на локальных базах, все хорошо, все работает. Начал закидывать на сервис и появилась вот такая проблема:
начинал запрашивать по пути в браузере . /ws/Partner.1cws?wsdl (Partner это Имя файла публикации) он выдавал логин и пароль, после этого писал «Сервис не найден.» если после этих логинов и паролей
ввести сразу . /ws/ws2.1cws?wsdl, то все хорошо находил мой сервис и показывал, НО если закрыть браузер и открыть заного под инкогнито(чтобы не было кэша логина/пароля), то выдавал ошибку 404,»descr»:»HTTP: Not foundnОшибка при выполнении запроса GET к ресурсу
далее все таки нашел ошибку, что в публикации имя не Partner, а ws2 переименовали, переопубликовали. Теперь выходит так: при . /ws/Partner.1cws?wsdl выходит ошибка 404, при . /ws/ws2.1cws?wsdl выходит логин/пароль, при вводе логина и пароля выводит «Сервис не найден.»
при кэшировании логина и пароля пишем опять . /ws/Partner.1cws?wsdl все проходит нормально.
Почему я поднимаю вопрос. потому что когда я в базе заношу WS-ссылка, то сейчас при . /ws/Partner.1cws?wsdl выходит:
а если я ввожу . /ws/ws2.1cws?wsdl выходит:
Ошибка при выполнении файловой операции ‘http://1c.enginf.ru/office/ws/ws2.1cws?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500).
A server error occurred.
Сервис не найден.
нашел вот что, при любом имени сервиса, даже при котором его не существует 1с запрашивает логин и пароль, а вот если обратиться так как называется мой web-сервис, то выходит:
Источник
При интеграции с порталом и использовании услуг портала возможно возникновение проблем или ошибок, например:
У пользователя не работает услуга портала.
Подписки перестали отправляться в портал.
При возникновении ошибки с кодом ответа портала 500 в любой из перечисленных выше ситуаций следует обращаться на webits-info@1c.ru, прикрепив к письму описание ошибки.
Ниже описаны действия при возникновении других ошибок.
Содержание
Проверить актуальность расширения по интеграции с порталом ИТС для менеджера сервиса: команды меню Все функции — Управление расширениями конфигурации , расширение ИнтеграцияСПорталомИТС .
Если версия расширения не последняя — обновить расширение. Актуальная версия расширения доступна в составе продукта 1С:Предприятие. Облачная подсистема Фреш на сайте releases.1c.ru
Проверить основные настройки интеграции с порталом в менеджере сервиса: команды меню Интеграция — Учетные системы , учетная система Портал 1С:ИТС .
2. Если у пользователя не работают услуги портала.
При возникновении ошибок при работе с услугами портала, например не выполняется заполнение реквизитов контрагентов, необходимо выполнить следующие действия.
Нужно проверить, отправлены ли портал следующие данные:
Статус интеграции показывается в справочнике Абоненты (команда меню Обслуживание — Абоненты):
И в форме свойств абонента (пункт меню формы Интеграция ):
Статус интеграции показывается в справочнике Пользователи абонентов (команда меню Обслуживание — Пользователи абонентов):
И в форме свойств абонента (пункт меню формы Пользователи абонента ):
Статус интеграции показывается в форме списка Подписки (команда меню Управление тарифами — Подписки):
И в форме свойств подписки (пункт меню формы Интеграция ):
Если какой либо из объектов не интегрирован и вместо значка указан значок
, нужно проверить наличие ошибок в логе отправки. Лог отправки расположен в нижней части формы элемента после выбора пункта меню формы Интеграция :
Нужно проверить, заполнен ли реквизит Идентификатор у обслуживающей организации, указанной в портале.
Для этого нужно открыть карточку обслужи вающей организации в справочнике Абоненты :
В поле Идентификатор нужно указать код партнера. Например, если Код партнера 000987-77, то указываем 000987, или 987
Открыть форму свойств активной подписки клиента и проверить наличие нужной услуги на вкладке Услуги :
Если услуги нет, возможно в тарифе указан некорректный тариф поставщика Портала 1С:ИТС.
Симптомы проблемы
В списке Подписки у новых подписок не появляются значки интеграции, либо долго висят значки «часиков» .
В списке подписок не отправленные в портал подписки отображаются знаком .
Решение
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС) или переход по ссылке e1cib/list/Справочник.УчетныеСистемы.
- Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик»
.
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок»
.
Открыть карточку абонента, выбрать в ней команду меню Пользователи абонента , проверить состояние интеграции, показанное в левой колонке:
Причины неотправки абонентов в основном технические, возможны разные ситуации:
Вид данных | Проверка | |
---|---|---|
Данные абонента | ||
Данные пользователей абонентов | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
2 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
3 | Письмо или звонок в отдел разработки Портала 1С:ИТС | |
4 |
Не удалось получить тикет аутентификации в Менеджере сервиса http://fresh:8888/int/sm/hs/tickets/ Код состояния: 500. Сообщение: Область данных: 38 253 Идентификатор пользователя: cd012524-30f1-11e8-80ce-8e51d7d8547d |
Повторить отправку, если не удалось — письмо или звонок в отдел разработки Портала 1С:ИТС |
3. Расхождение данных портала и менеджера сервиса
Расхождение данных Портала 1С:ИТС и менеджера сервиса. Например: на портале на 10 подписок больше чем в менеджере сервиса.
Причина состоит в непосредственном удалении объектов. Если объект Подписка, Абонент, Пользователь абонента был создан ошибочно и сразу удалён из менеджера сервиса как объект без пометки удаления, то сообщение на портал не отправляется.
Чтобы объект также был удалён на портале, достаточно поставить пометку на удаление на соответствующий объект Подписки, Абонента или Пользователя абонента.
4. Подписки перестали отправляться в портал
Интеграция с порталом использует общую очередь сообщений. Если в менеджере сервиса «забита» очередь сообщений, то возможны 2 варианта решения:
- Дождаться освобождения очереди сообщений.
Отправить сообщения интеграции принудительно. Для этого нужно:
- Открыть элемент учетной системы 1С:Портал в списке Учетные системы (команды меню Интеграция — Учетные системы, учетная система Портал 1С:ИТС)
или переход по ссылке – e1cib/list/Справочник.УчетныеСистемы. - Выбрать команду меню формы Объекты к отправке.
- Нажать на кнопку «самолетик»
.
- Все сообщения будут отправлены.
- Т.к. в портале процесс принятия сообщений разделен на 2 фазы: принятие к обработке и обработка, и между фазами возможен лаг 1-5 минут, процедуру отправки нужно будет при необходимости повторить через 5 минут.
- Если процедуру повторять 3 раза подряд, то сообщения заблокируются, но их можно разблокировать, нажатием на кнопку «замок»
.
5. Устранение причин непринятия подписок порталом
Для выяснения причин, почему подписка не была отправлена, нужно:
- Вывести карточку свойств подписки и выбрать команду меню Интеграция.
- Посмотреть описание состояния интеграции и лог отправки.
Открыть описание объекта к отправке, показанное в списке Данные к отправке:

По этим сведениям можно понять причину, после чего нужно эту причину устранить. Возможные причины делятся на 2 типа:
- Бизнес-ошибка в подписке
- Техническая ошибка на Портале 1С:ИТС
5.1. Бизнес-ошибки
Бизнес-ошибки нужно устранять силами партнера, указав ее причины.
На каждый запрос идет проверка по логину и паролю от конкретного экземпляра сервиса Фреш.
Также выполняются проверки заполнения полей. Описание проверок приведены в п.6 документа Rest API Портала 1С:ИТС Fresh-Integration
Ниже приведены примеры бизнес-ошибок.
Пример ошибки
Решение
У обслуживающей организации указан код партнера отличный от числа. Нужно чтобы у обслуживающей организации код партнера был числом.
Код партнера указывается в поле Идентификатор без последних цифр после «-«. Например, если Код партнера 000987-123, то указываем 000987, или 987 :
Пример ошибки
Решение
Тариф, на который оформляется подписка, не может быть оформлен на указанный срок. Возможные сроки оформления подписок на тариф обычно указываются на вкладке Описание формы свойств тарифа поставщика услуг.
Тарифы поставщиков услуг доступны с помощью команды меню Управление тарифами — Тарифы поставщиков услуг или по ссылке e1cib/list/Справочник.ТарифыПоставщиковУслуг.
Пример ошибки
Решение
Подписка была ранее получена порталом и изменена пользователем в срок, когда ее уже нельзя менять.
Партнер или оператор сервиса должен создать новую подписку. Эту подписку нужно вернуть в исходное состояние или пометить на удаление, если она не актуальна.
5.2. Технические ошибки
Технические ошибки нужно устранять самостоятельно, либо, если ошибка не устраняется, нужно связаться с отделом разработки портала 1С:ИТС.
Пример ошибки
Решение
В момент отправки сообщения в портал на портале 1С:ИТС производились технические работы и сообщение не смогло доставиться после 3-х попыток отправки.
Нужно в карточке свойств объекта (например, подписки) выбрать команду меню Интеграция и открыть сообщение, показанное в списке Данные к отправке:
В выведенной форме Объект к отправке нужно разблокировать сообщение, нажав на кнопку замка и затем на кнопку отправки сообщения
:
Если в сообщении отображается пиктограмка «часы» , это значит, что сообщение принято порталом и обрабатывается. Нужно подождать 2-5 минут, обычно после этого услуга уже будет доступна пользователю.
Такая проблема может быть массовой. В этом случае нужно проделать те же действия, но с большим числом сообщений. Для этого нужно открыть форму учетной системы Портал 1С:ИТС ( Интеграция — Учетные системы , учетная система Портал 1С:ИТС ) и выбрать в ней команду меню Объекты к отправке :
Здесь будут доступны те же кнопки и
. Их можно использовать следующим образом:
- Если в списке выделен один элемент, то операция будет выполнена для всех элементов списка.
- Если в списке выделено несколько элементов, то операция будет выполнена только для выделенных элементов.
Также в этом списке можно открывать отдельные объекты к отправке и выполнять их отправку из формы свойств объекта.
Симптомы проблемы
Сообщения отправляются в течение часа или более:
Решение
Ошибка проявляется на тестовых и боевых серверах.
- В инфраструктуре сервиса Портала 1С:ИТС идут какие-то нагрузочные тесты.
Возможно, отправляемое сообщение содержит некорректный код партнера.
Код партнера должен быть из существующих кодов партнера.
Нужно установить обслуживающей организации существующий код партнера, например 987 или 456.
Источник
Автор Lilian, 14 сен 2015, 16:36
0 Пользователей и 1 гость просматривают эту тему.
Добрый день! При открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400». Если открывать, например, списание с расч. счета или ведомость на выплату з/п, таких проблем не возникает.
При создании копии базы в процессе ее формирования выдает такое же сообщение и после продолжает копирование, как обычно.
При формировании нового документа, например, поступления товаров и услуг, при выборе контрагента выдается аналогичное сообщение.
Делалось тестирование и исправление, ситуация не изменилась.
При загрузке более старых копий базы при открытии упомянутых ранее документов выдается такое же сообщение, например, выбираю базу полугодичной давности.
Что можно сделать и как исправить данную ошибку?
Заранее спасибо!
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Цитата: Raven от 14 сен 2015, 17:15
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Спасибо Вам за ответ. Только возникает вопрос: у меня эта функция включена с того момента, как она появилась в 1С, и на данный момент она мне необходима, т.к. работаем с большим количеством контрагентов. Возможны какие-то варианты решения проблемы при включенной проверке контрагента?
Самое интересное, что еще 11.09.2015г. все работало отлично.
Такая проблема может возникнуть в один прекрасный момент при отсутствии обновления платформы и релизов или одно от другого не зависит?
Добрый день, номер платформы и релиза тут не при чем, ошибка возникает при обращении к веб-серверу ФНС. Может сервер у них упал, кто его знает.
Скорее всего они в ближайшее время устранят, так что можно чуть чуть потерпеть.
Всем доброго времени суток!
Абсолютно аналогичная проблема на нашей фирме началась с понедельника (14.09.2015). Немного стало легче на душе когда почитал, что возможно случилась беда с веб-сервером ФНС. Да и скорее всего так и есть, мы тут у себя ничего не меняли. Подождем некоторое время, надеюсь все уладится.
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Такая проблема возникла у всех моих клиентов после обновления платформы на 8.3.6.2299. При этом конфигурации разные, обновленные:
1С:Подрядчик строительства 4.0. Управление финансами, редакция 3.0 (3.0.41.4), Бухгалтерия предприятия…
Цитата: vsl89 от 16 сен 2015, 09:27
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Он может быть в другом месте Администрирование — Поддержка и обслуживание — Работа с контрагентами.
Теги:
- Форум 1С
- ►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 - ►
Конфигурирование, программирование в 1С Предприятие 8 - ►
1C 8.3 — ошибка HTTP 404
Похожие темы (5)
Поиск
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Яна Блынская
Дата регистрации: 17.09.2015
Сообщений: 7
Добрый день! У нас программа 1С:Предприятие 8.3 (8.3.6.2041) Конфигурация Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.40.30). Последние две недели при формировании любого нового документа в программе (счет, реализация, счет-фактура и т.д.) и заполнении каждого реквизита в документе, появляется окно с надписью «Ошибка HTTP: HTTP Status (404)» (скрин прилагаю).
С недавнего времени при запуске программы, она запрашивает установку обновленной версии, но мы пока ее не устанавливали. Не знаю, влияет ли это как-то или нет. Подскажите, что это значит и как избавиться от этой ошибки? Заранее спасибо!
nemo888
Дата регистрации: 24.08.2010
Сообщений: 115
К сожалению аналогичная ошибка возникает и в других конфигурациях например в БГУ ред.20 (релиз 2.0.33.35 ) файловый вариант
Причем ошибка появилась действительно недавно.
Связана она с проверкой контрагентов на сайте ФНС. Если в программе у вас включена такая функция(Администрирование-Настройка проверки контрагентов), то очевидно 1с не может достучаться до нужной страницы.Скорее всего изменился адрес сайта.
Как вариант -отключить эту функцию в своей программе и ждать пока в 1с устранят эту ошибку.Возможно в самых последних релизах это уже сделали
Яна Блынская
Дата регистрации: 17.09.2015
Сообщений: 7
nemo888,большое спасибо за оперативный ответ!)
Показывать по
10
20
40
сообщений
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.
Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).
В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без графической оболочки, то публикация через привычное окно конфигуратора становится невозможной.
Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.
О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.
Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.
Итак, что делать, если не получается опубликовать веб-сервис 1С?
Список возможных ошибок:
1. Job for httpd.service failed because the control process exited with error code.
2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»
5. Ошибка HTTP 404 Not found
6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Job for httpd.service failed because the control process exited with error code.
Полный текст ошибки:
Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details. |
Описание ошибки:
После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.
Данное сообщение говорит о том, что процесс был завершен с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.
Решение:
Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.
В результате выполнения команды будет выдано более подробное сообщение об ошибке.
Разбор, которых приведен в статье далее.
Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»
Полный текст ошибки:
сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf: сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration |
Описание ошибки:
Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.
Решение:
Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.
vim /etc/httpd/e1c/base.conf |
Пример ошибочной строки. Команды forceHandler — на самом деле не существует :
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted forceHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Исправим файл. Укажем корректное наименвоание команды — SetHandler:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
Ошибка «Invalid command ‘ManagedApplicationDescriptor’»
Полный текст ошибки:
Начат процесс запуска юнита httpd.service. сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf: сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server. — Subject: Ошибка юнита httpd.service |
Описание ошибки:
Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».
В этом можно убедиться выполнив команду.
cat /etc/httpd/conf/httpd.conf | grep wsap |
Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует — модуль не прописан.
Решение:
Отредактировать конфигурационный файл httpd.conf
vim /etc/httpd/conf/httpd.conf |
Добавить строку:
LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so» |
Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»
Полный текст ошибки:
cat /var/log/httpd/error_log |
Описание проблемы:
При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») — сеанс не запускается.
Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).
Решение:
1. Убедиться, что selinux, действительно, работает.
Если видим Enforcing, значит переходим к следующему пункту.
2. Отключить selinux:
3. Проверить, что настройка выполнена.
Permissive – включен, но ничего не запрещает.
Enforcing – включен, работает, и запрещает.
Ошибка HTTP 404 Not found
<strong>Пример полного текста ошибки:</strong> 404 Error in Request. HTTP Status: 404 — Not found |
<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» /> HTTP 404 Not found The webpage cannot be found |
Описание:
После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.
Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.
Решение:
Ошибка часто связана с неправильным вводом имени базы/папки публикации.
Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.
Проверить имена публикации базы(выделено):
1. Конфигурационный файл *.conf:
vim /etc/httpd/e1c/base.conf |
следующего содержания:
Alias «/base» «/var/www/e1c/base/» <Directory «/var/www/e1c/base/»> AllowOverride All Options None Require all granted SetHandler 1c-application ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd» </Directory> |
2. Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?xml version=»1.0″ encoding=»UTF-8″?> <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» base=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису.
Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws
Ошибка Service not found при обращении к веб-сервису 1С:Предприятия
Пример полного текста ошибки:
Описание:
При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.
Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.
Решение:
Проверить имена веб-сервисов и ссылок на них.
-
- Конфигурационный файл публикации базы *.vrd
vim /var/www/e1c/base/default.vrd |
следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?xml version=»1.0″ encoding=»UTF-8″?> <point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» base=»/base» ib=»Srvr=1s-on-1c-1; Ref=base»> <ws> <point name=»ws_1s_on_1″ alias=»ws_1s_on_1.1cws» enable=»true»/> <point name=»ws_1s_on_2″ alias=»ws_1s_on_2.1cws» enable=»true»/> </ws> </point> |
point name – имя сервиса в конфигураторе;
alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.
В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.
В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.
0. Оглавление
- Что понадобится
- Установка веб-сервера IIS
- Установка компонент «1С:Предприятие»
- Настройка операционной системы
- Публикация базы данных на веб-сервере
- Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
- Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
- Подключение к опубликованной информационной базе через веб-браузер
- Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
- Конфигурационные файлы виртуального каталога
- Файл default.vrd
- Файл web.config
1. Что понадобится
- Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
- Microsoft Windows Server 2012 (R2)
- Microsoft Windows Server 2008 (R2)
- Права локального администратора на данном компьютере.
- Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.
2. Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
- Общие функции HTTP (Common HTTP Features)
- Статическое содержимое (Static Content)
- Документ по умолчанию (Default Document)
- Обзор каталогов (Directory Browsing)
- Ошибки HTTP (HTTP Errors)
- Разработка приложений (Application Development)
- ASP
- ASP.NET 3.5
- Расширяемость .NET 3.5 (.NET Extensibility 3.5)
- Расширения ISAPI (ISAPI Extensions)
- Фильтры ISAPI (ISAPI Filters)
- Исправление и диагностика (Health and Diagnostics)
- Ведение журнала HTTP (HTTP Logging)
- Монитор запросов (Request Monitor)
- Средства управления (Management Tools)
- Консоль управления IIS (IIS Management Console)
Подробно про процесс развертывания веб-сервера IIS я писал:
- В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:
- В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:
3. Установка компонент «1С:Предприятие»
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:
- 1С:Предприятие
- Модули расширения веб-сервера
Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:
- Модуль расширения веб-сервера
4. Настройка операционной системы
Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).
В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».
Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).
Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».
Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем «Применить» (Apply) для сохранения изменений.
Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.
5. Публикация базы данных на веб-сервере
Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»
Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:
- Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
- Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
- Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
- Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
- Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.
Выбрав необходимые настройки публикации нажимаем «Опубликовать».
Если публикация прошла без ошибок, увидим соответствующее сообщение.
Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже
6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).
В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).
В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».
7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).
Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.
В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.
Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.
8. Подключение к опубликованной информационной базе через веб-браузер
Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.
К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80, по внешнему) IP-адресу.
В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.
9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.
В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».
Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».
Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».
Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.
После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.
10. Конфигурационные файлы виртуального каталога
Рассмотрим подробнее структуру файлов, которые были созданы в процессе публикации. Если веб-доступ к опубликованной информационной базе по каким-то причинам не заработал, конфигурационные файлы можно отредактировать вручную, для достижения желаемого результата (конфигурационные файлы из данной статьи для 64-разрядного модуля расширения веб-сервера можно скачать здесь).
Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:
- default.vrd
- web.config
Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.
10.1. Файл default.vrd
В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:
ib="File="C:1C_BASEDemoAccounting";"
Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.
В строке подключения можно указать логин и пароль пользователя. В этом случае, подключение к информационной базе будет выполняться от имени указанного пользователя. Например, для подключения от имени пользователя Продавец, строка подключения будет следующей:
ib="File="C:1C_BASEDemoAccounting";Usr=Продавец;Pwd=123;"
Для серверной информационной базы строка подключения будет иметь вид:
ib="Srvr="WIN2012"e;;Ref="e;Accounting"e;;"
Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.
Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.
10.2. Файл web.config
Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».
Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).
В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).
При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.
Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).
Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.
Я уже писал статью с использованием HTTP-сервисов (Мобильный клиент + HTTP Сервис + Расширение конфигурации), но там было все сумбурно без объяснений, почему именно так. В данном цикле статей расскажу и покажу в примерах накопленный опыт в данном вопросе, и мы сделаем простой легко разворачиваемый каркас HTTP-сервиса.
Примеры будут сделаны в расширении конфигурации, на платформе 8.3.10.2650. Для опытов установил ERP 2.4.3.145(Но вообще непринципиально, ставим любую свежую конфигурацию под 8.3.10). Так как параллельно в свободное время веду разработку универсального решения под названием Pretty API или «PAPI», расширение будет содержать данную аббревиатуру.
Начнем.
Почему http-сервис?
А) HTTP сервисы на платформе 1С 8.3.5.1068 появились летом 2014 года, то есть 4 года назад, а Web-сервисы и того больше. Это кощунство не использовать их до сих пор.
Б) На Хабре в официальном блоге Фирмы 1С есть статья Способы интеграции с 1С от 25 августа 2023, почитайте ее, особенно в части устаревших технологий.
В) Геморрои с разными версиями и «comcntr.dll» забываем как страшный сон! Опубликовали и пользуемся, плюсом мы получаем Вэб клиент, мобильный клиент, легкое использование нашего сервиса другими программистами (собственно API) и другие пряники.
Г) Скорость! Использую Com последние 3 года только для того чтобы показать сравнение со стандартным интерфейсом oData или http-сервисом. Когда люди видят вживую, они даже иной раз не верят, что обмен прошел!
Это все равно, что ездить каждый год на поезде по 3 суток в сторону Сочи и вдруг слетать на самолете за 2,5 часа.
!!! Использование технологии COM (доступно только на платформе Windows) !!!
Д) С версии 8.3.7.1759 могут быть встроены через расширение, а с версии 8.3.9 плюсом к ним можно встроить модули для более простой работы с ними.
E) Простота и гибкость разработки.
Ж) Стагнация — это плохо! В работе можешь не использовать, но быть всегда готов. Нельзя стоять на месте, если пошел в IT сферу.
Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.
Самый главный минус. Нужно установить и настроить веб сервер (IIS, Apache, 1С: Публикатор или 1С: Линк – Apache с интерфейсом для простого пользователя). Тут вот в чем проблема: Чаще всего администраторы почему-то не в состоянии это сделать, и приходится настраивать самому, либо они тупо устанавливают по дефолту и там начинаются пляски с бубном. Благо сейчас статей по настройки пруд пруди, ниже приведу парочку загугленных:
Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5, в данной инструкции особенно выделю пункт 8.
Настройка веб сервера Apache + 1С (Пошаговое руководство)
Лично я использую IIS, но на вкус и цвет как говорится.
Ближе к делу.
Создадим демо конфигурацию для опытов и добавим в него расширение. Можно создавать все объекты и не в расширении, я просто показываю вариант без изменения конфигурации. (В расширении добавление HTTP-сервисов появилось с версии 8.3.7.1759.)
Давайте перед созданием нашего HTTP-сервиса разберемся из чего складывается URL (подробнее описано на ИТС в главе 17.2.2. HTTP-сервисы):
http://host/base/hs/корневойURL/относительныйURL?ПараметрыЗапроса
host – IP адрес или доменное имя веб сервера.
base – Имя базы. Указывается при публикации.
hs — признак того, что выполняется обращение к HTTP-сервису.
корневойURL — имя ресурса, которое определяет группу ресурсов, связанных общим смыслом.
относительныйURL — определяет ресурс, к которому будет выполняться обращение. Относительный URL, указанный в запросе, будет использован для определения конкретного ресурса, к которому выполнялось обращение. Правило сопоставления задается в объекте Шаблон URL.
ПраметрыЗапроса – Не всегда обязательные параметры передаются после знака «?», чаще всего дополнительные параметры или параметры выборки, например формат ответа(format=json или format=atom).
Теперь по порядку:
Создаем сервис и задаем ему корневойURL:
Создаем Шаблон URL:
При создании шаблона можно использовать следующие символы:
Любые символы, допустимые в идентификаторах языка «1С:Предприятие».
Символ «/»;
Символы «{}» с непустым текстом между ними;
Символ *.
Наш шаблон выглядит следующим образом: /V1/{ИмяМетода}
Где {ИмяМетода} является параметром. Параметр может состоять из букв, цифр и символа подчеркивания «_».
Почему такой шаблон?
Когда смотришь различные примеры, коих очень много в шаблоны запихивают параметры. Создают по несколько методов с разными параметрами. А зачем так делать?
Вот пример с ИТС (17.2.2.3.2. Работа с документами):
Видно, что создано два Шаблона с методом Get, но по большому счету отличаются они только тем, что один ищет по номеру документ, а второй выводит все.
Все это можно реализовать одним методом, список или документ подавать в параметр ИмяМетода, а дополнительными параметрами передавать номер. А давайте сделаем!
Добавляем метод GET.
Берем код из примера ИТС.
17.2.2.3.2. Работа с документами (Тестовый пример)
Функция СписокGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
Ответ.УстановитьТелоИзСтроки(Результат);
Возврат Ответ;
КонецФункции
Функция ДокументGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Номер = Число(Запрос.ПараметрыURL.Получить("number"));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Ответ.УстановитьТелоИзСтроки("Отсутствует документ с номером: " + Номер);
Иначе
Если Номер=1 Тогда
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 1, 01.01.2014");
Иначе
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 2, 01.01.2014");
КонецЕсли;
КонецЕсли;
Возврат Ответ;
КонецФункции
Видоизменяем его и добавляем код обработки метода:
Функция PrettyAPIGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
ИмяМетода = Запрос.ПараметрыURL.Получить("ИмяМетода");
Если ИмяМетода = "Список" Тогда
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
ИначеЕсли ИмяМетода = "Документ" Тогда
//ПраметрыЗапроса - number
ПарНомер = Запрос.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Результат = "Отсутствует документ с номером: " + Номер;
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
КонецЕсли;
Иначе
Ответ.КодСостояния = 405;
Результат = "Отсутствует Метод " + ИмяМетода;
КонецЕсли;
Ответ.УстановитьТелоИзСтроки(Результат,КодировкаТекста.UTF8);
//Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Выполняем публикацию нашего сервиса:
Проверяем результат:
1 Получим список. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Список
Результат:
Получаем какие-то «кракозябры»! Первый раз я нарвался на этот момент с кодировкой около 4-х лет назад, ну и так как на ИТС пример как раз приводит к этому, решил показать и рассказать, как исправить.
Вы обратили внимание, что в коде функции PrettyAPIGET я оставил в самом конце закомментированную строку
//Ответ.Заголовки.Вставить(«Content—Type«,»text/html; charset=utf-8″);
Разкомментируем ее и проверим, как теперь отработает наш сервис.
2 Получим документ с номером 1. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Документ?number=1
Результат:
Важно: Хотелось бы обратить внимание на коды состояния из примера выше. Мне раза три в моей практике попадались API, которые всегда возвращали ответ с кодом 200 (200 OK («хорошо»)) и только в теле ответа, можно было понять, была ли ошибка. Это грубейшая ошибка разработчиков! Ну или это неуважение к конечному потребителю…
Передавая ответ, не забывайте про коды состояния (Список кодов состояния)!
Вот тут хороший пример по работе с ответом в зависимости от кода состояния, обратите внимание на ошибку с кодами 3XX.
Как Вы видите, мы обошлись одним Шаблоном для той же задачи. По сути можно сделать некий универсальный каркас для HTTP-метода и решать любую задачу Интеграции.
Давайте разобьем все возможные сервисы на блоки, чтобы понять, как сделать некое универсальное решение.
Сервис выполняет следующие действия:
- Получение входящих параметров и проверка их корректности
- Выполнение основных действий
- Формирование ответа
Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!
Я предпочитаю для HTTP-методов создавать отдельные модули и «Выполнение основных действий» осуществлять в созданном модуле. Создание отдельного модуля позволяет отлаживать HTTP-сервис через внешнюю обработку, это бывает необходимо при получении ошибки, которая говорит, что в коде есть ошибка, но отладка по HTTP не останавливается на точке остановы. Давайте «причешем» пример выше.
Создадим модуль и переделаем «получение параметров» и «формирование ответа».
Функция PrettyAPIGET(Запрос)
СтруктураВхПараметров = Новый Структура;
//Получаем имя метода
перИмяМетода = Запрос.ПараметрыURL["ИмяМетода"];
//Помещаем имя метода в структуру
СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
//Забираем параметры из запроса
ВхПараметрыЗапроса = Новый Соответствие;
Для каждого Параметр Из Запрос.ПараметрыЗапроса Цикл
ВхПараметрыЗапроса.Вставить(Параметр.Ключ,Параметр.Значение);
КонецЦикла;
СтруктураВхПараметров.Вставить("ПараметрыЗапроса",ВхПараметрыЗапроса);
//Передаем входящие параметры (Модуль для метода GET)
СтруктураОтвет = PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET(СтруктураВхПараметров);
//Создаем ответ с кодом состояния
Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
Если СтруктураОтвет.Отработало Тогда
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
Иначе
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
КонецЕсли;
Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Модуль PAPI_ОбработкаМетодовGET
//Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
//Так и через внешнюю обработку
Функция PAPI_ОбработкаМетодовGET(СтруктураВхПараметров) Экспорт
//структура ответа. Собственна нужна для формирования ответа
СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
//Переправляем на нужный метод
Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Список") Тогда
ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Документ") Тогда
ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров);
Иначе
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,405,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),ложь,"");
КонецЕсли;
Возврат СтруктураОтвет;
КонецФункции
//Заполняем структуру ответа
Процедура ЗаполнитьСтруктуруОтвета(СтруктураОтвет,КодОтвета,ТекстОшибки,Отработало,ДанныеОтвета)
СтруктураОтвет.КодОтвета = КодОтвета;
СтруктураОтвет.ТекстОшибки = ТекстОшибки;
СтруктураОтвет.Отработало = Отработало;
СтруктураОтвет.ДанныеОтвета = ДанныеОтвета;
КонецПроцедуры
//МЕТОДЫ
Процедура ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров)
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
СтруктураОтвет.ДанныеОтвета = Результат;
КонецПроцедуры
Процедура ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров)
//ПраметрыЗапроса - number
ПарНомер = СтруктураВхПараметров.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,404,"Отсутствует документ с номером: " + Номер,ложь,"");
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
СтруктураОтвет.ДанныеОтвета = Результат;
КонецЕсли;
КонецПроцедуры
Как вы видите, размер кода увеличился, но стало гораздо проще добавлять новые методы.
Нужно просто добавить в проверку (PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET) новое имя метода и процедуру для этого метода.
По отладке HTTP-сервисов рекомендую статью с ИТС (https://its.1c.ru/db/metod8dev#content:5756:hdoc)
Первую часть заканчиваю. Мы рассмотрели с Вами как создать каркас для Get метода. В следующих частях поговорим про другие методы, про oData и JSON. Как и в этой статье будут примеры, но более интересные.
Статьи из данного цикла:
HTTP Сервисы: Путь к своему сервису. Часть 2
HTTP Сервисы: Путь к своему сервису. Часть 3
HTTP Сервисы: Путь к своему сервису. Часть 4
Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.
Я уже писал статью с использованием HTTP-сервисов (Мобильный клиент + HTTP Сервис + Расширение конфигурации), но там было все сумбурно без объяснений, почему именно так. В данном цикле статей расскажу и покажу в примерах накопленный опыт в данном вопросе, и мы сделаем простой легко разворачиваемый каркас HTTP-сервиса.
Примеры будут сделаны в расширении конфигурации, на платформе 8.3.10.2650. Для опытов установил ERP 2.4.3.145(Но вообще непринципиально, ставим любую свежую конфигурацию под 8.3.10). Так как параллельно в свободное время веду разработку универсального решения под названием Pretty API или «PAPI», расширение будет содержать данную аббревиатуру.
Начнем.
Почему http-сервис?
А) HTTP сервисы на платформе 1С 8.3.5.1068 появились летом 2014 года, то есть 4 года назад, а Web-сервисы и того больше. Это кощунство не использовать их до сих пор.
Б) На Хабре в официальном блоге Фирмы 1С есть статья Способы интеграции с 1С от 25 августа 2023, почитайте ее, особенно в части устаревших технологий.
В) Геморрои с разными версиями и «comcntr.dll» забываем как страшный сон! Опубликовали и пользуемся, плюсом мы получаем Вэб клиент, мобильный клиент, легкое использование нашего сервиса другими программистами (собственно API) и другие пряники.
Г) Скорость! Использую Com последние 3 года только для того чтобы показать сравнение со стандартным интерфейсом oData или http-сервисом. Когда люди видят вживую, они даже иной раз не верят, что обмен прошел!
Это все равно, что ездить каждый год на поезде по 3 суток в сторону Сочи и вдруг слетать на самолете за 2,5 часа.
!!! Использование технологии COM (доступно только на платформе Windows) !!!
Д) С версии 8.3.7.1759 могут быть встроены через расширение, а с версии 8.3.9 плюсом к ним можно встроить модули для более простой работы с ними.
E) Простота и гибкость разработки.
Ж) Стагнация — это плохо! В работе можешь не использовать, но быть всегда готов. Нельзя стоять на месте, если пошел в IT сферу.
Еще много чего можно перечислить. Минусы, тоже есть, но плюсов в разы больше.
Самый главный минус. Нужно установить и настроить веб сервер (IIS, Apache, 1С: Публикатор или 1С: Линк – Apache с интерфейсом для простого пользователя). Тут вот в чем проблема: Чаще всего администраторы почему-то не в состоянии это сделать, и приходится настраивать самому, либо они тупо устанавливают по дефолту и там начинаются пляски с бубном. Благо сейчас статей по настройки пруд пруди, ниже приведу парочку загугленных:
Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5, в данной инструкции особенно выделю пункт 8.
Настройка веб сервера Apache + 1С (Пошаговое руководство)
Лично я использую IIS, но на вкус и цвет как говорится.
Ближе к делу.
Создадим демо конфигурацию для опытов и добавим в него расширение. Можно создавать все объекты и не в расширении, я просто показываю вариант без изменения конфигурации. (В расширении добавление HTTP-сервисов появилось с версии 8.3.7.1759.)
Давайте перед созданием нашего HTTP-сервиса разберемся из чего складывается URL (подробнее описано на ИТС в главе 17.2.2. HTTP-сервисы):
http://host/base/hs/корневойURL/относительныйURL?ПараметрыЗапроса
host – IP адрес или доменное имя веб сервера.
base – Имя базы. Указывается при публикации.
hs — признак того, что выполняется обращение к HTTP-сервису.
корневойURL — имя ресурса, которое определяет группу ресурсов, связанных общим смыслом.
относительныйURL — определяет ресурс, к которому будет выполняться обращение. Относительный URL, указанный в запросе, будет использован для определения конкретного ресурса, к которому выполнялось обращение. Правило сопоставления задается в объекте Шаблон URL.
ПраметрыЗапроса – Не всегда обязательные параметры передаются после знака «?», чаще всего дополнительные параметры или параметры выборки, например формат ответа(format=json или format=atom).
Теперь по порядку:
Создаем сервис и задаем ему корневойURL:
Создаем Шаблон URL:
При создании шаблона можно использовать следующие символы:
Любые символы, допустимые в идентификаторах языка «1С:Предприятие».
Символ «/»;
Символы «{}» с непустым текстом между ними;
Символ *.
Наш шаблон выглядит следующим образом: /V1/{ИмяМетода}
Где {ИмяМетода} является параметром. Параметр может состоять из букв, цифр и символа подчеркивания «_».
Почему такой шаблон?
Когда смотришь различные примеры, коих очень много в шаблоны запихивают параметры. Создают по несколько методов с разными параметрами. А зачем так делать?
Вот пример с ИТС (17.2.2.3.2. Работа с документами):
Видно, что создано два Шаблона с методом Get, но по большому счету отличаются они только тем, что один ищет по номеру документ, а второй выводит все.
Все это можно реализовать одним методом, список или документ подавать в параметр ИмяМетода, а дополнительными параметрами передавать номер. А давайте сделаем!
Добавляем метод GET.
Берем код из примера ИТС.
17.2.2.3.2. Работа с документами (Тестовый пример)
Функция СписокGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
Ответ.УстановитьТелоИзСтроки(Результат);
Возврат Ответ;
КонецФункции
Функция ДокументGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
Номер = Число(Запрос.ПараметрыURL.Получить("number"));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Ответ.УстановитьТелоИзСтроки("Отсутствует документ с номером: " + Номер);
Иначе
Если Номер=1 Тогда
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 1, 01.01.2014");
Иначе
Ответ.УстановитьТелоИзСтроки("Расходная накладная, 2, 01.01.2014");
КонецЕсли;
КонецЕсли;
Возврат Ответ;
КонецФункции
Видоизменяем его и добавляем код обработки метода:
Функция PrettyAPIGET(Запрос)
Ответ = Новый HTTPСервисОтвет(200);
ИмяМетода = Запрос.ПараметрыURL.Получить("ИмяМетода");
Если ИмяМетода = "Список" Тогда
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
ИначеЕсли ИмяМетода = "Документ" Тогда
//ПраметрыЗапроса - number
ПарНомер = Запрос.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
Ответ.КодСостояния = 404;
Результат = "Отсутствует документ с номером: " + Номер;
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
КонецЕсли;
Иначе
Ответ.КодСостояния = 405;
Результат = "Отсутствует Метод " + ИмяМетода;
КонецЕсли;
Ответ.УстановитьТелоИзСтроки(Результат,КодировкаТекста.UTF8);
//Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Выполняем публикацию нашего сервиса:
Проверяем результат:
1 Получим список. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Список
Результат:
Получаем какие-то «кракозябры»! Первый раз я нарвался на этот момент с кодировкой около 4-х лет назад, ну и так как на ИТС пример как раз приводит к этому, решил показать и рассказать, как исправить.
Вы обратили внимание, что в коде функции PrettyAPIGET я оставил в самом конце закомментированную строку
//Ответ.Заголовки.Вставить(«Content—Type«,»text/html; charset=utf-8″);
Разкомментируем ее и проверим, как теперь отработает наш сервис.
2 Получим документ с номером 1. Запрос: http://127.0.0.1/DemoEnterprise2_4_3_145/hs/PrettyAPI/V1/Документ?number=1
Результат:
Важно: Хотелось бы обратить внимание на коды состояния из примера выше. Мне раза три в моей практике попадались API, которые всегда возвращали ответ с кодом 200 (200 OK («хорошо»)) и только в теле ответа, можно было понять, была ли ошибка. Это грубейшая ошибка разработчиков! Ну или это неуважение к конечному потребителю…
Передавая ответ, не забывайте про коды состояния (Список кодов состояния)!
Вот тут хороший пример по работе с ответом в зависимости от кода состояния, обратите внимание на ошибку с кодами 3XX.
Как Вы видите, мы обошлись одним Шаблоном для той же задачи. По сути можно сделать некий универсальный каркас для HTTP-метода и решать любую задачу Интеграции.
Давайте разобьем все возможные сервисы на блоки, чтобы понять, как сделать некое универсальное решение.
Сервис выполняет следующие действия:
- Получение входящих параметров и проверка их корректности
- Выполнение основных действий
- Формирование ответа
Если посмотреть пример выше, то понимаем, что все идет в вперемешку, не структурированно. Отлаживать такой сервис не очень приятно!
Я предпочитаю для HTTP-методов создавать отдельные модули и «Выполнение основных действий» осуществлять в созданном модуле. Создание отдельного модуля позволяет отлаживать HTTP-сервис через внешнюю обработку, это бывает необходимо при получении ошибки, которая говорит, что в коде есть ошибка, но отладка по HTTP не останавливается на точке остановы. Давайте «причешем» пример выше.
Создадим модуль и переделаем «получение параметров» и «формирование ответа».
Функция PrettyAPIGET(Запрос)
СтруктураВхПараметров = Новый Структура;
//Получаем имя метода
перИмяМетода = Запрос.ПараметрыURL["ИмяМетода"];
//Помещаем имя метода в структуру
СтруктураВхПараметров.Вставить("ИмяМетода",перИмяМетода);
//Забираем параметры из запроса
ВхПараметрыЗапроса = Новый Соответствие;
Для каждого Параметр Из Запрос.ПараметрыЗапроса Цикл
ВхПараметрыЗапроса.Вставить(Параметр.Ключ,Параметр.Значение);
КонецЦикла;
СтруктураВхПараметров.Вставить("ПараметрыЗапроса",ВхПараметрыЗапроса);
//Передаем входящие параметры (Модуль для метода GET)
СтруктураОтвет = PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET(СтруктураВхПараметров);
//Создаем ответ с кодом состояния
Ответ = Новый HTTPСервисОтвет(СтруктураОтвет.КодОтвета);
Если СтруктураОтвет.Отработало Тогда
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ДанныеОтвета,КодировкаТекста.UTF8);
Иначе
Ответ.УстановитьТелоИзСтроки(СтруктураОтвет.ТекстОшибки,КодировкаТекста.UTF8);
КонецЕсли;
Ответ.Заголовки.Вставить("Content-Type","text/html; charset=utf-8");
Возврат Ответ;
КонецФункции
Модуль PAPI_ОбработкаМетодовGET
//Функция экспортная, специально чтобы можно было отлаживать как по HTTP(https://its.1c.ru/db/metod8dev#content:5756:hdoc)
//Так и через внешнюю обработку
Функция PAPI_ОбработкаМетодовGET(СтруктураВхПараметров) Экспорт
//структура ответа. Собственна нужна для формирования ответа
СтруктураОтвет = Новый Структура("ДанныеОтвета,Отработало,ТекстОшибки,КодОтвета","",Истина,"",200);
//Переправляем на нужный метод
Если ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Список") Тогда
ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров);
ИначеЕсли ВРег(СтруктураВхПараметров.ИмяМетода) = ВРег("Документ") Тогда
ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров);
Иначе
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,405,"Отсутствует Метод " + ?(СтруктураВхПараметров.ИмяМетода=Неопределено,"",СтруктураВхПараметров.ИмяМетода),ложь,"");
КонецЕсли;
Возврат СтруктураОтвет;
КонецФункции
//Заполняем структуру ответа
Процедура ЗаполнитьСтруктуруОтвета(СтруктураОтвет,КодОтвета,ТекстОшибки,Отработало,ДанныеОтвета)
СтруктураОтвет.КодОтвета = КодОтвета;
СтруктураОтвет.ТекстОшибки = ТекстОшибки;
СтруктураОтвет.Отработало = Отработало;
СтруктураОтвет.ДанныеОтвета = ДанныеОтвета;
КонецПроцедуры
//МЕТОДЫ
Процедура ПолучитьСписок(СтруктураОтвет,СтруктураВхПараметров)
Результат = "Расходная накладная, 1, 01.01.2014
|Расходная накладная, 2, 01.01.2014";
СтруктураОтвет.ДанныеОтвета = Результат;
КонецПроцедуры
Процедура ПолучитьДокумент(СтруктураОтвет,СтруктураВхПараметров)
//ПраметрыЗапроса - number
ПарНомер = СтруктураВхПараметров.ПараметрыЗапроса.Получить("number");
Номер = Число(?(ПарНомер=Неопределено,0,ПарНомер));
Если Номер > 2 Тогда
ЗаполнитьСтруктуруОтвета(СтруктураОтвет,404,"Отсутствует документ с номером: " + Номер,ложь,"");
Иначе
Если Номер = 1 Тогда
Результат = "Расходная накладная, 1, 01.01.2014";
Иначе
Результат = "Расходная накладная, 2, 01.01.2014";
КонецЕсли;
СтруктураОтвет.ДанныеОтвета = Результат;
КонецЕсли;
КонецПроцедуры
Как вы видите, размер кода увеличился, но стало гораздо проще добавлять новые методы.
Нужно просто добавить в проверку (PAPI_ОбработкаМетодовGET.PAPI_ОбработкаМетодовGET) новое имя метода и процедуру для этого метода.
По отладке HTTP-сервисов рекомендую статью с ИТС (https://its.1c.ru/db/metod8dev#content:5756:hdoc)
Первую часть заканчиваю. Мы рассмотрели с Вами как создать каркас для Get метода. В следующих частях поговорим про другие методы, про oData и JSON. Как и в этой статье будут примеры, но более интересные.
Статьи из данного цикла:
HTTP Сервисы: Путь к своему сервису. Часть 2
HTTP Сервисы: Путь к своему сервису. Часть 3
HTTP Сервисы: Путь к своему сервису. Часть 4
Автор Lilian, 14 сен 2015, 16:36
0 Пользователей и 1 гость просматривают эту тему.
Добрый день! При открытии в 1с 8.3 таких документов, как поступление товаров и услуг, реализация товаров и услуг, отчет комитентам, выскакивает дополнительное окно «ошибка НТТР 400». Если открывать, например, списание с расч. счета или ведомость на выплату з/п, таких проблем не возникает.
При создании копии базы в процессе ее формирования выдает такое же сообщение и после продолжает копирование, как обычно.
При формировании нового документа, например, поступления товаров и услуг, при выборе контрагента выдается аналогичное сообщение.
Делалось тестирование и исправление, ситуация не изменилась.
При загрузке более старых копий базы при открытии упомянутых ранее документов выдается такое же сообщение, например, выбираю базу полугодичной давности.
Что можно сделать и как исправить данную ошибку?
Заранее спасибо!
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Цитата: Raven от 14 сен 2015, 17:15
Это ошибка проверки Контрагента по ИНН и КПП.
Посмотри,не включена ли у тебя данная проверка:
Меню «Администрирование» — Настройки проверки контрагентов. Поставить (снять) галочку «Проверять контрагентов с помощью веб-сервиса ФНС»
Спасибо Вам за ответ. Только возникает вопрос: у меня эта функция включена с того момента, как она появилась в 1С, и на данный момент она мне необходима, т.к. работаем с большим количеством контрагентов. Возможны какие-то варианты решения проблемы при включенной проверке контрагента?
Самое интересное, что еще 11.09.2015г. все работало отлично.
Такая проблема может возникнуть в один прекрасный момент при отсутствии обновления платформы и релизов или одно от другого не зависит?
Добрый день, номер платформы и релиза тут не при чем, ошибка возникает при обращении к веб-серверу ФНС. Может сервер у них упал, кто его знает.
Скорее всего они в ближайшее время устранят, так что можно чуть чуть потерпеть.
Всем доброго времени суток!
Абсолютно аналогичная проблема на нашей фирме началась с понедельника (14.09.2015). Немного стало легче на душе когда почитал, что возможно случилась беда с веб-сервером ФНС. Да и скорее всего так и есть, мы тут у себя ничего не меняли. Подождем некоторое время, надеюсь все уладится.
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Такая проблема возникла у всех моих клиентов после обновления платформы на 8.3.6.2299. При этом конфигурации разные, обновленные:
1С:Подрядчик строительства 4.0. Управление финансами, редакция 3.0 (3.0.41.4), Бухгалтерия предприятия…
Цитата: vsl89 от 16 сен 2015, 09:27
Доброго времени суток. У нас проблемы с аналогичной ошибкой, но в меню Администрирование у нас нет пункта «Настройки проверки контрагентов».
Он может быть в другом месте Администрирование — Поддержка и обслуживание — Работа с контрагентами.
Теги:
- Форум База
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
1C 8.3 — ошибка HTTP 404
Похожие темы (5)
Поиск
-
1C 8.3 Бухгалтерия предприятия 3.0 на sql server. При открытии документа Реализация товаров вылетает ошибка 404 (скрин приложила). Нажимаем Ок и работаем дальше с документом. Подскажите, пожалуйста, что это и как исправить.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Бухгалтерия типовая или вносили изменения.
По всей видимости хочет какую то страницу в инете открыть, но либо инета нет либо проксик блокирует -
Если посмотреть в режиме отладки, то он отсылаем меня в общий модуль ДлительныеОперации, в функцию ЗаданиеВыполнено (167 строка)
— Объединение сообщений, 14 сен 2015 —
Изменения вносились, но про все я не знаю. Да, скорее всего блокируется что-то, потому что недавно начали блокировку сайтов.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Вы через какой клиент работаете?
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
может он курсы с Rbk подтянуть пытается или еще что . на РКБ вы можете зайти.
Ну надо отладчиком посмотреть. так трудно сказать
-
При открытии формы стоит отсылка к проверке контрагента документа. Может дело в этом. Оттуда мы попадаем в общий модуль проверки контрагентов и там
Процедура ПриОткрытииДокумент(Форма) ЭкспортЕсли Форма.РеквизитыПроверкиКонтрагентов.ПроверкаИспользуется Тогда
ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(Форма.ПроверкаКонтрагентовПараметрыОбработчикаОжидания);
Форма.ПодключитьОбработчикОжидания(«Подключаемый_ОбработатьРезультатПроверкиКонтрагентов», 0.1, Истина);
Иначе
Если Форма.РеквизитыПроверкиКонтрагентов.НужноПоказатьПредложениеВключитьПроверкуКонтрагентов Тогда
Форма.ПодключитьОбработчикОжидания(«Подключаемый_ПоказатьПредложениеИспользоватьПроверкуКонтрагентов», 0.1, Истина);
КонецЕсли;
КонецЕсли;КонецПроцедуры
Вот как раз отсюда мы переходим в длительные операции, куда и ведет ошибка.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Где то в настройках системы должно это отключаться
вот даже Форма.ПодключитьОбработчикОжидания(«Подключаемый_ПоказатьПредложениеИспользоватьПроверкуКонтрагентов», 0.1, Истина);
он видно на сайт статистки или куда лезет что бы по инн получить инфу и т.д.
Так же у вас видно такая же штука может быть конгда контрагента заводите инн ввели и по инн инфу заполнить -
Да, при вводе ИНН как раз у нас проверка. Но в пятницу мы именно этот ресурс открыли. Все вроде было норм….
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
ну там надо смотреть, что вы открыли и куда он на самом деле лезет. Можете сделать так . взять открыть опять доступ, затем взять создать документ.
А затем средствами винды посмотерьт куда пользователь в это время на какие сайты лазил. и отрыть к нему доступ -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 345
- Баллы:
- 104
Релиз конфигурации не написали.
Лезет куда-то, что связано с ФНС и НДС (сужу по параметру /FNSNDSCAWS). У ФНС была смена адреса их сервиса, начиная с каких-то релизов 1С это реализовали.
Поэтому попробуйте просто обновиться на последний релиз бухгалтерии. -
ну да, общается с http://npchk.nalog.ru/
— Объединение сообщений, 14 сен 2015 —
3.0.40.28
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 345
- Баллы:
- 104
3.0.40.28 вышел 29.05.15. Там этого еще могло не быть. Адрес ФНС изменился с 01.07.15.
Обновляйте. -
боюсь обновиться сейчас никто не даст… так в пятницу же работало!!! вот что странно
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 345
- Баллы:
- 104
Не, ну если даже список исправленных ошибок в 3.0.41 для обновления конфигурации это тоже не аргумент то я даж не знаю.
Чем помочь то? -
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
Ну Вы этот адрес открыли.? заработало? может он с этого потом куда то перенаправляет.
-
Мы его открыли еще на прошлой недели. Тогда не работала проверка при создании контрагента. Сейчас она работает корректно без ошибок. А вот со вчерашнего дня выскакивает это сообщение при открытии документов, где стоит проверка (Реализация, Поступление, Счета-фактур). Посмотрели кстати по мониторингу: запросы get (вроде бы 2) идут корректно, ошибка на запросе post. Как понимаете проблему не решили(((
-
Offline
viskander
- Регистрация:
- 15 сен 2015
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
Тоже столкнулись с этой проблемой, релиз 3.0.39.56. Если отключить проверку контрагентов в ФНС, сообщение пропадает.
-
Offline
Draco
Модераторы
Команда форума
Модератор- Регистрация:
- 28 окт 2009
- Сообщения:
- 13.722
- Симпатии:
- 961
- Баллы:
- 204
ну я выше писал, что можно отключить. Но хочется то разобраться, на какие сайты лезет
