Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )




>  Каждый раз выставляя счета приходится ставить галочку "Цена включает НДС"
Prime7367
Отправлено: 14.03.18, 11:35


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Vofka @ 22.02.18, 14:17 * ,
Честно говоря вообще не понимаю. В редакции 1.2 все было четко и ясно.
В настройках нашей организации в учетной политике и так все настроено как надо.

На дату создания счетов, мы и так являемся плательщиками НДС.
Но каждый раз делая счет покупателю нужно ставить галочку "Цена включает НДС"
Вариант с договорами конечно исправляет ситуацию.
Но блин нужно редактировать каждый договор вручную. Чтоб установить там основную цену продажи. А это куча лишних движений, и в добавок тратиться уйма времени.

andr_ @ 22.02.18, 15:46
Цитата(andr_ @ 22.02.18, 15:46) *
І, якщо в договорі контрагента буде прописаний потрібний тип ціни, то воно все гарно підставиться в рахунок.

Когда мы переходили с 7ки мы редактировали каждого контрагента и добавляли им эти договора. (По сей день еще не все контрагенты отредактированы)
теперь спустя год нужно снова редактировать договора чтоб добавить там эту основную цену продажи.
Это слишком напряжно.
В редакции 1.2 Я в карточке пользователя галочку поставил, и на этом все мои проблемы закончились. Все счета выставлялись исключительно "Включая НДС"
После перехода на редакцию 2.0 выяснилось что делается все вот это нажатием 150 кнопок, и редакцией всех договоров контрагентов.
В связи с чем возникает вопрос.
О чем думали разработчики делая вот это?
Зачем лечить гланды залезая через жопу?

Vofka @ 22.02.18, 14:17 * ,
Подскажите а если все же создать к примеру новый тип цен номеклатуры, выставить чтоб все цены бились с НДС.
Можно ли потом массово у всех контрагентов поставить в договорах основную цену продажи на ту что создали ранее. Ну или просто поставить основная цена продажи.
Потому как 1500 тыс договоров редактировать в ручную совсем не интересно.
  Форум: Бухгалтерия 8, редакция 2 для Украины · Просмотр сообщения: #139586 · Ответов: 7 · Просмотров: 6052
 

>  Где редактируется печатная форма для русского и украинского языка
Prime7367
Отправлено: 12.03.18, 15:40


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


sava1 @ Сегодня, 15:29 * ,
Нашел, спасибо, теперь в обоих вариантах все по феншую.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #139525 · Ответов: 2 · Просмотров: 2658
 

>  Где редактируется печатная форма для русского и украинского языка
Prime7367
Отправлено: 12.03.18, 14:18


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Доброго времени суток
1С Предприятие 8.3 (8,3,9,2233)
Конфигурация:
Бухгалтерия для Украины редакция 2,0 (2,0,8,2)

Столкнулся с такой проблемой. Нужно сделать документы на Украинском языке.
В печатную форму "Счет на оплату" вносил корректировку " Добавлял строку о действии счета, а так же об изменение банковских реквизитов"
Вносились все изменения в русскую печатную форму, так как она у меня одна, украинскую я так и не смог найти.

Суть проблемы заключается в том, что при выборе печати документов на украинском языке, Мой добавленный и отредактированный текст не отображается. Выводится стандартный шаблон, но с примененными свойствами русскоязычной формы.
Где найти украинский вариант печатной формы чтоб внести нужные правки? Спасибо


Смотрите скриншоты.

Печать счета на русском

Тот же счет но уже на украинском.



 ! 

Правила: 3,5
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #139523 · Ответов: 2 · Просмотров: 2658
 

>  Каждый раз выставляя счета приходится ставить галочку "Цена включает НДС"
Prime7367
Отправлено: 22.02.18, 12:35


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Цитата(logist @ 22.02.18, 11:45) *
В учетной политике организации должно быть установлено что на дату документа она является плательщиком НДС.

Не совсем понял, в карточке контрагента и так стоит что он является плательщиком налога на прибыль. Но выставляя ему счет в редакции 2.0 Счета выставляются исключительно Без НДС, а НДС уже добавляется сверху.
в редакции 1,2 в настройках пользователя, я каждому пользователю 1С поставил галочку " выставлять счета включая НДС" точно уже не помню.
И каждый раз клацать эту галочку совсем неудобно. А если еще и забываешь, то счет автоматом выходит дороже на 20 процентов.
Картинки

  Форум: Бухгалтерия 8, редакция 2 для Украины · Просмотр сообщения: #138906 · Ответов: 7 · Просмотров: 6052
 

>  Каждый раз выставляя счета приходится ставить галочку "Цена включает НДС"
Prime7367
Отправлено: 22.02.18, 10:25


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Доброго времени суток
1С Предприятие 8.3 (8,3,9,2233)
Конфигурация:
Бухгалтерия для Украины редакция 2,0 (2,0,8,2)

Суть вопроса такого, в редакции 1.2 все счета выставлялись у нас включая НДС.
После перехода на редакцию 2,0 начались проблемы, каждый раз выставляя счета приходится ставить галочку, "цена включает НДС" Где в данной редакции включается принудительно выставление счетов с НДС.

Спасибо.


 ! 

Правила: 4, 6
 
  Форум: Бухгалтерия 8, редакция 2 для Украины · Просмотр сообщения: #138890 · Ответов: 7 · Просмотров: 6052
 

>  Ошбика Поле объекта не обнаружено (мВалютаРегламентированногоУчета) во внешней печатной форме
Prime7367
Отправлено: 21.12.17, 13:54


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Всем спасибо, нашел свою ошибку. Добавил строку
Цитата(Petre @ 20.12.17, 15:54) *
мВалютаРегламентированногоУчета = СсылкаНаОбъект.ВалютаДокумента;

Там где пропустил.
И в самом коде перед
мВалютаРегламентированногоУчета

добавил СсылкаНаДокумент.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #136516 · Ответов: 11 · Просмотров: 7239
 

>  Ошбика Поле объекта не обнаружено (мВалютаРегламентированногоУчета) во внешней печатной форме
Prime7367
Отправлено: 21.12.17, 12:16


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Цитата(Petre @ 20.12.17, 15:54) *
мВалютаРегламентированногоУчета = СсылкаНаОбъект.ВалютаДокумента;

отредактировал и модуль и форму, почему то все равно выбивает туже самую ошибку.
Также пробовал вариант
Цитата(Vofka @ 20.12.17, 16:58) *
мВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #136509 · Ответов: 11 · Просмотров: 7239
 

>  Ошбика Поле объекта не обнаружено (мВалютаРегламентированногоУчета) во внешней печатной форме
Prime7367
Отправлено: 20.12.17, 15:47


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Модуль объекта
// Функция формирует табличный документ с печатной формой заказа или счета,
// разработанного методистами
//
// Возвращаемое значение:
//  Табличный документ - сформированная печатная форма
//
Функция Печать(Тип = "Счет") Экспорт

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

    СтруктурнаяЕдиница = СсылкаНаОбъект.СтруктурнаяЕдиница;
    Шапка = Запрос.Выполнить().Выбрать();
    Шапка.Следующий();

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";

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

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

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

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

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

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

    // Выводим дополнительно информацию о договоре и сделке
    СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
    МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать);
    ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
    Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
        ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЦикла;
    
    // Вывести табличную часть
    ОбластьИтого = "Итого";
    
    ЕстьСкидки = (ЗапросТовары.Итог("СуммаСкидки") <> 0);
    
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ВыводитьКоды = Истина;
        Колонка = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ВыводитьКоды = Истина;
        Колонка = "Код";
    Иначе
        ВыводитьКоды = Ложь;
    КонецЕсли;
    
    ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
    ОбластьСкидка = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
    
    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    
    Суффикс = "";
    Если Шапка.УчитыватьНДС Тогда
        Если Шапка.СуммаВключаетНДС Тогда
            Суффикс  = Суффикс  + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать);
        Иначе    
            Суффикс  = Суффикс  + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать);
        КонецЕсли;
        Суффикс = Суффикс  + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать);
    КонецЕсли;
    ОбластьДанных.Параметры.Цена  = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
    ТабДокумент.Присоединить(ОбластьДанных);
    Если ЕстьСкидки Тогда
        ТабДокумент.Присоединить(ОбластьСкидка);
    КонецЕсли;
    
    ОбластьСуммы.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
    ТабДокумент.Присоединить(ОбластьСуммы);
    //ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьКолонкаТовар = Макет.Область("Товар");
    Если Не ВыводитьКоды Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
                                            Макет.Область("КолонкаКодов").ШиринаКолонки;
    КонецЕсли;
    Если НЕ ЕстьСкидки Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
                                            Макет.Область("СуммаБезСкидки").ШиринаКолонки +
                                            Макет.Область("СуммаСкидки").ШиринаКолонки;
    КонецЕсли;
    
    СуммаБезСкидки    = 0;
    СуммаСкидки     = 0;
    Сумма            = 0;
    СуммаНДС         = 0;
    
    ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
    ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");

    Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл

        Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
            Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
            Продолжить;
        КонецЕсли;


        ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
        ТабДокумент.Вывести(ОбластьНомера);
        
        Если ВыводитьКоды Тогда
            Если Колонка = "Артикул" Тогда
                ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
            Иначе
                ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
            КонецЕсли;
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;

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

        Если ЕстьСкидки Тогда
            ОбластьСкидки.Параметры.Заполнить(ВыборкаСтрокТовары);
            ТабДокумент.Присоединить(ОбластьСкидки);
        КонецЕсли;

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

    КонецЦикла;

    // Вывести Итого
    ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
    ОбластьСкидки = Макет.ПолучитьОбласть("Итого|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("Итого|Сумма");
    
    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    ТабДокумент.Присоединить(ОбластьДанных);
    
    Если ЕстьСкидки Тогда
        ОбластьСкидки.Параметры.ВсегоСуммаБезСкидки = ОбщегоНазначения.ФорматСумм(СуммаБезСкидки);        
        ОбластьСкидки.Параметры.ВсегоСуммаСкидки    = ОбщегоНазначения.ФорматСумм(СуммаСкидки);
        ТабДокумент.Присоединить(ОбластьСкидки);
    КонецЕсли;
    
    ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
    ТабДокумент.Присоединить(ОбластьСуммы);

    // Вывести ИтогоНДС
    Если Шапка.УчитыватьНДС Тогда
        // НДС
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС,,"""");
        ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать));
        ТабДокумент.Вывести(ОбластьМакета);
        
        // всего с НДС (если сумма не включает НДС)
        Если НЕ Шапка.СуммаВключаетНДС Тогда
            ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
            ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС);
            ОбластьМакета.Параметры.НДС      = НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать);
            ТабДокумент.Вывести(ОбластьМакета);
        КонецЕсли;
    КонецЕсли;

    // выведем таблицу с возвратной тарой
    Если ЗапросТара.Количество() > 0 Тогда
        // сделаем отступ от основной таблицы
        ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
        ТабДокумент.Вывести(ОбластьПробел);
        
        ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыТара|НомерСтрокиТара");
        ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицыТара|КолонкаКодовТара");
        ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыТара|ДанныеТара");
        
        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьДанных);
        
        ОбластьКолонкаТара = Макет.Область("Тара");
        Если Не ВыводитьКоды Тогда
            ОбластьКолонкаТара.ШиринаКолонки = ОбластьКолонкаТара.ШиринаКолонки +
            Макет.Область("КолонкаКодовТара").ШиринаКолонки;
        КонецЕсли;
        
        ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТара|НомерСтрокиТара");
        ОбластьКодов  = Макет.ПолучитьОбласть("СтрокаТара|КолонкаКодовТара");
        ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТара|ДанныеТара");
        
        СуммаТара    = 0;
        
        Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл
            
            Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда
                Сообщить(НСтр("ru='В одной из строк не заполнено значение тары - строка при печати пропущена.';uk='В одному з рядків не заповнене значення тари - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
                Продолжить;
            КонецЕсли;
            
            ОбластьНомера.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
            ТабДокумент.Вывести(ОбластьНомера);
            
            Если ВыводитьКоды Тогда
                Если Колонка = "Артикул" Тогда
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
                Иначе
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
                КонецЕсли;
                ТабДокумент.Присоединить(ОбластьКодов);
            КонецЕсли;
            
            ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТара);
            ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТара.Товар);
            ТабДокумент.Присоединить(ОбластьДанных);
        
            СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;
            
            
        КонецЦикла;
        
        // Вывести Итого
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоТара");
        ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(СуммаТара);
        ТабДокумент.Вывести(ОбластьМакета);
        
        // сделаем отступ
        ТабДокумент.Вывести(ОбластьПробел);
    КонецЕсли;
    
    // Вывести Сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
    ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ЗапросТовары.Количество() + "," +
                                             НСтр("ru=' на сумму ';uk=' на суму '",КодЯзыкаПечать)  + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента)
                                             + ?(ЗапросТара.Количество() = 0, "",  НСтр("ru='; возвратная тара ';uk='; зворотна тара '",КодЯзыкаПечать) + ЗапросТара.Количество() + НСтр("ru=', на сумму ';uk=', на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаТара, Шапка.ВалютаДокумента)) + ".";
                                            
    ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента,КодЯзыкаПечать)
                                              + ?(НЕ Шапка.УчитыватьНДС, "", Символы.ПС + НСтр("ru='В т.ч. НДС: ';uk='У т.ч. ПДВ: '",КодЯзыкаПечать) + ОбщегоНазначения.СформироватьСуммуПрописью(СуммаНДС, Шапка.ВалютаДокумента, КодЯзыкаПечать));

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

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

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

КонецФункции // ПечатьСчетаЗаказа()


Если можно тыкните что и где,
только начал с этим всем разбираться.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #136448 · Ответов: 11 · Просмотров: 7239
 

>  Ошбика Поле объекта не обнаружено (мВалютаРегламентированногоУчета) во внешней печатной форме
Prime7367
Отправлено: 20.12.17, 15:39


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Доброго времени суток.
Нужна помощь. в подключении внешней печатной формы.
При открытии внешней обработки в 1с через Файл-->открыть, и выбрав любой счет, все нормально открывается и отображается.
Но уже подключив внешнюю обработку через "Сервис" "дополнительные отчеты и обработки"
Открыв любой счет и выбрав печать уже через эту обработку выдает ошибку:
Цитата
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (мВалютаРегламентированногоУчета)

Где у меня может быть ошибка?
В конфигурации ошибки не вылазят.


1с Предприятие 8,3 (8,3,9,2233)
Конфигурация: Бухгалтерия для Украины, редакция 1,2(1,2,42,1)

Форма
Процедура КнопкаВыполнитьНажатие(Кнопка)

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

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

    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ";

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

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

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

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

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

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

    // Выводим дополнительно информацию о договоре и сделке
    СписокДополнительныхПараметров = "ДоговорНаименованиеДляПечати,";
    МассивСтруктурСтрок = ФормированиеПечатныхФорм.ДополнительнаяИнформация(Шапка,СписокДополнительныхПараметров,КодЯзыкаПечать);
    ОбластьМакета = Макет.ПолучитьОбласть("ДопИнформация");
    Для каждого СтруктураСтроки Из МассивСтруктурСтрок Цикл
        ОбластьМакета.Параметры.Заполнить(СтруктураСтроки);
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЦикла;
    
    // Вывести табличную часть
    ОбластьИтого = "Итого";
    
    ЕстьСкидки = (ЗапросТовары.Итог("СуммаСкидки") <> 0);
    
    ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
    Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
        ВыводитьКоды = Истина;
        Колонка = "Артикул";
    ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
        ВыводитьКоды = Истина;
        Колонка = "Код";
    Иначе
        ВыводитьКоды = Ложь;
    КонецЕсли;
    
    ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
    ОбластьСкидка = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
    
    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    
    Суффикс = "";
    Если Шапка.УчитыватьНДС Тогда
        Если Шапка.СуммаВключаетНДС Тогда
            Суффикс  = Суффикс  + НСтр("ru=' с ';uk=' з '",КодЯзыкаПечать);
        Иначе    
            Суффикс  = Суффикс  + НСтр("ru=' без ';uk=' без '",КодЯзыкаПечать);
        КонецЕсли;
        Суффикс = Суффикс  + НСтр("ru='НДС';uk='ПДВ'",КодЯзыкаПечать);
    КонецЕсли;
    ОбластьДанных.Параметры.Цена  = НСтр("ru='Цена';uk='Ціна'",КодЯзыкаПечать) + Суффикс;
    ТабДокумент.Присоединить(ОбластьДанных);
    Если ЕстьСкидки Тогда
        ТабДокумент.Присоединить(ОбластьСкидка);
    КонецЕсли;
    
    ОбластьСуммы.Параметры.Сумма = НСтр("ru='Сумма';uk='Сума'",КодЯзыкаПечать)+ Суффикс;
    ТабДокумент.Присоединить(ОбластьСуммы);
    //ТабДокумент.Вывести(ОбластьМакета);
    
    ОбластьКолонкаТовар = Макет.Область("Товар");
    Если Не ВыводитьКоды Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
                                            Макет.Область("КолонкаКодов").ШиринаКолонки;
    КонецЕсли;
    Если НЕ ЕстьСкидки Тогда
        ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
                                            Макет.Область("СуммаБезСкидки").ШиринаКолонки +
                                            Макет.Область("СуммаСкидки").ШиринаКолонки;
    КонецЕсли;
    
    СуммаБезСкидки    = 0;
    СуммаСкидки     = 0;
    Сумма            = 0;
    СуммаНДС         = 0;
    
    ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
    ОбластьСкидки = Макет.ПолучитьОбласть("Строка|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");

    Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл

        Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
            Сообщить(НСтр("ru='В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.';uk='В одному з рядків не заповнене значення номенклатури - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
            Продолжить;
        КонецЕсли;


        ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
        ТабДокумент.Вывести(ОбластьНомера);
        
        Если ВыводитьКоды Тогда
            Если Колонка = "Артикул" Тогда
                ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
            Иначе
                ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
            КонецЕсли;
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;

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

        Если ЕстьСкидки Тогда
            ОбластьСкидки.Параметры.Заполнить(ВыборкаСтрокТовары);
            ТабДокумент.Присоединить(ОбластьСкидки);
        КонецЕсли;

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

    КонецЦикла;

    // Вывести Итого
    ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
    ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
    ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
    ОбластьСкидки = Макет.ПолучитьОбласть("Итого|Скидка");
    ОбластьСуммы  = Макет.ПолучитьОбласть("Итого|Сумма");
    
    ТабДокумент.Вывести(ОбластьНомера);
    Если ВыводитьКоды Тогда
        ТабДокумент.Присоединить(ОбластьКодов);
    КонецЕсли;
    ТабДокумент.Присоединить(ОбластьДанных);
    
    Если ЕстьСкидки Тогда
        ОбластьСкидки.Параметры.ВсегоСуммаБезСкидки = ОбщегоНазначения.ФорматСумм(СуммаБезСкидки);        
        ОбластьСкидки.Параметры.ВсегоСуммаСкидки    = ОбщегоНазначения.ФорматСумм(СуммаСкидки);
        ТабДокумент.Присоединить(ОбластьСкидки);
    КонецЕсли;
    
    ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
    ТабДокумент.Присоединить(ОбластьСуммы);

    // Вывести ИтогоНДС
    Если Шапка.УчитыватьНДС Тогда
        // НДС
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
        ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС,,"""");
        ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, НСтр("ru='В том числе НДС:';uk='У тому числі ПДВ:'",КодЯзыкаПечать), НСтр("ru='Сумма НДС:';uk='Сума ПДВ:'",КодЯзыкаПечать));
        ТабДокумент.Вывести(ОбластьМакета);
        
        // всего с НДС (если сумма не включает НДС)
        Если НЕ Шапка.СуммаВключаетНДС Тогда
            ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
            ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(Сумма + СуммаНДС);
            ОбластьМакета.Параметры.НДС      = НСтр("ru='Всего с НДС:';uk='Всього із ПДВ:'",КодЯзыкаПечать);
            ТабДокумент.Вывести(ОбластьМакета);
        КонецЕсли;
    КонецЕсли;

    // выведем таблицу с возвратной тарой
    Если ЗапросТара.Количество() > 0 Тогда
        // сделаем отступ от основной таблицы
        ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
        ТабДокумент.Вывести(ОбластьПробел);
        
        ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицыТара|НомерСтрокиТара");
        ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицыТара|КолонкаКодовТара");
        ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицыТара|ДанныеТара");
        
        ТабДокумент.Вывести(ОбластьНомера);
        Если ВыводитьКоды Тогда
            ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
            ТабДокумент.Присоединить(ОбластьКодов);
        КонецЕсли;
        ТабДокумент.Присоединить(ОбластьДанных);
        
        ОбластьКолонкаТара = Макет.Область("Тара");
        Если Не ВыводитьКоды Тогда
            ОбластьКолонкаТара.ШиринаКолонки = ОбластьКолонкаТара.ШиринаКолонки +
            Макет.Область("КолонкаКодовТара").ШиринаКолонки;
        КонецЕсли;
        
        ОбластьНомера = Макет.ПолучитьОбласть("СтрокаТара|НомерСтрокиТара");
        ОбластьКодов  = Макет.ПолучитьОбласть("СтрокаТара|КолонкаКодовТара");
        ОбластьДанных = Макет.ПолучитьОбласть("СтрокаТара|ДанныеТара");
        
        СуммаТара    = 0;
        
        Для каждого ВыборкаСтрокТара Из ЗапросТара Цикл
            
            Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТара.Номенклатура) Тогда
                Сообщить(НСтр("ru='В одной из строк не заполнено значение тары - строка при печати пропущена.';uk='В одному з рядків не заповнене значення тари - рядок під час друку буде пропущений.'"), СтатусСообщения.Важное);
                Продолжить;
            КонецЕсли;
            
            ОбластьНомера.Параметры.НомерСтроки = ЗапросТара.Индекс(ВыборкаСтрокТара) + 1;
            ТабДокумент.Вывести(ОбластьНомера);
            
            Если ВыводитьКоды Тогда
                Если Колонка = "Артикул" Тогда
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Артикул;
                Иначе
                    ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТара.Код;
                КонецЕсли;
                ТабДокумент.Присоединить(ОбластьКодов);
            КонецЕсли;
            
            ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТара);
            ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТара.Товар);
            ТабДокумент.Присоединить(ОбластьДанных);
        
            СуммаТара = СуммаТара + ВыборкаСтрокТара.Сумма;
            
            
        КонецЦикла;
        
        // Вывести Итого
        ОбластьМакета = Макет.ПолучитьОбласть("ИтогоТара");
        ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(СуммаТара);
        ТабДокумент.Вывести(ОбластьМакета);
        
        // сделаем отступ
        ТабДокумент.Вывести(ОбластьПробел);
    КонецЕсли;
    
    // Вывести Сумму прописью
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
    СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
    ОбластьМакета.Параметры.ИтоговаяСтрока = НСтр("ru='Всего наименований ';uk='Всього найменувань '",КодЯзыкаПечать) + ЗапросТовары.Количество() + "," +
                                             НСтр("ru=' на сумму ';uk=' на суму '",КодЯзыкаПечать)  + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента)
                                             + ?(ЗапросТара.Количество() = 0, "",  НСтр("ru='; возвратная тара ';uk='; зворотна тара '",КодЯзыкаПечать) + ЗапросТара.Количество() + НСтр("ru=', на сумму ';uk=', на суму '",КодЯзыкаПечать) + ОбщегоНазначения.ФорматСумм(СуммаТара, Шапка.ВалютаДокумента)) + ".";
                                            
    ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента,КодЯзыкаПечать)
                                              + ?(НЕ Шапка.УчитыватьНДС, "", Символы.ПС + НСтр("ru='В т.ч. НДС: ';uk='У т.ч. ПДВ: '",КодЯзыкаПечать) + ОбщегоНазначения.СформироватьСуммуПрописью(СуммаНДС, Шапка.ВалютаДокумента, КодЯзыкаПечать));

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

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

    //Возврат ТабДокумент;
    
     ТабДокумент.Показать();
    
КонецПроцедуры



 ! 

4,5
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #136445 · Ответов: 11 · Просмотров: 7239
 

>  Счет на оплату с печатью и подписью
Prime7367
Отправлено: 18.02.16, 10:57


Общительный
**

Группа: Пользователи
Сообщений: 10
Регистрация: 18.02.16
Пользователь №: 48551


Здравствуйте, Извиняюсь заранее если не в той теме пишу.
В поиске ничего не нашел. Не исключаю что не правильно писал.
Суть вопроса состоит в том что имеется 1с предприятие 8.2
И очень хотелось бы при выставлении счета (Особенно при отправке на почту)
Чтоб в счет добавлялась печать предприятия и подпись.
Ткните пожалуйста носом где копать. Или это только через специалистов ?
  Форум: 1С Управление Торговым Предприятием 8 · Просмотр сообщения: #108728 · Ответов: 1 · Просмотров: 2221
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 24.04.24, 20:51
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!