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

как найти макет"Расход с розничных складов в ценах АТТ" в УТТ 10.3?

Автор Jalib, 05 ноя 2016, 11:24

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

Jalib

Здравствуйте!знаю что этот макет где то в общих макетах, а как найти не знаю

Jalib

мне нужно доработать этот отчет в этом документе добавленна в табличной части колонка мастер нужно что бы эта колонка выводилась в отчете. я добавил в модуль обьекта в процедуру Печать
///доработка   

    ИначеЕсли ИмяМакета = "СМастерамиРасходСРозничныхСкладовВЦенахАТТ" Тогда
        ТабДокумент = ЗаполнениеДокументов.НапечататьСМастерамиРасходСРозничныхСкладовВЦенахАТТ(Ссылка, мВалютаРегламентированногоУчета, Ложь);
///доработка
в общие модули добавил макет СМастерамиРасходСРозничныхСкладовВЦенахАТТ
в общем модуле ЗаполнениеДокументов добавил процедуру

///доработка
#Если Клиент Тогда

// Функция формирует табличный документ с печатной формой прихода или расхода

//  с розничных складов в ценах АТТ.
//

// Возвращаемое значение:
//  Табличный документ - печатная форма.

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

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

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

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

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

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

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

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

    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        СуффиксОбласти = "СКодами";
        ИмяКолонкиКодов = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        СуффиксОбласти = "СКодами";
        ИмяКолонкиКодов = "Код";
    Иначе
        СуффиксОбласти = "";
        ИмяКолонкиКодов = "Код";// это нужно, чтобы текст запроса формировался корректно

    КонецЕсли;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


#КонецЕсли
новый макет создал копированием только изменив название одной колонке почему то печатается старый макет вместо нового что не так?

alex0402

Спасибо за Сказать спасибо

Jalib

СМастерамиПриходРасходВЦенахАТТ
Добавлено: 05 ноя 2016, 18:57


Цитата: alex0402 от 05 ноя 2016, 15:47
Цитата: Jalib от 05 ноя 2016, 14:13что не так?
а как называется новый макет?
да в названиях были ошибки но все перепроверив и исправив все равно работает так же
Добавлено: 05 ноя 2016, 19:22


а нет я не прав если все удалить в макете и попробывать запустить печатную форму то пишет ошибку значит печатается новая но почему если я вместо колонки "товар" пишу "мастер" то выводится "товар" как тогда добавить колонку "мастер" не понятно

alex0402

Цитата: Jalib от 05 ноя 2016, 17:55колонки "товар" пишу "мастер"

1) где пишете?
2) колонка добавлена в документ. где эта колонка в запросе?
Спасибо за Сказать спасибо

Теги:

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

Рейтинг@Mail.ru

Поиск