Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 26 Следующий »

Вы сможете получить ответ, выбрав нужную категорию или воспользовавшись поиском.

 

Мобильный контейнер

 

Серверное приложение

Как сменить пароль от solution'а?


Как перезагрузить все данные на сервере?


Для перезагрузки всех данных необходимо:

  1. Получить файл метаданных и данных из учетной системы. Например, получить файл метаданных и данных можно с помощью обработки "Выгрузка данных", которая входит в стандартную конфигурацию 1С БИТ.Мобайл. 
  2.  Отправить полученные данные на сервер.Отправить данные на сервер можно с помощью приложения utils.exe, используя команды -dm и -ud. Подробное описание использования команд можно найти в инструкции по развертыванию решения.
  3.  Очистить кэш в мобильных приложениях. Инструкцию по очистке кэша для устройств Android и iOS можно найти на портале технической поддержки.

Как решить проблему рассинхронизации 1С и сервера БИТ.Мобайл?


В случае штатной работы обработки синхронизации 1С с сервером БИТ:Мобайл обе базы согласованы по данным объектов, участвующих в обмене.

В случае, к примеру, восстановления базы данных 1С из резервной копии, данные могут "разъехаться". Это может привести либо к ошибкам обмена (foreign key constraint violation, в случае отсутствия записи в справочной таблице) либо, что еще хуже, к некорректным данным в системе (например неправильная цена. по которой формируется заказ).

В первом случае недостающие записи могут быть найдены автоматически, метод сервера CheckIfExists позволяет найти записи, отсутствующие в базе.

Во втором случае универсального решения нет, так как фактически требуется провести полное сравнение 2 баз, технически может быть проще создать на сервере новую базу и выполнить полную выгрузку из 1С. 

Для частных случаев решение будет зависеть от того, какие объекты нужно сравнить.

Пример, сравнение прайс-листов:

  1. Выполнить на стороне 1С запрос: 
    ВЫБРАТЬ Ref.Number, СУММА(Price) ИЗ Document.PriceList_Prices GROUP BY Ref.Number
  2. В базе данных сервера создать временную таблицу: 
    CREATE TABLE dbo.Temp(Number VARCHAR(100), Amount DECIMAL(10,2))
  3. Результат запроса п.1 превратить в скрипт вида INSERT INTO dbo.Temp(Number,Amount) VALUES(''..","...") для каждой строки и выполнить скрипт на сервере.

  4. Выполнить запрос сравнения двух таблиц:

    SELECT *
    FROM [dbo].[Temp] t1
    JOIN
    (
    SELECT h.Number, SUM(p.Price) as amount
    FROM [Document].[PriceList] h
    JOIN [Document].[PriceList_Prices] p on p.Ref = h.Id
    GROUP BY h.Number
    ) t2 on t1.n = t2.Number
    WHERE t1.p <> t2.amount

 

  • Нет меток