Пример #1
0
        static void Main(string[] args)
        {
            Logger      logger  = LogManager.GetCurrentClassLogger();
            ServiceSA1C service = new ServiceSA1C();

            service.LoadSettings();
            var baseConfig = from conf in service.config.basesConfig
                             where conf.Name == "ТестОбмена"
                             select conf;

            if (baseConfig.Count() == 0)
            {
            }

            BaseConfig bc = baseConfig.First();

            //var baseConfig = service.GetBaseConfig();
            string pathToPravila = Directory.GetCurrentDirectory() + @"\ПравилаОбменаДанными.xml";

            using (_1Cv8 v8 = new _1Cv8(bc.baseInfo))
            {
                try
                {
                    v8.Connect();
                    v8.SaveUniversalXML("ОбменУправлениеТорговлейРозничнаяТорговля", "002", pathToPravila);
                }
                catch (Exception error)
                {
                    string e = error.Message;
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Выгрузка измененеий из 1Сv8
        /// </summary>
        /// <param name="settingsFile">Имя настройки</param>
        /// <returns>описание ошибки или "ok"</returns>
        public void SaveChanges(string settingName)
        {
            Logger       logger   = LogManager.GetCurrentClassLogger();
            LogEventInfo theEvent = new LogEventInfo(LogLevel.Debug, logger.Name, settingName + ": Начало выгрузки изменений");

            theEvent.Properties["SettingsName"] = settingName;
            logger.Log(theEvent);
            //logger.Debug(settingName+": Начало выгрузки изменений");

            var baseConfig = GetBaseConfig(settingName);

            SetCurrentStatus(settingName, Job.LocalSave, JobStatus.Process);
            OnExchangeProcess(GetCurrentStatus(settingName));

            using (_1Cv8 v8 = new _1Cv8(baseConfig.baseInfo))
            {
                try
                {
                    v8.Connect();
                    if (baseConfig.IsUniversalExchangeXML)
                    {
                        v8.SaveUniversalXML(baseConfig.NameOfPlan, baseConfig.CodeOfNode, baseConfig.filenameRules);
                    }
                    else
                    {
                        v8.SaveChanges(baseConfig.NameOfPlan, baseConfig.CodeOfNode);
                    }
                    SetCurrentStatus(settingName, Job.LocalSave, JobStatus.Complite);
                }
                catch (Exception error)
                {
                    string e = "";
                    if (error.InnerException != null)
                    {
                        e = error.InnerException.Message;
                    }
                    else
                    {
                        e = error.Message;
                    }
                    //v8.Dispose();
                    theEvent = new LogEventInfo(LogLevel.Error, logger.Name, e);
                    theEvent.Properties["SettingsName"] = settingName;
                    logger.Log(theEvent);
                    //logger.Error(e);
                    SetCurrentStatus(settingName, Job.LocalSave, JobStatus.Error, e);
                }
            }

            theEvent = new LogEventInfo(LogLevel.Info, logger.Name, settingName + ": Конец выгрузки изменений");
            theEvent.Properties["SettingsName"] = settingName;
            logger.Log(theEvent);
            //logger.Info(settingName+": Конец выгрузки изменений");

            baseConfig = GetBaseConfig(settingName);
            baseConfig.LastExchangeDate = DateTime.Now;
            SaveSettings();

            OnExchangeProcess(GetCurrentStatus(settingName));
        }