8.х Метод ПолучитьОбъект не работает корректно

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

  1. TopicStarter Overlay
    Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26
    Доброго всем дня!
    Никак не могу понять, почему не срабатывает метод ПолучитьОбъект, пишет Элемент не выбран.
    Чего не так?
    Код:
    НайденныйДок=Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(Номер);
    Ссылка=НайденныйДок;
    СозданиеНового=Истина;
    Если НайденныйДок<>Неопределено Тогда
    Режим = РежимДиалогаВопрос.ДаНет;
    СтрокаСообщения="Документ с номером "+Номер+" уже существует. Перезаписать его?";
    Ответ = Вопрос(СтрокаСообщения, Режим, 0);
    Если Ответ = КодВозвратаДиалога.Да Тогда
    ДокументНовый=Ссылка.ПолучитьОбъект();
    КонецЕсли;
    Если Ответ= КодВозвратаДиалога.Нет Тогда
    СозданиеНового=Ложь;
    КонецЕсли;
    
    
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Код:
    Если НайденныйДок <> Документы.СчетНаОплатуПокупателю.ПустаяСсылка() Тогда
    
    
  3. TopicStarter Overlay
    Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26

    Нет, такой вариант почему-то не проходит. Теперь я вообще в эту ветку не попадаю...
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Значиться, такого документа не нашлось...
  5. AlexFF
    Offline

    AlexFF Разбирающийся

    Регистрация:
    6 мар 2007
    Сообщения:
    565
    Симпатии:
    1
    Баллы:
    26
    Вот так:
    Код:
    НайденныйДок=Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(Номер, Дата(2007,12,31)); 
    
    
    
    и вот так:
    Код:
    Если НЕ НайденныйДок.Пустая() Тогда
    
    
    
    И зачем так много раз перенезначать переменные?

    Я бы вот так написал:
    Код:
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    НайденныйДок=Документы.СчетНаОплатуПокупателю.НайтиПоНомеру(Номер, Дата(2007,12,31));    
    Если не НайденныйДок.Пустая() Тогда        
    Если Вопрос("Документ с номером "+Номер+" уже существует. Перезаписать его?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
    СозданиеНового=Истина;     
    ДокументНовый=НайденныйДок.ПолучитьОбъект();        
    Иначе        
    СозданиеНового=Ложь;        
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры
    
    
    
  6. TopicStarter Overlay
    Melanto
    Offline

    Melanto Опытный в 1С

    Регистрация:
    28 ноя 2007
    Сообщения:
    204
    Симпатии:
    0
    Баллы:
    26

    Э, нет. Такой документ есть, при старом варианте кода он находился, но не давался... :unsure:
    Документ точно есть, так как при попытки Записи Документа с тем самым значением номера - говорят мне, что номер не уникальный. А вот почему он не ищется - вопрос.

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