Имя: Пароль:
1C
1С v8
Ошибка: Поле объекта недоступно для записи (Документы)
,
0 Радим1987
 
26.09.16
10:10
День добрый.Проведенные документы не могу программно получить получаю такое сообщение Поле объекта недоступно для записи (Документы)? как исправить?
1 Остап Сулейманович
 
26.09.16
10:12
(0) Не нужно пытаться присвоить переменной Документы какое-либо значение.
2 Радим1987
 
26.09.16
10:12
    
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Начисления.Регистратор КАК Регистратор
        |ПОМЕСТИТЬ ВременнаяТаблица
        |ИЗ
        |    РегистрРасчета.Начисления КАК Начисления
        |
        |СГРУППИРОВАТЬ ПО
        |    Начисления.Регистратор
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    Удержания.Регистратор
        |ИЗ
        |    РегистрРасчета.Удержания КАК Удержания
        |
        |СГРУППИРОВАТЬ ПО
        |    Удержания.Регистратор
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ
        |    ЗарплатаКВыплатеОбороты.Регистратор
        |ИЗ
        |    РегистрНакопления.ЗарплатаКВыплате.Обороты(&Начало, &Конец, Регистратор, ) КАК ЗарплатаКВыплатеОбороты
        |
        |СГРУППИРОВАТЬ ПО
        |    ЗарплатаКВыплатеОбороты.Регистратор
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    БольничныйЛист.Ссылка КАК Ссылка
        |ИЗ
        |    ВременнаяТаблица КАК ВременнаяТаблица
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.БольничныйЛист КАК БольничныйЛист
        |        ПО ВременнаяТаблица.Регистратор = БольничныйЛист.Ссылка";
    
    Запрос.УстановитьПараметр("Конец", ТекущаяДата());
    Запрос.УстановитьПараметр("Начало", '20160701');
    
    РезультатЗ = Запрос.Выполнить().Выгрузить();
    
        
    Для каждого Строка из РезультатЗ Цикл
            Документы = СтрокаДок.Ссылка.ПолучитьОбъект();             
    Попытка
        Документы.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Создан документ " + Документы.Ссылка);
    Исключение
        Сообщить("Не удалось создать документ");
    КонецПопытки;

        
    КонецЦикла;
3 Amra
 
26.09.16
10:13
(2) Перечитай (1) внимательно, до полного понимания
4 Остап Сулейманович
 
26.09.16
10:15
(2) Вот здесь :
Для каждого Строка из РезультатЗ Цикл
    Документы = СтрокаДок.Ссылка.ПолучитьОбъект();            
    Попытка
        Документы.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Создан документ " + Документы.Ссылка);
    Исключение
        Сообщить("Не удалось создать документ");
    КонецПопытки;

Просто для прикола попробуй изменить "Документы" на (например) "текущийДокумент".
5 Радим1987
 
26.09.16
10:16
РезультатЗ = Запрос.Выполнить().Выбрать();
    
        
    пока РезультатЗ.Следующий() Цикл
            РезультатЗ.Ссылка.ПолучитьОбъект();             
    Попытка
        РезультатЗ.Ссылка.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Создан документ " + Документы.Ссылка);
    Исключение
        Сообщить("Не удалось создать документ");
    КонецПопытки;

        
    КонецЦикла;
6 Радим1987
 
26.09.16
10:17
получает объект только не перепроводит
7 mehfk
 
26.09.16
10:18
Потому что в (5) - копрокод.
8 Остап Сулейманович
 
26.09.16
10:19
(5) птля...

РезультатЗ = Запрос.Выполнить().Выбрать();
пока РезультатЗ.Следующий() Цикл
    Об = РезультатЗ.Ссылка.ПолучитьОбъект();            
    Попытка
        Об.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Создан документ " + Об.Ссылка);
    Исключение
        Сообщить("Не удалось создать документ");
    КонецПопытки;
КонецЦикла;

И внимательно отследи где и вместо кого стало вот этовот "Об".
9 Радим1987
 
26.09.16
10:20
решение

    РезультатЗ = Запрос.Выполнить().Выбрать();
    
    
    пока РезультатЗ.Следующий() Цикл
        
        Попытка
            РезультатЗ.Ссылка.ПолучитьОбъект().Записать(РежимЗаписиДокумента.Проведение);
            Сообщить("Создан документ " + РезультатЗ.Ссылка);
        Исключение
            Сообщить("Не удалось создать документ");
        КонецПопытки;
        
        
    КонецЦикла;
10 Радим1987
 
26.09.16
10:21
(8) твой метод не работает
11 Радим1987
 
26.09.16
10:21
Поле объекта недоступно для записи (Документы) вот это ошибку выдает
12 alexei366
 
26.09.16
10:24
(9) А чего в комментах "Создать", мы же не создаем)))) (10) Значит ты что-то не так делаешь, или код старый не потер
13 Радим1987
 
26.09.16
10:28
надо было записать вот так Сообщить("?Док перепроведен? " + РезультатЗ.Ссылка);
14 Радим1987
 
26.09.16
10:28
))) ладно тема закрыта всем Спасибо
15 Timon1405
 
26.09.16
10:29
Ты хоть понял что делал не так?
16 Остап Сулейманович
 
26.09.16
10:29
(11) А ну-ка найди в (8) хоть одно слово "Документы".
17 Радим1987
 
26.09.16
10:30
Думаю в запросе надо было добавить "для изменения"
18 aleks_default
 
26.09.16
10:31
Да нихрена он не понял. Ждем следующий тупой вопрос.
Потому что товарищи вместо того чтобы объяснить ему готовый код дали.
19 Радим1987
 
26.09.16
10:31
ИзначальноБыло не документы а Док все равно выдавал такую ошибку
20 iceman2112
 
26.09.16
10:31
его прет похоже
21 Жан Пердежон
 
26.09.16
10:32
(19) чувак, программирование походу не твоё
22 Радим1987
 
26.09.16
10:33
а нет вру
23 Радим1987
 
26.09.16
10:33
Зарезирвированное слово
24 Остап Сулейманович
 
26.09.16
10:35
(23) Ф-у-ух. Слава Тьюрингу и конечная машина пророк его.
25 Радим1987
 
26.09.16
10:36
))) спасибо всем
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан