|
КД. Ошибка в правилах ПередВыгрузкойОбъекта | ☑ | ||
---|---|---|---|---|
0
lg2marvel
10.02.16
✎
13:07
|
Добрый день. Подскажите пожалуйста, при выгрузке выдает ошибку:
Ошибка в обработчике события ПередВыгрузкойОбъекта ПВД = АктПересортицы Объект = Акт пересортицы О0000000008 от 31.01.2016 13:00:00 (Документ объект: Акт пересортицы) Обработчик = ПередВыгрузкойОбъектаВыборки ОписаниеОшибки = Преобразование значения к типу Число не может быть выполнено ПозицияМодуля = (11) КСообщенияОбОшибках = 33 модуль ПВД "Перед выгрузкой", не могу понять в каком месте ошибка: НомерСтроки = 0; Для Каждого Строка Из Объект.Товары Цикл НомерСтроки = Формат(Число(НомерСтроки) + 1,"ЧЦ=3; ЧДЦ=0"); Если СтрДлина(НомерСтроки)=1 Тогда Параметры.Префикс = "П00"+НомерСтроки+"-"; ИначеЕсли СтрДлина(НомерСтроки)=2 Тогда Параметры.Префикс = "П0"+НомерСтроки+"-"; ИначеЕсли СтрДлина(НомерСтроки)=3 Тогда Параметры.Префикс = "П"-НомерСтроки+"-"; Иначе Сообщить("Длина номера строки в документе больше 3, не предусмотрено обработкой!"); Параметры.Префикс = "err"+"-"; Продолжить; КонецЕсли; ВходящиеДанные = Новый Структура; ВходящиеДанные.Вставить("Номер",Параметры.Префикс+Прав(Объект.Номер,6)); //Сообщить("Номер в ПВД "+Параметры.Префикс+Прав(Объект.Номер,6)); //Сообщить("Номер строки "+Параметры.Префикс); ВходящиеДанные.Вставить("Дата",Объект.Дата); ВходящиеДанные.Вставить("Склад",Объект.Склад); ВходящиеДанные.Вставить("Организация",Объект.Фирма.Ссылка); ВходящиеДанные.Вставить("Проведен",Объект.Проведен); ВходящиеДанные.Вставить("ПометкаУдаления",Объект.ПометкаУдаления); ВходящиеДанные.Вставить("Комментарий","Акт пересортицы №"+Объект.Номер+" от "+Объект.Дата); //МД_Реквизиты = Объект.Метаданные().Реквизиты; //Для Каждого МетаРеквизит Из МД_Реквизиты Цикл //Сообщить(МетаРеквизит.Имя + " = " + Объект.[МетаРеквизит.Имя]); //КонецЦикла; ТекстЗапроса = "ВЫБРАТЬ |АктПересортицы.Ссылка, |АктПересортицы.Товары.( | Ссылка, | НомерСтроки, | Номенклатура, | НоваяНоменклатура, | Количество, | НоваяКоличество, | ИдентификаторСтроки, |) |ИЗ |Документ.АктПересортицы КАК АктПересортицы |ГДЕ | АктПересортицы.Ссылка = &Ссылка И | АктПересортицы.Товары.НомерСтроки = &НомерСтроки |"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка); Запрос.УстановитьПараметр("НомерСтроки", Число(НомерСтроки)); КоллекцияОбъектов = Запрос.Выполнить().Выгрузить(); //ТабДокумент = Новый ТабличныйДокумент; //Построитель = Новый ПостроительОтчета; //Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(КоллекцияОбъектов); //Построитель.Вывести(ТабДокумент); //ТабДокумент.Показать("Пользователи"); //Сообщить(КоллекцияОбъектов[0][1][0][0]); //Сообщить(КоллекцияОбъектов[0][1][0][1]); //Сообщить(КоллекцияОбъектов[0][1][0][2]); //номенклатура списания //Сообщить(КоллекцияОбъектов[0][1][0][3]); //номенклатура приход //Сообщить(КоллекцияОбъектов[0][1][0][4]); //кол - //Сообщить(КоллекцияОбъектов[0][1][0][5]); //кол + //Сообщить(КоллекцияОбъектов[0][1][0][6]); //Сообщить("---"); ВходящиеДанные.Вставить("Количество",КоллекцияОбъектов[0][1][0][5]); ВходящиеДанные.Вставить("Номенклатура",КоллекцияОбъектов[0][1][0][3]); ВходящиеДанные.Вставить("Комплектующие",КоллекцияОбъектов); Параметры.КВО = Число(КоллекцияОбъектов[0][1][0][4]); Параметры.ТМЦ = КоллекцияОбъектов[0][1][0][2]; //ВходящиеДанные.Вставить("Количество",Объект.Количество); //ВходящиеДанные.Вставить("Количество",Объект.Номенклатура); ВыгрузитьПоПравилу(,,ВходящиеДанные,,"КомплектацияНоменклатурыПересорт"); КонецЦикла; |
|||
1
mehfk
10.02.16
✎
13:14
|
Считать до 11 умеешь?
|
|||
2
hhhh
10.02.16
✎
13:24
|
(0) сделай так
ТекстЗапроса = "ВЫБРАТЬ |АктПересортицы.Ссылка, |АктПересортицы.НомерСтроки, |АктПересортицы.Номенклатура, |АктПересортицы.НоваяНоменклатура, |АктПересортицы.Количество, |АктПересортицы.НоваяКоличество, |АктПересортицы.ИдентификаторСтроки |ИЗ |Документ.АктПересортицы.Товары КАК АктПересортицы |ГДЕ | АктПересортицы.Ссылка = &Ссылка И | АктПересортицы.НомерСтроки = &НомерСтроки |"; чего фигнёй страдаешь? |
|||
3
lg2marvel
10.02.16
✎
13:28
|
(1) Вроде не жаловался, выходит ошибка в этой строке:
Параметры.Префикс = "П"-НомерСтроки+"-"; (2) Спасибо, учту |
|||
4
lg2marvel
10.02.16
✎
13:32
|
НомерСтроки = 0;
Для Каждого Строка Из Объект.Товары Цикл НомерСтроки = Формат(Число(НомерСтроки) + 1,"ЧЦ=3; ЧДЦ=0"); // Сообщить("Номер строки: "+НомерСтроки); Если СтрДлина(СокрЛП(НомерСтроки))=1 Тогда Параметры.Префикс = "П00"+СокрЛП(НомерСтроки)+"-"; ИначеЕсли СтрДлина(СокрЛП(НомерСтроки))=2 Тогда Параметры.Префикс = "П0"+СокрЛП(НомерСтроки)+"-"; ИначеЕсли СтрДлина(СокрЛП(НомерСтроки))=3 Тогда Параметры.Префикс = "П"-СокрЛП(НомерСтроки)+"-"; Иначе Сообщить("Длина номера строки в документе больше 3, не предусмотрено обработкой!"); Параметры.Префикс = "err-"; Продолжить; КонецЕсли; Все равно та же ошибка на 12 строку. :-( |
|||
5
mehfk
10.02.16
✎
13:32
|
Да ты гонишь
Параметры.Префикс = "П"-СокрЛП(НомерСтроки)+"-"; |
|||
6
mehfk
10.02.16
✎
13:33
|
У тебя примерно так:
Переменная = "Вася" - "Коля"; |
|||
7
lg2marvel
10.02.16
✎
13:34
|
(5) Да, заметил, спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |