АИС "Работа с покупателями"

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

?ишут файлы dbf

// Параметры:

// ImjaProc - имя вызываемой процедуры

// ImjaKat - каталог, из которого будут загружены таблицы

// ImjaTabl - имя таблицы

 

DataTable Vigr(string ImjaProc, string ImjaKat, string ImjaTabl)

{

// object ost;

int i;

string rez;

DataSet dt = new DataSet();

DataTable ddt = new DataTable();

if (podkluchenie())

{// Если удалось подключиться

try

{

rez = Procedura1C_tz(ImjaProc, "").ToString();

// Теперь у нас всё как надо - выгрузилась БД в файл.

// Подключаемся к ней через ADO.NET

string konekt = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ImjaKat+";Extended Properties=dBase IV;mode=Read|Write|Share Deny None";

string zapr = "Select * from " + ImjaTabl;

OleDbDataAdapter adapt = new OleDbDataAdapter(zapr, konekt);

adapt.Fill(dt, ImjaTabl);

//ds.WriteXml(@"C:\ttt.xml");

_1C.InvokeMember("ExitSystem", BindingFlags.InvokeMethod, null, tor, new object[] { 0 });

tor = null;

_1C = null;

return dt.Tables[0];

}

catch

{// Если возникла ошибка

_1C.InvokeMember("ExitSystem", BindingFlags.InvokeMethod, null, tor, new object[] { 0 });

tor = null;

_1C = null;

return ddt;

}

}

else

{ // Если не удалось подключиться

_1C.InvokeMember("ExitSystem", BindingFlags.InvokeMethod, null, tor, new object[] { 0 });

tor = null;

_1C = null;

return ddt;

}

}

 

[WebMethod]

public

//******************************************************************************

// Возвращает Количество оставшегося товара по его коду

string OstatokPoKodu(string nom) {

string ost;

ost = "Пусто";

if (podkluchenie()){

ost = Procedura1C_par("GlVozrOst", nom).ToString();

_1C = null;

return ost;

}else{

_1C = null;

return null;

}

}

[WebMethod]

public

//******************************************************************************

// Сохраняет номенклатуру

DataTable VigruzNom(){

return Vigr("GlVozrNom", @"C:\BD_WB\nomen\", "nomen");

}

 

[WebMethod]

public

//******************************************************************************

// Сохраняет и передаёт цены

DataTable VigruzCeni()

{

return Vigr("GlVozrCeni", @"C:\BD_WB\ceni\", "ceni");

}

 

[WebMethod]

public

//******************************************************************************

// Сохраняет и передаёт остатки

DataTable VigruzOst()

{

return Vigr("GlVozrOstatki", @"C:\BD_WB\ost_osnov\", "ost");

}

}

ПРИЛОЖЕНИЕ В

Функции глобального модуля,

формирующие данные для WEB Службы.

ФункцияглВернутьЦену(Номенклатура,ТипЦены,ДатаЦены=0,ЦенаЦены=0,ЕдЦены=0,ВалЦены=0,НаценкаЦены=0,НайденнаяЦена=0,НеДобавИздержки=0)ЭкспортДалее

ФункцияGlVozrOst(кд_ном)ЭкспортДалее
ФункцияGlVozrCeni()ЭкспортДалее
ФункцияGlVozrNom()ЭкспортДалее


//###############################################################################
//БлокдляработысинтернетмагазиномчерезWebслужбу

//*******************************************************************
//Функциявозвращаетпараметрпоимениизфайлаnastr.txtрабочегокаталога
//Форматфайла:
//строкиначинающиесяс#-коментарии
//имяпараметразадаётсякак[имя],азначениележитнастрочкувнизу
ФункцияПарамПоИмени(пар)
ПеремномСтрок;
Перемстр;

Ткст=СоздатьОбъект("Текст");
Ткст.КодоваяСтраница(0);
Ткст.Открыть(КаталогИБ()+"nastr.txt");
номСтрок=1;
ПоканомСтрок<=Ткст.КоличествоСтрок()Цикл
стр=Ткст.ПолучитьСтроку(номСтрок);
//удаляемпробелывначалеиконцестроки
СокрЛП(стр);
ЕслистрДлина(стр)>0Тогда
//Есликоментарий,топропускаем
ЕслиЛев(стр,1)="#"Тогда
номСтрок=номСтрок+1;
Продолжить;
КонецЕсли;
//Есликакойтопараметр,тогда
ЕслиЛев(стр,1)="["Тогда
стр=лев(стр,стрДлина(стр)-1);
стр=прав(стр,стрДлина(стр)-1);
//Еслиэтотпараметр-искомый
Еслистр=парТогда
ВозвратСокрЛП(Ткст.ПолучитьСтроку(номСтрок+1));
КонецЕсли;
КонецЕсли;
КонецЕсли;
номСтрок=номСтрок+1;
КонецЦикла;
Возврат"0";//Еслиничегоненашли-возвращаетноль
КонецФункции

//******************************************************************
//Функциявозвращаетколичествотоварапоегокоду,преднозначенадлявыводачерезWebслужбу

ФункцияGlVozrOst(кд_ном)Экспорт
ПеремОст;

Ном=создатьОбъект("Справочник.Номенклатура");
Склд=СоздатьОбъект("Справочник.Склады");
Регр=СоздатьОбъект("Регистр.ОстаткиТМЦ");

Склд.НайтиПоКоду("00001");
Ном.НайтиПоКоду(кд_ном);

Ост=0;
Ост=Регр.СводныйОстаток(,ном.ТекущийЭлемент(),Склд.ТекущийЭлемент(),,"Количество");

ВозвратОст;
КонецФункции

//*******************************************************************
//Функциявозвращаеттаблицузначений-номенклатурускодомиеёпараметры

ФункцияGlVozrNom()Экспорт
ПеремОст,ТабЗн;
ПеремКатВыгр;

Запрос=СоздатьОбъект("Запрос");
ТекстЗапроса=
"//{{ЗАПРОС(Номенклатура)
|Ном=Справочник.Номенклатура.ТекущийЭлемент;
|ГруппировкаНом;"//}}ЗАПРОС
;

ЕслиЗапрос.Выполнить(ТекстЗапроса)=0Тогда