Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Заполнение полей в строках документа

Заполнение полей в строках документа
Я
   vladimirpetrov11
 
23.01.13 - 09:09
Всем привет! При выполнении записи пустых полей в строках документа выдает ошибку: "Поле объекта Дом не доступно для записи". Вопрос: Как правильно производить запись в данных случаях? Вот модуль:


        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ
        |    ркПоказанияСчетчиковСостав.ЛицевойСчет,
        |    ркПоказанияСчетчиковСостав.Дом,
        |    ркПоказанияСчетчиковСостав.Помещение
        |ИЗ
        |    Документ.ркПоказанияСчетчиков.Состав КАК ркПоказанияСчетчиковСостав
        |ГДЕ
        |    ркПоказанияСчетчиковСостав.Ссылка = &Документ";
        
        Запрос.УстановитьПараметр("Документ", Документ);
        Результат = Запрос.Выполнить();
        
        ВыбДетЗап = Результат.Выбрать();
        Сообщить("Количество записей: "+ВыбДетЗап.Количество());
        Пока ВыбДетЗап.Следующий() Цикл
            Если ЗначениеЗаполнено(ВыбДетЗап.Дом)=1 тогда
                Продолжить;
            Иначе
                Спр=Справочники.ркЛицевыеСчета.НайтиПоКоду(ВыбДетЗап.лицевойСчет.Код);
               //Сообщить(ВыбДетЗап.ЛицевойСчет);
 
                ВыбДетЗап.Дом=ВыбДетЗап.ЛицевойСчет.Дом;
                ВыбДетЗап.Помещение=ВыбДетЗап.ЛицевойСчет.Помещение;
            КонецЕсли;
 
 
   НафНаф
 
1 - 23.01.13 - 09:10
заполнять надо объект, а не ссылку
   Godofsin
 
2 - 23.01.13 - 09:11
получитьОбъект()
   DrShad
 
3 - 23.01.13 - 09:11
ты их в выборке решил заполнить?
   Godofsin
 
4 - 23.01.13 - 09:11
Когда уже закончатся вопросы подобного рода? =)
   Рэйв
 
5 - 23.01.13 - 09:12
Давон пора уже разрабам изменить сообщение об этой ошибке на 
"Поле объекта Дом не доступно для записи.ПОЛУЧИ ОБЪЕКТ,ЛОШАРА!!! "

:-)
   Рэйв
 
6 - 23.01.13 - 09:13
Сколько тем бы не создалось!
   Godofsin
 
7 - 23.01.13 - 09:14
(5) +100500 )))))
   vladimirpetrov11
 
8 - 23.01.13 - 09:16
Дерьмом облили. Сделал получение, теперь пишет "Не выбран элемент"
   НафНаф
 
9 - 23.01.13 - 09:16
(8) так выбери его!
   Рэйв
 
10 - 23.01.13 - 09:17
(8)Покажи как получил
 
 Рекламное место пустует
   vladimirpetrov11
 
11 - 23.01.13 - 09:18
Спр=Справочники.ркЛицевыеСчета.НайтиПоКоду(ВыбДетЗап.лицевойСчет.Код);
               //Сообщить(ВыбДетЗап.ЛицевойСчет);
 
                Домик=ВыбДетЗап.Дом.ПолучитьОбъект();
                Квартира=ВыбДетЗап.Помещение.ПолучитьОбъект();
                Домик=ВыбДетЗап.ЛицевойСчет.Дом;
                Квартира=ВыбДетЗап.ЛицевойСчет.Помещение;
   DrShad
 
12 - 23.01.13 - 09:18
об = Документ.ПолучитьОбъект()
Для каждого строка из Документ.Состав

и не нужно никаких запросов
   DrShad
 
13 - 23.01.13 - 09:19
(11) тебе объект дока нужно было получить а не справочников :)))))))
   vladimirpetrov11
 
14 - 23.01.13 - 09:19
Меня щас порвут я предчувствую....Всё через одно место длелал((
   DrShad
 
15 - 23.01.13 - 09:20
(14) а ты не тупи :)))
   Нуф-Нуф
 
16 - 23.01.13 - 09:20
   vladimirpetrov11
 
17 - 23.01.13 - 09:21
Вот так у меня было:
Документ я получал как объект

        Документ=ВДЗ.Ссылка.ПолучитьОбъект();
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ
        |    ркПоказанияСчетчиковСостав.ЛицевойСчет,
        |    ркПоказанияСчетчиковСостав.Дом,
        |    ркПоказанияСчетчиковСостав.Помещение
        |ИЗ
        |    Документ.ркПоказанияСчетчиков.Состав КАК ркПоказанияСчетчиковСостав
        |ГДЕ
        |    ркПоказанияСчетчиковСостав.Ссылка = &Документ";
        
        Запрос.УстановитьПараметр("Документ", Документ);
        Результат = Запрос.Выполнить();
        
        ВыбДетЗап = Результат.Выбрать();
        Сообщить("Количество записей: "+ВыбДетЗап.Количество());
        Пока ВыбДетЗап.Следующий() Цикл
            Если ЗначениеЗаполнено(ВыбДетЗап.Дом)=1 тогда
                Продолжить;
            Иначе
                Спр=Справочники.ркЛицевыеСчета.НайтиПоКоду(ВыбДетЗап.лицевойСчет.Код);
               //Сообщить(ВыбДетЗап.ЛицевойСчет);
 
                ВыбДетЗап.Дом=ВыбДетЗап.ЛицевойСчет.Дом;
                ВыбДетЗап.Помещение=ВыбДетЗап.ЛицевойСчет.Помещение;
            КонецЕсли;
            Сообщить(СокрЛП(ВыбДетЗап.Дом)+"  "+СокрЛП(ВыбДетЗап.Помещение));    
        КонецЦикла;
   KUBIK
 
18 - 23.01.13 - 09:23
(17) Щас точно порвут
   salvator
 
19 - 23.01.13 - 09:23
(17) А что мешает обращаться к ТЧ БЕЗ запроса?!
   Нуф-Нуф
 
20 - 23.01.13 - 09:24
Еббать...
   vladimirpetrov11
 
21 - 23.01.13 - 09:24
(18) Да меня здесь постоянно пинают, но помогают Слава Богу))
   DrShad
 
22 - 23.01.13 - 09:24
(17) и даже запрос сработал!? не верю!!!
   НафНаф
 
23 - 23.01.13 - 09:25
(17) выкинь все, пиши так:

Документ=ВДЗ.Ссылка.ПолучитьОбъект();
Для каждого Стр из Документ.Состав Цикл
  Если Не ЗначениеЗаполнено(Стр.Дом) Тогда
    Стр.Дом = Стр.ЛицевойСчет.Дом;
    Стр.Помещение = Стр.ЛицевойСчет.Помещение;
  КонецЕсли;
КонецЦикла;
Документ.Записать();
   vladimirpetrov11
 
24 - 23.01.13 - 09:25
(19) Понял!! Я олень
   Godofsin
 
25 - 23.01.13 - 09:25
(17) Обрати внимание на (12). Не надо никаких запросов
   vladimirpetrov11
 
26 - 23.01.13 - 09:25
(22)Сработал))
   Nzn
 
27 - 23.01.13 - 09:25
|ГДЕ
      ркПоказанияСчетчиковСостав.Ссылка = &Документ";
        
        Запрос.УстановитьПараметр("Документ", Документ);

Документ=ВДЗ.Ссылка.ПолучитьОбъект();

Не заработает
   vladimirpetrov11
 
28 - 23.01.13 - 09:27
У меня было         Документ=ВДЗ.Ссылка;
Я пробовал поставить         Документ=ВДЗ.Ссылка.ПолучитьОъект(); и программа меня послала
   salvator
 
29 - 23.01.13 - 09:27
Элемент справочника еще зачем-то получал...
   vladimirpetrov11
 
30 - 23.01.13 - 09:28
Всем спасибо!!
   vladimirpetrov11
 
31 - 23.01.13 - 09:28
(29)Я ж признался...олень))
   DrShad
 
32 - 23.01.13 - 09:30
(31) все когда-то ими были, так что не растраивайся
   Godofsin
 
33 - 23.01.13 - 09:31
(31) Свитер прикупи тематический ))))
 
 
   vladimirpetrov11
 
34 - 23.01.13 - 09:41
Было бы неплохо если б мне статус обнулили, а то уже полоска в желтенькую начинает переходить)))
(33)Книгу просил заказать от предприятия по 8-ке, начальство головой покивало и всё, так что учусь по мере возникновения проблем в программе...
   vmv
 
35 - 23.01.13 - 09:45
тс достоит уважения - его бъют ногами в живот, а он упорно идет вперед к знаниям, беру на работу)
   Godofsin
 
36 - 23.01.13 - 09:49
(34) Все норм, не парься. Реально все с этого начинали =)
   hhhh
 
37 - 23.01.13 - 10:00
(23) таки Стр.ЛицевойСчет.Дом нужно запросом получить. Потому что в цикле может тормозить.
   НафНаф
 
38 - 23.01.13 - 10:16
(37) экономия на спичках (с) Гений 1С


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует