| 
    
            
         
         | 
    
    
  | 
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     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |