|
Как писать напрямую в таблицы 1С | ☑ | ||
---|---|---|---|---|
0
sergdi
13.03.12
✎
18:00
|
SQL версия 8.2 Есть ли такая возможность - писать напрямую в таблицы 1С ? Где можно посмотреть ? Если делать через COM соединение то иногда транзакция длится в 1С очень долго, во внешней программе транзакция отменяется по таймауту и происходит рассогласование данных.
|
|||
1
Господин ПЖ
13.03.12
✎
18:01
|
лучше не рисковать...
|
|||
2
rotting
13.03.12
✎
18:02
|
(1) от все так говорят, может кто-то напишет как это сделать???
|
|||
3
Fragster
гуру
13.03.12
✎
18:02
|
insert into _Reference34...
|
|||
4
Fragster
гуру
13.03.12
✎
18:02
|
а вообще - зачем ты так делаешь? не проще ли посмотреть, почему в 1с "очень долго"?
|
|||
5
Serginio1
13.03.12
✎
18:02
|
Смотри ПолучитьСтруктуруХраненияБазыДанных
|
|||
6
ptrtss
13.03.12
✎
18:03
|
Дык долго длится оно наверное не просто так, а вычисляет что-то, думает
|
|||
7
Stim
13.03.12
✎
18:03
|
автомобиль медленно едет. как крутить двигатель напрямую, через педали?
|
|||
8
Господин ПЖ
13.03.12
✎
18:03
|
(2) Insert... читайте BOL там все есть
|
|||
9
ptrtss
13.03.12
✎
18:03
|
>> Смотри ПолучитьСтруктуруХраненияБазыДанных
Да, глянь, так ты быстрее выбросишь эту мысль из головы |
|||
10
ботаникус
13.03.12
✎
18:04
|
проблема будет сгенерировать первичный ключ (читай ссылку). или не проблема?
|
|||
11
Fragster
гуру
13.03.12
✎
18:05
|
(10) а в чем проблема?склеить тип и попереставлять буковки в типовом GUID?
|
|||
12
КМ155
13.03.12
✎
18:05
|
(2) что-то мешает запустить профайлер и увидеть как ?
|
|||
13
sergdi
13.03.12
✎
18:11
|
(4) Почему долго неясно. Ошибка редко возникает. А кто-нибудь делал реально напрямую.
|
|||
14
ботаникус
13.03.12
✎
18:13
|
(11) а как попереставлять, чтобы не попасть в существующий?
|
|||
15
ComPAS
13.03.12
✎
18:15
|
(14) использовать стандартные средства SQL
select NEWID() Создает уникальное значение типа uniqueidentifier. |
|||
16
Fragster
гуру
13.03.12
✎
18:16
|
(14) делаешь правильный гуид средствами языка, в котором висишь, проверяешь, есть ли такой,, если есть - делаешь следующий и т.д. средства для генерации гуида есть почти везде
|
|||
17
Serginio1
13.03.12
✎
18:18
|
(13) Реально делаю но на регистры сведений справочники
|
|||
18
Serginio1
13.03.12
✎
18:19
|
Например v8: _SimpleKey и его установка
|
|||
19
Fragster
гуру
13.03.12
✎
18:20
|
напрямую читал только, ибо нефиг. прямая запись не спасет от того, что в БД есть свои "триггеры", т.е. алгоритмы, вызываемые при записи, и при прямой записи они не будут вызваны, соответственно, привести может к труднообъяснимым глюкам
|
|||
20
Serginio1
13.03.12
✎
18:21
|
||||
21
ComPAS
13.03.12
✎
18:23
|
(19) чтобы фигня всякая не писалась тут, о которой ты понятия не имеешь, и не вводить в заблуждение остальных, запусти профайлер на базу и посмотри что происходит со скулем при любых твоих действиях с базой
|
|||
22
Fragster
гуру
13.03.12
✎
18:28
|
(21) все возможные случаи ты никогда не рассмотришь. Например в конфигурации при ком соединении задается параметр сеанса, который проверяется в ПриЗаписи и влияет на результат... или, например, дата запрета редактирования, которая при прямой записи документа/регистра не будет проверяться и т.п.
|
|||
23
NcSteel
13.03.12
✎
18:29
|
(0) Так нельзя делать !
|
|||
24
ComPAS
13.03.12
✎
18:31
|
(22) отделяй котлеты от мух. если ты пишешь напрямую в БД, то будь любезен и рамки очерти своих действий.
|
|||
25
Fragster
гуру
13.03.12
✎
18:36
|
(24) в общем случае невозможно подготовить и проиграть все тест кейсы, по этому я против написания напрямую в БД, тем более, что преимуществ по скорости, если копипастить запрос из профайлера, не будет (издержки на ком прослойку незначительны, как правило)
|
|||
26
ComPAS
13.03.12
✎
18:40
|
(25) если нет желания, то согласен. у нормального человека его и быть не должно, иначе бы он работал в отделе разработки 1С :)
а выигрыш по скорости и нагрузке будет обязательно, если оптимизировать под свою конкретную задачу, которая, видимо, возникла у (0) не на пустом месте. в некоторых, очень частных случаях, это оправдано и очень редко - единственно приемлимый вариант. и вообще, по жизни - всё возможно. |
|||
27
NcSteel
13.03.12
✎
18:41
|
(26) Не видел еще задач где требуется такая оптимизация !
|
|||
28
МихаилМ
13.03.12
✎
18:42
|
только учтите за историю существования упп 1.2
менялись 3 раза имена таблиц и раз 20 имена колонок проще грамотно написать обмен: минимизировать блокировки, уменьшить размер записываемых данных в 1 транзакции , запись без валидации , запись раздельно фактов и артифактов, запись в буфер с последующей обработкой. нестандартный доступ - крайняя мера. тк возратают риски -> стоимость владения есть куча методов в рамках платформы. так что сначала примените методы ускорения опять же, если Вас стремительно переедет каток, кто будет поддерживать сей механизм. |
|||
29
NcSteel
13.03.12
✎
18:43
|
(27) Обычно в сторону прямых запросов идут либо авантюристы , либо дурачье. Методов оптимизации достаточно и без прямых запросов.
|
|||
30
France
13.03.12
✎
18:43
|
ващет, наскоко помню, в последних версиях 1Сы есть механизм доступа до любых баз...
|
|||
31
ComPAS
13.03.12
✎
18:44
|
(27) не будь так категоричен. если ты не видел ёжика, это не значит, что его не существует.
|
|||
32
France
13.03.12
✎
18:45
|
(29) если статистику поднимем, то поймем что большая часть адекватных специалистов в й с являюся дурачьем... либо авантюристами..
|
|||
33
NcSteel
13.03.12
✎
18:45
|
(31) Видел очень многое. И по Миллион документов в месяц. И базы по 500 гигов.
|
|||
34
NcSteel
13.03.12
✎
18:46
|
(32) Сколько видел грамотных спецов (топ уровня) они не являлись не такие.
|
|||
35
NcSteel
13.03.12
✎
18:46
|
(30) ТОлько на чтение. Причем читать базы 1с запрещено лицензией
|
|||
36
Fragster
гуру
13.03.12
✎
18:49
|
(35) то, что лицензия противоречит ГК, 1с не смущает?
|
|||
37
France
13.03.12
✎
18:49
|
(54) чо?
|
|||
38
NcSteel
13.03.12
✎
18:51
|
(37) Перевод:
(32) Сколько видел грамотных спецов (топ уровня) они с головой дружен и избегают авантюр. |
|||
39
NcSteel
13.03.12
✎
18:52
|
(36) Я не юрист, но с лицензией покупая 1с соглашаешься. Так что будь любезен.
|
|||
40
n koretsky
13.03.12
✎
18:58
|
бэкап сделал?
|
|||
41
Feanor
13.03.12
✎
19:00
|
(40) бэкапы для трусов!
|
|||
42
Gamm
13.03.12
✎
19:00
|
(27) Постоянно использую прямые запросы к БД для копирования, удаления данных.
Без этого первоначальное создание образа занимает сутки вместо 10 минут. Пожалуй готов быть авантюристом и дурачьем с такими результатами. (39) Лицензия 1С запрещает доступ без использования платформы, но можно запускать стандартные механизмы ADO из под сеанса 1С - тогда с лицензией все в порядке. |
|||
43
NcSteel
13.03.12
✎
19:02
|
(42) Образ создается средствами скуля - путем копирования базы . Причем тут прямые запросы не понятно .
|
|||
44
NcSteel
13.03.12
✎
19:03
|
(42) 2. подключаться через ADO к база 1с тоже запрещено лицензией. Данная тема была хорошо обсосана на партнерском форуме неким Гилевым.
|
|||
45
Serginio1
13.03.12
✎
19:05
|
(27) Ну ну. Ты сильно заблуждаешься. Когда нужно обновление миллиона записей одновременно стандартные средства работают очень долго. Вообще большой минус в 1С при работе с набором регистров то что не делается Merge а сначало удаление а затем запись. И затраты на создание индексов и удаление сильно все тормозит. А по одной записи обновлять ооочень долго.
|
|||
46
Serg_1960
13.03.12
✎
19:43
|
Я делал однажды. Не от хорошей жизни пришлось. Может найду сейчас эту ветку...
|
|||
47
sda553
13.03.12
✎
19:53
|
(0) мне пришлось научиться. Когда вначале были базы с одинаковым справочником товаров в нескольких филиалах, а потом вдруг решили делать обмен документами и понадобилось этот справочник объединить за всю историю
|
|||
48
Irbis
13.03.12
✎
19:54
|
А как писать криво?
|
|||
49
sda553
13.03.12
✎
19:54
|
(48) В о
т Т ак как то! |
|||
50
Serg_1960
13.03.12
✎
20:01
|
(0) Посты 10,13 и 15 из v8: Самоотчет об ошибке "..terminated because a duplicate key was found for index..."
|
|||
51
aleks-id
13.03.12
✎
20:09
|
use my_v8_base
go drop all go |
|||
52
Вопросы Задающий
13.03.12
✎
20:15
|
Добрый вечер. Есть отчет в СКД. Как мне вывести доп. колонку с данными в него, которых нет в запросе. Например, есть сумма, также итог по колонке с этой суммой. Мне требуется выдать еще одну колонку, равную итоговой колонке, но результат делится на количество колонок запроса. Причем разместить эту колонку мне нужно не как самую последнюю, а как вторую, то есть следующую сразу за итоговой.
|
|||
53
Вопросы Задающий
13.03.12
✎
20:15
|
сорри, не туда
|
|||
54
NcSteel
13.03.12
✎
21:10
|
(45) Переписывал 15 миллионов записей и прошло все без особых проблем.
|
|||
55
Адинэснег
13.03.12
✎
21:10
|
Пью кофе утром. Не просыпаюсь. Как ставить его в вену? В каких пропорциях и с чем его разводить? Поделитесь опытом
|
|||
56
NcSteel
13.03.12
✎
21:18
|
(55) Без сахара пей.
|
|||
57
Serginio1
14.03.12
✎
10:21
|
(55) И за сколько. У меня 1 миллион при апдейтах порядка 2-4 минут. Если много инсертов и делетэ то от 10 до 30. И сколько же ты свои 15 миллионов обновлял средствами 1с?
|
|||
58
ComPAS
14.03.12
✎
10:31
|
(56) видимо, весьма крут))
в таком случае должен знать, что такое булк инсерт (который просто отсутствует в 1С) и каким образом эффективно (ключевое слово - эффективно) решать задачи онлайн-репликации в базу 1С по плохим каналам связи потоковых данных с распределённой сети источников, например, с оборудования. ну, и, соответственно, одно из требований - использование модели полного бэкапирования базы sql (наверняка знаешь в чём её отличие?). ты же решал такие нетиповые задачи интеграции и кастомизации? :) зы: "как-нибудь" мы все умеем :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |