Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
26 мар 2025, 23:59

Команда печати

Автор sali, 18 мар 2025, 14:14

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

sali

fruitella, ты его через доп отчеты и обработки запускал?

fruitella

Открыл его файлом

sali

fruitella, ОЧЕНЬ странно .......файлом открываешь ошибка выходит через доп отчеты все выводит, будем разбираться

sali

fruitella, и у вас выходило все?

sali

antoneus, скажите можно как-то сделать чтоб пустые значения были в любом случае в самом верху таблицы?Снимок экрана (225).png
&НаКлиенте
Процедура ПрочитатьРеализациюНаСервере()
//Объект.ДанныеФайлаРеализации.Очистить();
Попытка
ПарсерРеализации = Новый ЧтениеXML;
ПарсерРеализации.ОткрытьФайл(Объект.ПутьКФайлуРеализация);
Исключение
Сообщить("При открытии файла произошла ошибка. Операция прервана!");
Сообщить(ОписаниеОшибки());         
Возврат;
КонецПопытки; 

ПостроительРеализация = Новый ПостроительDOM;
ДокументРеализация = ПостроительРеализация.Прочитать(ПарсерРеализации); 

Для Каждого Элемент1 Из ДокументРеализация.ЭлементДокумента.ДочерниеУзлы Цикл
Если Элемент1.ИмяУзла = "doc_hd" Тогда

Док_НД_Релиз = Элемент1;
Для Каждого Элемент2 Из Элемент1.ДочерниеУзлы Цикл 
Если Элемент2.ИмяУзла = "doc_det" Тогда
Док_Дет_Релиз = Элемент2;

СТР = Шапка.Добавить();
Стр.ФиксНомер =  Док_НД_Релиз.Атрибуты[5].ЗначениеУзла;
Стр.НомерМагазина  = Док_НД_Релиз.Атрибуты[1].ЗначениеУзла;
Стр.НомерСмены   = Док_НД_Релиз.Атрибуты[6].ЗначениеУзла;     
Стр.ОплатаБезналом = ?(Док_НД_Релиз.Атрибуты[7].ЗначениеУзла = "0", истина, ложь);
Стр.ВидОплаты   = Док_НД_Релиз.Атрибуты[8].ЗначениеУзла;
Стр.ЭтоВозврат = ?(Док_НД_Релиз.Атрибуты[4].ЗначениеУзла = "1", истина, ложь);
Стр.ДатаПродажи    = Док_НД_Релиз.Атрибуты[2].ЗначениеУзла;

СтрШапки = РеквизитыШапки.Добавить();
СтрШапки.Номенклатура   = ПолучитьДанныеПоКодуСправочника(СокрЛП(Док_Дет_Релиз.Атрибуты[0].ЗначениеУзла) );
СтрШапки.Количество     = Док_Дет_Релиз.Атрибуты[1].ЗначениеУзла;
СтрШапки.Цена   = Док_Дет_Релиз.Атрибуты[2].ЗначениеУзла;
СтрШапки.Сумма       = СтрШапки.Цена * СтрШапки.Количество;
СтрШапки.НомерМагазина  = Док_НД_Релиз.Атрибуты[1].ЗначениеУзла;
СтрШапки.НомерСмены   = Док_НД_Релиз.Атрибуты[6].ЗначениеУзла;     

НоваСтрока = Объект.ДанныеФайлаРеализации.Добавить();
НоваСтрока.ФиксНомер   = Стр.ФиксНомер;
НоваСтрока.НомерМагазина  = Стр.НомерМагазина;
НоваСтрока.НомерСмены   = Стр.НомерСмены;     
НоваСтрока.ДатаПродажи    = Стр.ДатаПродажи;
НоваСтрока.ОплатаБезналом = Стр.ОплатаБезналом;
НоваСтрока.ВидОплаты   = Стр.ВидОплаты;
НоваСтрока.ЭтоВозврат     = Стр.ЭтоВозврат;   
НоваСтрока.Номенклатура   = СтрШапки.Номенклатура;
НоваСтрока.Количество     = СтрШапки.Количество ;
НоваСтрока.Цена   = СтрШапки.Цена;
НоваСтрока.Сумма   = СтрШапки.Сумма;
 
КонецЕсли;
КонецЦикла;
КонецЕсли;   
объект.ДанныеФайлаРеализации.Сортировать("Количество возр");
объект.ДанныеФайлаРеализации.Сортировать("Сумма возр");
объект.ДанныеФайлаРеализации.Сортировать("Цена возр");

КонецЦикла;
ПарсерРеализации.Закрыть();

КонецПроцедуры 


antoneus

Да, добавить колонку сортировки, туда писать 0 если значения пустые, 1  - если наоборот, после заполнения отсортировать по ней.

fruitella

sali, нет, не выходило. У меня же нет твоей базы, я не могу протестировать.

sali

antoneus, дописать получается это объект.ДанныеФайлаРеализации.Сортировать("Сумма возр");на так объект.ДанныеФайлаРеализации.Сортировать("Сумма 0 возр");

sali

fruitella, у меня выдает табдок со значением неопределенно
&НаКлиенте
Процедура выполнитьпечать(Команда)

Если Не ЗначениеЗаполнено(Объект.СсылкаНаДокумент) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю("Не выбран документ",, "Объект.СсылкаНаДокумент");
    Возврат;
КонецЕсли;

РезультатТаДок = ПолучитьТабДок();

Если РезультатТаДок = Неопределено Тогда   
сообщить("не получилось");
Возврат;
КонецЕсли;

ТабДок = Новый ТабличныйДокумент;
ТакДок = РезультатТаДок;
ТакДок.Показать();

КонецПроцедуры

antoneus

sali, нет, у меня не это написано.

Теги:

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

Рейтинг@Mail.ru

Поиск