Тема: 1с 7.7+JScript: Изменить значение периодического реквизита справочника
Здравствуйте все.
Дело такое. Хочется, скорее даже необходимо, с подключиться к 1с с помощью СОМ- соединения и поменять значение НАИМЕНОВАНИЯ номенклатуры и периодического реквизита номенклатуры, если конкретно, ЦЕНЫ!
Меняю название:
var v77 = new ActiveXObject("v77.Application");
path = "c:\\1cBase\\";
user = "Администратор";
pass = "";
connPath = "/D"+path+" /N"+user+" /P"+pass+"";
v77.Initialize(v77.RMTrade,connPath,0);
spr_nom = v77.CreateObject("Справочник.Номенклатура");
spr_cen = v77.CreateObject("Справочник.Цены");
var d = new Date();
if (spr_nom.FindByCode('000549',0)) {
spr_nom.Наименование = "Новое название";
spr_nom.Write();
}
Этот код пашет. Теперь пробую поменять цену:
var v77 = new ActiveXObject("v77.Application");
path = "c:\\1cBase\\";
user = "Администратор";
pass = "";
connPath = "/D"+path+" /N"+user+" /P"+pass+"";
v77.Initialize(v77.RMTrade,connPath,0);
spr_nom = v77.CreateObject("Справочник.Номенклатура");
spr_cen = v77.CreateObject("Справочник.Цены");
spr_tip_cen = v77.CreateObject("Справочник.ТипыЦен");
spr_val = v77.CreateObject("Справочник.Валюты");
spr_ed = v77.CreateObject("Справочник.Единицы");
spr_tip_cen.FindByCode("00002",0);
spr_tip_cen = spr_tip_cen.CurrentItem();
spr_val.FindByCode('810',0);
spr_val = spr_val.CurrentItem();
var d = new Date();
var today = (d.getDate()<10?"0"+d.getDate():d.getDate())+"."+ (d.getMonth()<10?"0"+d.getMonth():d.getMonth()) +"."+d.getFullYear();
var base77 = new Array ()
if (spr_nom.FindByCode('000549',0)) {
spr_cen.UseOwner(spr_nom);
spr_cen.SelectItems();
Cena = spr_cen.Цена.GetValue(today);
WScript.Echo(Cena); //Получить цену получается, а вот записать...
spr_cen.ТипЦен = spr_tip_cen;
spr_cen.Валюта = spr_val;
spr_cen.Цена="12500";
spr_cen.UseDate(today);
spr_cen.Write();
}
Тут я потерял полный рабочий день, так ничего и не нагуглив и не пришел ни к какому результату.
Кто-нибудь сталкивался?