1с 7.7 подскажите как обратиться к реквизиту группы
Показывать по
10
20
40
сообщений
- 1
- 2
04.04.2011
10:41
#1
"Как обратиться к реквезиту группы? во внешнем отчёте нужно получить значение этого реквизита
ТЗ.КлассТочности = Номенклатура.КлассТочности; - так я думаю обращаться к реквизиту элемента, а как к реквизиту у которого стоит значение использовать для группы??"
ТЗ.КлассТочности = Номенклатура.КлассТочности; - так я думаю обращаться к реквизиту элемента, а как к реквизиту у которого стоит значение использовать для группы??"
04.04.2011
10:59
#5
"конфа Бухгалтерский учёт.
Процедура ЗаполнитьТЗ()
Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Номенклатура.ИспользоватьВладельца(ТЗ.Товар);
Номенклатура.ВыбратьЭлементы();
Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл
ТЗ.Материал = Номенклатура.Материал;
ТЗ.ПолеДопуска = Номенклатура.ПолеДопуска;
ТЗ.КлассТочности = Номенклатура.КлассТочности;
ТЗ.ВременноеСопротивление = Номенклатура.ВременноеСопротивление;
ТЗ.КлассПрочности = Номенклатура.КлассПрочности;
ТЗ.Покрытие = Номенклатура.Покрытие;
ТЗ.Термообработка = Номенклатура.Термообработка;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
мне кажется ошибка у меня вот здесь.."
Процедура ЗаполнитьТЗ()
Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Номенклатура.ИспользоватьВладельца(ТЗ.Товар);
Номенклатура.ВыбратьЭлементы();
Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл
ТЗ.Материал = Номенклатура.Материал;
ТЗ.ПолеДопуска = Номенклатура.ПолеДопуска;
ТЗ.КлассТочности = Номенклатура.КлассТочности;
ТЗ.ВременноеСопротивление = Номенклатура.ВременноеСопротивление;
ТЗ.КлассПрочности = Номенклатура.КлассПрочности;
ТЗ.Покрытие = Номенклатура.Покрытие;
ТЗ.Термообработка = Номенклатура.Термообработка;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
мне кажется ошибка у меня вот здесь.."
04.04.2011
11:04
#6
"Или не весь текст привели или это тработать не будет
Процедура ЗаполнитьТЗ()"
Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
ТЗ.ВыбратьСтроки();
// какие строик она выбирает, если не определения самой ТЗ
// или ТЗ глобальная?
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Номенклатура.ИспользоватьВладельца(ТЗ.Товар);
Номенклатура.ВыбратьЭлементы();
Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл
// у вас цикл по ТЗ и тут вы начинаете изменять строчки ТЗ
// и где вообще проверка на "Группу"?
ТЗ.Материал = Номенклатура.Материал;
ТЗ.ПолеДопуска = Номенклатура.ПолеДопуска;
ТЗ.КлассТочности = Номенклатура.КлассТочности;
ТЗ.ВременноеСопротивление = Номенклатура.ВременноеСопротивление;
ТЗ.КлассПрочности = Номенклатура.КлассПрочности;
ТЗ.Покрытие = Номенклатура.Покрытие;
ТЗ.Термообработка = Номенклатура.Термообработка;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
04.04.2011
11:18
#7
определение тз есть, я просто взял саму процедуру где нужно сделать прверку.
я не знаю как сделать проверку на группу. поэтому спросил тут
я не знаю как сделать проверку на группу. поэтому спросил тут
04.04.2011
11:39
#8
Меня мало интересуют выдержки из текста, я не могу догадываться что там еще в тексте кода. Или полный текст приводите или ждите, кто еще подскажет!
З,Ы, Кстати справочник "Номенклатура" какому спраовчнику подчинен?
З,Ы, Кстати справочник "Номенклатура" какому спраовчнику подчинен?
04.04.2011
12:20
#9
"Номенклатура не подчинен никакому справочнику.
Изначально был создан справочник "ДопСведения" который был подчинен "Номенклатуре", но из за этого приходилось заполнять реквизиты Материал, ПолеДопуска, КлассТочности и т.д. для каждого элемента справочника номенклатуры. а нужно что бы для группы. теперь вот не получается обратиться к реквизитам группы.."
Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
Перем ПарамШапки;
ПечТабл = СоздатьОбъект("Таблица");
ПечТабл.ИсходнаяТаблица("Таблица");
НомерПаспорта = СписокНомеровПартий.ПолучитьЗначение(СписокНомеровПартий.ТекущаяСтрока()) + "/" + Число(Докум.НомерДок);
Поставщик = СокрЛП(Константа.НазваниеОрганизации);
глДобавитьРеквизит(Поставщик, ", ", глПредставлениеАдреса(Константа.АдресОрганизации));
Грузополучатель = СокрЛП(Докум.Контрагент.ПолнНаименование)+", "+СокрЛП(Докум.Контрагент.ЮридическийАдрес);
ПечТабл.ВывестиСекцию("Шапка");
НомерПП = 0;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
НомерПП = НомерПП+1;
ПечТабл.ВывестиСекцию("Строка");
КонецЦикла;
ПечТабл.ВывестиСекцию("Подвал");
ПечТабл.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
ПечТабл.ТолькоПросмотр(1);
ПечТабл.Показать("""","""");
КонецПроцедуры // Печать()
//******************************************************************************
Процедура ПоКнопкеПечать()
Если Док.Выбран() = 0 Тогда
Предупреждение("Не выбран документ!", 60);
Возврат;
КонецЕсли;
Печать(Док);
КонецПроцедуры // ПоКнопкеПечать()
//******************************************************************************
Процедура ИзменениеТЗ()
Перем НовоеЗначение;
ТекКолонка = ТЗ.ТекущаяКолонка();
Если ТекКолонка = "Материал" Тогда
ВвестиЗначение(НовоеЗначение,,"Строка",,);
Если ПустоеЗначение(НовоеЗначение) = 0 Тогда
ТЗ.Материал = НовоеЗначение;
Иначе Возврат;
КонецЕсли;
ИначеЕсли ТекКолонка = "Покрытие" Тогда
ВвестиЗначение(НовоеЗначение,,"Строка",,);
Если ПустоеЗначение(НовоеЗначение) = 0 Тогда
ТЗ.Покрытие = НовоеЗначение;
Иначе Возврат;
КонецЕсли;
ИначеЕсли ТекКолонка = "Термообработка" Тогда
ВвестиЗначение(НовоеЗначение,,"Строка",,);
Если ПустоеЗначение(НовоеЗначение) = 0 Тогда
ТЗ.Термообработка = НовоеЗначение;
Иначе Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
//******************************************************************************
Процедура ЗаполнитьТЗ()
Номенклатура = СоздатьОбъект("Справочник.Номенклатура");
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Номенклатура.ИспользоватьВладельца(ТЗ.Товар);
Номенклатура.ВыбратьЭлементы();
Пока Номенклатура.ПолучитьЭлемент() = 1 Цикл
ТЗ.Материал = Номенклатура.Материал;
ТЗ.ПолеДопуска = Номенклатура.ПолеДопуска;
ТЗ.КлассТочности = Номенклатура.КлассТочности;
ТЗ.ВременноеСопротивление = Номенклатура.ВременноеСопротивление;
ТЗ.КлассПрочности = Номенклатура.КлассПрочности;
ТЗ.Покрытие = Номенклатура.Покрытие;
ТЗ.Термообработка = Номенклатура.Термообработка;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
//******************************************************************************
Процедура ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
Докум = Форма.Параметр.Получить("Контекст");
Устройство = Форма.Параметр.Получить("Устройство");
КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
Если Докум.Выбран() = 1 Тогда
Док = Докум.ТекущийДокумент();
Докум.ВыгрузитьТабличнуюЧасть(ТЗ, "Товар, Количество");
ТЗ.НоваяКолонка("Материал","Строка",,"Материал",,);
ТЗ.НоваяКолонка("ПолеДопуска","Строка",,"ПолеДопуска",,);
ТЗ.НоваяКолонка("КлассТочности","Строка",,"КлассТочности",,);
ТЗ.НоваяКолонка("КлассПрочности","Строка",,"КлассПрочности",,);
ТЗ.НоваяКолонка("ВременноеСопротивление","Строка",,"ВременноеСопротивление",,);
ТЗ.НоваяКолонка("Покрытие","Строка",,"Покрытие",,);
ТЗ.НоваяКолонка("Термообработка","Строка",,"Термообработка",,);
КонецЕсли;
КонецЕсли;
ЗаполнитьТЗ();
КонецПроцедуры // ПриОткрытии()
СписокНомеровПартий.ДобавитьЗначение("1О-10","1О-10");
СписокНомеровПартий.ДобавитьЗначение("2А-10","2А-10");
СписокНомеровПартий.ДобавитьЗначение("3Е-10","3Е-10");
Изначально был создан справочник "ДопСведения" который был подчинен "Номенклатуре", но из за этого приходилось заполнять реквизиты Материал, ПолеДопуска, КлассТочности и т.д. для каждого элемента справочника номенклатуры. а нужно что бы для группы. теперь вот не получается обратиться к реквизитам группы.."
- 1
- 2
Читают тему
(гостей: 1)