Имя: Пароль:
1C
1С v8
как найти макет"Расход с розничных складов в ценах АТТ" в УТТ 10.3?
0 Jalib
 
05.11.16
11:21
Здравствуйте!знаю что этот макет где то в общих макетах, а как найти не знаю
1 Одинесю
 
05.11.16
11:58
Глобальным поиском?
2 Одинесю
 
05.11.16
12:23
ПриходРасходВЦенахАТТ
3 Jalib
 
05.11.16
13:12
спасибо Одинесю!мне нужно доработать этот отчет в этом документе добавленна в табличной части колонка мастер нужно что бы эта колонка выводилась в отчете. я добавил в модуль обьекта в процедуру Печать
///доработка    
    ИначеЕсли ИмяМакета = "СМастерамиРасходСРозничныхСкладовВЦенахАТТ" Тогда
        ТабДокумент = ЗаполнениеДокументов.НапечататьСМастерамиРасходСРозничныхСкладовВЦенахАТТ(Ссылка, мВалютаРегламентированногоУчета, Ложь);
///доработка
в общие модули добавил макет СМастерамиРасходСРозничныхСкладовВЦенахАТТ
в общем модуле ЗаполнениеДокументов добавил процедуру

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#КонецЕсли
новый макет создал копированием только изменив название одной колонке почему то печатается старый макет вместо нового что не так?
4 Jalib
 
05.11.16
13:14
да опечатался это конечно же не отчет ,а печатная форма документа
5 Одинесю
 
05.11.16
13:39
Ну, здесь только отладчиком - какой макет в реале получаешь, что дальше происходит.
6 Jalib
 
05.11.16
13:49
никаких ошибок не пишет просто распечатывается макет РасходСРозничныхСкладовВЦенахАТТ
вместо
СМастерамиРасходСРозничныхСкладовВЦенахАТТ
что бы их различать я изменил название одной колонки
7 Jalib
 
05.11.16
14:10
отладчик показывает что программа выполняется верно имя макета отладчик показывает СМастерамиРасходСРозничныхСкладовВЦенахАТТ