Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 дек 2024, 16:41

Ошибка:Значение не является значением объектного типа

Автор kyzik, 17 июл 2013, 19:28

0 Пользователей и 1 гость просматривают эту тему.

kyzik

В общем такая проблема. ест два документа, заказы поставщикам и поступление товаров, надо чтобы при изменении цены в 1 док-те,изменялас цена и во 2. реализовываю так,данные из 1 попадают в регистр накопления заказы поставщикам,в процедуру при изменении цены написала запрос, чтобы из регистра заполнялос во 2.выдает ошибку:Значение не является значением объектного типа на ячейки второго документа,хотя когда я для тестирования запускала этот запрос из 2 документа,все работало....посоветуйте что нибуд...как избавится от ошибки,или может реализоват по другому....

GRADUS

Цитата: kyzik от 17 июл 2013, 19:28
В общем такая проблема. ест два документа, заказы поставщикам и поступление товаров, надо чтобы при изменении цены в 1 док-те,изменялас цена и во 2. реализовываю так,данные из 1 попадают в регистр накопления заказы поставщикам,в процедуру при изменении цены написала запрос, чтобы из регистра заполнялос во 2.выдает ошибку:Значение не является значением объектного типа на ячейки второго документа,хотя когда я для тестирования запускала этот запрос из 2 документа,все работало....посоветуйте что нибуд...как избавится от ошибки,или может реализоват по другому....

:bleh::bleh::bleh:

Почему просто не сделать "ввод на основании" ???

И да, зачем вообще использовать регистр при копировании документа?

kyzik


:bleh::bleh::bleh:

Почему просто не сделать "ввод на основании" ???

И да, зачем вообще использовать регистр при копировании документа

а можно по подробне про этот метод
Добавлено: 18 июл 2013, 09:39


мне не надо чтоб создавался новый дукцмент,мне надо только чтоб изменялась цена

GRADUS

Цитата: kyzik от 18 июл 2013, 09:23

:bleh::bleh::bleh:

Почему просто не сделать "ввод на основании" ???

И да, зачем вообще использовать регистр при копировании документа

а можно по подробне про этот метод
Добавлено: 18 июл 2013, 09:39


мне не надо чтоб создавался новый дукцмент,мне надо только чтоб изменялась цена

Ну хорошо, что мешает записать данные одного документа в другой? Зачем те регистр?

kyzik

Регистр изначально был...база не моя, то есть просто запросом из документа выбрать и присвоить значение второму?:
Добавлено: 18 июл 2013, 11:09


окумент.ЗаказПоставщику.Форма.ФормаДокумента(1543)}: Значение не является значением объектного типа (номенклатура)
       Запрос.УстановитьПараметр("Номенклатура",МояСтрокаТабличнойчасти.номенклатура);

Добавлено: 18 июл 2013, 11:11


та же ошибка.что  и с регистром
Добавлено: 18 июл 2013, 11:15


если убираю параметр он не видит поле куда надо записать,вообщем вот моя процедура:
МояФорма = Документы.ПоступлениеТоваровУслуг.ПолучитьФорму("ФормаДокумента");
    МояСтрокаТабличнойчасти = МояФорма.ЭлементыФормы.Товары.ТекущиеДанные;
   
                Запрос = Новый Запрос;
   Запрос.Текст =
         "ВЫБРАТЬ
         |   ЗаказыПоставщикам.Номенклатура,
         |   ЗаказыПоставщикам.Цена,
         |   ПоступлениеТоваровУслуг.Товары.(
         |      Номенклатура
         |   )
         |ИЗ
         |   РегистрНакопления.ЗаказыПоставщикам КАК ЗаказыПоставщикам
         |      ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
         |      ПО ЗаказыПоставщикам.Регистратор = ПоступлениеТоваровУслуг.Ссылка ";

//       |ГДЕ
//       |   ЗаказыПоставщикам.Номенклатура = &Номенклатура" ;
//       Запрос.УстановитьПараметр("Номенклатура",МояСтрокаТабличнойчасти.номенклатура   
       Выборка = Запрос.Выполнить();
            Результат = Запрос.Выполнить();
         Выборка = Результат.Выбрать();
         Если   Выборка.Следующий()  Тогда
            НовЦена = выборка.цена;
           Иначе
              НовЦена = "";
         МояСтрокаТабличнойЧасти.Цена = НовЦена;
         КонецЕсли;


Dethmontt

ГОВНОКОД!!!!
Причем тут ФОРМА? ЗАЧЕМ ТЕБЕ ФОРМА?
Добавлено: 18 июл 2013, 14:45


Ты хоть знаешь что такое ТекущиеДанные ???
Добавлено: 18 июл 2013, 14:48


Учи мат. часть!!!

В Док1 должна быть ссылка на док2 или регистр связывающий их

Получаем ссылку (или из регистра запросом или из реквизита документа)
Если табличные части обоих документов одинаковые, то можно просто выгружать табличную части док1 и загружать ее в док2
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

kyzik

при копировании табличных частей говорит, что реквезиты шапки не заполнены как оставить их прежними.

Dethmontt

Примерно так у тебя должно быть
ДокументОбъект.ИмяТабличнойЧасти.Загрузить(СсылкаНаДокумент2.ИмяТабличнойЧасти.Выгрузить());
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

kyzik

Цитата: Dethmontt от 18 июл 2013, 17:02
Примерно так у тебя должно быть
ДокументОбъект.ИмяТабличнойЧасти.Загрузить(СсылкаНаДокумент2.ИмяТабличнойЧасти.Выгрузить());
так и есть  Док1 = документы.ПоступлениеТоваровУслуг.ПолучитьФорму("ФормаДокумента");
    Док2Объект = документы.ЗаказПоставщику.ПолучитьФорму("ФормаДокумента");
док2объект.товары.Загрузить(док1.товары.Выгрузить());
но,говорит,что не могут быть пустые реквкзиты,которые в шапке

Dethmontt

Пипец... Зачем тебе ФОРМЫ? Тебе документы нужны!!!!
Добавлено: 18 июл 2013, 17:13


У формы нет табличной части - там только ее отображение!!!!!!!!
Добавлено: 18 июл 2013, 17:17


Док1 = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Строка = Док.Товары.Добавить();
Строка.Количество = 11111;
Док2 = Документы.ЗаказПоставщику.СоздатьДокумент();
Док2.ИмяТабличнойЧасти.Загрузить(Док1.Товары.Выгрузить());
ОткрытьЗначение(Док1);
ОткрытьЗначение(Док2);

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск