Создание счет-фактуры API ODATA
1.
G_100725001721710195922
21.04.26 06:08
Сейчас в теме
Всем привет! Я не 1С разработчик и не бухгалтер, от слова совсем.
Стоит задача через REST создать реализацию и счет-фактуру в 1С.
В общем, сами Endpoint'ы и данные, которые нужно передавать я уже знаю.
Но проблема сейчас такая, что я не могу создать счет-фактуру под пользователем odata.user, которого создал в "Настройка автоматического REST-сервиса".
Ответ получаю крайне лаконичный:
Причем, если пробовать создать через пользователя с админ-правами, то все успешно создается.
Но создавать учетку админа для REST не хочется, от слова совсем.
Ниже привожу Endpoint'ы и данные которые передаю:
Реализация (POST):
/odata/standard.odata/Document_РеализацияТоваровУслуг?$format=json
Реализация, проведение (POST):
/odata/standard.odata/Document_РеализацияТоваровУслуг(guid'UUID ранее созданной реализации')/Post?$format=json
Счет-фактура (POST):
/odata/standard.odata/Document_СчетФактураВыданный?$format=json
И на создании счет фактуры получаю ранее описанную ошибку
Стоит задача через REST создать реализацию и счет-фактуру в 1С.
В общем, сами Endpoint'ы и данные, которые нужно передавать я уже знаю.
Но проблема сейчас такая, что я не могу создать счет-фактуру под пользователем odata.user, которого создал в "Настройка автоматического REST-сервиса".
Ответ получаю крайне лаконичный:
{
"odata.error": {
"code": "-1",
"message": {
"lang": "ru",
"value": "Не удалось записать: \"Счет-фактура выданный\"!"
}
}
}
ПоказатьПричем, если пробовать создать через пользователя с админ-правами, то все успешно создается.
Но создавать учетку админа для REST не хочется, от слова совсем.
Ниже привожу Endpoint'ы и данные которые передаю:
Реализация (POST):
/odata/standard.odata/Document_РеализацияТоваровУслуг?$format=json
{
"Date": "2026-03-31T09:02:19",
"Posted": false,
"Организация_Key": "org_key",
"Контрагент_Key": "customer_key",
"ДоговорКонтрагента_Key": "contract_key",
"ВалютаДокумента_Key": "curr_key",
"ВидОперации": "Услуги",
"Услуги": [
{
"LineNumber": 1,
"Номенклатура_Key": "item_key",
"Количество": 1,
"Цена": 229,
"Сумма": 229,
"СтавкаНДС": "НДС22",
"СуммаНДС": 18.39
}
]
}
ПоказатьРеализация, проведение (POST):
/odata/standard.odata/Document_РеализацияТоваровУслуг(guid'UUID ранее созданной реализации')/Post?$format=json
Счет-фактура (POST):
/odata/standard.odata/Document_СчетФактураВыданный?$format=json
{
"Date": "2026-03-30T09:03:19",
"Posted": false,
"ВидСчетаФактуры": "НаРеализацию",
"Организация_Key": "org_key",
"Контрагент_Key": "customer_key",
"ДоговорКонтрагента_Key": "contract_key",
"ДокументыОснования": [
{
"LineNumber": 1,
"ДокументОснование": "UUID ранее созданной реализации",
"ДокументОснование_Type": "StandardODATA.Document_РеализацияТоваровУслуг"
}
]
}
ПоказатьИ на создании счет фактуры получаю ранее описанную ошибку
По теме из базы знаний
Найденные решения
(6) В конфигураторе в дереве объектов открываете документ "СчётФактураВыданный" (или как он у вас называется, не знаю), В открывшемся окне открываете вкладку "Движения". Разворачиваете на "+" регистры накопления, регистры сведений, и просматриваете список. Используемые документом регистры будут отмечены флажками. Потом в дереве объектов конфигуратора открываете каждый используемый документов регистр, и на вкладке "Права" смотрите какие роли могу изменять и редактировать данный регистр. Добавляете эти роли своему пользователю
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
odata.user,
нужно вашему пользователю, который принимает данные в 1С на этот http сервис , "права" на создание и из изменение счёт-фактуры выдать. Это в конфигураторе всё делается. Либо создать новую роль и для неё чтение и изменение счёт-фактуры и доступ к данному hhtp сервису установить. Либо посмотреть какие для этого существующие роли используются. И эти роли (вновь созданную или используемые) выдать пользователю. Проще и грамотнее конечно для всего что нужно для обмена создать новую роль с минимальными правами, но это что у вас за конфигурация 1С неизвестно, может только минимальные изменения в ней хотите делать.
4.
G_100725001721710195922
21.04.26 10:38
Сейчас в теме
(2) Спасибо за ответ. Добавил пользователю все возможные роли, чтобы наверняка. Но увы, результат все тот же. В журнале регистрации ничего внятного не пишет.
(6) В конфигураторе в дереве объектов открываете документ "СчётФактураВыданный" (или как он у вас называется, не знаю), В открывшемся окне открываете вкладку "Движения". Разворачиваете на "+" регистры накопления, регистры сведений, и просматриваете список. Используемые документом регистры будут отмечены флажками. Потом в дереве объектов конфигуратора открываете каждый используемый документов регистр, и на вкладке "Права" смотрите какие роли могу изменять и редактировать данный регистр. Добавляете эти роли своему пользователю
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот