|
Помогите с внешним отчетом УТ | ☑ | ||
---|---|---|---|---|
0
KENT2007
05.10.12
✎
10:56
|
Нужно инвентаризациб чуть переделать
вырезал из штатного документа |
|||
1
KENT2007
05.10.12
✎
10:57
|
Перем мВалютаРегламентированногоУчета Экспорт;
// Валюта курс и кратность для пересчета регламентированных сумм Перем мВалютаУпрУчета Экспорт; Перем мКурсУпрУчета Экспорт; Перем мКратностьУпрУчета Экспорт; Перем мРазрешитьНулевыеЦеныВРознице Экспорт; //////////////////////////////////////////////////////////////////////////////// // ЭКСПОРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА Функция ПолучитьДанныеДляПечатиДокумента() Экспорт ПараметрыПечати = Новый Структура; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ПараметрыПечати.Вставить("ВыводитьКоды", Истина); ПараметрыПечати.Вставить("ИмяКолонкиКодов", "Артикул"); ТекстКодАртикул = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ПараметрыПечати.Вставить("ВыводитьКоды", Истина); ПараметрыПечати.Вставить("ИмяКолонкиКодов", "Код"); ТекстКодАртикул = "Код"; Иначе ПараметрыПечати.Вставить("ВыводитьКоды", Ложь); ПараметрыПечати.Вставить("ИмяКолонкиКодов", ""); ТекстКодАртикул = "Код"; КонецЕсли; //Если Склад.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда // ВалютаПечати = мВалютаРегламентированногоУчета; //Иначе // ВалютаПечати = мВалютаУпрУчета; //КонецЕсли; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.УстановитьПараметр("ВидСкладаНТТ", Перечисления.ВидыСкладов.НТТ); Запрос.Текст = "ВЫБРАТЬ | Номер, | Дата, | Организация, | Склад.Представление КАК ПредставлениеСклада, | Организация, | Склад, | Товары.( | НомерСтроки, | Номенклатура, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Номенклатура.НаименованиеПолное КАК Товар, | Количество КАК Количество, | КоличествоУчет КАК КоличествоПоУчету, | ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения, | ВЫБОР | КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА ЦенаВРознице | ИНАЧЕ Цена | КОНЕЦ КАК Цена, | ВЫБОР | КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА Количество * ЦенаВРознице | ИНАЧЕ Сумма | КОНЕЦ КАК Сумма, | ВЫБОР | КОГДА Склад.ВидСклада = &ВидСкладаНТТ ТОГДА КоличествоУчет *ЦенаВРознице | ИНАЧЕ СуммаУчет | КОНЕЦ КАК СуммаПоУчету, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия | ) |ИЗ | Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе | |ГДЕ | ИнвентаризацияТоваровНаСкладе.Ссылка = Ссылка |УПОРЯДОЧИТЬ ПО | Товары.НомерСтроки"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); // Выводим шапку накладной ПараметрыПечати.Вставить("ТекстЗаголовка", ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Инвентаризация товаров на складе")); // Выводим данные об организации и складе ПараметрыПечати.Вставить("ПредставлениеОрганизации", ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,")); ПараметрыПечати.Вставить("ПредставлениеСклада", Шапка.ПредставлениеСклада); //ПараметрыПечати.Вставить("ВалютаНаименование", СокрЛП(ВалютаПечати)); //ПараметрыПечати.Вставить("Валюта", ВалютаПечати); Позиции = Новый Массив; ИтогСуммы = 0; ИтогСуммыПоУчету = 0; Пока ВыборкаСтрокТовары.Следующий() Цикл ПараметрыПозиции = Новый Структура; ПараметрыПозиции.Вставить("Номенклатура", ВыборкаСтрокТовары.Номенклатура); ПараметрыПозиции.Вставить("НомерСтроки", ВыборкаСтрокТовары.НомерСтроки); ПараметрыПозиции.Вставить("Товар", ВыборкаСтрокТовары.Товар + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары)); ПараметрыПозиции.Вставить("Количество", ВыборкаСтрокТовары.Количество); ПараметрыПозиции.Вставить("КоличествоПоУчету", ВыборкаСтрокТовары.КоличествоПоУчету); ПараметрыПозиции.Вставить("ЕдиницаИзмерения", ВыборкаСтрокТовары.ЕдиницаИзмерения); ПараметрыПозиции.Вставить("Цена", ВыборкаСтрокТовары.Цена); ПараметрыПозиции.Вставить("Сумма", ВыборкаСтрокТовары.Сумма); ПараметрыПозиции.Вставить("СуммаПоУчету", ВыборкаСтрокТовары.СуммаПоУчету); Если ПараметрыПечати.ВыводитьКоды Тогда ПараметрыПозиции.Вставить("КодАртикул", ВыборкаСтрокТовары.КодАртикул); КонецЕсли; ИтогСуммы = ИтогСуммы + ВыборкаСтрокТовары.Сумма; ИтогСуммыПоУчету = ИтогСуммыПоУчету + ВыборкаСтрокТовары.СуммаПоУчету; #Если ВнешнееСоединение Тогда WEBПриложения.ПодготовитьСтруктуруДляВнешнегоСоединения(ПараметрыПозиции); #КонецЕсли Позиции.Добавить(ПараметрыПозиции); КонецЦикла; ПараметрыПечати.Вставить("Позиции", Позиции); // Вывести Итого ПараметрыПечати.Вставить("Всего", ОбщегоНазначения.ФорматСумм(ИтогСуммы)); ПараметрыПечати.Вставить("ВсегоПоУчету", ОбщегоНазначения.ФорматСумм(ИтогСуммыПоУчету)); #Если ВнешнееСоединение Тогда WEBПриложения.ПодготовитьСтруктуруДляВнешнегоСоединения(ПараметрыПечати); #КонецЕсли Возврат ПараметрыПечати; КонецФункции //ПолучитьДанныеДляПечатиДокумента() Процедура КнопкаСформироватьНажатие(Кнопка) ПараметрыПечати = ПолучитьДанныеДляПечатиДокумента(); Если ПараметрыПечати.ВыводитьКоды Тогда ОбластьШапки = "ШапкаСКодом"; ОбластьСтроки = "СтрокаСКодом"; Иначе ОбластьШапки = "ШапкаТаблицы"; ОбластьСтроки = "Строка"; Конецесли; ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИнвентаризацияТоваровНаСкладе_ИнвентаризацияТоваровНаСкладе"; Макет = ПолучитьМакет("ИнвентаризацияТоваровНаСкладе"); // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ТабДокумент.Вывести(ОбластьМакета); // Выводим данные об организации и складе ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ТабДокумент.Вывести(ОбластьМакета); // Выводим шапку таблицы ОбластьМакета = Макет.ПолучитьОбласть(ОбластьШапки); Если ПараметрыПечати.ВыводитьКоды Тогда ОбластьМакета.Параметры.Колонка = ПараметрыПечати.ИмяКолонкиКодов; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть(ОбластьСтроки); Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл Если НЕ ЗначениеЗаполнено(ПараметрыПозиции.Номенклатура) Тогда Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное); Продолжить; КонецЕсли; ОбластьМакета.Параметры.Заполнить(ПараметрыПозиции); ТабДокумент.Вывести(ОбластьМакета); КонецЦикла; // Вывести Итого ОбластьМакета = Макет.ПолучитьОбласть("Итого"); ОбластьМакета.Параметры.Заполнить(ПараметрыПечати); ТабДокумент.Вывести(ОбластьМакета); // Печать упр. формы документа // Выводим подписи к документу ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); ТабДокумент.Вывести(ОбластьМакета); //ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Ссылка,ИмяМакета); //ТабДокумент = ПечатьДокумента(); //Возврат ТабДокумент; КонецПроцедуры |
|||
2
Eugeneer
05.10.12
✎
10:57
|
пошел за таблетками для телепатов...
|
|||
3
KENT2007
05.10.12
✎
10:58
|
при нажатии сформировать ничего не происходит
|
|||
4
KENT2007
05.10.12
✎
10:58
|
нужно дабавить иерархии с группами из справочника номенклатура
|
|||
5
Eugeneer
05.10.12
✎
11:00
|
||||
6
KENT2007
05.10.12
✎
11:01
|
блин на этом компе нет,
может movchan23 rambler.ru |
|||
7
Eugeneer
05.10.12
✎
11:02
|
Отправил
|
|||
8
KENT2007
05.10.12
✎
11:02
|
http://subsystems.ru/catalog/39/124/ так он прикручен к доку инвентаризация?
|
|||
9
Eugeneer
05.10.12
✎
11:03
|
(8) не помню. там код по иерархи.. прикрутишь сам если чо.
пароль на модуль - 1 |
|||
10
KENT2007
05.10.12
✎
11:08
|
спасибо попробую
|
|||
11
KENT2007
05.10.12
✎
11:10
|
тут бы саму инвентаризацию внешнию прикрутить
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |