МОСС: Ажурирање прилагођене листе

Постоји много добрих примера ажурирање прилагођене листе преко СДК. Ево још један.

Пословни проблем: ИнфоПатх образац је дизајниран тако да омогућава корисницима да уђу на мрежи дописа куповину. ПО требовање бројеви треба да буду засновани на традиционалним редослед целобројне вредности и израчунава аутоматски.

Пословна решења: Креирање прилагођене листе МОСС садржи две колоне: "ControlField" and "ControlValue". Вредност колона садржи следећу куповину Требовање број. Note that the generic "control" конвенција за именовање предвиђа будуће контроле поља која се могу користити по потреби.

Техничко решење: Написана апликација приступити ИнфоПатх клијента. Веб сервис враћа следеће куповине требовање број и исправке вредности из листе.

Научене лекције:

  • Када додајете ове веб сервиса као извор података за ИнфоПатх обрасцу, Било ми је потребно да га претворите у УДК и чувајте их у везу за пренос података библиотеке.
  • Такође сам пронашао да је неопходно да се омогући унакрсно домена скрипти преко централне административне услуге // Апликација за управљање // образац конфигурације сервера.
  • Први пут је покушао образац за приступ веб сервис, потребно је време, а повремено, Тиме би се. Ја запетља подешавања у облику конфигурације сервера да се прошири и временски период и параметре који се чинило да помогне.

Код:

коришћење Систем;
коришћење System.Web;
коришћење System.Web.Services;
коришћење System.Web.Services.Protocols;
коришћење Microsoft.SharePoint;
коришћење System.Configuration;

[Вебсервице(Namespace = "http://ввв.цонцханго.цом/")]
[ВебСервицеБиндинг(ConformsTo = ВсиПрофилес.БасицПрофиле1_1)]
јавност класа ПоСервице : System.Web.Services.Вебсервице
{
јавност ПоСервице () {

//Uncomment the following line if using designed components
//ИнитиализеЦомпонент();
}

/// <резиме>
/// Obtain the next PO number from the sharepoint po number control list.
/// Increment the PO number in that list.
/// </резиме>
/// <повраћај></повраћај>
[ВебМетход]
јавност ниска GetNextPoNumber()
{
ниска СпПоЦонтролСитеНаме; // Name of the actual MOSS site that hosts the PO Control list.
ниска СпПоЦонтролЛистНаме; // Name of the actual MOSS list containing the Po control.

SpPoControlSiteName = ЦонфигуратионСеттингс.АппСеттингс["PoControlListHostingSite"].ТоСтринг();
SpPoControlListName = ЦонфигуратионСеттингс.АппСеттингс["PoControlList"].ТоСтринг();

ниска nextPoReqNumber = "xyzzy";

коришћење (СПСите site = нови СПСите(СпПоЦонтролСитеНаме))
{
коришћење (СПВеб web = site.OpenWeb())
{

СПЛист currentList = web.Lists[СпПоЦонтролЛистНаме];

фореацх (Пљунути цонтролИтем у currentList.Items)
{

ако (((ниска)цонтролИтем["ControlField"]).Једнако("NextPoNumber"))
{
nextPoReqNumber = (ниска)цонтролИтем["ControlValue"];

инт int_nextPoReqNumber;
int_nextPoReqNumber = Претворити.ТоИнт32(нектПоРекНумбер);

int_nextPoReqNumber ;

цонтролИтем["ControlValue"] = int_nextPoReqNumber;
controlItem.Update();
}

} // Locating, reading and updating the PO number in the list.


} // using spweb web = site.openweb()
} // using spsite site = new spsite("http://localhost/mizuho")

повратак нектПоРекНумбер;

}
}

Једна мисао о "МОСС: Ажурирање прилагођене листе

  1. КСП написао:
    Здраво Павле,
    Имамо сличну ситуацију шта ви спомињете, али проблем је што желите да користите овај веб Сербии на сервер.Хенце оптерећења биланса,како се рукује захтеве конкурентности у овом случају или како да направите нову ваит захтев и само један захтев треба да ажурира листу број до тада сви остали захтеви треба да буду у куе.Плеасе да ме обавестите како да се то постигне.
    Хвала унапред.

Леаве а Репли

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *