|
Не получается записать серию | ☑ | ||
---|---|---|---|---|
0
spblrt
13.04.16
✎
13:15
|
Добрые люди, подскажите, что я делаю не так? Мне нужно в документе "Выпуск продукции" автоматически создать серию номенклатуры таким образом : Серия = ЗаказКлиента.Номер + "." + ЗаказКлиента.Товары.НомерПозиции.
Я запросом вытягиваю из ЗаказаКлиента НомерПозиции, создаю новую серирию и пытаюсь записать, но выскакивает ошибка"Преобразование значения к типу Булево не может быть выполнено" Помогите пожалуйста)) Вот код: &НаСервере Процедура ЗаполнитьСерииПоЗаказу(ПараметрыОповещения) //УстановитьПривилегированныйРежим(Истина); //Данные = Элементы.Товары.ТекущаяСтрока; Для каждого ТекСтрокаТовары Из Объект.Товары Цикл Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиентаТовары.НомерПозиции |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка | И ЗаказКлиентаТовары.Номенклатура = &Номенклатура | И ЗаказКлиентаТовары.Характеристика = &Характеристика | |СГРУППИРОВАТЬ ПО | ЗаказКлиентаТовары.НомерПозиции"; Запрос.УстановитьПараметр("Ссылка", ТекСтрокаТовары.ДВК_ЗаказКлиента); Запрос.УстановитьПараметр("Номенклатура", ТекСтрокаТовары.Номенклатура); Запрос.УстановитьПараметр("Характеристика", ТекСтрокаТовары.Характеристика); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); //Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // //Вставить обработку выборки ВыборкаДетальныеЗаписи //КонецЦикла; //Данные.ТоварыСерия = Данные.ДВК_ЗаказКлиента + "." + ВыборкаДетальныеЗаписи.НомерПозиции; //Сообщить(ВыборкаДетальныеЗаписи.НомерПозиции); СерияОбъект = Справочники.СерииНоменклатуры.СоздатьЭлемент(); СерияОбъект.Номер = ТекСтрокаТовары.ДВК_ЗаказКлиента.Номер + "." + ВыборкаДетальныеЗаписи.НомерПозиции; СерияОбъект.Записать(); ТекСтрокаТовары.Серия = СерияОбъект.Номер; КонецЦикла; КонецПроцедуры |
|||
1
Два Волшебника
13.04.16
✎
13:22
|
СерияОбъект.Номер = ТекСтрокаТовары.ДВК_ЗаказКлиента.Номер + "." + Строка(ВыборкаДетальныеЗаписи.НомерПозиции);
|
|||
2
spblrt
13.04.16
✎
13:26
|
не помогло(( та же ошибка. {Документ.ВыпускПродукции.Форма.ФормаДокумента.Форма(2910)}: Ошибка при вызове метода контекста (Записать)
СерияОбъект.Записать(); по причине: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: {Справочник.СерииНоменклатуры.МодульМенеджера(221)}: Преобразование значения к типу Булево не может быть выполнено Если ПараметрыШаблона.ИспользоватьНомерСерии Тогда |
|||
3
Rounder
13.04.16
✎
13:28
|
Какой тип у ПараметрыШаблона.ИспользоватьНомерСерии показывает отладчик?
|
|||
4
spblrt
13.04.16
✎
13:29
|
вот та функция на которую ссылается ошибка :
Функция ПредставлениеСерии(ПараметрыШаблона, ЗначенияРеквизитов) Экспорт Представление = ""; Если ЗначениеЗаполнено(ПараметрыШаблона.ШаблонРабочегоНаименованияСерии) Тогда Представление = НоменклатураСервер.НаименованиеПоШаблону(ПараметрыШаблона.ШаблонРабочегоНаименованияСерии, ЗначенияРеквизитов); Иначе Если ПараметрыШаблона.ИспользоватьНомерСерии Тогда Представление = ЗначенияРеквизитов.Номер; КонецЕсли; Если ПараметрыШаблона.ИспользоватьСрокГодностиСерии Тогда СтрокаСтрокаГодности = НСтр("ru = ' до %ГоденДо%'"); СтрокаСтрокаГодности = СтрЗаменить(СтрокаСтрокаГодности,"%ГоденДо%",Формат(ЗначенияРеквизитов.ГоденДо,ПараметрыШаблона.ФорматнаяСтрокаСрокаГодности)); Представление = Представление + СтрокаСтрокаГодности; Представление = СокрЛП(Представление); КонецЕсли; КонецЕсли; Возврат Представление; КонецФункции |
|||
5
spblrt
13.04.16
✎
13:32
|
(3) Неопределено
|
|||
6
Rounder
13.04.16
✎
13:34
|
(4) Откуда вызывается эта функция? И что в нее передается в качестве ПараметрыШаблона.
Очевидно, что ПараметрыШаблона.ИспользоватьНомерСерии не булево. |
|||
7
singlych
13.04.16
✎
13:35
|
вид номенклатуры в серии заполни
|
|||
8
Aprobator
13.04.16
✎
13:40
|
Ужас то какой. Одна запись серии без владельца чего стоит.
|
|||
9
spblrt
13.04.16
✎
13:47
|
(7) Вид номенклатуры заполнил - ошибка пропала Спасибо!
Но серии по прежнему не записываются. Вот код: &НаСервере Процедура ЗаполнитьСерииПоЗаказу(ПараметрыОповещения) Для каждого ТекСтрокаТовары Из Объект.Товары Цикл Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиентаТовары.НомерПозиции |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка | И ЗаказКлиентаТовары.Номенклатура = &Номенклатура | И ЗаказКлиентаТовары.Характеристика = &Характеристика | |СГРУППИРОВАТЬ ПО | ЗаказКлиентаТовары.НомерПозиции"; Запрос.УстановитьПараметр("Ссылка", ТекСтрокаТовары.ДВК_ЗаказКлиента); Запрос.УстановитьПараметр("Номенклатура", ТекСтрокаТовары.Номенклатура); Запрос.УстановитьПараметр("Характеристика", ТекСтрокаТовары.Характеристика); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); СерияОбъект = Справочники.СерииНоменклатуры.СоздатьЭлемент(); СерияОбъект.ВидНоменклатуры = ТекСтрокаТовары.Номенклатура.ВидНоменклатуры; СерияОбъект.Номер = ТекСтрокаТовары.ДВК_ЗаказКлиента.Номер + "." + Строка(ВыборкаДетальныеЗаписи.НомерПозиции); СерияОбъект.Записать(); ТекСтрокаТовары.Серия = СерияОбъект.Номер; КонецЦикла; КонецПроцедуры |
|||
10
singlych
13.04.16
✎
14:08
|
(9) ошибка-то какая?
|
|||
11
salvator
13.04.16
✎
14:12
|
(9) А выборку кто будет перебирать?
|
|||
12
spblrt
13.04.16
✎
14:15
|
(10) Нет ошибки. Просто поле серия, если было заполнено - очищается
|
|||
13
singlych
13.04.16
✎
14:17
|
ТекСтрокаТовары.Серия = СерияОбъект.Ссылка
ну и (11) |
|||
14
spblrt
13.04.16
✎
14:19
|
(11) Сейчас как раз думаю над выборкой
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ВыборкаДетальныеЗаписи.НомерПозиции; КонецЦикла; Так не получается( |
|||
15
salvator
13.04.16
✎
14:21
|
(14)
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); СерияОбъект = Справочники.СерииНоменклатуры.СоздатьЭлемент(); СерияОбъект.ВидНоменклатуры = ТекСтрокаТовары.Номенклатура.ВидНоменклатуры; СерияОбъект.Номер = ТекСтрокаТовары.ДВК_ЗаказКлиента.Номер + "." + Строка(ВыборкаДетальныеЗаписи.НомерПозиции); СерияОбъект.Записать(); ТекСтрокаТовары.Серия = СерияОбъект.Ссылка; КонецЦикла; |
|||
16
salvator
13.04.16
✎
14:23
|
Если выборка подразумевает более одной строки, то в цикле как (14)
|
|||
17
spblrt
13.04.16
✎
14:26
|
Спасибо Вам огромное) все получилось!)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |