может инструкция есть? интересует добавление новых клиентов
СтрокаПодключения = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=172.20.0.65;PORT=3306;DATABASE=clients;uid=clients;pwd=xxxxxx;"; Соединение = Новый COMОбъект("ADODB.Connection"); Попытка Соединение.Open(СтрокаПодключения); исключение Сообщить("Не могу подключиться к БД"); Возврат; КонецПопытки; //проверка на то, что сервер УКМ не работает в данный момент с таблицами (начинаем) Запрос = "select count(*) from clients.signal where clients.signal.signal='busy';"; НаборЗаписей = Соединение.Execute(Запрос); Пока НаборЗаписей.Fields("count(*)").value <> 0 Цикл Сообщить("Ждем"); Пауза(5); НаборЗаписей = Соединение.Execute(Запрос); КонецЦикла; //освободился (заканчиваем) //Проверяем наличие группы классификатора клиентов, если нет - создаем //Проверяем группу Блокированные Запрос = "SELECT id FROM classifclients WHERE name = 'Блокированные'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('99','Блокированные',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Проверяем группу Группа2 Запрос = "SELECT id FROM classifclients WHERE name = 'Группа2'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('2','Группа2',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Проверяем группу Группа1 Запрос = "SELECT id FROM classifclients WHERE name = 'Группа1'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('1','Группа1',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Создаем карты и сотрудников Группа1 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДисконтныеКарты.Код, | ДисконтныеКарты.ФизЛицо, | ДисконтныеКарты.Активна, | ДисконтныеКарты.Скидка |ИЗ | Справочник.ДисконтныеКарты КАК ДисконтныеКарты |ГДЕ | ДисконтныеКарты.ПометкаУдаления = &ПометкаУдаления"; Запрос.УстановитьПараметр("ПометкаУдаления", Ложь); Выборка = Запрос.Выполнить().Выбрать(); //Чистим таблицы, если по какой-либо причине УКМ не забирал данные ЗапросСкуль = "delete from clients_operations;"; //удаляем операции по счету Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from client_card_stoplist;"; //удаляем стоп-лист карт Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from client_card;"; //удаляем карты Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from clients;"; //удаляем сотрудников Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from clients.signal;"; Соединение.Execute(ЗапросСкуль); Счетчик=1; Пока Выборка.Следующий() Цикл Если Выборка.Активна тогда Классификатор = 1; Если День(ТекущаяДата()) = 1 тогда //1-го числа каждого месяца устанавливаем баланс счета=Скидка по карте*1000 Мес = ?(СтрДлина(Месяц(ТекущаяДата()))=1,"0"+Месяц(ТекущаяДата()),Месяц(ТекущаяДата())); Ден = ?(СтрДлина(День(ТекущаяДата()))=1,"0"+День(ТекущаяДата()),День(ТекущаяДата())); Ч = ?(СтрДлина(Час(ТекущаяДата()))=1,"0"+Час(ТекущаяДата()),Час(ТекущаяДата())); М = ?(СтрДлина(Минута(ТекущаяДата()))=1,"0"+Минута(ТекущаяДата()),Минута(ТекущаяДата())); С = ?(СтрДлина(Секунда(ТекущаяДата()))=1,"0"+Секунда(ТекущаяДата()),Секунда(ТекущаяДата())); Ном = "" + Прав(Год(ТекущаяДата()),2)+ Мес + Ден + Ч +М + С + Формат(Счетчик,"ЧГ=0"); Дат = ТекущаяДата(); Лимит = ?(Выборка.Скидка=0,0,Формат(Выборка.Скидка*1000, "ЧГ=0")); //лимит записан в поле "Скидка" в тысячах рублей ЗапросСкуль = "insert into clients_operations (id,account_id,client,number,date,operation_date,amount,type,version) values("+Ном+",1,"+Выборка.Код+","+Ном+",STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),"+Лимит+",1,1)"; Соединение.Execute(ЗапросСкуль); Счетчик = Счетчик + 1; КонецЕсли; иначе Классификатор = 99; Мес = ?(СтрДлина(Месяц(ТекущаяДата()))=1,"0"+Месяц(ТекущаяДата()),Месяц(ТекущаяДата())); Ден = ?(СтрДлина(День(ТекущаяДата()))=1,"0"+День(ТекущаяДата()),День(ТекущаяДата())); Ч = ?(СтрДлина(Час(ТекущаяДата()))=1,"0"+Час(ТекущаяДата()),Час(ТекущаяДата())); М = ?(СтрДлина(Минута(ТекущаяДата()))=1,"0"+Минута(ТекущаяДата()),Минута(ТекущаяДата())); С = ?(СтрДлина(Секунда(ТекущаяДата()))=1,"0"+Секунда(ТекущаяДата()),Секунда(ТекущаяДата())); Ном = "" + Прав(Год(ТекущаяДата()),2)+ Мес + Ден + Ч +М + С + Формат(Счетчик,"ЧГ=0"); Дат = ТекущаяДата(); ЗапросСкуль = "insert into clients_operations (id,account_id,client,number,date,operation_date,amount,type,version) values("+Ном+",1,"+Выборка.Код+","+Ном+",STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),0,1,1)"; Соединение.Execute(ЗапросСкуль); Счетчик = Счетчик + 1; КонецЕсли; ЗапросСкуль = "insert into clients (id,classifclient,sur_name,active,version,deleted) values("+Выборка.Код+","+Классификатор+",'"+Выборка.ФизЛицо+"',1,1,0);"; //сотрудник Соединение.Execute(ЗапросСкуль); Если Выборка.Активна = 1 тогда //карта ЗапросСкуль = "insert into client_card (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,0);"; иначе ЗапросСкуль = "insert into client_card_stoplist (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,0);"; КонецЕсли; Соединение.Execute(ЗапросСкуль); КонецЦикла; //Все данные закачены, разрешаем УКМ забрать их Запрос = "insert into clients.signal (clients.signal.signal,version) values('incr',1);"; Соединение.Execute(Запрос);
СтрокаПодключения = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=172.20.0.65;PORT=3306;DATABASE=clients;uid=clients;pwd=xxxxxx;"; Соединение = Новый COMОбъект("ADODB.Connection"); Попытка Соединение.Open(СтрокаПодключения); исключение Сообщить("Не могу подключиться к БД"); Возврат; КонецПопытки; //проверка на то, что сервер УКМ не работает в данный момент с таблицами (начинаем) Запрос = "select count(*) from clients.signal where clients.signal.signal='busy';"; НаборЗаписей = Соединение.Execute(Запрос); Пока НаборЗаписей.Fields("count(*)").value <> 0 Цикл Сообщить("Ждем"); Пауза(5); НаборЗаписей = Соединение.Execute(Запрос); КонецЦикла; //освободился (заканчиваем) //Проверяем наличие группы классификатора клиентов, если нет - создаем //Проверяем группу Блокированные Запрос = "SELECT id FROM classifclients WHERE name = 'Блокированные'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('99','Блокированные',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Проверяем группу Группа2 Запрос = "SELECT id FROM classifclients WHERE name = 'Группа2'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('2','Группа2',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Проверяем группу Группа1 Запрос = "SELECT id FROM classifclients WHERE name = 'Группа1'"; НаборЗаписей = Соединение.Execute(Запрос); Если НаборЗаписей.EoF() тогда Запрос = "insert into classifclients (id,name,version,deleted) values ('1','Группа1',1,0);"; Соединение.Execute(Запрос); КонецЕсли; //Создаем карты и сотрудников Группа1 Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДисконтныеКарты.Код, | ДисконтныеКарты.ФизЛицо, | ДисконтныеКарты.Активна, | ДисконтныеКарты.Скидка |ИЗ | Справочник.ДисконтныеКарты КАК ДисконтныеКарты |ГДЕ | ДисконтныеКарты.ПометкаУдаления = &ПометкаУдаления"; Запрос.УстановитьПараметр("ПометкаУдаления", Ложь); Выборка = Запрос.Выполнить().Выбрать(); //Чистим таблицы, если по какой-либо причине УКМ не забирал данные ЗапросСкуль = "delete from clients_operations;"; //удаляем операции по счету Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from client_card_stoplist;"; //удаляем стоп-лист карт Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from client_card;"; //удаляем карты Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from clients;"; //удаляем сотрудников Соединение.Execute(ЗапросСкуль); ЗапросСкуль = "delete from clients.signal;"; Соединение.Execute(ЗапросСкуль); Счетчик=1; Пока Выборка.Следующий() Цикл Если Выборка.Активна тогда Классификатор = 1; Если День(ТекущаяДата()) = 1 тогда //1-го числа каждого месяца устанавливаем баланс счета=Скидка по карте*1000 Мес = ?(СтрДлина(Месяц(ТекущаяДата()))=1,"0"+Месяц(ТекущаяДата()),Месяц(ТекущаяДата())); Ден = ?(СтрДлина(День(ТекущаяДата()))=1,"0"+День(ТекущаяДата()),День(ТекущаяДата())); Ч = ?(СтрДлина(Час(ТекущаяДата()))=1,"0"+Час(ТекущаяДата()),Час(ТекущаяДата())); М = ?(СтрДлина(Минута(ТекущаяДата()))=1,"0"+Минута(ТекущаяДата()),Минута(ТекущаяДата())); С = ?(СтрДлина(Секунда(ТекущаяДата()))=1,"0"+Секунда(ТекущаяДата()),Секунда(ТекущаяДата())); Ном = "" + Прав(Год(ТекущаяДата()),2)+ Мес + Ден + Ч +М + С + Формат(Счетчик,"ЧГ=0"); Дат = ТекущаяДата(); Лимит = ?(Выборка.Скидка=0,0,Формат(Выборка.Скидка*1000, "ЧГ=0")); //лимит записан в поле "Скидка" в тысячах рублей ЗапросСкуль = "insert into clients_operations (id,account_id,client,number,date,operation_date,amount,type,version) values("+Ном+",1,"+Выборка.Код+","+Ном+",STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),"+Лимит+",1,1)"; Соединение.Execute(ЗапросСкуль); Счетчик = Счетчик + 1; КонецЕсли; иначе Классификатор = 99; Мес = ?(СтрДлина(Месяц(ТекущаяДата()))=1,"0"+Месяц(ТекущаяДата()),Месяц(ТекущаяДата())); Ден = ?(СтрДлина(День(ТекущаяДата()))=1,"0"+День(ТекущаяДата()),День(ТекущаяДата())); Ч = ?(СтрДлина(Час(ТекущаяДата()))=1,"0"+Час(ТекущаяДата()),Час(ТекущаяДата())); М = ?(СтрДлина(Минута(ТекущаяДата()))=1,"0"+Минута(ТекущаяДата()),Минута(ТекущаяДата())); С = ?(СтрДлина(Секунда(ТекущаяДата()))=1,"0"+Секунда(ТекущаяДата()),Секунда(ТекущаяДата())); Ном = "" + Прав(Год(ТекущаяДата()),2)+ Мес + Ден + Ч +М + С + Формат(Счетчик,"ЧГ=0"); Дат = ТекущаяДата(); ЗапросСкуль = "insert into clients_operations (id,account_id,client,number,date,operation_date,amount,type,version) values("+Ном+",1,"+Выборка.Код+","+Ном+",STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),STR_TO_DATE('"+Дат+"','%d.%m.%Y %H:%i:%s'),0,1,1)"; Соединение.Execute(ЗапросСкуль); Счетчик = Счетчик + 1; КонецЕсли; ЗапросСкуль = "insert into clients (id,classifclient,sur_name,active,version,deleted) values("+Выборка.Код+","+Классификатор+",'"+Выборка.ФизЛицо+"',1,1,0);"; //сотрудник Соединение.Execute(ЗапросСкуль); Если Выборка.Активна = 1 тогда //карта ЗапросСкуль = "insert into client_card (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,0);"; Соединение.Execute(ЗапросСкуль); //удаляем из стоп-листа ЗапросСкуль = "insert into client_card_stoplist (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,1);"; Соединение.Execute(ЗапросСкуль); иначе ЗапросСкуль = "insert into client_card_stoplist (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,0);"; Соединение.Execute(ЗапросСкуль); //Удаляем из активных ЗапросСкуль = "insert into client_card (client,card_code,version,deleted) values("+Выборка.Код+","+Выборка.Код+",1,1);"; Соединение.Execute(ЗапросСкуль); КонецЕсли; КонецЦикла; //Все данные закачены, разрешаем УКМ забрать их Запрос = "insert into clients.signal (clients.signal.signal,version) values('incr',1);"; Соединение.Execute(Запрос);
select ukmserver.acc_get_balance(<id счета>,<дата-время>);