Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 15:04
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Вывести строку ТЧ на печать  (Прочитано 1156 раз)

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

Оффлайн Каримдат

  • ****
  • Сообщений: 284
  • РЕПУТАЦИЯ: 20
  • КПД: 7%
  • Регистрация: 2014-04-06
    • Skype: winkarollo
  • Сайт: 
  • Профессия: Ученик 1С
Прошу помощи. Добавил в документ ВозвратТоваровПоставщику в ТЧ реквизит ВесИзделия. Вес изделия вытягивается из номенклатуры, тут вроде всё нормально, работает.
Проблема в следующем, Не могу понять как вывести эту колонку ВесИзделия на печать в макет ПриходРасходВЦенахАТТ. Скрины прилагаю.


Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
1. Стисняюсь спросить, а чем вам типовой реквизит "вес" в спр. единиц измерения не угодил
2. Вес в макет выводится в процедуре печати.

Оффлайн Каримдат

  • ****
  • Сообщений: 284
  • РЕПУТАЦИЯ: 20
  • КПД: 7%
  • Регистрация: 2014-04-06
    • Skype: winkarollo
  • Сайт: 
  • Профессия: Ученик 1С
Дело в том что реквизит ВесИзделия был давно дописан программистом который дописывал базу. Это 2011 год был. Я не знаю почему он не использовал типовой реквизит))) В процедуре печати нет строк для вывода данных. Если бы они там были, я бы подставил значения.
Добавлено: 26 Фев 2016, 12:40

Процедура ОсновныеДействияФормыПечать(Кнопка)

УниверсальныеМеханизмы.ОткрытьФормуВыбораПечатныхФормОбъекта(ЭтотОбъект, ЭтаФорма);

КонецПроцедуры // ОсновныеДействияФормыПечать()
Это нажатие кнопки Печать в основной форме.
В УниверсальныеМеханизмы.ОткрытьФормуВыбораПечатныхФормОбъекта всего лишь открывает список доступных макетов.

Вот тут пробовал добавить строки для печати. Но ничего не получилось(((

Функция НапечататьПриходРасходСРозничныхСкладовВЦенахАТТ(Док, ВалютаРегламентированногоУчета, ЭтоПриход) Экспорт

Если ЭтоПриход Тогда
ТекстЗапросаКоличество = "ВЫБОР КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|    И РегТоварыВРознице.Количество > 0 ТОГДА
| РегТоварыВРознице.Количество
| КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|    И РегТоварыВРознице.Количество < 0 ТОГДА
| -РегТоварыВРознице.Количество
| ИНАЧЕ
| 0
| КОНЕЦ";

ТекстЗапросаСуммаПродажная = "ВЫБОР КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|    И РегТоварыВРознице.СуммаПродажная > 0 ТОГДА
| РегТоварыВРознице.СуммаПродажная
| КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|    И РегТоварыВРознице.СуммаПродажная < 0 ТОГДА
| -РегТоварыВРознице.СуммаПродажная
| ИНАЧЕ
| 0
| КОНЕЦ";

ТекстНетДвижений = "Данным документом не выполнен приход ни на один розничный склад!";

ТекстВсегоПринятоОтпущено = "Всего принято ";
ТекстПринялОтпустил = "Принял";
Иначе
ТекстЗапросаКоличество = "ВЫБОР КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|    И РегТоварыВРознице.Количество > 0 ТОГДА
| РегТоварыВРознице.Количество
| КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|    И РегТоварыВРознице.Количество < 0 ТОГДА
| -РегТоварыВРознице.Количество
| ИНАЧЕ
| 0
| КОНЕЦ";

ТекстЗапросаСуммаПродажная = "ВЫБОР КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
|    И РегТоварыВРознице.СуммаПродажная > 0 ТОГДА
| РегТоварыВРознице.СуммаПродажная
| КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
|    И РегТоварыВРознице.СуммаПродажная < 0 ТОГДА
| -РегТоварыВРознице.СуммаПродажная
| ИНАЧЕ
| 0
| КОНЕЦ";

ТекстНетДвижений = "Данным документом не выполнен расход ни с одного розничного склада!";

ТекстВсегоПринятоОтпущено = "Всего отпущено ";
ТекстПринялОтпустил = "Отпустил";
КонецЕсли;

Запрос = Новый Запрос("
|ВЫБРАТЬ
| РегТоварыВРознице.Склад КАК Склад,
| РегТоварыВРознице.Номенклатура.Представление КАК Номенклатура,
| РегТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
| РегТоварыВРознице.ХарактеристикаНоменклатуры.Представление КАК Характеристика,
| РегТоварыВРознице.СерияНоменклатуры.Представление КАК Серия,
| РегТоварыВРознице.Качество.Представление КАК Качество,
| Сумма(" + ТекстЗапросаКоличество + ") КАК Количество,
| Сумма(" + ТекстЗапросаСуммаПродажная + ") КАК СуммаПродажная
|ИЗ
| РегистрНакопления.ТоварыВРознице КАК РегТоварыВРознице
|ГДЕ
| РегТоварыВРознице.Регистратор = &Док
| И РегТоварыВРознице.Активность
|СГРУППИРОВАТЬ ПО
| РегТоварыВРознице.Склад,
| РегТоварыВРознице.Номенклатура,
| РегТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков,
| РегТоварыВРознице.ХарактеристикаНоменклатуры,
| РегТоварыВРознице.СерияНоменклатуры,
| РегТоварыВРознице.Качество
|ИМЕЮЩИЕ
| Сумма(" + ТекстЗапросаКоличество + ") <> 0
| ИЛИ Сумма(" + ТекстЗапросаСуммаПродажная + ") <> 0
|УПОРЯДОЧИТЬ ПО Номенклатура
|ИТОГИ
|ПО
| Склад
|");

Запрос.УстановитьПараметр("Док", Док);

РезультатЗапроса = Запрос.Выполнить();

Если РезультатЗапроса.Пустой() Тогда
Предупреждение(ТекстНетДвижений);
ТабДокумент = Неопределено;
Иначе
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасходСРозничныхСкладовВЦенахАТТ";

Макет = ПолучитьОбщийМакет("ПриходРасходВЦенахАТТ");

ОбластьЗаголовок     = Макет.ПолучитьОбласть("Заголовок");
ОбластьШапкаТаблицы  = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьСклад         = Макет.ПолучитьОбласть("Склад");
ОбластьСтроки        = Макет.ПолучитьОбласть("Строка");
ОбластьИтого         = Макет.ПолучитьОбласть("Итого");
ОбластьСуммаПрописью = Макет.ПолучитьОбласть("СуммаПрописью");
ОбластьПодписи       = Макет.ПолучитьОбласть("Подписи");

ЗаголовокДокумента = ОбщегоНазначения.СформироватьЗаголовокДокумента(Док, Док.Метаданные().Синоним);

ВыборкаСклады = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Склад");
Пока ВыборкаСклады.Следующий() Цикл
ВыбМОЛ = РегистрыСведений.ОтветственныеЛица.ПолучитьПоследнее(Док.Дата, Новый Структура("СтруктурнаяЕдиница", ВыборкаСклады.Склад)).ФизическоеЛицо;

ОбластьЗаголовок.Параметры.ТекстЗаголовка = ЗаголовокДокумента;
ТабДокумент.Вывести(ОбластьЗаголовок);

ОбластьСклад.Параметры.ПредставлениеСклада = СокрЛП(ВыборкаСклады.Склад) + ?(ЗначениеЗаполнено(ВыбМОЛ), " (материально-ответственное лицо: " + ВыбМОЛ + ")", "");
ТабДокумент.Вывести(ОбластьСклад);

ТабДокумент.Вывести(ОбластьШапкаТаблицы);

НомерСтроки = 0;
Сумма = 0;

Выборка = ВыборкаСклады.Выбрать();
Пока Выборка.Следующий() Цикл
НомерСтроки = НомерСтроки + 1;

Сумма = Сумма + Выборка.СуммаПродажная;

ОбластьСтроки.Параметры.Заполнить(Выборка);
ОбластьСтроки.Параметры.НомерСтроки = НомерСтроки;
ОбластьСтроки.Параметры.Товар = СокрЛП(Выборка.Номенклатура)
   + ФормированиеПечатныхФорм.ПредставлениеСерий(Выборка);
ОбластьСтроки.Параметры.Цена = ?(Выборка.Количество = 0, 0, Выборка.СуммаПродажная / Выборка.Количество);

ТабДокумент.Вывести(ОбластьСтроки);
КонецЦикла;

ОбластьИтого.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
ТабДокумент.Вывести(ОбластьИтого);

ОбластьСуммаПрописью.Параметры.ИтоговаяСтрока = ТекстВсегоПринятоОтпущено + НомерСтроки + " наименований, на сумму " + ОбщегоНазначения.ФорматСумм(Сумма, ВалютаРегламентированногоУчета);
ОбластьСуммаПрописью.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(Сумма, ВалютаРегламентированногоУчета);
ТабДокумент.Вывести(ОбластьСуммаПрописью);

ОбластьПодписи.Параметры.ПринялОтпустил = ТекстПринялОтпустил;
ТабДокумент.Вывести(ОбластьПодписи);

ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЦикла;
КонецЕсли;

Возврат ТабДокумент;

КонецФункции // НапечататьПриходРасходСРозничныхСкладовВЦенахАТТ()

Оффлайн vitasw

  • *****
  • Сообщений: 2575
  • РЕПУТАЦИЯ: 311
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Запрос нужно менять. Цеплять к текущему запросу левым соединением таблицу товаров.

Оффлайн Каримдат

  • ****
  • Сообщений: 284
  • РЕПУТАЦИЯ: 20
  • КПД: 7%
  • Регистрация: 2014-04-06
    • Skype: winkarollo
  • Сайт: 
  • Профессия: Ученик 1С
А можете подсказать куда именно нужно вставить ЛЕВОЕ СОЕДИНЕНИЕ?


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
58 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 277
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal