Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> При ПолучитьОбъект(); выдает Элемент не выбран! , Помогите не могу понять почему          
burza Подменю пользователя
сообщение 15.11.18, 13:22
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Есть документ с таблицой внутри, нужно сменить цены авто. Конфа Ут

    Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                    |    УстановкаЦенНоменклатурыТовары.Ссылка,
                    |    УстановкаЦенНоменклатурыТовары.НомерСтроки,
                    |    УстановкаЦенНоменклатурыТовары.Номенклатура,
                    |    УстановкаЦенНоменклатурыТовары.Характеристика,
                    |    УстановкаЦенНоменклатурыТовары.ВидЦены,
                    |   УстановкаЦенНоменклатурыТовары.Ссылка.Номер КАК Номер,
                    |    УстановкаЦенНоменклатурыТовары.Цена
                    |    ИЗ
                    |    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
                    |ГДЕ
                    |    УстановкаЦенНоменклатурыТовары.Ссылка.Дата = &Дата
                    |    И УстановкаЦенНоменклатурыТовары.Ссылка.Номер = &Номер";
    
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Запрос.УстановитьПараметр("Номер", Объект.Номер);
    Выборка = Запрос.Выполнить().Выбрать();
    
    
    
    Пока Выборка.Следующий() Цикл

    Док =Документы.УстановкаЦенНоменклатуры.НайтиПоНомеру(Выборка.Номер);
    
    Док = Док.Ссылка.ПолучитьОбъект();
    
    
    Для Каждого Строка из Док Цикл
        
        Если Строка.Товары.Цена = 418 тогда
        
        Строка.Товары.Цена =  510
        
        КонецЕсли;
        
      КонецЦикла;
    
     КонецЦикла;
    
     Док.Записать();


burza @ Сегодня, 13:11 * ,
Сделал так ошибка теперь другая
{ВнешняяОбработка.ПрайсСменаЦен.Форма.Форма.Форма(36)}: Итератор для значения не определен
Для Каждого Строка из Док Цикл

    
    Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                    |    УстановкаЦенНоменклатурыТовары.Ссылка,
                    |    УстановкаЦенНоменклатурыТовары.НомерСтроки,
                    |    УстановкаЦенНоменклатурыТовары.Номенклатура,
                    |    УстановкаЦенНоменклатурыТовары.Характеристика,
                    |    УстановкаЦенНоменклатурыТовары.ВидЦены,
                    |   УстановкаЦенНоменклатурыТовары.Ссылка.Номер КАК Номер,
                    |    УстановкаЦенНоменклатурыТовары.Цена
                    |    ИЗ
                    |    Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
                    |ГДЕ
                    |    УстановкаЦенНоменклатурыТовары.Ссылка.Дата = &Дата
                    |    И УстановкаЦенНоменклатурыТовары.Ссылка.Номер = &Номер";
    
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Запрос.УстановитьПараметр("Номер", Объект.Номер);
    Выборка = Запрос.Выполнить().Выбрать();
    

        
    Пока Выборка.Следующий() Цикл
        
    Док =Документы.УстановкаЦенНоменклатуры.НайтиПоНомеру(Выборка.Номер);
    Док =Документы.УстановкаЦенНоменклатуры.ПолучитьСсылку();

    
    Док = Док.ПолучитьОбъект();
    
    
    Для Каждого Строка из Док Цикл
        
        Если Строка.Товары.Цена = 418 тогда
        
        Строка.Товары.Цена =  510
        
        КонецЕсли;
        
      КонецЦикла;
    
     КонецЦикла;
    
     Док.Записать();



burza Подменю пользователя
сообщение 15.11.18, 15:05
Сообщение #2

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

burza @ Сегодня, 13:22 * ,
вот так сделал, с начало чет тупанул, можно же без запроса)

Док =Документы.УстановкаЦенНоменклатуры.НайтиПоНомеру(Объект.Номер);
    Док =Документы.УстановкаЦенНоменклатуры.ПолучитьСсылку();
    Док = Док.ПолучитьОбъект();
    
    
    Для Каждого Строка из Док.Товары Цикл
        
        Если Строка.Цена = 418 тогда
        
        Строка.Цена =  510
        
        КонецЕсли;
        
      КонецЦикла;
    
     Док.Записать();


теперь лезет вот
{ВнешняяОбработка.ПрайсСменаЦен.Форма.Форма.Форма(11)}: Значение не является значением объектного типа (Товары)
Для Каждого Строка из Док.Товары Цикл

burza @ Сегодня, 14:24 * ,
что никто не поможет?(((

burza @ Сегодня, 14:49 * ,

Petre Подменю пользователя
сообщение 15.11.18, 15:07
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

burza @ Today, 15:05 * ,
В чем сложность в отладчике проверить чему равно "Док" в цикле?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

burza Подменю пользователя
сообщение 15.11.18, 15:17
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Petre @ Сегодня, 15:07 * ,



Vofka Подменю пользователя
сообщение 15.11.18, 15:25
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Док = Документы.УстановкаЦенНоменклатуры.НайтиПоНомеру(Объект.Номер, Дата("20170101"));

Спасибо сказали: burza,

burza Подменю пользователя
сообщение 15.11.18, 15:37
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Vofka @ Сегодня, 15:25 * ,
Объект не найдет((


burza @ Сегодня, 15:28 * ,
Получается я не могу получить обьект? как исправить?



Petre Подменю пользователя
сообщение 15.11.18, 15:49
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2902
Из: Київ, Україна
Спасибо сказали: 1144 раз
Рейтинг: 1225

burza @ Today, 15:28 * ,
Ну посмотрите на свой код. Вы сначала присвоили ссылку, потом присвоили пустую ссылку...


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

burza Подменю пользователя
сообщение 15.11.18, 15:51
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Petre @ Сегодня, 15:49 * ,
ну так помогиТЕ как нужно) прошу напишите.


 ! 

Правила: 1
 


Сообщение отредактировал Vofka - 15.11.18, 15:51

Vofka Подменю пользователя
сообщение 15.11.18, 15:52
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Ссылка = Документы.УстановкаЦенНоменклатуры.НайтиПоНомеру(Объект.Номер, Дата("20170101"));
Док = Ссылка.ПолучитьОбъект();

Спасибо сказали: burza,

burza Подменю пользователя
сообщение 15.11.18, 15:55
Сообщение #10

Оратор
*****
Группа: Пользователи
Сообщений: 312
Спасибо сказали: 1 раз
Рейтинг: 1

Vofka @ Сегодня, 15:52 * ,
Спасибо большое))

andr_andrey Подменю пользователя
сообщение 15.11.18, 16:19
Сообщение #11

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

В контексте ФормыДокумента получать ССылку на этот же документ через поиск по номеру объекта?

У меня чуть глаза не вытекли.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Vidocq05 Подменю пользователя
сообщение 15.11.18, 16:35
Сообщение #12

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 214
Из: Сумы
Спасибо сказали: 38 раз
Рейтинг: 0

Правильней было бы создать реквизит обработки например с именем "СсылкаНаДок" с типом "ДокументСсылка.УстановкаЦенНоменклатуры", а не "Номер" и "Дата". И у Вас был бы код

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 16:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!