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

Склад в накладной формы РеализацияТоваровУслуг

Автор max5600, 09 авг 2010, 10:06

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

max5600

Здравствуйте все. Приобрели 1С Управление торговлей. Я не программист, но опытный пользователь. Начальству сразу же нужно поправить расходную накладную в документе РеализацияТоваровУслуг. Нужно, чтобы в области "Поставщик" после Поставщика выводился Склад. На макете в нужной области я добавил Склад и прописал ему значения можно увидеть на скрине. Изображение Помогите прописать вывод склада в модуле если не затруднит. Кусок модуля выкладываю: Функция ПечатьДокумента(СуммыВРублях = Ложь)

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Номер,
    |    РеализацияТоваровУслуг.Дата,
    |    РеализацияТоваровУслуг.ДоговорКонтрагента,
    |    РеализацияТоваровУслуг.Контрагент КАК Получатель,
    |    РеализацияТоваровУслуг.Организация,
    |    РеализацияТоваровУслуг.Организация КАК Поставщик,
    |    РеализацияТоваровУслуг.СуммаДокумента,
    |    РеализацияТоваровУслуг.ВалютаДокумента,
    |    РеализацияТоваровУслуг.УчитыватьНДС,
    |    РеализацияТоваровУслуг.СуммаВключаетНДС,
    |    РеализацияТоваровУслуг.ОтпускПроизвел,
    |    РеализацияТоваровУслуг.КурсВзаиморасчетов,
    |    РеализацияТоваровУслуг.КратностьВзаиморасчетов
    |ИЗ
    |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();

    ТекстКурс = "";

    СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг");

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ВложенныйЗапросПоТоварам.Номенклатура,
    |    ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
    |    ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код,
    |    ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул,
    |    ВложенныйЗапросПоТоварам.Количество,
    |    ВложенныйЗапросПоТоварам.КоличествоМест,
    |    ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест,
    |    ВложенныйЗапросПоТоварам.Цена,
    |    ВложенныйЗапросПоТоварам.Сумма,
    |    ВложенныйЗапросПоТоварам.СуммаНДС,
    |    ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки КАК Скидка,
    |    ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка,
    |    ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры КАК Характеристика,
    |    ВложенныйЗапросПоТоварам.СтранаПроисхождения КАК СтранаПроисхождения,
    |    ВложенныйЗапросПоТоварам.НомерГТД КАК НомерГТД,
    |    ВложенныйЗапросПоТоварам.СерияНоменклатуры КАК Серия,
    |    ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки,
    |    ВложенныйЗапросПоТоварам.Метка КАК Метка
    |ИЗ
    |    (ВЫБРАТЬ
    |        РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.Цена КАК Цена,
    |        РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
    |        РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД КАК НомерГТД,
    |        РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения КАК СтранаПроисхождения,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры КАК СерияНоменклатуры,
    |        СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
    |        СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
    |        СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма,
    |        СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС,
    |        МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
    |        0 КАК Метка
    |    ИЗ
    |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
    |    ГДЕ
    |        РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |   
    |    СГРУППИРОВАТЬ ПО
    |        РеализацияТоваровУслуг.Номенклатура,
    |        РеализацияТоваровУслуг.ЕдиницаИзмерения,
    |        РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
    |        РеализацияТоваровУслуг.Цена,
    |        РеализацияТоваровУслуг.СтавкаНДС,
    |        РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |        РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
    |        РеализацияТоваровУслуг.СерияНоменклатуры,
    |        РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
    |        РеализацияТоваровУслуг.СерияНоменклатуры.НомерГТД,
    |        РеализацияТоваровУслуг.СерияНоменклатуры.СтранаПроисхождения) КАК ВложенныйЗапросПоТоварам
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    " + СтрокаВыборкиПоляСодержания + ",
    |    " + СтрокаВыборкиПоляСодержания + ",
    |    РеализацияТоваровУслуг.Номенклатура.Код,
    |    РеализацияТоваровУслуг.Номенклатура.Артикул,
    |    РеализацияТоваровУслуг.Количество,
    |    NULL,
    |    РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
    |    NULL,
    |    РеализацияТоваровУслуг.Цена,
    |    РеализацияТоваровУслуг.Сумма,
    |    РеализацияТоваровУслуг.СуммаНДС,
    |    РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
    |    NULL,
    |    NULL,
    |    NULL,
    |    NULL,
    |    NULL,
    |    РеализацияТоваровУслуг.НомерСтроки,
    |    1
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Номенклатура,
    |    ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)),
    |    РеализацияТоваровУслуг.Номенклатура.Код,
    |    РеализацияТоваровУслуг.Номенклатура.Артикул,
    |    РеализацияТоваровУслуг.Количество,
    |    NULL,
    |    РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление,
    |    NULL,
    |    РеализацияТоваровУслуг.Цена,
    |    РеализацияТоваровУслуг.Сумма,
    |    0,
    |    0,
    |    NULL,
    |    NULL,
    |    NULL,
    |    NULL,
    |    NULL,
    |    РеализацияТоваровУслуг.НомерСтроки,
    |    2
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
    |ГДЕ
    |    РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    Метка,
    |    НомерСтроки";

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

    // Выводим шапку накладной

    ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
    ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Расходная накладная");
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
    ПредставлениеСклада = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
    ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик;
    ОбластьМакета.Параметры.ПредставлениеСклада = ПредставлениеСклада;
    ОбластьМакета.Параметры.Склад = Шапка.Склад;
    ТабДокумент.Вывести(ОбластьМакета);

    ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
    ПредставлениеПолучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,");
    ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя;
    ОбластьМакета.Параметры.Получатель = Шапка.Получатель;
    ТабДокумент.Вывести(ОбластьМакета);

max5600


Zeratul

ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
    ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
    ПредставлениеСклада = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
    ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика;
    ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик;
    ОбластьМакета.Параметры.Склад = Склад.Наименование;

и в самом макете вместо "ПредставлениеСклад  напиши "Склад"



max5600

Спасибо за ответ. Вечером сегодня пойду пробовать.

max5600

Спасибо Zeratul! Все отлично теперь в расходной накладной. Склад показывается. После такого успеха, мне было дано второе задание, прописать Склад уже в приходной накладной, не которая ТОРГ-12, а просто приходная накладная. Нашел в документах форму "ПоступлениеТоваровУслуг" и добавил код  ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата), "ПолноеНаименование,");
ПредставлениеСклада = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,");
ОбластьМакета.Параметры.Поставщик = Шапка.Контрагент;
ОбластьМакета.Параметры.Склад = Склад.Наименование;
ТабДокумент.Вывести(ОбластьМакета);

На макете в области добавил Склад и прописал Параметр Склад. Думал сработает все четко, по первому сценарию с расходной накладной, но тут вышла ошибка:
{Документ.ПоступлениеТоваровУслуг(271,34)}: Переменная не определена (Склад)
ОбластьМакета.Параметры.Склад = <<?>>Склад.Наименование;

Где прописать переменную в модуле?

Zeratul

Данной переменной в этом документе просто нет, поэтому вылетает эта ошибка! Если откроешь форму документа и посмотреть реквизит склада, то там будет прописано не склад, а "СкладОрдер". Поэтому напиши следующее:
Параметр оставь тот же на макете "Склад", а в модуле напиши "СкладОрдер.Наименование"

Zeratul

ОбластьМакета.Параметры.Склад = СкладОрдер.Наименование;

max5600

Спасибо! Попробую вечерком. Посоветуйте с чего начать изучать азы 1с, как прописывать параметры, как узнать название параметров и тд. Для чайника есть какие нибудь книги?

DDD

Да на этом форуме в разделе "Полезные ссылки" много литературы и для начинающих и для специалистов.

max5600


Теги:

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

Рейтинг@Mail.ru

Поиск