помогите разобрать со структурой таблиц
15.09.2005
09:08
#1
необходимо написать тригеры на update, delete, insert для обновления цен товаров, которые находятся на складе, в теле тригера нужно изменненые строки кидать в новые таблицы, например, s-update..
В теле триггера нужно сделать так, чтобы инсерт, делит и апдейт строчки с изменениями ложили в новые соответствующие таблицы, например, t-update, t-insert, t-delete. А вообще после это планируется создать джоб или как-нибудь по другому, выгружать эти новые таблицы в mysql на сервере. Затем очищать таблицы t-update, t-insert, t-delete....
Физически где лежт цены, т.е. закупочная, розничная, оптовая, т.е. в какой таблице искать? из файла *.dds я выделил для себя следующие таблицы:
-sc178 -справочник номенклатуры//здесь просто список товаров
-sc150 -справочник типы цены(т.е. 3 строки:закупочная...)
-sc178 - справочник цены(должно быть то, но тут какие-то непонятные значения из 3 буква, типа 3H3 или 4YG)
вот и проблема..где лежат сами значения цен?
В теле триггера нужно сделать так, чтобы инсерт, делит и апдейт строчки с изменениями ложили в новые соответствующие таблицы, например, t-update, t-insert, t-delete. А вообще после это планируется создать джоб или как-нибудь по другому, выгружать эти новые таблицы в mysql на сервере. Затем очищать таблицы t-update, t-insert, t-delete....
Физически где лежт цены, т.е. закупочная, розничная, оптовая, т.е. в какой таблице искать? из файла *.dds я выделил для себя следующие таблицы:
-sc178 -справочник номенклатуры//здесь просто список товаров
-sc150 -справочник типы цены(т.е. 3 строки:закупочная...)
-sc178 - справочник цены(должно быть то, но тут какие-то непонятные значения из 3 буква, типа 3H3 или 4YG)
вот и проблема..где лежат сами значения цен?
15.09.2005
09:35
#2
А может нет смысла так извращаться?
Может стоит использовать стандартные процедуры
ПриЗаписи() ПриУдалении() - в них отслеживать данные изменения.
ИМХО прямой доступ к DBF файлам при работающей 1С ни к чему хорошему не приведет.
Как второй вариант сделай обработку, по выгрузке всех цен в файл (DBF), а дальше сторонней программой сравнивай с предыдущим созранненым файлом.
Может стоит использовать стандартные процедуры
ПриЗаписи() ПриУдалении() - в них отслеживать данные изменения.
ИМХО прямой доступ к DBF файлам при работающей 1С ни к чему хорошему не приведет.
Как второй вариант сделай обработку, по выгрузке всех цен в файл (DBF), а дальше сторонней программой сравнивай с предыдущим созранненым файлом.
15.09.2005
09:55
#3
ну во первых 1с для sql server'а, а во вторых ведь я ничего не собираюсь менять в самой структуре таблиц 1с, я только считываю значения и вставляю их в новую таблицу, это ведь никак на целостности БД не отразится...
Почему я выбрал именно такой вариант? потому что только так(как я понял) можно добиться полной автоматизации, т.е.:
1. выделяем изменение и ложим его в определенную таблицу(например, t-update)
2. соединяемся с мускулом на удаленном серваке и кидаем туда инфу из таблицы
3. очищаем таблицу
На все про все тратится совсем мало времени, причем изменения в локальном mssql(1с) сразу же будут доступны на удаленном mysql.
Конечно, быть может я в чем-то и ошибаюсь, так как все это понимаю не много расплывчато...
Конечно можно было бы сделать так как сказали вы, т.е ПриЗаписи() создавать OBDC(ADO) подключение с mysql и кидать туда изменившиеся значения из 1с, но тогда нужны тригеры на mysql(у меня они не поддерживаются), чтобы временную таблицу рассортировать
Почему я выбрал именно такой вариант? потому что только так(как я понял) можно добиться полной автоматизации, т.е.:
1. выделяем изменение и ложим его в определенную таблицу(например, t-update)
2. соединяемся с мускулом на удаленном серваке и кидаем туда инфу из таблицы
3. очищаем таблицу
На все про все тратится совсем мало времени, причем изменения в локальном mssql(1с) сразу же будут доступны на удаленном mysql.
Конечно, быть может я в чем-то и ошибаюсь, так как все это понимаю не много расплывчато...
Конечно можно было бы сделать так как сказали вы, т.е ПриЗаписи() создавать OBDC(ADO) подключение с mysql и кидать туда изменившиеся значения из 1с, но тогда нужны тригеры на mysql(у меня они не поддерживаются), чтобы временную таблицу рассортировать
15.09.2005
14:57
#4
".. Как второй вариант сделай обработку, по выгрузке всех цен в файл (DBF), а дальше сторонней программой сравнивай с предыдущим созранненым файлом .." - присоединяюсь к этому варианту.
16.09.2005
10:46
#5
по-моему, слишком большая затрата ресурсов будет, Вот сейча выгружаются цены только 5 минут, а потом ещё сравнение делать, геморой не кажется ли??
16.09.2005
14:00
#6
Значения цен являются периодическими реквизитами и лежат в таблице _1sconst.
Возможно, поможет: ;
Возможно, поможет: ;
28.09.2005
15:18
#7
По-моему здравая мысль с триггерами, сам давно собираюсь так сделать, да только некогда:).
Для получения структуры таблиц загляни в dds, там почти все
а вот периодические лежат в _1sconst
Для получения структуры таблиц загляни в dds, там почти все
а вот периодические лежат в _1sconst
28.09.2005
15:21
#8
Большая просьба: если разберешься со структурой _1sconst, поделись если не трудно ICQ: 211366709
Читают тему
(гостей: 1)