|
|
|
|
#1 |
|
злыдень
|
Цитата:
Сообщение от NJD
Ну там сделано всё как надо - у тебя есть центральные и переферийные базы, ты настраиваешь правила миграции, разрешение конфликтов. Данные переносятся правильно и без глюков. Фичи типа автоматического отправления пакетов с изменениями...
Есть справочник клиентов. Филиал 1 добавляет клиента с кодом 1 Филиал 2 добавляет клиента с кодом 1 Как разрешена будет эта простейшая коллизия в 1с-репликаторе? Репликация остановится и разгребите ручками? Или там заведен некий составной ключ филиал/идентификатор записи? Или разрешатель конфликтов похерит одну из записей по приоритетам? Или? Это стандартный шункционал 1с или партнерское решение? ЗЫ: Праздный интерес, инстрУмента этого не видел..
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
|
|
|
#2 |
|
Участник
|
Хотя и не совсем по теме, но отвечу.
Цитата:
Сообщение от Recoilme
Не верю (c)
Есть справочник клиентов. Филиал 1 добавляет клиента с кодом 1 Филиал 2 добавляет клиента с кодом 1 Как разрешена будет эта простейшая коллизия в 1с-репликаторе? ... |
|
|
|
|
#3 |
|
злыдень
|
Цитата:
Сообщение от Raven Melancholic
Хотя и не совсем по теме, но отвечу.
Коллизии с кодами там разруливаются с помощью так называемых "префиков" (получается вроде того, что в аксе для каждой отдельной базы свои номерные серии). А решение это входит в базовый функционал и все достаточно автоматизировано. Ещё маленький вопрос. Можно ли добавить запись средствами СУБД без доработок? Т.е. филиал 1 добавил запись: "Филиал1КодКлиента" - запись В субд запись всталяется например внешним приложением 1С её видит автоматом Или как в аксапте записи должны всенепременно добавляться средствами приложения для обеспечения "неких целостностей"?
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/ |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Сообщение от Recoilme
Спасибо за ответ. Это гуд.
Ещё маленький вопрос. Можно ли добавить запись средствами СУБД без доработок? Т.е. филиал 1 добавил запись: "Филиал1КодКлиента" - запись В субд запись всталяется например внешним приложением 1С её видит автоматом Или как в аксапте записи должны всенепременно добавляться средствами приложения для обеспечения "неких целостностей"? Если не пользователь, а обработка добавит, тоже увидит автоматом. Если же напрямую запишите в SQL (есть и такие спецы), то не увидится автоматом, потому что есть таблицы, где хранится список измененных объектов. Но это способ для извращенцев. УРБД вообще работает как часы и нормально отыгрывает ситуации, когда потерян пакет обмена и т.п. |
|
|
|
|
#5 |
|
сибиряк
|
Цитата:
Сообщение от Гений 1С
УРБД вообще работает как часы и нормально отыгрывает ситуации, когда потерян пакет обмена и т.п.
__________________
С уважением, Вячеслав. |
|
|
|
|
#6 |
|
Участник
|
Цитата:
Сообщение от slava
Часы тоже останавливаются иногда. Бывают сбои и у УРБД. За полгода активной работы 1С УРБД в связке с Аксаптой (филиальная сеть), было пару случаев "конфликтных" ситуаций.
|
|
|
|
|
#7 |
|
Участник
|
Цитата:
Сообщение от Recoilme
Можно ли добавить запись средствами СУБД без доработок?
Цитата:
Сообщение от Гений 1С
Значит верно ли я думаю, что в аксапте получаем некий курсор из таблицы Sales_Talbe, где содерждатся заказы по контрагенту, затем получаем одним запросом все строчки, принадлежащие этим таблицам или, наоборот, перебираем по одному заказу и получаем для него все строчки, ну и далее изменяем цену.
Ну и соответственно после завершения вызов метода update у выборки строк. Пока я правильно иду? |
|
|
|
|
#8 |
|
Участник
|
Цитата:
А конкретно твой пример некорректен ,ведь мало изменить цены, нужно пересчитать некоторые связанные данные.
Цитата:
Зависит от задачи и взаимосвязей в системе. Можнешь делать любым перечисленным способом, включая обновление какого-либо поля совокупности записей одной командой.
Или ты имеешь ввиду, что я могу записать одной командой сразу 10 записей? Но в общем понятно. А теперь вопрос: 1. Могу ли я сделать штатно (или написать класс), которому передаю id записи из Sales_Table, она считывает все связанные строки из всех табличных частей в один объект в памяти, чтобы можно было в памяти его исправить и сделать обратную запись? (аналог документа в 80) 2. Хранятся ли в базе данных некие метаданные, где описывается, что таблица Sales_Line ссылается на Sales_Table в отношении M:1 (думаю такая информация может храниться в описании ключа таблицы Sales_Line). Кроме этого, можно ли получить из Sales_Line отдельные списки: табличных частей и таблиц, в которых генерятся некоторые записи в различных табличках (ну так выразился один из участников или движения по 1С). Эти таблицы тоже соотносятся с Sales_Table в отношении 1:М, но имеют другое назначение. Может ли программа на Axapte узнать, какая из связанных таблиц является табличной частью, а какая - движениями или еще чем-то? |
|
|
|
|
#9 |
|
Administrator
|
Цитата:
Сообщение от Гений 1С
1. Могу ли я сделать штатно (или написать класс), которому передаю id записи из Sales_Table, она считывает все связанные строки из всех табличных частей в один объект в памяти, чтобы можно было в памяти его исправить и сделать обратную запись? (аналог документа в 80)
Далее - по хорошему - этот код оформляется в класс, которому дается указание создаться на сервере. Соотв этот код отрабатывает на сервере. Т.е. в память как в 1С ничего не грузится. Хотя в принципе - возможно (и нужно с помощью специальных механизмов) при массовой вставке данных действовать через память Цитата:
Сообщение от Гений 1С
2. Хранятся ли в базе данных некие метаданные, где описывается, что таблица Sales_Line ссылается на Sales_Table в отношении M:1 (думаю такая информация может храниться в описании ключа таблицы Sales_Line). Кроме этого, можно ли получить из Sales_Line отдельные списки: табличных частей и таблиц, в которых генерятся некоторые записи в различных табличках (ну так выразился один из участников или движения по 1С). Эти таблицы тоже соотносятся с Sales_Table в отношении 1:М, но имеют другое назначение. Может ли программа на Axapte узнать, какая из связанных таблиц является табличной частью, а какая - движениями или еще чем-то?
Чтобы узнать про таблицы в которых хранятся проводки обычно действуют так (если не знают как они называются): Вариант 1: Открываем форму в которой отображаются данные из этих таблиц. Из формы можно достучаться до таблицы. Вариант 2: Идентифицируем по названию (ну как SalesTable - заказы) Вариант 3: Строим перекрестные ссылки. Они показывают - что где и в каком виде используется в коде, связях и пр.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 06.05.2006 в 15:52. |
|
|
|
|
#10 |
|
Участник
|
Цитата:
Если действовать в рамках как принято в Аксапте - то это делается через транзакции. Т.е. открывается транзакция, далее идет цикл по курсору с обновлением (вызовом update()), затем транзакци закрывается. Очевидно - что пишется либо все либо ничего.
Далее - по хорошему - этот код оформляется в класс, которому дается указание создаться на сервере. Соотв этот код отрабатывает на сервере. Т.е. в память как в 1С ничего не грузится. Хотя в принципе - возможно (и нужно с помощью специальных механизмов) при массовой вставке данных действовать через память Вот здесь методическая разница видна. Окей, вопрос прояснен. Цитата:
У таблицы (это же объект) есть такие понятия как Relations (отношения) - которые делают намеки на это. Эти же понятия присутствуют и в расширенном типе данных. Он тоже может показывать информацию
Чтобы узнать про таблицы в которых хранятся проводки обычно действуют так (если не знают как они называются): Вариант 1: Открываем форму в которой отображаются данные из этих таблиц. Из формы можно достучаться до таблицы. Вариант 2: Идентифицируем по названию (ну как SalesTable - заказы) Вариант 3: Строим перекрестные ссылки. Они показывают - что где и в каком виде используется в коде, связях и пр Вообще выяснять что означает таблица через форму - ИМХО явное извращение, возможно только в системах, где формы годами не меняются. По крайней мере в этом вопросе в 1С лучше. Хотя казалось бы, почему бы Аксапте не помечать типы таблиц в некой служебной таблице, как она это делает с именами таблиц? Ну видимо, т.к. у Аксапты стабильное ядро (в отличие от 1С, где таблицы могут быть разными), программист в коде может сам указать что значит какая таблица, ориентируясь на заранее известные имена. Но в этом вобщем говоря, недоделка Аксапты, хотя наверное аксаптерам она не сильно жить мешает.
Последний раз редактировалось Гений 1С; 06.05.2006 в 16:01. |
|
|
| Теги |
| сравнение систем, 1c |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|