Имя: Пароль:
1C
1С v8
УТ 11 Дополнительные сведения справочника
0 InWith
 
06.08.12
17:09
Для справочника Вид номенклатуры установлены дополнительные сведения, необходимо в макет внешней печатной формы вывести значение данного сведения (текст). Сломал голову, ни чего не выходит...Поможите люди умные))
1 Нуф-Нуф
 
06.08.12
17:10
1500 руб
2 InWith
 
06.08.12
17:12
Нуф-Нуф, привет!
3 InWith
 
06.08.12
18:54
У справочника Номенклатура есть ТЧ ДополнительныеРеквизиты, у ХарактеристикиНоменклатуры тоже есть, у ВидНоменклатуры - нет((( Как вытащить значение дополнительного сведения???? Пол дня мозг плавиться(((
4 Нуф-Нуф
 
06.08.12
19:04
дополнительные сведения = дополнительные свойства?
5 InWith
 
06.08.12
19:14
ну в принципе да, раньше это было Дополнительные Свойства а стало Дополнительные сведения

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

)))
6 Нуф-Нуф
 
06.08.12
19:18
копай в сторону регистра сведений ДополнительныеСведения. там есть все.
7 InWith
 
06.08.12
19:31
копаю...кап-кап...
8 Нуф-Нуф
 
06.08.12
19:32
"кап-кап..." - это обычно с конца...
9 InWith
 
06.08.12
19:39
гы, ну да, уже розовые слоники по монитору бегают)
10 InWith
 
06.08.12
19:52
чето не работает

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

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

Функция ПолучитьДополнительныеСведения()
   
   НТД = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Доп сведение НТД");
   
   Запрос = Новый Запрос;
   
   Запрос.Текст =     "ВЫБРАТЬ
   |    ДополнительныеСведения.Объект,
   |    ДополнительныеСведения.Свойство,
   |    ДополнительныеСведения.Значение
   |ИЗ
   |    РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
   |ГДЕ
   |   ДополнительныеСведения.Свойство = &Свойство И
   |   ДополнительныеСведения.Значение = &Значение";
   
   Запрос.УстановитьПараметр("Свойство", НТД);
   Запрос.УстановитьПараметр("Значение", НТД);
   Результат = Запрос.Выполнить().Выбрать();
   
КонецФункции
12 sanja26
 
06.08.12
20:23
скачай уже с инфостарта что-нибудь. торг-12 для метро я там выкладывал
13 InWith
 
06.08.12
20:39
ага, нашел, пошел курить ее
14 hhhh
 
06.08.12
23:05
(13) круто, свойство = значению

 Запрос.УстановитьПараметр("Свойство", НТД);
   Запрос.УстановитьПараметр("Значение", НТД);
15 InWith
 
07.08.12
01:08
(14) да то фигня

выудил из этой публикации http://infostart.ru/public/140380/

несколько строк всего))
16 sanja26
 
07.08.12
01:20
(15) так  не подошло?

   ЗапросКонтрагента = Новый Запрос;
   ЗапросКонтрагента.Текст =
   "ВЫБРАТЬ
   |    КонтрагентыДополнительныеРеквизиты.Свойство,
   |    КонтрагентыДополнительныеРеквизиты.Значение
   |ПОМЕСТИТЬ Номер
   |ИЗ
   |    Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
   |        ПО КонтрагентыДополнительныеРеквизиты.Ссылка = Контрагенты.Ссылка
   |ГДЕ
   |    Контрагенты.Ссылка = &Контрагент
   |    И КонтрагентыДополнительныеРеквизиты.Свойство = &НомерМагазина
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    КонтрагентыДополнительныеРеквизиты.Свойство,
   |    КонтрагентыДополнительныеРеквизиты.Значение
   |ПОМЕСТИТЬ ГЛН
   |ИЗ
   |    Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
   |        ПО КонтрагентыДополнительныеРеквизиты.Ссылка = Контрагенты.Ссылка
   |ГДЕ
   |    Контрагенты.Ссылка = &Контрагент
   |    И КонтрагентыДополнительныеРеквизиты.Свойство = &ГЛНМагазина
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ГЛН.Значение КАК ГЛН,
   |    Номер.Значение КАК Номер
   |ИЗ
   |    ГЛН КАК ГЛН,
   |    Номер КАК Номер";
   ЗапросКонтрагента.УстановитьПараметр("Контрагент", СсылкаНаОбъект.Контрагент);
   ЗапросКонтрагента.УстановитьПараметр("НомерМагазина", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("№ магазина МЕТРО"));
   ЗапросКонтрагента.УстановитьПараметр("ГЛНМагазина", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("GLN магазина МЕТРО"));
17 sanja26
 
07.08.12
01:21
ЗапросКонтрагента = Новый Запрос;
   ЗапросКонтрагента.Текст =
   "ВЫБРАТЬ
   |    КонтрагентыДополнительныеРеквизиты.Свойство,
   |    КонтрагентыДополнительныеРеквизиты.Значение
   |ИЗ
   |    Справочник.Контрагенты.ДополнительныеРеквизиты КАК КонтрагентыДополнительныеРеквизиты
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
   |        ПО КонтрагентыДополнительныеРеквизиты.Ссылка = Контрагенты.Ссылка
   |ГДЕ
   |    Контрагенты.Ссылка = &Контрагент
   |    И КонтрагентыДополнительныеРеквизиты.Свойство = &НомерМагазина;
   ЗапросКонтрагента.УстановитьПараметр("Контрагент", СсылкаНаОбъект.Контрагент);
   ЗапросКонтрагента.УстановитьПараметр("НомерМагазина", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("№ магазина МЕТРО"));
18 sanja26
 
07.08.12
01:23
хотя тут реквизиты
19 InWith
 
07.08.12
13:05
я попробовал, с ходу не получилось, много переделывать надо было, нашел вариант проще, но спасибо тебе большущее, теперь хоть понятно как это делать.

Но теперь столкнулся с др. фигней)) хочу что бы ТЧ макета группировалась по Виду номенклатуры.

Пишу запрос:

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

   Выборка = Запрос.Выполнить().Выбрать();
   //    
   Пока Выборка.Следующий() Цикл

...Вывожу области макета...

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

               КонецЦикла;

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Выборка.Ссылка);
       
   КонецЦикла;
   
   Возврат ТабДокумент;
20 InWith
 
07.08.12
13:06
Макет выводиться, но вид номенклатуры пустой(((
21 InWith
 
07.08.12
20:04
А так работает((( Но не могу группировать(((((((

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

Выборка = Запрос.Выполнить().Выбрать();
   //
   ////Обработка результата запроса и формирование табличного документа
   Пока Выборка.Следующий() Цикл

ВыборкаСтрокТовары = Выборка.Товары.Выбрать();

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

КонецЦикла;

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Выборка.Ссылка);
       
   КонецЦикла;
   
   Возврат ТабДокумент;
22 InWith
 
07.08.12
20:05
блин.
23 hhhh
 
07.08.12
20:34
(19) ну вот это

ВыборкаСтрокТовары.Док.Номенклатура.ВидНоменклатуры;

глубоко бредовое выражение. Напишите

ВыборкаСтрокТовары.ВидНоменклатуры
24 InWith
 
07.08.12
20:36
(23) написал, но в таком случае строки таблицы вообще не выводятся, только шапка и все
25 hhhh
 
07.08.12
21:28
вот это

  |СГРУППИРОВАТЬ ПО
   |    Док.Номенклатура.ВидНоменклатуры,
  |    Док.Номенклатура,
   |    Док.Номенклатура.Представление,
   |    Док.Номенклатура.НаименованиеПолное,
   |    Док.Номенклатура.НаименованиеПолное,
   |    Док.Номенклатура.Код,

можно заменить на

 |СГРУППИРОВАТЬ ПО
  |    Док.Номенклатура,
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.