Имя: Пароль:
1C
1C 7.7
v7: В Документе ссылка на справочник
0 goldenhawk
 
23.04.15
10:41
Если у нас  есть Док1. В табличной части реквизит Рек1 -ссылка на справочник Спр1.

Как записать значение в Док1.Рек1 ?
Как взять значение по ссылке Док1.Рек1 ?
1 Defender aka LINN
 
23.04.15
10:42
=
2 Ненавижу 1С
 
гуру
23.04.15
10:43
у строки нужной табличной части есть этот реквизит
3 goldenhawk
 
23.04.15
10:48
Можно пример кода привести?
Я совсем не разбираюсь в этом.
Спасибо.
4 silent person
 
23.04.15
10:49
записать значение
Док1.Рек1 = <Значение>;

просто прочитать
Переменная = Док1.Рек1;

если этот элемент справочника надо изменить
СпрКакойто = СоздатьОбъект("Справочник.ИмяСправочника")
СпрКакойто.НайтиЭлемент(Док1.Рек1);
СпрКакойто.РеквизитСправочника = ЧтоТо;
СпрКакойто.Записать();
5 goldenhawk
 
23.04.15
10:58
записать значение
Док1.Рек1 = <Значение>;

просто прочитать
Переменная = Док1.Рек1;

Док1.Рек1- это ссылка на справочник.

Переменная = Док1.Рек1;--тут он вернет строку всех значений, т.е. можно написать Док1.Рек1.Наименование , Док1.Рек1.Колонка333 ????

Док1.Рек1 = <Значение>; Значение чем может быть. если мне надо Найти Строку в Справочнике???
6 silent person
 
23.04.15
11:01
расшифруй вот эти понятия "строку всех значений" и "если мне надо Найти Строку в Справочнике???"
7 goldenhawk
 
23.04.15
11:05
Мне надо сделать:

ТаблицаРезультат    = СоздатьОбъект("ТаблицаЗначений");
ТаблицаРезультат.НоваяКолонка("КодТары",,,,"КодТары",20);
ТаблицаРезультат.НоваяКолонка("НаименованиеТары",,,,"НаименованиеТары",20);
ТаблицаРезультат.НоваяКолонка("КодТНВЭД",,,,"КодТНВЭД",20)
...

СпрВУ=СоздатьОбъект("Справочник.ВидыУпаковки");
ДокТабЧастьВУ=СоздатьОбъект("Документ.ТабЧастьВУ");
ДокТабЧастьВУ.ВыбратьСтроки();

Пока  ДокТабЧастьВУ.ПолучитьСтроку() = 1 Цикл
    
ТаблицаРезультат.НоваяСтрока();
СпрВУ.Найти(ДокТабЧастьВУ.КодТары);    ..тут не знаю как сделать
              
ТаблицаРезультат.КодТары    = СпрВУ.Код;    
ТаблицаРезультат.НаименованиеТары= СпрВУ.Наименование;  
ТаблицаРезультат.КодТНВЭД        = СпрВУ.КодТНВЭД;
ТаблицаРезультат.Вес               = ДокТабЧастьВУ.ВесЕдиницы;
ТаблицаРезультат.Колво            = ДокТабЧастьВУ.Количество;
ТаблицаРезультат.ВесВсего    = ДокТабЧастьВУ.ВесВсего;
          
КонецЦикла;
8 goldenhawk
 
23.04.15
11:09
и еще добавление строки в документ

СпрВУ=СоздатьОбъект("Справочник.ВидыУпаковки");
ДокТабЧастьВУ=СоздатьОбъект("Документ.ТабЧастьВУ");
  
ДокТабЧастьВУ.НайтиДокумент(ТабЧастьВУ);    

    // записываем новые данные
ДМВНоменклатуре.ВыбратьСтроки();
Пока ДМВНоменклатуре.ПолучитьСтроку() = 1 Цикл        
            
СпрВУ.НайтиПоКоду(ДМВНоменклатуре.КодТары);
ДокТабЧастьВУ.НоваяСтрока();
ДокТабЧастьВУ.КодТары                = СпрВУ.Код;
ДокТабЧастьВУ.НаименованиеТары    = СпрВУ.Наименование;
ДокТабЧастьВУ.КодТНВЭД            = СпрВУ.КодТНВЭД;    
ДокТабЧастьВУ.ВесЕдиницы       = ДМВНоменклатуре.Вес;
ДокТабЧастьВУ.Количество    = ДМВНоменклатуре.Колво;
ДокТабЧастьВУ.ВесВсего            = ДМВНоменклатуре.ВесВсего;    
ДокТабЧастьВУ.Записать();                                                
    
    КонецЦикла;
9 goldenhawk
 
23.04.15
11:11
точнее
// записываем новые данные

ДМВНоменклатуре.ВыбратьСтроки();
Пока ДМВНоменклатуре.ПолучитьСтроку() = 1 Цикл        
            
СпрВУ.НайтиПоКоду(ДМВНоменклатуре.КодТары);
ДокТабЧастьВУ.НоваяСтрока();
ДокТабЧастьВУ.КодТары              = СпрВУ.Код;здесь ссылку передать нужно в документ
  
ДокТабЧастьВУ.ВесЕдиницы       = ДМВНоменклатуре.Вес;
ДокТабЧастьВУ.Количество    = ДМВНоменклатуре.Колво;
ДокТабЧастьВУ.ВесВсего            = ДМВНоменклатуре.ВесВсего;    
ДокТабЧастьВУ.Записать();                                                
    
    КонецЦикла;
10 silent person
 
23.04.15
11:11
СпрВУ.НайтиПоКоду(ДокТабЧастьВУ.КодТары,0); 0 - если нумерация справочника "Во всем справочнике"

ты же в (1) говорил что у тебя в документе есть ссылка на справочник а в (8) у тебя нет ссылки на справочник в табличной части, там только Код,Наименование и ТНВЭД
11 silent person
 
23.04.15
11:13
тип реквизита документа "КодТары" какой ?
12 goldenhawk
 
23.04.15
11:15
В документе ДокТабЧастьВУ табличная часть--- КодТары(ссылка на справочник), ВесЕдиницы,Количество,ВесВсего
13 silent person
 
23.04.15
11:20
извини, но ты уже второй день мучаешся с этой проблемой, но не можешь нормально сформулировать вопрос и ответить на заданные и похоже вообще не владеешь терминологией.
Если у тебя реквизит КодТары имеет тип "Справочник", то нафига тебе его искать по Коду вот здесь:
ТаблицаРезультат.НоваяСтрока();
СпрВУ.Найти(ДокТабЧастьВУ.КодТары);    ..тут не знаю как сделать
у тебя и так уже есть элемент справочника из которого можно получить все.
Если у тебя реквизит КодТары имеет тип "Строка" или "Число", то ссылку на справочник этому реквизиту не присвоить.
14 silent person
 
23.04.15
11:26
последняя попытка если у тебя есть ссылка на справочник в документе

СпрВУ=СоздатьОбъект("Справочник.ВидыУпаковки");

ДокТабЧастьВУ=СоздатьОбъект("Документ.ТабЧастьВУ");
ДокТабЧастьВУ.ВыбратьСтроки();

Пока  ДокТабЧастьВУ.ПолучитьСтроку() = 1 Цикл
    

ТаблицаРезультат.НоваяСтрока();

ТаблицаРезультат.КодТары    = ДокТабЧастьВУ.КодТары.Код;    
ТаблицаРезультат.НаименованиеТары= ДокТабЧастьВУ.КодТары.Наименование;  
ТаблицаРезультат.КодТНВЭД        = ДокТабЧастьВУ.КодТары.КодТНВЭД;
ТаблицаРезультат.Вес               = ДокТабЧастьВУ.ВесЕдиницы;
ТаблицаРезультат.Колво            = ДокТабЧастьВУ.Количество;
ТаблицаРезультат.ВесВсего    = ДокТабЧастьВУ.ВесВсего;
          
КонецЦикла;



// записываем новые данные


ДМВНоменклатуре.ВыбратьСтроки();
Пока ДМВНоменклатуре.ПолучитьСтроку() = 1 Цикл        
            
СпрВУ.НайтиПоКоду(ДМВНоменклатуре.КодТары);

ДокТабЧастьВУ.НоваяСтрока();
ДокТабЧастьВУ.КодТары              = СпрВУ.ТекущийЭлемент();здесь ссылку передать нужно в документ
  

ДокТабЧастьВУ.ВесЕдиницы       = ДМВНоменклатуре.Вес;
ДокТабЧастьВУ.Количество    = ДМВНоменклатуре.Колво;
ДокТабЧастьВУ.ВесВсего            = ДМВНоменклатуре.ВесВсего;    
          
    
    КонецЦикла;

ДокТабЧастьВУ.Записать();
15 goldenhawk
 
23.04.15
11:37
Спасибо за помощь
16 Vladal
 
23.04.15
11:43
Предлагаю ознакомиться с учебником - http://1c.chistov.pro/2007/12/77.html
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.