![]() |
![]() |
![]() |
|
Места хранения в накладной | ☑ | ||
---|---|---|---|---|
0
Lawliet
19.02.16
✎
13:41
|
Комплексная автоматизация 1.1. Надо сделать ВПФ "Складская накладная с местами хранения". Что не так?
|
|||
1
Масянька
19.02.16
✎
13:41
|
(0) Всё так.
|
|||
2
ДенисЧ
19.02.16
✎
13:41
|
gdb dna
|
|||
3
shuhard
19.02.16
✎
13:42
|
(0)[Что не так?]
всё |
|||
4
Lawliet
19.02.16
✎
13:43
|
Текст запроса: "ВЫБРАТЬ
| РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); ТекстЗапросаТовары = "ВЫБРАТЬ | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | ВложенныйЗапросПоТоварам.МестоХранения, | ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки, | ВложенныйЗапросПоТоварам.Метка КАК Метка |ИЗ | (ВЫБРАТЬ | МАКСИМУМ(РеализацияТоваровУслуг.Номенклатура) КАК Номенклатура, | РеализацияТоваровУслуг.Номенклатура.Артикул КАК НоменклатураАртикул, |РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения, |РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, |СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, |СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, |СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, |СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС, |МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, |0 КАК Метка, |МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения |ИЗ |РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры |ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ПО МестаХраненияНоменклатуры.Номенклатура = РеализацияТоваровУслуг.Номенклатура | И МестаХраненияНоменклатуры.Склад = РеализацияТоваровУслуг.Склад |ГДЕ |РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | МестаХраненияНоменклатуры.МестоХранения) | КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + СтрокаВыборкиПоляСодержания + ", | " + СтрокаВыборкиПоляСодержания + ", | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 1 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | NULL, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | Метка, | НомерСтроки"; Не заполняет поля в макете |
|||
5
DDwe
19.02.16
✎
13:43
|
(0) Всё так.
|
|||
6
DDwe
19.02.16
✎
13:44
|
(4) Жесть какая-то... или пятница.
|
|||
7
lubitelxml
19.02.16
✎
13:44
|
(4) запрос сам должен заполнять макет? )))
|
|||
8
HardBall
19.02.16
✎
13:45
|
Автор пиши еще!
Красаучик! |
|||
9
Garykom
гуру
19.02.16
✎
13:46
|
(0) "Складская накладная" это что?
|
|||
10
Lawliet
19.02.16
✎
13:47
|
(7) весь модуль прикрепить?))
|
|||
11
Одинесю
19.02.16
✎
13:47
|
(10) Запрос в консоли отрабатывает на ура?
|
|||
12
Lawliet
19.02.16
✎
13:48
|
(9) внешняя печатная форма. переделывалась из расходной накладной
|
|||
13
DDwe
19.02.16
✎
13:50
|
(11)Он знает про консоль?
|
|||
14
Масянька
19.02.16
✎
13:53
|
(7) А что - нет?! :)))))))))
|
|||
15
Lawliet
19.02.16
✎
13:54
|
(11) ошибка при вызове контекста (найтиПараметры): В случае использования операторов Объединить, поля Упорядочить ПО и Итоги ПО должны находиться в списке выбора
|
|||
16
Lawliet
19.02.16
✎
13:59
|
(14) Функция Печать() Экспорт
ПараметрыПечати = ПолучитьПараметрыПечатиНакладной(); ТабДокумент = СоздатьТабличныйДокументПечатиНакладной( ПараметрыПечати ); Возврат ТабДокумент; КонецФункции // Печать() Функция ПолучитьПараметрыПечатиНакладной() Экспорт ПараметрыПечати = Новый Структура; // Внутри функции ПолучитьПараметрыПечати() формируем нужные запросы к БД, // заполняем структуру параметров печати ПараметрыПечати.Вставить("ТекстЗаголовка", "Реализация товаров и услуг № " //+ ( СсылкаНаОбъект.Номер ) + " от " + Формат(СсылкаНаОбъект.Дата, "ДФ='дд ММММ гггг'")); Возврат ПараметрыПечати; КонецФункции //ПолучитьПараметрыПечатиСчета() Функция СоздатьТабличныйДокументПечатиНакладной(ПараметрыПечати, СуммыВРублях = Ложь) мВалютаРегламентированногоУчета = глЗначениеПеременной("ВалютаРегламентированногоУчета"); ТекстЗапросаШапка = "ВЫБРАТЬ | РеализацияТоваровУслуг.Номер, | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.ДоговорКонтрагента, | РеализацияТоваровУслуг.Контрагент КАК Получатель, | РеализацияТоваровУслуг.Организация, | РеализацияТоваровУслуг.Организация КАК Поставщик, | РеализацияТоваровУслуг.СуммаДокумента, | РеализацияТоваровУслуг.ВалютаДокумента, | РеализацияТоваровУслуг.УчитыватьНДС, | РеализацияТоваровУслуг.СуммаВключаетНДС, | РеализацияТоваровУслуг.ОтпускПроизвел, | РеализацияТоваровУслуг.КурсВзаиморасчетов, | РеализацияТоваровУслуг.КратностьВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент"; СтрокаВыборкиПоляСодержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("РеализацияТоваровУслуг"); ТекстЗапросаТовары = "ВЫБРАТЬ | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | ВложенныйЗапросПоТоварам.МестоХранения, | ВложенныйЗапросПоТоварам.НомерСтроки КАК НомерСтроки, | ВложенныйЗапросПоТоварам.Метка КАК Метка |ИЗ | (ВЫБРАТЬ | МАКСИМУМ(РеализацияТоваровУслуг.Номенклатура) КАК Номенклатура, | РеализацияТоваровУслуг.Номенклатура.Артикул КАК НоменклатураАртикул, |РеализацияТоваровУслуг.ЕдиницаИзмерения КАК ЕдиницаИзмерения, |РеализацияТоваровУслуг.ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, |СУММА(РеализацияТоваровУслуг.Количество) КАК Количество, |СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест, |СУММА(РеализацияТоваровУслуг.Сумма) КАК Сумма, |СУММА(РеализацияТоваровУслуг.СуммаНДС) КАК СуммаНДС, |МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки, |0 КАК Метка, |МестаХраненияНоменклатуры.МестоХранения КАК МестоХранения |ИЗ |РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры |ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ПО МестаХраненияНоменклатуры.Номенклатура = РеализацияТоваровУслуг.Номенклатура | И МестаХраненияНоменклатуры.Склад = РеализацияТоваровУслуг.Склад |ГДЕ |РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.ЕдиницаИзмерения, | РеализацияТоваровУслуг.ЕдиницаИзмеренияМест, | МестаХраненияНоменклатуры.МестоХранения) | КАК ВложенныйЗапросПоТоварам | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + СтрокаВыборкиПоляСодержания + ", | " + СтрокаВыборкиПоляСодержания + ", | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 1 |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | РеализацияТоваровУслуг.Номенклатура, | ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | РеализацияТоваровУслуг.Номенклатура.Код, | РеализацияТоваровУслуг.Номенклатура.Артикул, | РеализацияТоваровУслуг.Количество, | NULL, | РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление, | NULL, | NULL, | РеализацияТоваровУслуг.НомерСтроки, | 2 |ИЗ | Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | Метка, | НомерСтроки"; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; Ссылка = СсылкаНаОбъект; // Создаем новый табличный документ ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_РасходнаяНакладная"; // Получаем макет. Если не применять "ЭтотОбъект", а в конфигурации будет макет с таким же именем // описанный в "Общие" - "Общие макеты", то будет получен макет основной конфигурации Макет = ПолучитьМакет("Накладная"); //Если Не ПервыйДокумент Тогда // ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц(); //КонецЕсли; ПервыйДокумент = Ложь; НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка); Запрос.Текст = ТекстЗапросаШапка; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТекстКурс = ""; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", Ссылка); Запрос.Текст = ТекстЗапросаТовары; ЗапросТовары = Запрос.Выполнить().Выгрузить(); флВыводитьМест = истина; Если ЗапросТовары.Итог("КоличествоМест")=0 Тогда флВыводитьМест = ложь; КонецЕсли; // Выводим шапку накладной ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Складская накладная"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ПредставлениеПоставщика = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата), "ПолноеНаименование,"); ОбластьМакета.Параметры.ПредставлениеПоставщика = ПредставлениеПоставщика; ОбластьМакета.Параметры.Поставщик = Шапка.Поставщик; ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ПредставлениеПолучателя = ФормированиеПечатныхФормСервер.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата), "ПолноеНаименование,"); ПредставлениеПолучателя = ПредставлениеПолучателя + ?(ЗначениеЗаполнено(Ссылка.Сделка),"; Заказ №" + Ссылка.Сделка.Номер + " от " + Формат(Ссылка.Сделка.Дата,"ДФ=dd.MM.yyyy"),""); ОбластьМакета.Параметры.ПредставлениеПолучателя = ПредставлениеПолучателя; ОбластьМакета.Параметры.Получатель = Шапка.Получатель; ТабДокумент.Вывести(ОбластьМакета); ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("ШапкаТаблицы|Товар"); ОбластьМест = Макет.ПолучитьОбласть("ШапкаТаблицы|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные1"); ОбластьМестоХранения = Макет.ПолучитьОбласть("ШапкаТаблицы|МестоХранения"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); ТабДокумент.Присоединить(ОбластьМестоХранения); ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Строка|Товар"); ОбластьМест = Макет.ПолучитьОбласть("Строка|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные1"); ОбластьМестоХранения = Макет.ПолучитьОбласть("Строка|МестоХранения"); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; КоэфКурса = ?( СуммыВРублях, ?(Шапка.КратностьВзаиморасчетов=0,1,Шапка.КурсВзаиморасчетов / Шапка.КратностьВзаиморасчетов), 1); Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл Если НЕ ЗначениеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда Продолжить; КонецЕсли; ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьТовар.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьТовар.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ОбластьМест.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьДанных); ТабДокумент.Присоединить(ОбластьМестоХранения); КонецЦикла; // Вывести Итого ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьТовар = Макет.ПолучитьОбласть("Итого|Товар"); ОбластьМест = Макет.ПолучитьОбласть("Итого|Мест"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные1"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьТовар); Если флВыводитьМест Тогда ТабДокумент.Присоединить(ОбластьМест); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подписи"); // Отпуск товара произвел Если ЗначениеЗаполнено(Шапка.ОтпускПроизвел) Тогда ФамилияИмяОтчествоФизЛица = ФормированиеПечатныхФормСервер.ФамилияИмяОтчество(Шапка.ОтпускПроизвел, Шапка.Дата); ФамилияИмяОтчествоОтпускПроизвел = ФамилияИмяОтчествоФизЛица.Фамилия + " " + ФамилияИмяОтчествоФизЛица.Имя + " " + ФамилияИмяОтчествоФизЛица.Отчество; ФИООтпускПроизвел = ОбщегоНазначения.ФамилияИнициалыФизЛица(ФамилияИмяОтчествоОтпускПроизвел); ОбластьМакета.Параметры.ОтветственныйПредставление = ФИООтпускПроизвел; КонецЕсли; ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // СоздатьТабличныйДокументПечатиСчета() |
|||
17
DDwe
19.02.16
✎
13:59
|
(15) Зачем ты нам это рассказываешь?
|
|||
18
Lawliet
19.02.16
✎
14:00
|
(17) Делюсь впечатлениями )
|
|||
19
DDwe
19.02.16
✎
14:01
|
(18) Блошек заведи.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |