Вход | Регистрация
 

Своя SP в БД.

Своя SP в БД.
Я
   ПрестарелыйЗаяц
 
26.06.20 - 14:07
Добрый день, не сломаю ли я что-то в 1С если добавлю в рабочую базу свои SP, или их лучше вынести отдельно?
   ДенисЧ
 
1 - 26.06.20 - 14:07
А зачем тебе там нужны свои SP? Нарушаешь лицензию?
   nicxxx
 
2 - 26.06.20 - 14:09
(1) Тебе не пофиг ли?
(0) Они сотрутся, если ты базу из *.dt перезальешь. А так - норм, можно создавать
   ПрестарелыйЗаяц
 
3 - 26.06.20 - 14:10
(1)
Мне нужно с РС "подливать" данные в Битрикс - по промикам и купонам.
В принципе можно SP хранить где то отдельно, ну только зачем?

(2) На РИБ это никак не повлияет? Вроде нет - структура РИБ хранится в отдельной табличке в метаданных 1С, но там кто его знает.
   Галахад
 
4 - 26.06.20 - 14:20
Хм. А что такое SP?
   Волшебник
 
Модератор
5 - 26.06.20 - 14:30
(4) stored procedures - хранимые процедуры базы данных
   1CnikPetya
 
6 - 26.06.20 - 14:37
(3) А зачем для этого использовать SP?
   Галахад
 
7 - 26.06.20 - 14:39
(5) Понятно.
   fisher
 
8 - 26.06.20 - 14:52
(0) Ничего не сломаешь. Это ни могут сломаться. Поэтому лучше вынести их в служебную базу.
   ПрестарелыйЗаяц
 
9 - 26.06.20 - 22:01
(8) Да - так и сделаю.
   Конструктор1С
 
10 - 27.06.20 - 08:21
(3) а в чем проблема сделать это средствами 1с?
   ПрестарелыйЗаяц
 
11 - 27.06.20 - 16:01
(10) Как, на API ?
   1CnikPetya
 
12 - 27.06.20 - 16:38
(11) Вариантов тьма: Web-сервисы, Http-сервисы, если хочешь лить напрямую в базу Битрикса, то по ADODB. Выносить функциональность во вне 1С не очень хорошее решение в части прозрачности и поддержки.
   Сияющий в темноте
 
13 - 27.06.20 - 16:53
он,поди же,триггеры на стандартные таблицы хочет.
   PR
 
14 - 27.06.20 - 17:06
(11) В момент записи РС делаешь попытку отправить все в Битрикс
Если не получилось, пишешь в план обмена
Регзадание в 1С периодически пытается отправить все в Битрикс
Ну или Битрикс пытается стукнуться в 1С через веб-сервис и забрать изменения
После успешно1 обработки в Битриксе изменения из плана обмена удаляются

Что ты в своей реализации будешь делать, если в момент изменения 1С Битрикс был недоступен?
   ДенисЧ
 
15 - 27.06.20 - 17:07
(14) "В момент записи РС делаешь попытку отправить"

Рома... Я говорил тебе уже, что ты не программист, а лох?
Нет?
   PR
 
16 - 27.06.20 - 17:09
(15) Деня, ты это, иди поучи жену щи варить :))
Я бы в момент записи РС ничего никуда не отправлял ессно, но вдруг сейчас начнутся сопли про онлайн, временные лаги и пр. говно
   ДенисЧ
 
17 - 27.06.20 - 17:12
(16) Заметьте. Не я предлагал в (14) в момент записи в РС отправлять.
Или ты это от чистого сердца, тогда см (15). Или вредитель.
   PR
 
18 - 27.06.20 - 17:14
(15) Я не сильно уверен, что в твой мозг правильно зашла моя мысль, поэтому напишу предельно четко для избежания попыток тупых фривольных толкований моих слов
"В момент записи РС делаешь попытку отправить" не означает выполнение этой попытки в коде обработчика события РС "ПередЗаписью"
Имеется ввиду запуск фонового задания, который не будет мешать мне закончить транзакцию с РС

А не рекомендую я такой подход потому, что на момент работы фонового задания еще даже нихрена не понятно, успешна ли вообще попытка записи РС
Поэтому я бы делал в отдельном регзадании, ессно
   ДенисЧ
 
19 - 27.06.20 - 17:22
не сильно уверен, что в твой мозг правильно зашла моя мысль, поэтому напишу предельно четко для избежания попыток тупых фривольных толкований моих слов"

"В момент записи РС делаешь попытку отправить все"

https://i.ytimg.com/vi/ROMrivAuaeE/hqdefault.jpg
   PR
 
20 - 27.06.20 - 17:42
(19) "В момент записи РС в отдельном фоновом задании делаешь попытку отправить все"
Так понятнее?
Принципиально то, что событие обработалось уже, а не будет обработано через 3 - 5 - 10 секунд, сколько там будет интервал запуска регзадания
Это, кстати, не отменяет необходимости писать в план обмена, потому что фоновое задание может не запуститься, сбойнуть и пр.
   ДенисЧ
 
21 - 27.06.20 - 17:53
(20) " В момент записи РС делаешь попытку отправить все"
Теперь не отмажешься.
   PR
 
22 - 27.06.20 - 18:29
(21) Деня, мнение непрофессионалов меня не интересует
А профессионалы понимают, что в транзакции записи объекта щемиться куда-то в интернет — не вариант от слова совсем, если только уж не осознанно пишешь абсолютно лютый зашкварный говнокод
   ДенисЧ
 
23 - 27.06.20 - 18:34
(22) То есть ты, "професионал" - прекрасно знаешь, что в транзакции не надо лезть, но совет такой даёшь? Вот и видно, кто тут профессионал, а кто нет, кто просто из франча пришёл.
   PR
 
24 - 27.06.20 - 18:49
(23) Ты меня утомил, читай предыдущую переписку, я уже все написал
   ДенисЧ
 
25 - 27.06.20 - 19:39
(24) "мама, я написал, вытри" (с) мой племянник.
   b_ru
 
26 - 27.06.20 - 20:19
Так-то приличные люди по определению выгрузку в битрикс делают через фоновое задание, а запустить фоновое задание в транзакции не грех ни разу.
   ДенисЧ
 
27 - 27.06.20 - 20:46
(26) Ну, у меня не получилось. Транзакция была не завершена, а фз работала отдельно. И данных из проведения не видела.
   PR
 
28 - 27.06.20 - 20:52
(26) Проблема в том, что в момент работы фонового задания:
1. Непонятно, завершилась ли уже транзакция или еще нет, и, если нет, то когда завершится
2. Нет никакой гарантии, что транзакция завершится/завершилась успешно
   Сияющий в темноте
 
29 - 27.06.20 - 23:36
Ну что вы как маленькие?
В момент записи мы не можем ничего,так как может сработать подписка,которая отменит запись.
Поэтому,в момент записи можно только высказать желание что-то сделать.
Можно в последней подписке стартануть фоновое,которое запросит изменяемые данные в другой транзакции,так  как наша не закрыта,то другая получит ожидание блокировки,и будет ждать.
Но,тут есть большая вероятность,что не дождется,поэтому,повторение через какое-то время никто не отменял.

да,можно запуститб фончик и в момент записи или даже до него,но уже после открытия транзакции,но тут вероятность,что фончик обождется и скукожится,гораздо больше,а при неграмотном проектировании можно нарваться на взаимоблокировку.
   ДенисЧ
 
30 - 28.06.20 - 04:12
(29) "Можно в последней подписке"
осталось научиться строго задавать порядок срабатывания подписок
 
 Рекламное место пустует


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