|
документ РЕАЛИЗАЦИЯ ТОВАРОВ И УСЛУГ | ☑ | ||
---|---|---|---|---|
0
Елена-Тамара
18.09.12
✎
10:06
|
1C:Управление производственным предприятием
Технологическая платформа 8.2.15.301, номер версии 1.3.28.1 серверный вариант. В документ РЕАЛИЗАЦИЯ ТОВАРОВ И УСЛУГ добавила в табличную часть дополнительный реквизит ДОП. Добавила в форму документа поле со ссылкой на этот реквизит. В форме все работает прекрасно — поле ДОП есть, данные туда вводятся. А вот печатная форма это поле не видит. ОШИБКА: Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(36, 3)}: Поле не входит в группу "РеализацияТоваровУслуг.Доп" <<?>>РеализацияТоваровУслуг.Доп, Что с этим делать, кто знает? |
|||
1
PR
18.09.12
✎
10:07
|
Ща забанят
|
|||
2
Maxus43
18.09.12
✎
10:07
|
Поле в ТЧ, а не в самом доке
|
|||
3
ZanderZ
18.09.12
✎
10:07
|
Добавить в группировку
|
|||
4
Я не курил
18.09.12
✎
10:10
|
Все хотят в номинацию попасть
|
|||
5
Елена-Тамара
18.09.12
✎
10:11
|
(2) ТЧ - что это?
|
|||
6
Елена-Тамара
18.09.12
✎
10:11
|
(3) Как?
|
|||
7
rbcvg
18.09.12
✎
10:12
|
(5) табличная часть
|
|||
8
Елена-Тамара
18.09.12
✎
10:13
|
(2) в ТЧ
|
|||
9
Ненавижу 1С
гуру
18.09.12
✎
10:15
|
текст запроса в студию
|
|||
10
Елена-Тамара
18.09.12
✎
10:20
|
(9)
Функция Печать() Экспорт Перем Доп; Если Не Метаданные.Имя = "УправлениеПроизводственнымПредприятием" Тогда Сообщить("Печатная форма предназначена для использования в конфигурации ""Управление производственным предприятией""", СтатусСообщения.Внимание); КонецЕсли; ТабДокумент = ПечатьТОРГ12(Истина); //ПечатьАктаОбОказанииУслуг("Макет",1,Ложь); УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект), СсылкаНаОбъект); КонецФункции // Печать // Функция формирует табличный документ с печатной формой накладной, // разработанной методистами // // Возвращаемое значение: // Табличный документ - печатная форма накладной // Функция ПечатьТОРГ12(БезУслуг = Ложь) ЕдиницаИзмеренияВеса = Константы.ЕдиницаИзмеренияВеса.Получить(); ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ТоварКод = "Артикул"; //!!! ETON //ТоварКод = "Доп"; Иначе ТоварКод = "Код"; //!!! ETON //ТоварКод = "Доп"; КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаСреза", СсылкаНаОбъект.Дата); Запрос.УстановитьПараметр("СтруктурнаяЕдиница", СсылкаНаОбъект.Склад); Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.УстановитьПараметр("ПустойКонтрагент", Справочники.Контрагенты.ПустаяСсылка()); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата КАК ДатаДокумента, | Организация, | Организация КАК ЮрФизЛицо, | Организация КАК Поставщик, | Организация КАК Контрагент, | Организация КАК Руководители, | АдресДоставки КАК АдресДоставки, | ВЫБОР КОГДА Грузополучатель = &ПустойКонтрагент | ТОГДА Контрагент | ИНАЧЕ Грузополучатель КОНЕЦ КАК Грузополучатель, | ВЫБОР КОГДА Грузоотправитель = &ПустойКонтрагент | ТОГДА Организация | ИНАЧЕ Грузоотправитель КОНЕЦ КАК Грузоотправитель, | БанковскийСчетОрганизации КАК БанковскийСчет, | Контрагент КАК Покупатель, | Контрагент КАК Плательщик, | Сделка, | ДоговорКонтрагента.Представление КАК Основание, | ДоговорКонтрагента.ВедениеВзаиморасчетов КАК ВедениеВзаиморасчетов, | ОтветственныеЛица.ФизическоеЛицо КАК ОтветственноеЛицо, | Подразделение, | ВалютаДокумента, | КурсВзаиморасчетов КАК Курс, | КратностьВзаиморасчетов КАК Кратность, | УчитыватьНДС, | СуммаВключаетНДС, | ОтпускРазрешил, | ОтпускПроизвел, | ДоверенностьНомер, | ДоверенностьДата, | ДоверенностьВыдана, | ДоверенностьЧерезКого |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ОтветственныеЛица.СрезПоследних(&ДатаСреза, СтруктурнаяЕдиница = &СтруктурнаяЕдиница) КАК ОтветственныеЛица |ПО | ОтветственныеЛица.СтруктурнаяЕдиница = РеализацияТоваровУслуг.Склад | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); Если СсылкаНаОбъект.ВалютаДокумента = СсылкаНаОбъект.ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда // Документ оформлен в валюте взаиморасчетов Запрос.УстановитьПараметр("Курс", СсылкаНаОбъект.КурсВзаиморасчетов); Запрос.УстановитьПараметр("Кратность", СсылкаНаОбъект.КратностьВзаиморасчетов); Иначе // Документ оформлен в валюте регламентированного учета Запрос.УстановитьПараметр("Курс", 1); Запрос.УстановитьПараметр("Кратность", 1); КонецЕсли; Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование, | ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК ТоварКод, //!!! ETON //| ВложенныйЗапрос.Номенклатура.Доп КАК Доп, | ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование, | ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки, | ВложенныйЗапрос.КоэффициентМест / ВложенныйЗапрос.Коэффициент КАК КоличествоВОдномМесте, | ВЫБОР | КОГДА ВложенныйЗапрос.КоличествоМест > 0 ТОГДА ВложенныйЗапрос.КоличествоМест * ВложенныйЗапрос.ЕдиницаИзмеренияМест.Вес | ИНАЧЕ ВложенныйЗапрос.Количество * ВложенныйЗапрос.ЕдиницаИзмерения.Вес | КОНЕЦ КАК МассаБрутто, | ВложенныйЗапрос.Характеристика КАК Характеристика, | ВложенныйЗапрос.Серия КАК Серия, | ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС, | ВложенныйЗапрос.Цена КАК Цена, | ВЫБОР | КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И | (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0)) | ТОГДА ЛОЖЬ | ИНАЧЕ Истина | КОНЕЦ КАК ЕстьСкидкиПоСтроке, | ВложенныйЗапрос.Количество КАК Количество, | ВложенныйЗапрос.КоличествоМест КАК КоличествоМест, | ВложенныйЗапрос.Сумма КАК Сумма, | ВложенныйЗапрос.СуммаНДС КАК СуммаНДС, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, // !!!ETON | ВложенныйЗапрос.Доп КАК Доп, | ВложенныйЗапрос.Метка КАК Метка |ИЗ | | ( | ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.Коэффициент, // !!! ETON | РеализацияТоваровУслуг.Доп, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест.Коэффициент КАК КоэффициентМест, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика, | РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок, | СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, | СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, | СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма, | СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС, | МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, | 0 КАК Метка | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура, | РеализацияТоваровУслуг.Коэффициент, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | РеализацияТоваровУслуг.ХарактеристикаНоменклатуры, | РеализацияТоваровУслуг.СерияНоменклатуры, | РеализацияТоваровУслуг.СтавкаНДС, | РеализацияТоваровУслуг.Цена, | РеализацияТоваровУслуг.ПроцентСкидкиНаценки, | РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок | ) КАК ВложенныйЗапрос |"; Если НЕ БезУслуг Тогда СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); Запрос.Текст = Запрос.Текст + " | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | " + СтрокаВыборкиПоляСодержания + " КАК ТоварНаименование, | РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL КАК ВидУпаковки, | NULL КАК КоличествоВОдномМесте, | 0 КАК МассаБрутто, | NULL КАК Характеристика, | NULL КАК Серия, | РеализацияТоваровУслуг.СтавкаНДС КАК СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | ВЫБОР | КОГДА(РеализацияТоваровУслуг.ПроцентСкидкиНаценки = 0) | ТОГДА ЛОЖЬ | ИНАЧЕ Истина | КОНЕЦ КАК ЕстьСкидкиПоСтроке, | РеализацияТоваровУслуг.Количество КАК Количество, // !!! ETON //| РеализацияТоваровУслуг.Доп КАК Доп, | NULL КАК КоличествоМест, | РеализацияТоваровУслуг.Сумма * &Курс / &Кратность КАК Сумма, | РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность КАК СуммаНДС, | РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки, | 1 КАК Метка |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |"; КонецЕсли; Запрос.Текст = Запрос.Текст + " | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК ТоварНаименование, | РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК ТоварКод, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL КАК ВидУпаковки, | NULL КАК КоличествоВОдномМесте, | РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес КАК МассаБрутто, | NULL КАК Характеристика, | NULL КАК Серия, | ""Без НДС"" КАК СтавкаНДС, | РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена, | Ложь КАК ЕстьСкидкиПоСтроке, | РеализацияТоваровУслуг.Количество КАК Количество, | NULL КАК КоличествоМест, | РеализацияТоваровУслуг.Сумма * &Курс / &Кратность КАК Сумма, | 0 КАК СуммаНДС, | РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки, | 2 КАК Метка |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | | |УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР | |"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_ТОРГ12"; Макет = ПолучитьМакет("ТОРГ12"); // Выводим общие реквизиты шапки СведенияОПоставщике = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.ЮрФизЛицо, Шапка.ДатаДокумента,, Шапка.БанковскийСчет); СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.ДатаДокумента); СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.ДатаДокумента); СведенияОГрузоотправитель = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузоотправитель, Шапка.ДатаДокумента); ОбластьМакета = Макет.ПолучитьОбласть("Шапка"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента; Если Шапка.ЮрФизЛицо = Шапка.Грузоотправитель Тогда ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике); Иначе ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"); КонецЕсли; ОбластьМакета.Параметры.ПредставлениеПодразделения = Шапка.Подразделение; Если СокрЛП(Шапка.АдресДоставки) <> "" Тогда ПредставлениеГрузополучателяДоАдреса = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,"); ПредставлениеГрузополучателяПослеАдреса = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "Телефоны,НомерСчета,Банк,БИК,КоррСчет,"); ОбластьМакета.Параметры.ПредставлениеГрузополучателя = ?(СокрЛП(ПредставлениеГрузополучателяДоАдреса) = "", "", ПредставлениеГрузополучателяДоАдреса+", ") + Шапка.АдресДоставки+?(СокрЛП(ПредставлениеГрузополучателяПослеАдреса)="", "", ", "+ПредставлениеГрузополучателяПослеАдреса); Иначе ОбластьМакета.Параметры.ПредставлениеГрузополучателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"); КонецЕсли; ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоставщике); ОбластьМакета.Параметры.ПредставлениеПлательщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе); Если Шапка.ВедениеВзаиморасчетов <> Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам И Шапка.ВедениеВзаиморасчетов <> Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоСчетам Тогда ОбластьМакета.Параметры.Основание = Шапка.Основание; Иначе Если ЗначениеЗаполнено(Шапка.Сделка) Тогда ОбластьМакета.Параметры.Основание = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка.Сделка, Строка(Шапка.Сделка.Метаданные().Синоним)); КонецЕсли; КонецЕсли; // Выводим всевозможные коды ОбластьМакета.Параметры.ОрганизацияПоОКПО = СведенияОПоставщике.КодПоОКПО; ОбластьМакета.Параметры.ВидДеятельностиПоОКДП = ""; ОбластьМакета.Параметры.ГрузополучательПоОКПО = СведенияОПокупателе.КодПоОКПО; ОбластьМакета.Параметры.ПоставщикПоОКПО = СведенияОПоставщике.КодПоОКПО; ОбластьМакета.Параметры.ПлательщикПоОКПО = СведенияОПокупателе.КодПоОКПО; ОбластьМакета.Параметры.ОснованиеНомер = ""; ОбластьМакета.Параметры.ОснованиеДата = ""; ОбластьМакета.Параметры.ТранспортнаяНакладнаяНомер = ""; ОбластьМакета.Параметры.ТранспортнаяНакладнаяДата = ""; ТабДокумент.Вывести(ОбластьМакета); НомерСтраницы = 1; // Выводим заголовок таблицы ЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаб"); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КоличествоСтрок = ЗапросТовары.Количество(); // инициализация итогов по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; ИтогоНДСНаСтранице = 0; ИтогоСуммаСНДСНаСтранице = 0; // инициализация итогов по документу ИтогоМассаБрутто = 0; ИтогоМест = 0; ИтогоКоличество = 0; ИтогоСуммаСНДС = 0; ИтогоСумма = 0; ИтогоНДС = 0; Ном = 0; // Создаем массив для проверки вывода МассивВыводимыхОбластей = Новый Массив; // Выводим многострочную часть докмента ОбластьМакета = Макет.ПолучитьОбласть("Строка"); ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице"); ОбластьПодвала = Макет.ПолучитьОбласть("Подвал"); Для Каждого ВыборкаСтрок Из ЗапросТовары Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрок.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; Ном = Ном + 1; ОбластьМакета.Параметры.Заполнить(ВыборкаСтрок); ОбластьМакета.Параметры.Номер = ЗапросТовары.Индекс(ВыборкаСтрок) + 1; // !!! ETON //ОбластьМакета.Параметры.Доп = "****************"; ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрок.ТоварНаименование) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрок) + ?(ВыборкаСтрок.Метка = 2, " (возвратная тара)", ""); Если НЕ ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) Тогда МассаБрутто = 0; Иначе МассаБрутто = ВыборкаСтрок.МассаБрутто; МассаБрутто = ?(МассаБрутто <> Неопределено И МассаБрутто <> NULL, МассаБрутто, 0); КонецЕсли; Мест = ВыборкаСтрок.КоличествоМест; Мест = ?(Мест <> Неопределено И Мест <> NULL, Мест, 0); Количество = ВыборкаСтрок.Количество; СуммаСНДС = Окр((ВыборкаСтрок.Сумма + ?(Шапка.СуммаВключаетНДС, 0, ВыборкаСтрок.СуммаНДС)), 2); СуммаНДС = Окр(ВыборкаСтрок.СуммаНДС, 2); СуммаБезНДС = СуммаСНДС - СуммаНДС; ОбластьМакета.Параметры.МассаБрутто = МассаБрутто; ОбластьМакета.Параметры.СуммаСНДС = СуммаСНДС; ОбластьМакета.Параметры.СуммаНДС = СуммаНДС; ОбластьМакета.Параметры.СтавкаНДС = ВыборкаСтрок.СтавкаНДС; ОбластьМакета.Параметры.СуммаБезНДС = СуммаБезНДС; Если Шапка.СуммаВключаетНДС Или ВыборкаСтрок.ЕстьСкидкиПоСтроке Тогда ОбластьМакета.Параметры.Цена = ?(Количество = 0, 0, СуммаБезНДС / Количество); Иначе ОбластьМакета.Параметры.Цена = ВыборкаСтрок.Цена; КонецЕсли; МассивВыводимыхОбластей.Очистить(); МассивВыводимыхОбластей.Добавить(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьИтоговПоСтранице); Если Ном = КоличествоСтрок Тогда МассивВыводимыхОбластей.Добавить(ОбластьПодвала); КонецЕсли; Если НЕ ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице"); ОбластьИтоговПоСтранице.Параметры.ИтогМассаБруттоПоСтранице = ИтогоМассаБруттоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогМестПоСтранице = ИтогоМестНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогКоличествоПоСтранице = ИтогоКоличествоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыПоСтранице = ИтогоСуммаНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогНДСПоСтранице = ИтогоНДСНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыСНДСПоСтранице = ИтогоСуммаСНДСНаСтранице; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); // очистим итоги по странице ИтогоМассаБруттоНаСтранице = 0; ИтогоМестНаСтранице = 0; ИтогоКоличествоНаСтранице = 0; ИтогоСуммаНаСтранице = 0; ИтогоНДСНаСтранице = 0; ИтогоСуммаСНДСНаСтранице = 0; НомерСтраницы = НомерСтраницы + 1; ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы; ТабДокумент.Вывести(ЗаголовокТаблицы); КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); // увеличим итоги по странице ИтогоМассаБруттоНаСтранице = ИтогоМассаБруттоНаСтранице + МассаБрутто; ИтогоМестНаСтранице = ИтогоМестНаСтранице + Мест; ИтогоКоличествоНаСтранице = ИтогоКоличествоНаСтранице + Количество; ИтогоСуммаНаСтранице = ИтогоСуммаНаСтранице + СуммаБезНДС; ИтогоНДСНаСтранице = ИтогоНДСНаСтранице + СуммаНДС; ИтогоСуммаСНДСНаСтранице = ИтогоСуммаСНДСНаСтранице + СуммаСНДС; // увеличим итоги по дукументу ИтогоМассаБрутто = ИтогоМассаБрутто + МассаБрутто; ИтогоМест = ИтогоМест + Мест; ИтогоКоличество = ИтогоКоличество + Количество; ИтогоСумма = ИтогоСумма + СуммаБезНДС; ИтогоНДС = ИтогоНДС + СуммаНДС; ИтогоСуммаСНДС = ИтогоСуммаСНДС + СуммаСНДС; КонецЦикла; // Выводим итоги по последней странице ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть("ИтогоПоСтранице"); ОбластьИтоговПоСтранице.Параметры.ИтогМассаБруттоПоСтранице = ИтогоМассаБруттоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогМестПоСтранице = ИтогоМестНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогКоличествоПоСтранице = ИтогоКоличествоНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыПоСтранице = ИтогоСуммаНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогНДСПоСтранице = ИтогоНДСНаСтранице; ОбластьИтоговПоСтранице.Параметры.ИтогСуммыСНДСПоСтранице = ИтогоСуммаСНДСНаСтранице; ТабДокумент.Вывести(ОбластьИтоговПоСтранице); // Выводим итоги по документу в целом ОбластьМакета = Макет.ПолучитьОбласть("Всего"); ОбластьМакета.Параметры.ИтогМассаБрутто = ИтогоМассаБрутто; ОбластьМакета.Параметры.ИтогМест = ИтогоМест; ОбластьМакета.Параметры.ИтогКоличество = ИтогоКоличество; ОбластьМакета.Параметры.ИтогСуммы = ИтогоСумма; ОбластьМакета.Параметры.ИтогНДС = ИтогоНДС; ОбластьМакета.Параметры.ИтогСуммыСНДС = ИтогоСуммаСНДС; ТабДокумент.Вывести(ОбластьМакета); // Выводим подвал документа ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ПолнаяДатаДокумента = Формат(Шапка.ДатаДокумента, "ДФ=""дд ММММ гггг """"года"""""""); ДлинаСтроки = СтрДлина(ПолнаяДатаДокумента); ПервыйРазделитель = Найти(ПолнаяДатаДокумента," "); ВторойРазделитель = Найти(Прав(ПолнаяДатаДокумента,ДлинаСтроки-ПервыйРазделитель)," ")+ПервыйРазделитель; ОбластьМакета.Параметры.ДатаДокументаДень = """"+Лев(ПолнаяДатаДокумента,ПервыйРазделитель-1)+""""; ОбластьМакета.Параметры.ДатаДокументаМесяц = Сред(ПолнаяДатаДокумента,ПервыйРазделитель+1,ВторойРазделитель-ПервыйРазделитель-1); ОбластьМакета.Параметры.ДатаДокументаГод = Прав(ПолнаяДатаДокумента,ДлинаСтроки-ВторойРазделитель); Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Шапка.Руководители, Шапка.ДатаДокумента,); Руководитель = Руководители.Руководитель; Бухгалтер = Руководители.ГлавныйБухгалтер; // Главный бухгалтер ОбластьМакета.Параметры.ФИОГлавБухгалтера = Бухгалтер; // Отпуск товара разрешил Если НЕ ЗначениеЗаполнено(Шапка.ОтпускРазрешил) Тогда ФИООтпускРазрешил = Руководитель; ДолжностьОтпускРазрешил = Руководители.РуководительДолжность; Иначе ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускРазрешил, Шапка.ДатаДокумента); ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.СведенияОСотруднике(Шапка.ОтпускРазрешил, Шапка.ДатаДокумента); ФамилияИмяОтчествоОтпускРазрешил = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускРазрешил = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускРазрешил); ДолжностьОтпускРазрешил = ПодразделениеДолжностьФизЛица.Должность; КонецЕсли; ОбластьМакета.Параметры.ФИОРуководителя = ФИООтпускРазрешил; ОбластьМакета.Параметры.ДолжностьРуководителя = ДолжностьОтпускРазрешил; // Отпуск товара произвел Если НЕ ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтветственноеЛицо, Шапка.ДатаДокумента); ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.СведенияОСотруднике(Шапка.ОтветственноеЛицо, Шапка.ДатаДокумента); Иначе ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФорм.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.ДатаДокумента); ПодразделениеДолжностьФизЛица = ФормированиеПечатныхФорм.СведенияОСотруднике(Шапка.ОтпускПроизвел, Шапка.ДатаДокумента); КонецЕсли; ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел); ДолжностьОтпускПроизвел = ПодразделениеДолжностьФизЛица.Должность; ОбластьМакета.Параметры.ФИОКладовщика = ФИООтпускПроизвел; ОбластьМакета.Параметры.ДолжностьКладовщика = ДолжностьОтпускПроизвел; // Доверенность ОбластьМакета.Параметры.ДоверенностьНомер = Шапка.ДоверенностьНомер; ОбластьМакета.Параметры.ДоверенностьДата = Формат(Шапка.ДоверенностьДата, "ДФ='дд ММММ гггг'"); ОбластьМакета.Параметры.ДоверенностьВыдана = Шапка.ДоверенностьВыдана; ОбластьМакета.Параметры.ДоверенностьЧерезКого = Шапка.ДоверенностьЧерезКого; Если ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) И ИтогоМассаБрутто > 0 Тогда ОбластьМакета.Параметры.МассаГрузаПрописью = ЧислоПрописью(ИтогоМассаБрутто, ,",,,,,,,,0")+ " " +ЕдиницаИзмеренияВеса.Наименование + "."; КонецЕсли; Если ИтогоМест > 0 Тогда ОбластьМакета.Параметры.ВсегоМестПрописью = ЧислоПрописью(ИтогоМест, ,",,,,,,,,0"); КонецЕсли; ОбластьМакета.Параметры.КоличествоПорядковыхНомеровЗаписейПрописью = ЧислоПрописью(КоличествоСтрок, ,",,,,,,,,0"); ОбластьМакета.Параметры.СуммаПрописью = |
|||
11
aleks-id
18.09.12
✎
10:22
|
СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Доп, |
|||
12
Джинн
18.09.12
✎
10:23
|
Мдя, номинант обходит всех....
PS См. группировку во вложенном запросе. |
|||
13
Serg_1960
18.09.12
✎
10:23
|
(0) Вас попросили только запрос озвучить. Спасибо что не всю конфигурацию скопипастили :)
|
|||
14
Miss1C
18.09.12
✎
10:24
|
(11)Победитель Алекс, возьмите пряник с полки)
|
|||
15
Ненавижу 1С
гуру
18.09.12
✎
10:24
|
(10) мало кода
|
|||
16
Miss1C
18.09.12
✎
10:24
|
(13)А чего церемонится )
|
|||
17
Елена-Тамара
18.09.12
✎
10:27
|
Да ладно вам ругаться то.....
|
|||
18
Елена-Тамара
18.09.12
✎
10:31
|
(11)
Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): В случае использования операторов ОБЪЕДИНИТЬ, поля предложений УПОРЯДОЧИТЬ ПО и ИТОГИ ПО должны находиться в списке выбора. |
|||
19
Serg_1960
18.09.12
✎
10:33
|
(18) вот шас начнут ругаться. Могут и послать... книжки читать по языку запросов.
|
|||
20
zippygrill
18.09.12
✎
10:34
|
(18) колонка Доп имеет числовое значение или как?
|
|||
21
Miss1C
18.09.12
✎
10:35
|
(18)Там где у вас "ВІБРАТЬ - где то не вібрано ваше поле, по которому вы делаете УПОРЯДОЧИВАНИЕ
|
|||
22
sergeev-ag-1977
18.09.12
✎
10:35
|
реквизит прикручен к ТЧ, а в запросе на него ссылаетесь как на реквизит документа .... не взлетит.
|
|||
23
Елена-Тамара
18.09.12
✎
10:35
|
(18) текстовое
|
|||
24
Fedot200
18.09.12
✎
10:36
|
А зачем?
|
|||
25
Елена-Тамара
18.09.12
✎
10:37
|
(24) что - "зачем?"
|
|||
26
alkov
18.09.12
✎
10:39
|
Позвать программиста уже предлагали?
|
|||
27
Fedot200
18.09.12
✎
10:39
|
(25) добавила в табличную часть дополнительный реквизит ДОП. Добавила в форму документа поле со ссылкой на этот реквизит. В форме все работает прекрасно — поле ДОП есть
|
|||
28
Елена-Тамара
18.09.12
✎
10:40
|
(27) капризы контрагентов - соответственно, наших пользователей
|
|||
29
Fedot200
18.09.12
✎
10:41
|
(28) Зачем реквизит в табличную часть, а потом на форму???
и в какую таб. часть, в товары? |
|||
30
Елена-Тамара
18.09.12
✎
10:43
|
(28) в товары. Есть другой способ добавить новое поле?
|
|||
31
sergeev-ag-1977
18.09.12
✎
10:43
|
Елена конфигурация у Вас какая ?
|
|||
32
sergeev-ag-1977
18.09.12
✎
10:43
|
понял
|
|||
33
sergeev-ag-1977
18.09.12
✎
10:44
|
попробуйте решить эту же задачу в конструкторе запросов, прежде чем лезть во ВПФ
|
|||
34
sergeev-ag-1977
18.09.12
✎
10:44
|
посмотрите, так наглядно и будет ясно где тупим ...
|
|||
35
Елена-Тамара
18.09.12
✎
10:44
|
(31) УПП
|
|||
36
Fedot200
18.09.12
✎
10:45
|
(30) Вам нужно в каждой строке писать доп. информацию?
|
|||
37
Елена-Тамара
18.09.12
✎
10:45
|
(36) да
|
|||
38
sergeev-ag-1977
18.09.12
✎
10:46
|
Елена - хватит сидеть на формах - работайте в конструкторе запроса - поймёте где не понимаете.
|
|||
39
Елена-Тамара
18.09.12
✎
10:49
|
(38) Конечно, пойму. Потом....
А нужно БЫСТРО! |
|||
40
Fedot200
18.09.12
✎
10:49
|
(37) Тогда смотрите как номенклатура в запросе, так-же делайте свой доп.
|
|||
41
Alex S D
18.09.12
✎
10:49
|
лучше день потерять, потом за 5 минут сделать)
|
|||
42
Елена-Тамара
18.09.12
✎
11:20
|
Все получилось (не без вашей помощи).
Всем спасибо! |
|||
43
Елена-Тамара
18.09.12
✎
11:20
|
*************
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |