![]() |
|
Печать продукции из "Требовании-накладной" | ☑ | ||
---|---|---|---|---|
0
Елена-Тамара
05.07.13
✎
08:57
|
Типовая конфигурация - <1C:Управление производственным предприятием>
Технологическая платформа 8.2.18.102, номер версии 1.3.41.1 Обычный режим. Партионный учет. Здравствуйте! Сделала печатную форму из «Требовании-накладной». В «Требовании-накладной» на вкладке «дополнительно» есть поле «основание». Там отображается «Заказ на производство», на основании которого формировали «Требование накладную». Необходимо в печатную форму ТН вывести продукцию (со вкладки «продкуция и услуги») из соответствующего «Заказа на производство». Сделала в запросе поле «основание» и в форму выводится: Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | Номер КАК НомерДокумента, | Дата КАК ДатаДокумента, | ТребованиеНакладная.ДокументОснование КАК Основание, | Организация, | Склад, | ВЫБОР КОГДА ТребованиеНакладная.ОтражатьВБухгалтерскомУчете ТОГДА | ТребованиеНакладная.ПодразделениеОрганизации ИНАЧЕ ТребованиеНакладная.Подразделение | КОНЕЦ КАК Подразделение //| "+?(СсылкаНаОбъект.ОтражатьВБухгалтерскомУчете, "ПодразделениеОрганизации", "Подразделение")+" КАК Подразделение |ИЗ | Документ.ТребованиеНакладная КАК ТребованиеНакладная | |ГДЕ | ТребованиеНакладная.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); А вот на продукцию ума не хватает))))...... Подскажите, пожалуйста, умные люди! |
|||
1
Лодырь
05.07.13
✎
09:02
|
запрос делай не к таблице документов а к табличной части.
|
|||
2
Cube
05.07.13
✎
09:04
|
ВЫБРАТЬ
ТребованиеНакладная.Номер КАК НомерДокумента, ТребованиеНакладная.Дата КАК ДатаДокумента, ТребованиеНакладная.ДокументОснование КАК Основание, ТребованиеНакладная.Организация, ТребованиеНакладная.Склад, ВЫБОР КОГДА ТребованиеНакладная.ОтражатьВБухгалтерскомУчете ТОГДА ТребованиеНакладная.ПодразделениеОрганизации ИНАЧЕ ТребованиеНакладная.Подразделение КОНЕЦ КАК Подразделение, ЗаказНаПроизводствоПродукция.Номенклатура ИЗ Документ.ТребованиеНакладная КАК ТребованиеНакладная ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция ПО ТребованиеНакладная.ДокументОснование = ЗаказНаПроизводствоПродукция.Ссылка ГДЕ ТребованиеНакладная.Ссылка = &ТекущийДокумент |
|||
3
Cube
05.07.13
✎
09:05
|
+(2) Лучше использовать левое соединение, а то вдуг основания нет...
|
|||
4
Елена-Тамара
05.07.13
✎
09:22
|
(2, 3) Я попробовала и с внутренним соединением и с левым. Работает и так, и так, если основания нет. Спасибо!
А вот как будет работать, если на вкладке "продукция и услуги" несколько строк в табличной части? |
|||
5
Cyberhawk
05.07.13
✎
09:26
|
(4) будет столько же строк и в выборке, отличаться будут только последним столбиком ("Номенклатура")
|
|||
6
Cyberhawk
05.07.13
✎
09:27
|
Посему надо уточнить требование: "Необходимо в печатную форму ТН вывести продукцию (со вкладки «продкуция и услуги») из соответствующего «Заказа на производство». "
В каком виде выводить продукцию, если ее больше одной? Через запятую аль отдельными строками? |
|||
7
Елена-Тамара
05.07.13
✎
09:29
|
(6)отдельными строками
|
|||
8
Елена-Тамара
05.07.13
✎
11:46
|
(5) проверила... Если продукции две, то печатается только первая.... Вторую не видит...
|
|||
9
Cube
05.07.13
✎
11:52
|
(8) Как написала, так и напечаталось...
|
|||
10
Елена-Тамара
05.07.13
✎
11:56
|
(9) я выводила в область просто поля "номенклатура" и "характеристика" из запроса:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ |ТребованиеНакладная.Номер КАК НомерДокумента, |ТребованиеНакладная.Дата КАК ДатаДокумента, |ТребованиеНакладная.ДокументОснование КАК Основание, |ТребованиеНакладная.Организация, |ТребованиеНакладная.Склад, |ВЫБОР | КОГДА ТребованиеНакладная.ОтражатьВБухгалтерскомУчете | ТОГДА ТребованиеНакладная.ПодразделениеОрганизации | ИНАЧЕ ТребованиеНакладная.Подразделение |КОНЕЦ КАК Подразделение, |ЗаказНаПроизводствоПродукция.Номенклатура КАК Номенклатура, |ЗаказНаПроизводствоПродукция.ХарактеристикаНоменклатуры КАК Характеристика |ИЗ |Документ.ТребованиеНакладная КАК ТребованиеНакладная | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция | ПО ТребованиеНакладная.ДокументОснование = ЗаказНаПроизводствоПродукция.Ссылка |ГДЕ | ТребованиеНакладная.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); А как надо? |
|||
11
Cube
05.07.13
✎
12:03
|
(10) Ты перечитай (6) и (7). То тебе нужно в таблицу отдельными строками, то в шапку в одну ячейку... Определись с показаниями-то...
|
|||
12
Елена-Тамара
05.07.13
✎
12:06
|
(11) мне нужно отельными строками.
Я, вроде бы, нигде не указывала, что нужно через запятую в одну ячейку.... |
|||
13
Елена-Тамара
05.07.13
✎
12:09
|
я новичок в программировании 1С.....
|
|||
14
Cube
05.07.13
✎
12:15
|
(12) Так ты покажи скрин того, что получилось, потом в экселе нарисуй как надо и тоже давай скрин.
|
|||
15
Елена-Тамара
05.07.13
✎
12:47
|
(14) я на почту Вам отправила
|
|||
16
Cube
05.07.13
✎
12:51
|
(15) Можно было и здесь выложить... код-то покажите (здесь)
|
|||
17
Елена-Тамара
05.07.13
✎
12:52
|
(16) код всей обработки?
|
|||
18
Cube
05.07.13
✎
12:53
|
(17) Хотя бы кусок, где выводится шапка
|
|||
19
Елена-Тамара
05.07.13
✎
12:56
|
Область = Макет.ПолучитьОбласть("Область1");
Область.Параметры.Заполнить(Шапка); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОтветственныеЛицаОрганизацийСрезПоследних.Должность, | ФИОФизЛицСрезПоследних.Фамилия + "" "" + ПОДСТРОКА(ФИОФизЛицСрезПоследних.Имя, 1, 1) + "". "" + ПОДСТРОКА(ФИОФизЛицСрезПоследних.Отчество, 1, 1) + "". "" КАК ФИО |ИЗ | РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних( | &Дата, | СтруктурнаяЕдиница = &Организация | И ОтветственноеЛицо = &Лицо) КАК ОтветственныеЛицаОрганизацийСрезПоследних | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&Дата, ) КАК ФИОФизЛицСрезПоследних | ПО ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо.Ссылка = ФИОФизЛицСрезПоследних.ФизЛицо.Ссылка"; Запрос.УстановитьПараметр("Дата",СсылкаНаОбъект.Дата); Запрос.УстановитьПараметр("Организация",СсылкаНаОбъект.Организация); Запрос.УстановитьПараметр("Лицо",Перечисления.ОтветственныеЛицаОрганизаций.Руководитель); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Область.Параметры.ФИОРук = Выборка.ФИО; Область.Параметры.ДолжностьРук = Выборка.Должность; КонецЕсли; ТабДокумент.Вывести(Область); |
|||
20
Cube
05.07.13
✎
13:02
|
(19) Ну вот, после строки
Область.Параметры.Заполнить(Шапка); пиши СписокПродукции = СокрЛП(Шапка.Номенклатура.Наименование) + " (" + СокрЛП(Шапка.Характеристика .Наименование) + ")" Пока Шапка.Следующий() Цикл СписокПродукции = СписокПродукции + Символы.ПС + СокрЛП(Шапка.Номенклатура.Наименование) + " (" + СокрЛП(Шапка.Характеристика .Наименование) + ")" КонецЦикла; Область.Параметры.Номенклатура = СписокПродукции; |
|||
21
Cube
05.07.13
✎
13:03
|
(20) Что-то ".Наименование" перенеслось на другую строку...
|
|||
22
Cube
05.07.13
✎
13:04
|
(20) Ну и точки с запятой расставишь)))) Короче, доработаешь))
|
|||
23
Елена-Тамара
05.07.13
✎
13:14
|
(22) Уже доработала! Все получилось! БОЛЬШОЕ СПАСИБО!
|
|||
24
Елена-Тамара
05.07.13
✎
13:45
|
(20) Опять не все ладно....
Когда еще не добавляла (20), то, если "документ-основание" НЕ "Заказ на производство", то в печатной форме вместо продукции просто "пусто" было. А теперь, если документ-основание "пусто", "внутренний заказ", "поступление" - тогда ошибка: "Не удалось сформировать внешнюю печатную форму! Значение не является значением объектного типа (Наименование)" Как этого избежать? |
|||
25
Cube
05.07.13
✎
13:49
|
(24) Так потому что в запросе NULL. Избавься от него, например так:
Вместо ЗаказНаПроизводствоПродукция.Номенклатура КАК Номенклатура, пиши ЕСТЬNULL(ЗаказНаПроизводствоПродукция.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура, |
|||
26
Cube
05.07.13
✎
13:50
|
+(25) Аналогично для характеристики и прочих полей из заказа
|
|||
27
Cyberhawk
05.07.13
✎
13:52
|
О, земеля :)
|
|||
28
Елена-Тамара
05.07.13
✎
13:57
|
(25,26) Ага! Работает! И еще раз СПАСИБО БОЛЬШОЕ!!!!
|
|||
29
Елена-Тамара
05.07.13
✎
13:58
|
(27) Привет-привет :-D :-D :-D !
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |