Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка создания счёта (ОбработкаЗаполнения)

Ошибка создания счёта (ОбработкаЗаполнения)
Я
   welijow479
 
30.07.20 - 22:38
Здравствуйте, я уже жалею что прикоснулся к программному продукту, который нужно законом запретить выпускать за свою 'стабильность'.

Работаю с интеграцией по reat протоколу. Написал код, отладил, загрузил, а он не работает. Стал разбираться и пришёл к такому результату: выполняю один код, на одном сервере с одинаковыми параметрами:
Бухгалтерия предприятия, редакция 3.0 (3.0.80.36), - при вставке счёта вылезает ошибка 500 с текстом "Ошибка при выполнении обработчика - 'ОбработкаЗаполнения'.".
Бухгалтерия предприятия, редакция 3.0 (3.0.77.78), - успешно вставляет счёт без каких либо ошибок.

Я даже сниффером трафик снял ( https://pastebin.com/zSYX2yMb ) и совершенно не понимаю чего ещё нужно этой программе..
   МихаилМ
 
1 - 30.07.20 - 22:43
Это Вы safona8215 ?
   Ёпрст
 
2 - 31.07.20 - 00:31
(0) значит в более новой редакции есть еще какой то реквизит, обязательный к заполнению, которого в старой редакции не было.
Откройте 1с-ину и сделайте тоже самое ручонками, оно напишет, чего не хватает
   welijow479
 
3 - 31.07.20 - 00:55
(2) нету обязательных полей в счёте, - Создаю счёт и нажимаю записать, готово. Собственно в схеме "/odata/standard.odata/$metadata" тоже написано что нету обязательных полей.
   Ёпрст
 
4 - 31.07.20 - 01:06
(3) если эту шляпу переписать с json на xml, не пробовал ?
   Ёпрст
 
5 - 31.07.20 - 01:08
И это.. там же вроде в OData надо доступные объекты галочками ментить.. этот счёт в новой редакции помечен ?
   Ёпрст
 
6 - 31.07.20 - 01:09
в самой 1с-ине.
   welijow479
 
7 - 31.07.20 - 01:12
(4) xml не пробовал, нужно много кода править :(
В настройках да, включил "Счет покупателю" и он включил пару сотен связанных объектов, всё как на старой версии.
   Ёпрст
 
8 - 31.07.20 - 01:23
Непонятно, схрена ли этот обработчик вообще вызывается, ты же не ввод на основании лепишь, или это другая ошибка ?..хз, rest -ом не баловался
   Ёпрст
 
9 - 31.07.20 - 01:24
посмотри в модуле дока в пофигураторе, в чем разница в релизах в ОбработкаЗаполенния
   Ёпрст
 
10 - 31.07.20 - 01:43
И это, а в новом релизе бухии, все те реквизиты с такими гуидами то хоть есть в базе?
   Ёпрст
 
11 - 31.07.20 - 01:44
А то, хз как таи рест реализовпн, если по гуиду не найдет, будет пустая ссылка и будет тебе "не заполнено" обязательное поле
   welijow479
 
12 - 31.07.20 - 01:50
(9) проверил. Вообще весь код объекта "СчётНаОплатуПокупателю" одинаковый, метод "ОбработкаЗаполнения" тоже.
(10) все guid забивались на новую конфигурацию, через админу сайта: ( Сайт делает запрос, получает список, отображает его, я выбираю и сохраняю в свою БД, далее использую этот ID ).

*накатывает депрессия*
   welijow479
 
13 - 31.07.20 - 01:52
(11) но я скажу больше, на старой версии я могу передать пустой массив "{}" и счёт создастся, без полей вообще, но он будет и ошибок не будет.
В новой пробовал передавать пустой массив, - ошибка.
   acht
 
14 - 31.07.20 - 07:25
(0) > я уже жалею что прикоснулся
(12) > накатывает депрессия

Скажите, а подход "а вот я такой, а что ей надо - непонимаю", он у вас только с программным обеспечением?
   hhhh
 
15 - 31.07.20 - 07:32
(14) наверно, с бабами еще
   welijow479
 
16 - 31.07.20 - 12:34
(14) нет, только к таким прогам где полностью отсутствует внятная документация, а все статьи и книги на протяжении 400 страниц пережёвывают сопли на тему нажатия пары кнопок, которые и так очевидны, ничего конкретного, ничего по делу.
Если Вы такой умненький, скажите, в чём дело. Я предоставил всю информацию, и запрос и версии ПО. Подскажите что по делу а не посты на форуме набивайте.
Хотя сообщество 1с, это идеальное сообщество, где можно показать весь свой пафос в придачу с менталитетом...

По делу кто что скажет?
И спасибо пользователю Ёпрст, который пытался помочь.
   Ёпрст
 
17 - 31.07.20 - 12:48
(16) другие хоть запросы отрабатывают в этой конфе ? Ну там, создание клиентосов и т.д..?
   Ёпрст
 
18 - 31.07.20 - 12:53
Открой дерево метаданных в пофигураторе этого документа, посомтри, у каких реквизитов стоит галка выдавать ошибку , если не заполнено.
Если такие есть, видать их как-то передаешь не верно..
   Ёпрст
 
19 - 31.07.20 - 12:54
Или вообще не передаешь своим рестом.
   welijow479
 
20 - 31.07.20 - 13:23
(17) POST запрос только один, но я попробую что-нибудь другое добавить и проверить, но все GET запросы отрабатывают успешно.
(18) из всех обязательных полей (Организация, Контрагент, ОрганизацияПолучатель, СтруктурнаяЕдиница) не был передан последний, как я понял это счёт организации, но его добавление никак не изменила картину.
   acht
 
21 - 31.07.20 - 13:43
(16) https://ibb.co/f0cLBTS

У тебе есть, например, осознание хотя бы различных контекстов компиляции? Очевидно ему...
   Ёпрст
 
22 - 31.07.20 - 13:48
(20) табличной части там нет ? Мот там есть обязательные поля к заполнению, которые не пихаешь
   welijow479
 
23 - 31.07.20 - 13:57
(21) а у Вас есть хотя-бы представления о регистрах ввода\вывода архитектуры AVR? или о том, как 8'ми битный процессор считает 64 битный числа, как происходит математика типа float?
Подозреваю что нет... У меня есть задача, простая задача, и она была решена, до тех пор пока 1с не сломал конфигурацию. Если Вам нечего сказать, то пожалуйста, не говорите!

(22) В табличных частях тоже самое, только один момент, там есть таблицы ( ВозвратнаяТара и УдалитьУслуги ), я их вообще не передаю, не понял, они нужны или нет, или нужно передавать пустой массив...
   acht
 
24 - 31.07.20 - 13:59
(23) И про математику с фиксированной точкой я тебе тоже могу рассказать. Подозревает он...
   Ёпрст
 
25 - 31.07.20 - 14:02
(23) вот хз, я с rest 1с-овским не работал, у нас свои интеграции с сайтами
Пробуй на другом объекте попроще, слепить свой запрос.
   Ёпрст
 
26 - 31.07.20 - 14:03
Или.. конфу обнови до другого релиза, раз на старом работало
   Ёпрст
 
27 - 31.07.20 - 14:03
сравнением конфы можно посмотреть, че там поменяли жешь..
   welijow479
 
28 - 31.07.20 - 14:08
(27) Принял, попробую сравнить, спасибо.
О результатах отпишусь, если не забанят :)
   Ёпрст
 
29 - 31.07.20 - 14:09
Мот какую подписку добавили..хз, мне лень на сервак буховский топать, я даже не помню, какая БП у нас стоит, 3 или 2 ?..они там сами копашаться в ней
   welijow479
 
30 - 31.07.20 - 14:55
(27) не уверен что я корректно понимаю этот файл ( https://pastebin.com/gTs16pNv ), но вроде ничего криминального нету.
основная конфигурации - старая, рабочая.
файл - новая, не рабочая.
 
 Рекламное место пустует
   Ёпрст
 
31 - 31.07.20 - 15:18
(30) не, это всё похрен.

Когда гет запрос делаешь с этими реквизитами, что потом в пост пихаешь, норм возвращает ? Сами объекты ти в базе есть ? Клиентос/договор/номенлатура и т.д.. где гуид у тебя.
   acht
 
32 - 31.07.20 - 15:27
(31) GET тупо читает данные из базы. POST/PUT/PATCH что-там-у-них дополнитеьно вызывают работу программной логики. Ошибки логгируются в известные места.
   welijow479
 
33 - 31.07.20 - 15:36
(31) да, ещё раз проверил вручную все id, всё возвращается, всё на месте.
(32) так откройте тайну, где они логируются? Я журнале регистрации есть только запись о входе пользователя.
   Ёпрст
 
34 - 31.07.20 - 15:38
(33) тут только если тех журнал настраивать и смотреть че там.
   Ёпрст
 
35 - 31.07.20 - 15:50
пробуй на другом объекте..справочник, например, записать
   welijow479
 
36 - 31.07.20 - 15:52
(34) настроил, вот вывод логов:

48:25.247004-0,EXCP,0,process=httpd,OSThread=5060,Usr=odata.user,Exception=0d2200af-1696-4395-91e5-2872675e6d3d,Descr='src\StandardODataApiServiceImpl.cpp(204):
0d2200af-1696-4395-91e5-2872675e6d3d: Ошибка при выполнении обработчика - ''ОбработкаЗаполнения''
8d366056-4d5a-4d88-a207-0ae535b7d28e: Ошибка при получении значения атрибута контекста (ПараметрыКлиентаНаСервере)
{ОбщийМодуль.ОбщегоНазначения.Модуль(1374)}:    ПараметрЗапускаПриложения = ПараметрыСеанса.ПараметрыКлиентаНаСервере.Получить("ПараметрЗапуска");
{Справочник.Организации.МодульМенеджера(82)}:        Если ОбщегоНазначения.РежимОтладки() Тогда
{ОбщийМодуль.БухгалтерскийУчетПереопределяемый.Модуль(1676)}:        Возврат Справочники.Организации.ОрганизацияПоУмолчанию(ИмяПользователяИБ);
{ОбщийМодуль.ЗаполнениеДокументов.Модуль(404)}:        ОсновнаяОрганизация = БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");
{Документ.СчетНаОплатуПокупателю.МодульОбъекта(491)}:    ЗаполнениеДокументов.Заполнить(ЭтотОбъект, ДанныеЗаполнения);
f08d92f8-9eb2-4e19-9dd9-977d907cec2d: Нарушение прав доступа!'

Что-то уже вменяемое, но непонятно :\
   Ёпрст
 
37 - 31.07.20 - 16:00
(36)
>>>>Нарушение прав доступа!
   Ёпрст
 
38 - 31.07.20 - 16:00
Прав у тя нет короче, на создание объектов в базе этой.
   Ёпрст
 
39 - 31.07.20 - 16:00
под этим юзверем
   welijow479
 
40 - 31.07.20 - 16:13
(38) но я использую пользователя, который был создан при включении odata интерфейса: https://ibb.co/TcRSSSw
   Ёпрст
 
41 - 31.07.20 - 16:22
(40) ага, но судя по ошибки, у этого пользователя нет прав на этот док
   welijow479
 
42 - 31.07.20 - 16:41
(41) да, и Вы были правы. Выдал Полные права и всё заработало.
На версии, на которой я всё отлаживал, всё работало потому что в системе не было пользователей...

Ёпрст, огромное Вам спасибо. Есть же есть добрые люди, которые помогут, даже если человек не понимает в этой отрасли.
Надеюсь кошелёк в ЯД актуальный. Не много, но ..


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.