Имя: Пароль:
1C
1С v8
Свойства в договоре контрагента
0 Простенький вопросик
 
15.11.11
14:32
Вопрос такой. Как программно в 1с 8.2 УТ 10.3 заполнить свойства (которые создаются на закладке "свойства") в договоре контрагента. Желательно с примером кода.
1 BarakuzA
 
15.11.11
14:34
как я понял, все отражается в соответствующем регистре сведений. надо смотреть в конфигураторе их.
           Набор = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
           Набор.Отбор.Объект.Установить(СтрокаТЧ.Номенклатура);
           Набор.Отбор.Свойство.Установить(ВыбранноеСвойствоОбъекта);
           
           Запись            = Набор.Добавить();
           Запись.Объект    = СтрокаТЧ.Номенклатура;
           Запись.Свойство    = ВыбранноеСвойствоОбъекта;
           Запись.Значение    = ПолеВводаДействия;
           
           Попытка
               Набор.Записать(Истина);
               Сообщить(СтрокаТЧ.Номенклатура);
           Исключение
               ОписаниеОшибки = КраткоеОписаниеОшибки(ОписаниеОшибки());
               Сообщить(СтрокаТЧ.Номенклатура.Артикул + " | " + СтрокаТЧ.Номенклатура + " - " + ОписаниеОшибки, СтатусСообщения.Важное);
           КонецПопытки;
2 Простенький вопросик
 
15.11.11
14:36
А как это применительно к договорам контрагентов сделать? Я пробовал так, у меня 1с ругается что объект не выбран.

/////-------------------------------
ЗаписьРегистра1 = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
   ЗаписьРегистра1.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("000000008");
   ЗаписьРегистра1.Объект   = НовыйДоговор;
   ЗаписьРегистра1.Значение = "11111111";
   ЗаписьРегистра1.Записать();
//////------------------------------
3 BarakuzA
 
15.11.11
14:39
а полностью?
4 Простенький вопросик
 
15.11.11
14:44
уф=Новый COMОбъект("Excel.Application");
   внешний = уф.WorkBooks.Open (ПутьКфайлу1);
    группы = Новый Массив(6);
    группы[0]=0;
лист=внешний.Sheets(1);


й=4;

пока  значениезаполнено(лист.cells(й,2).value) и й<111  цикл
       строкаПоиска=сокрлп(лист.cells(й,10).value);
    КонтрагентДляПоиска = справочники.Контрагенты.НайтиПоНаименованию(строкаПоиска);      
     стр2= КонтрагентДляПоиска;

     Если стрдлина(КонтрагентДляПоиска)>2 и стрдлина(сокрлп(лист.cells(й,10).value))>2   тогда
    стр2= КонтрагентДляПоиска;
   НовыйДоговор=Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
   НовыйДоговор.Владелец = стр2.Ссылка;
   НовыйДоговор.ВалютаВзаиморасчетов=справочники.Валюты.НайтиПоКоду("643");
    НовыйДоговор.Организация=справочники.Организации.НайтиПоКоду("000000002");
   НовыйДоговор.ВедениеВзаиморасчетов=перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
   Если стр2.Покупатель=Истина тогда
   НовыйДоговор.ВидДоговора=перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
иначе
       НовыйДоговор.ВидДоговора=перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
   конецесли;
      НовыйДоговор.Наименование="Договор на обслуживание ККМ";
      НовыйДоговор.ВидВзаиморасчетов=справочники.ВидыВзаиморасчетов.НайтиПоКоду("000000001");    
         НовыйДоговор.ТипЦен=справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001");      
НовыйДоговор.Записать();

/////-------------------------------
ЗаписьРегистра1 = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
   ЗаписьРегистра1.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("000000008");
   ЗаписьРегистра1.Объект   = НовыйДоговор;
   ЗаписьРегистра1.Значение = "11111111";
   ЗаписьРегистра1.Записать();
//////------------------------------

 НовыйДоговор.Записать();

   конецесли;

        КонтрагентДляПоиска="";
         й=й+1;
      сообщить(й);

конеццикла;
 
внешний.Close(False);
5 alkov
 
15.11.11
14:52
Сделайте меня развидеть это
6 hhhh
 
15.11.11
15:04
Если стрдлина(КонтрагентДляПоиска)>2 - вот это круто. И плагиата главное нет.
7 Простенький вопросик
 
15.11.11
15:12
Ну у меня черновой код, потом поправлю. Вы мне по сути вопроса главное скажите.
8 Tonik
 
15.11.11
19:44
ЗаписьРегистра1.Объект   = НовыйДоговор.Ссылка?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.