7.7 Как отредактировать существующий документ из модуля?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем SandMan_ch, 14 янв 2008.

  1. TopicStarter Overlay
    SandMan_ch
    Offline

    SandMan_ch

    Регистрация:
    11 янв 2008
    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    1
    Код:
    Док=СоздатьОбъект("Документ");
    Док.ВыбратьДокументы("01.01.2001","01.01.2008");
    Пока Док.ПолучитьДокумент()>0 Цикл
    Док.НомерДок=МойНомер;
    Док.Записать();
    КонецЦикла;
    
    При попытке записи выдает ошибку "Не выбран документ!". Я делаю вывод, что чтобы изменить значение реквизита уже существующего документа, нужно делать как-то иначе. Есть у кого идеи?
  2. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    Док.ТекущийДокумент().НомерДок
  3. liseluha
    Offline

    liseluha

    Регистрация:
    29 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    а если использую метод УстановитьАтрибут...приведите пожалуйста подробный пример?
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Немного не правильный подход.
    Реквизит НомерДок является индексируемым, поэтому его изменение в цикле не допустимо (с датой тоже могут возникнуть ньюансы). Для остальных реквизитов это ограничение не действует, меняйте наздоровье.
  5. liseluha
    Offline

    liseluha

    Регистрация:
    29 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Код:
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат 0;
    КонецЕсли;	
    
    Докум = СоздатьОбъект("Документ." + Вид);
    Если Запрос.Группировка(1) = 1 Тогда
    Докум.НайтиДокумент(Запрос.Документ.ТекущийДокумент());
    //мне нужен первый в списке
    Возврат Докум.ТекущийДокумент();
    КонецЕсли;	
    Возврат ""; 
    
    Затем я меняю значения атрибутов у полученного документа


    Код:
           Докум.УстановитьАтрибут(СтрДок, Значение);
    Докум.Записать();
    
    И здесь происходит ошибка (495) Не выбран документ!

    Виды документов совпадают. Помогите!?
  6. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Значит до строки:
    нужно написать:
    Код:
    Если Докум.Выбран() = 0 тогда
    Сообщить("Неправильно выбран документ. Буду учиться пользоваться отладчиком");
    КонецЕсли;
    
    это должно помочь
  7. GalFord
    Offline

    GalFord Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    26

Поделиться этой страницей