Как показать подчиненный справочник?

Новая тема
Показывать по 10 20 40 сообщений
Хрендец. Было бы проще: кинул таблицу на форму, указал что отображать (как в Делфи). Поразбираюсь. Спасибо!
"Так оно и есть, таблица ПодчТаб на форме, но >функция<(не процедура) ОбновитьПодчТаб() должна вызываться из скрытого текста лежащего на форме у которого задана только формула как ОбновитьПодчТаб(), а Заголовок и Идентификатор пусты!
Вот рабочий пример (выводит единицы измерения и их коэффициент из подчиненного справочника Единицы):
//Для объекта текст, его формулы, объект расположен на форме и скрыт
Функция ОбновитьПодчТаб()
ПодчТаб.УдалитьСтроки();
ПодчСпр=СоздатьОбъект("Справочник.Единицы");
ПодчСпр.ИспользоватьВладельца(ТекущийЭлемент());
ПодчСпр.ВыбратьЭлементы();
Ном=0;
Пока ПодчСпр.ПолучитьЭлемент()>0 Цикл
Ном=Ном+1;
   ПодчТаб.НоваяСтрока(Ном);
ПодчТаб.УстановитьЗначение(Ном,"Единица",ПодчСпр.Единица);
ПодчТаб.УстановитьЗначение(Ном,"Коэффициент",ПодчСпр.Коэффициент);
КонецЦикла;
Возврат 0;
КонецФункции

//В модуле формы для установки колонок таблицы лежащей на форме и названой ПодчТаб
ПодчТаб.НоваяКолонка("Единица",,,"Единица");
ПодчТаб.НоваяКолонка("Коэффициент",,,"Коэффициент");"
"Вот как бы унифицировал:
//*********************************************************************************************
//Выводит в форму списка справочника содержимое подчиненного справочника, в таблицу ПодчТаб.
//Функция ОбновитьПодчТаб() помещается в скрытый объект Текс в поле Формула, поля Заголовок
//и Идентификатор должны быть пусты. Наименование подчиненного справочника задаелся в переменной
//Справочник. Наименование заголовков беруться из Синонима, если он пуст то из Идентификатора.
//*********************************************************************************************

Перем ПодчСпр, Справочник;

Функция ОбновитьПодчТаб()
Если ПустоеЗначение(Справочник)=0 Тогда
ПодчТаб.УдалитьСтроки();
ПодчСпр.ИспользоватьВладельца(ТекущийЭлемент());
ПодчСпр.ВыбратьЭлементы();
Ном=0;
Пока ПодчСпр.ПолучитьЭлемент()>0 Цикл
Ном=Ном+1;
   ПодчТаб.НоваяСтрока(Ном);
Для НомРек=1 По Метаданные.Справочник(Справочник).Реквизит() Цикл
Реквизит=Метаданные.Справочник(Справочник).Реквизит(НомРек).Идентификатор;
//ПодчТаб.УстановитьЗначение(Ном,Реквизит,Строка(Шаблон( "[ПодчСпр."+Реквизит+"]")));
ПодчТаб.УстановитьЗначение(Ном,Реквизит,Шаблон("[ПодчСпр."+Реквизит+"]"));
КонецЦикла;
КонецЦикла;
КонецЕсли;
Возврат 0;
КонецФункции

Справочник="""";//Здесь задать наименование справочника как он в конфигураторе (идентификатор)
Для Ном=1 По Метаданные.Справочник(Справочник).Реквизит() Цикл
Реквизит=Метаданные.Справочник(Справочник).Реквизит(Ном).Идентификатор;
Синоним=Метаданные.Справочник(Справочник).Реквизит(Ном).Синоним;
Если ПустоеЗначение(Синоним)=1 Тогда
ПодчТаб.НоваяКолонка(Реквизит,,,Реквизит);
Иначе
ПодчТаб.НоваяКолонка(Реквизит,,,Синоним);
КонецЕсли;
КонецЦикла;
ПодчСпр=СоздатьОбъект("Справочник."+Справочник);"
УРА!!! Все понял! Все работает как надо! Еще бы редактировалось. Спасибо огромное!
Можно и редактирование придумать, только сам ввод данных будет происходить не в таблице, а запросами ввода текста, чисел и т.д. Будем пробовать?
Не не будем.Вчера показал клиентам - понравилось. Только добавились новые задачи:
Некоторая продукция рассчитывается не на 100 штук, а на 10 или 8 (Хочу добавить в справочник Продукция новый коэффициент и
В расчете вместо цифры брать значение из справочника). Это только для кондитерских изделий.
Для хлеба:Учитывать масло на смазку форм=(кг. хлеба*0,34)/1000. Включается в в печать и в отчет после основного масла.
Плюс новый отчет по муке учитывающий фактические показатели и разницу(между нормой и фактом кг муки и % припека ) по каждой продукции.Как сделать пока не знаю. Думаю добавить регистр и в проведении до-та его тоже заполнять, а потом запросом вытаскивать. Если надо форму отчета пошлю. (как бы файлик прикрепить на форуме?)
С коэффициентом все понятно. У нас заведен подчиненный справочник Единицы где забиваются единицы измерения товара, так сказать, например: квадратные метры, штуки, упаковки (подвесной потолок, ламинат и т.п.) :) и на печать выводиться с расшифровкой по единицам, для упрощения отгрузки.
Про отчет немного не понял, объясните по другому. Что в документе заполняется и что собираетесь в регистр пихать?
Файлик на форуме не прикрепляется... Если хотите шлите на icebeerg(сцобако)newmail.ru но сначала по подробнее про отчет.
Все уже сделал (кроме отчета)
По отчету: в документ добавил ФактМуки и ФактПроцента (и соответственно в форме)
Хочу добавить регистр:Продукция, Норма по муке, Факт по муке, Норма процента, факт процента
Можно ли в Модуле документа проводить еще регистр?
Отчет должен быть такой:

           Продукция1|    Мука       |   Процент    |  Разница|Продукция2   | Мука  ....
        штуки   кг.  |  норма | факт |  норма |факт |    |    |штуки |  кг.| норма факт ....
Дата
Наверно в регистр придется еще добавить штуки и кг.
"> Можно ли в Модуле документа проводить еще регистр?
Не понял! У меня в модуле документа обрабатываются 3и регистра, ОстаткиТоваров, РезервыТоваров и Взаиморасчеты.
Можно в регистр и не писать лишнюю информацию а делать запрос к документам, а не регистру, Например:
Вместо
"//{{ЗАПРОС(Сформировать1)
|Товар = Регистр.ОстаткиТоваров.Товар;
|Склад = Регистр.ОстаткиТоваров.Склад;
|ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
|Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
|Группировка Товар;
|Группировка Склад;
|"//}}ЗАПРОС
;
Делать
"//{{ЗАПРОС(Сформировать2)
|Товар = Документ.РасходнаяНал.Товар;
|Склад = Документ.РасходнаяНал.Склад;
|Количество = Документ.РасходнаяНал.Количество;
|Функция КоличествоСумма = Сумма(Количество);
|Группировка Товар;
|Группировка Склад;
|"//}}ЗАПРОС
;
Сейчас разгребусь с текучкой и еще подумаю по поводу вашей ситуации.."

> Можно в регистр и не писать лишнюю информацию а делать запрос к документам, а не регистру...

о_О
действительно, зачем вообще нужен регистр ?
Читают тему
(гостей: 2)

Быстрый переход