Копирование реквизит элемента один в другую
11.09.2012
10:48
#31
Вообще то я говорил про то что тебе пишут на форуме. Я просил привести свой код полностью и посмотри тот код что я привел из типовой, он явно отличается от твоего куска, который работать не будет.
11.09.2012
10:57
#32
"вы написали
но в моей 8.1 нет такого Измерения как ТекЗапись.Качество. потом объясните пожалуйста, что это РаботаСТорговымОборудованием.СформироватьШтрихКод(); ШК же у меня в реквизите Номенклатура"
ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи(); ТекЗапись.Владелец = Ссылка; ТекЗапись.ЕдиницаИзмерения = ЕдиницаХраненияОстатков; ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN13; ТекЗапись.Качество = Справочники.Качество.Новый; ТекЗапись.Штрихкод = РаботаСТорговымОборудованием.СформироватьШтрихКод(); Попытка ТекЗапись.Записать(); Исключение ОбщегоНазначения.СообщитьОбОшибке("Ошибка при записи штрихкода: " + ИнформацияОбОшибке().Описание); КонецПопытки; но в моей 8.1 нет такого Измерения как ТекЗапись.Качество. потом объясните пожалуйста, что это РаботаСТорговымОборудованием.СформироватьШтрихКод(); ШК же у меня в реквизите Номенклатура"
11.09.2012
11:00
#33
Ладно, я больше не буду тебя терзать, не хочешь думать, не надо! Я же уже говорил, что не собираюсь за тебя писать код, пример тебе привел, осталось просто немного подумать и подставить свои значения, тем более что опять не привел код все своей процедуры.
11.09.2012
11:23
#34
"вот
Процедура КнопкаВыполнитьНажатие(Кнопка)//делаю отборЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ| Номенклатура.Ссылка|ИЗ| Справочник.Номенклатура КАК Номенклатура|ГДЕ| Номенклатура.Ссылка " +?(ВГруппеИлиРавно="равно","=&Ссылка", "В ИЕРАРХИИ (&Ссылка)"); Запрос.УстановитьПараметр("Ссылка",Товар); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() ЦИКЛСсылка = Результат.Ссылка;Сообщить(Ссылка.Наименование); Если Ссылка.ЭтоГруппа Тогда Продолжить;КонецЕсли;// тут пытаюсь записатьТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи(); ТекЗапись.Владелец = Справочник.<Номенклатура.Наименование>; ТекЗапись.ЕдиницаИзмерения = ЕдиницаХраненияОстатков; ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN128; ТекЗапись.ПредставлениеШтрихкода = Справочники.<Номенклатура.Штрихкод>; ТекЗапись.Штрихкод = РаботаСТорговымОборудованием.СформироватьШтрихКод(); Попытка ТекЗапись.Записать(); Исключение ОбщегоНазначения.СообщитьОбОшибке("Ошибка при записи штрихкода: " + ИнформацияОбОшибке().Описание); КонецПопытки;КонецПроцедуры " 11.09.2012
11:34
#35
"
Запрос не смотрел."
Процедура КнопкаВыполнитьНажатие(Кнопка)
//делаю отбор
// непонятно зачем делать отбор, если в процедуре доступен сам "Товар"
//
//
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка " +?(ВГруппеИлиРавно="равно","=&Ссылка", "В ИЕРАРХИИ (&Ссылка)");
Запрос.УстановитьПараметр("Ссылка",Товар);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() ЦИКЛ
//Ссылка = Результат.Ссылка;
// Надо так :
Номенклатура = Результат.Ссылка.ПолучитьОбъект();
//Сообщить(Ссылка.Наименование);
Сообщить(Номенклатура)
Если Номенклатура.ЭтоГруппа Тогда Продолжить;
КонецЕсли;
// тут пытаюсь записать
ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
ТекЗапись.Владелец = Номенклатура.ссылка;
ТекЗапись.ЕдиницаИзмерения = ЕдиницаХраненияОстатков; // непонятно это откуда берется
ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN128;
ТекЗапись.ПредставлениеШтрихкода = Номенклатура.Штрихкод;
ТекЗапись.Штрихкод = Номенклатура.Штрихкод;
Попытка ТекЗапись.Записать();
Исключение ОбщегоНазначения.СообщитьОбОшибке("Ошибка при записи штрихкода: " + ИнформацияОбОшибке().Описание);
КонецПопытки;
КонецПроцедуры
Запрос не смотрел."
11.09.2012
11:49
#36
"с запросом нет проблем
Товар - это Имя поле ввода
на счет ЕдиницаХраненияОстатков
а все вместе, так
// непонятно зачем делать отбор, если в процедуре доступен сам "Товар"
Товар - это Имя поле ввода
на счет ЕдиницаХраненияОстатков
НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();НайденнаяЕдиницаОбъект.Наименование = БазоваяЕдиницаИзмерения.Наименование;НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;НайденнаяЕдиницаОбъект.Коэффициент = 1;НайденнаяЕдиницаОбъект.Владелец = Ссылка;Попытка НайденнаяЕдиницаОбъект.Записать();Исключение Сообщить("Не удалось записать единицу: " + ОписаниеОшибки(), СтатусСообщения.Важное);Отказ = Истина;Возврат;КонецПопытки; а все вместе, так
Процедура КнопкаВыполнитьНажатие(Кнопка)"
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка " +?(ВГруппеИлиРавно="равно","=&Ссылка", "В ИЕРАРХИИ (&Ссылка)");
Запрос.УстановитьПараметр("Ссылка",Товар);
Результат = Запрос.Выполнить().Выбрать();
Пока Результат.Следующий() ЦИКЛ
//Ссылка = Результат.Ссылка;
// Надо так :
Номенклатура = Результат.Ссылка.ПолучитьОбъект();
//Сообщить(Ссылка.Наименование);
Сообщить(Номенклатура)
Если Номенклатура.ЭтоГруппа Тогда Продолжить;
КонецЕсли;
// тут пытаюсь записать
НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НайденнаяЕдиницаОбъект.Наименование = БазоваяЕдиницаИзмерения.Наименование;
НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = БазоваяЕдиницаИзмерения;
НайденнаяЕдиницаОбъект.Коэффициент = 1;
НайденнаяЕдиницаОбъект.Владелец = Ссылка;
Попытка
НайденнаяЕдиницаОбъект.Записать();
Исключение
Сообщить("Не удалось записать единицу: " + ОписаниеОшибки(), СтатусСообщения.Важное);
Отказ = Истина;
Возврат;
КонецПопытки;
ТекЗапись = РегистрыСведений.Штрихкоды.СоздатьМенеджерЗаписи();
ТекЗапись.Владелец = Номенклатура.ссылка;
ТекЗапись.ЕдиницаИзмерения = НайденнаяЕдиницаОбъект.Ссылка; // беру ссылку из ранее записанного
ТекЗапись.ТипШтрихкода = ПланыВидовХарактеристик.ТипыШтрихкодов.EAN128;
ТекЗапись.ПредставлениеШтрихкода = Номенклатура.Штрихкод;
ТекЗапись.Штрихкод = Номенклатура.Штрихкод;
Попытка ТекЗапись.Записать();
Исключение ОбщегоНазначения.СообщитьОбОшибке("Ошибка при записи штрихкода: " + ИнформацияОбОшибке().Описание);
КонецПопытки;
КонецПроцедуры