| 
    
            
         
         | 
    
  | 
Табличная ачть в 8,3 | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        antihacker    
     09.01.15 
            ✎
    12:47 
 | 
         
        Все привет !
 
        Как в 8,3 получить текущие строки табличной части. В 8,2 вот так делал Строка=Элементы.ПолучателиТЧ.ТекущиеДанные; Строка.ДолжностьСотрудника=Строка.Сотрудник.ДолжностьСотрудника; Но в 8,3 не работает пишет что {Документ.ВходящееПисьмо.Форма.ФормаДокумента.Форма(7)}: Поле объекта не обнаружено (ДолжностьСотрудника) Строка.ДолжностьСотрудника=Строка.Сотрудник.ДолжностьСотрудника;  | 
|||
| 
    1
    
        igoza    
     09.01.15 
            ✎
    12:48 
 | 
         
        всё по русский написано...     
         | 
|||
| 
    2
    
        igoza    
     09.01.15 
            ✎
    12:49 
 | 
         
        "Табличная ачть в 8,3" боюсь там такая же бяда)     
         | 
|||
| 
    3
    
        antihacker    
     09.01.15 
            ✎
    12:50 
 | 
         
        В том то и дело что там ДолжностьСотрудника есть     
         | 
|||
| 
    4
    
        antihacker    
     09.01.15 
            ✎
    12:51 
 | 
         
        И это одна и та же конфига     
         | 
|||
| 
    5
    
        iceman2112    
     09.01.15 
            ✎
    12:57 
 | 
         
        А ты глянь через отладчик, есть там она или нет. А еще почитай про процедуры НаСервере и НаКлиенте     
         | 
|||
| 
    6
    
        Chameleon1980    
     09.01.15 
            ✎
    12:59 
 | 
         
        и на всякий имя переменной поменять     
         | 
|||
| 
    7
    
        hhhh    
     09.01.15 
            ✎
    13:04 
 | 
         
        (4) на клиенте нельзя через 2 точки обращаться. Пиши процедуру на сервере.     
         | 
|||
| 
    8
    
        antihacker    
     09.01.15 
            ✎
    13:11 
 | 
         
        Что значит через 2 точки ?     
         | 
|||
| 
    9
    
        hhhh    
     09.01.15 
            ✎
    13:32 
 | 
         
        Строка.Сотрудник.ДолжностьСотрудника
 
        только на сервере такая фигня проходит  | 
|||
| 
    10
    
        unregistered    
     09.01.15 
            ✎
    13:45 
 | 
         
        Как-то так:
 
        Строка.ДолжностьСотрудника = ПолучитьЗначениеРеквизитаНаСервере(Строка.Сотрудник, "ДолжностьСотрудника"); &НаСервереБезКонтекста Функция ПолучитьЗначениеРеквизитаНаСервере(Ссылка, ИмяРеквизита) Возврат Ссылка[ИмяРеквизита]; КонецФункции;  | 
|||
| 
    11
    
        unregistered    
     09.01.15 
            ✎
    13:48 
 | 
         
        + к (10) В типовых конфах с БСП в общих модулях есть универсальная функция получения значений реквизитов от ссылки.     
         | 
|||
| 
    12
    
        antihacker    
     09.01.15 
            ✎
    13:50 
 | 
         
        Извините. Забыл. Это голая конфига. Крме этих строк ничего нету.     
         | 
|||
| 
    13
    
        antihacker    
     09.01.15 
            ✎
    13:57 
 | 
         
        unregistered,
 
        Молоток. Теперь подскажи почему так ? В 8,3 изменился подход из за управляемых форм ? раньше было по проще.  | 
|||
| 
    14
    
        Кир Пластелинин    
     09.01.15 
            ✎
    14:42 
 | 
         
        в 8.2 поди в толстом клиенте было, не?     
         | 
|||
| 
    15
    
        unregistered    
     09.01.15 
            ✎
    15:32 
 | 
         
        (13) Дело не в формах. Дело в разделении на клиент и сервер. Условно можно считать это двумя разными компонентами одной программы. Открытая управляемая форма существует в двух экземплярах - на клиенте и на сервере.
 
        Когда ты в модуле формы в процедуре &наКлиенте у тебя есть только данные этой формы. Никаких данных базы данных у тебя нет (их не существует для клиента). Строка кода Строка.Сотрудник.ДолжностьСотрудника - есть обращение к реквизитам справочника Сотрудники. Справочник Сотрудники - таблица базы данных. Ни про какую базу данных клиент ничего не знает. Чтобы обратиться к таблицам базы данных надобно сходить на сервер. Для этого ты вызываешь функцию, которая находится на сервере (в экземпляре формы, который на сервере). В толстом клиенте в обычном приложении в подобных манипуляциях нет необходимости, т.к. клиенту доступно обращение к данным сервера (нет такого жесткого разделения на клиент и сервер). Как-то так...  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |