|
Не выводиться Табличный документ на Сервере | ☑ | ||
---|---|---|---|---|
0
fanatic1
22.08.13
✎
17:02
|
Ребята выручайте... на Локальной базе все работает, а когда запускаю на Серверной 1с не хочет открывать Таб Документ....
&НаСервере Функция ВернутьДлинуПоСтроке(ХарактеристикаНаименование) Если ЗначениеЗаполнено(ХарактеристикаНаименование) = 1 тогда ИмяХарактеристики= сокрлп(ХарактеристикаНаименование); //считаем что в характеристике указана именно длина ИмяХарактеристики = СтрЗаменить(Имяхарактеристики," ",Символы.ПС); Попытка Длина = Число(СтрПолучитьСтроку(ИмяХарактеристики,1)); исключение Длина = 0; КонецПопытки; Возврат Длина; Иначе Возврат 0; конецесли; КонецФункции &НаСервере Функция СформироватьТабДокумент() Если Номенклатура <> Справочники.Номенклатура.ПустаяСсылка() Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка КАК Реализация, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | И РеализацияТоваровУслугТовары.хлысты <> 0 | И РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Количество, | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика"; ДатаНачала = ПериодОтчета.ДатаНачала; ДатаОкончания = ПериодОтчета.ДатаОкончания; Номенклатура = Номенклатура; Табло=Новый ТабличныйДокумент; Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); табРезультат = Запрос.Выполнить().Выгрузить(); табРезультат.Колонки.Добавить("Разница"); Для Каждого СтрокаТаб Из табРезультат Цикл Если Не СтрокаТаб.Количество = ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты Тогда СтрокаТаб.Разница = СтрокаТаб.Количество - (ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты)/1000; СтрокаТаб.Разница = Окр(СтрокаТаб.Разница, -2); //Сообщить(СтрокаТаб.Ссылка); КонецЕсли; КонецЦикла; Построитель=Новый ПостроительОтчета; Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТабРезультат); Построитель.Вывести(Табло); Табло.Показать(); Иначе Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка КАК Реализация, | РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания | И РеализацияТоваровУслугТовары.хлысты <> 0 | И РеализацияТоваровУслугТовары.Номенклатура В ИЕРАРХИИ(&Номенклатура) | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугТовары.Количество, | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.хлысты, | РеализацияТоваровУслугТовары.Коэффициент, | РеализацияТоваровУслугТовары.Характеристика | |УПОРЯДОЧИТЬ ПО | Номенклатура"; ДатаНачала = ПериодОтчета.ДатаНачала; ДатаОкончания = ПериодОтчета.ДатаОкончания; Номенклатура = Номенклатура; ТабДок=Новый ТабличныйДокумент; Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания); Запрос.УстановитьПараметр("Номенклатура", Номенклатура); табРезультат = Запрос.Выполнить().Выгрузить(); табРезультат.Колонки.Добавить("Разница"); Для Каждого СтрокаТаб Из табРезультат Цикл Если Не СтрокаТаб.Количество = ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты Тогда СтрокаТаб.Разница = СтрокаТаб.Количество - (ВернутьДлинуПоСтроке(СтрокаТаб.Характеристика)*СтрокаТаб.Коэффициент*СтрокаТаб.хлысты)/1000; СтрокаТаб.Разница = Окр(СтрокаТаб.Разница, 3); //Сообщить(СтрокаТаб.Ссылка); КонецЕсли; КонецЦикла; Построитель=Новый ПостроительОтчета; Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТабРезультат); Построитель.Вывести(ТабДок); ТабДок.Показать(); КонецЕсли; КонецФункции &НаКлиенте Процедура Сформировать(Команда) СформироватьТабДокумент(); КонецПроцедуры |
|||
1
H A D G E H O G s
22.08.13
✎
17:03
|
Помогаю:
меняй профессию |
|||
2
ДенисЧ
22.08.13
✎
17:04
|
Отличное решение - показать бездушной железяке сформированный отчёт... Она будет рада...
|
|||
3
zladenuw
22.08.13
✎
17:07
|
Построитель=Новый ПостроительОтчета;
Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТабРезультат); Построитель.Вывести(ТабДок); Возврат ТабДок; КонецЕсли; КонецФункции &НаКлиенте Процедура Сформировать(Команда) ТабДок = СформироватьТабДокумент(); ТабДок.Показать() КонецПроцедуры |
|||
4
H A D G E H O G s
22.08.13
✎
17:07
|
(2) Ты ущемляешь права бездушных железяк, нетолерантная ты личность!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |