|   |   | 
| 
 | v7: Не записываюются даные в справочник | ☑ | ||
|---|---|---|---|---|
| 0
    
        geniusbsd 13.01.17✎ 12:08 | 
        День добрый не могу понять что делаю не так 
 Пытаюсь записать реквизит в элемент справочника, при записи он не изменяется и ошибку не дает. остается просто пустым Процедура ВыполненыеРаботы() ДокИстория = СоздатьОбъект("Документ.ИсторияРаботПоКартриджу"); Спр = СоздатьОбъект("Справочник.КартриджиКлиента"); Если ПустоеЗначение(КартриджКлиента.ИстрияРабот) =1 Тогда Сообщить("Картридж у нас не был"); ДокИстория.Новый(); ДокИстория.Записать(); Если Спр.НайтиПоКоду(КартриджКлиента.Код,0) = 1 Тогда НайдКарт = Спр.ТекущийЭлемент(); НайдКарт.ИстрияРабот = ДокИстория.ТекущийДокумент(); Спр.Записать(); Сообщить("Все записано"); Иначе Сообщить("Картридж не найден"); КонецЕсли; ИНАЧЕ Сообщить("Уже заправлялся"); ОткрытьФорму(КартриджКлиента.ИстрияРабот); КонецЕсли; КонецПроцедуры | |||
| 1
    
        Альбатрос 13.01.17✎ 12:10 | 
        Может ИстОрияРабот?     | |||
| 2
    
        Slypower 13.01.17✎ 12:11 | 
        отладчик проходит строку  Спр.Записать();?
 Может поставь: Спр.ТекущийЭлемент().Записать(); | |||
| 3
    
        1dvd 13.01.17✎ 12:12 | 
        НайдКарт = Спр.ТекущийЭлемент();
 НайдКарт.ИстрияРабот = ДокИстория.ТекущийДокумент(); Спр.Записать(); Это что за порнография? | |||
| 4
    
        Slypower 13.01.17✎ 12:12 | 
        или же НайдКарт.Записать()?     | |||
| 5
    
        1dvd 13.01.17✎ 12:12 | 
        ТекущийЭлемент() возвращает ссылку, а тебе нужен объект     | |||
| 6
    
        Slypower 13.01.17✎ 12:13 | 
        (3) это в справичнике Реквизит Документ, который должен быть записан. Поэтому и нужно:НайдКарт.Записать()     | |||
| 7
    
        Cool_Profi 13.01.17✎ 12:13 | 
        НайдКарт = Спр.ТекущийЭлемент();
 НайдКарт.ИстрияРабот = ДокИстория.ТекущийДокумент(); НайдКарт.Записать(); | |||
| 8
    
        1dvd 13.01.17✎ 12:16 | 
        (7) садись, два     | |||
| 9
    
        Cool_Profi 13.01.17✎ 12:16 | 
        (8) обоснуй     | |||
| 10
    
        1dvd 13.01.17✎ 12:16 | 
        Если Спр.НайтиПоКоду(КартриджКлиента.Код,0) = 1 Тогда
 Спр.ИстрияРабот = ДокИстория.ТекущийДокумент(); Спр.Записать(); Сообщить("Все записано"); | |||
| 11
    
        1dvd 13.01.17✎ 12:16 | 
        (9) см (5)     | |||
| 12
    
        geniusbsd 13.01.17✎ 12:17 | 
        Я так пробывал 
 НайдКарт.Записать(); {Документ.ЗаправкаИвосстановлениекартриджей.Форма.Модуль(14)}: Не выбран элемент! | |||
| 13
    
        geniusbsd 13.01.17✎ 12:17 | 
        Справочник Подчиненый     | |||
| 14
    
        Tatitutu 13.01.17✎ 12:19 | 
        (13) он у тебя случайно не периодический ?     | |||
| 15
    
        Cool_Profi 13.01.17✎ 12:21 | 
        (12) Тогда (10)
 (11) возможно, ты прав. в 77 понятия ссылки и объекта поменялись местами | |||
| 16
    
        silent person 13.01.17✎ 12:24 | 
        в (5) написали правильно вместо этого:
 НайдКарт = Спр.ТекущийЭлемент(); НайдКарт.ИстрияРабот = ДокИстория.ТекущийДокумент(); Спр.Записать(); надо писать так Спр.ИстрияРабот = ДокИстория.ТекущийДокумент(); Спр.Записать(); | |||
| 17
    
        silent person 13.01.17✎ 12:25 | 
        ну и "ИстрияРабот"  лучше исправить на "ИсторияРабот"     | |||
| 18
    
        Cool_Profi 13.01.17✎ 12:25 | 
        (17) Почему история, а не истерия? )     | |||
| 19
    
        1dvd 13.01.17✎ 12:29 | 
        в (14) правильный вопрос задали     | |||
| 20
    
        geniusbsd 13.01.17✎ 12:34 | 
        Всем Спасибо получилось  как (16)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |