(РЕШЕНО) Табличная части документа
#1
Отправлено 15 февраля 2012 - 22:24
#2
Отправлено 15 февраля 2012 - 22:42
#3
Отправлено 16 февраля 2012 - 05:30
Все зависит от того как реализован расходный лист + сама идеология.
Может ли один и тот же РЛ быть в нескольких заказах?
Проще всего сделать так:
1) В заказе еще один реквизит типа документ со ссылкой на РЛ. При выборе РЛ врубаем фильтр с учетом ТМЦ и особенностей (проверка основания если РЛ уникален)
2) На форму документа заказа добавляем ТЗ в которую выводим ТЧ документа РЛ по ссылке.
Жмакнувшим
буду благодарен.
#4
Отправлено 16 февраля 2012 - 07:16
#6
Отправлено 16 февраля 2012 - 07:45
выводим ТЧ документа РЛ по ссылке.Спасибо за совет, а вот это какая то команда есть или через ТЗ?
Сообщение отредактировал WaRDeR: 16 февраля 2012 - 08:58
#7
Отправлено 16 февраля 2012 - 07:55
Сама функция выглядит примерно так
//это в начале модуля формы Перем ТекСтрока; Функция ОтобразитьРЛ() Если ТекСтрока=НомерСтроки Тогда //защита от лишних отображений Возврат ""; КонецЕсли; ТекСтрока=НомерСтроки; Если ПустоеЗначение(РЛ)=1 Тогда //очищаем т.к. нет ссылки Таб_РЛ.УдалитьСтроки(); Возврат ""; КонецЕсли; РЛ.ВыгрузитьТабличнуюЧасть(Таб_РЛ); //наводим красивость на колонки тут КонецФункции Процедура ПриОткрытии() ТекСтрока=1; //тут ваш код КонецПроцедуры
где РЛ - реквизит ТЧ документа заказа типа документ
Таб_РЛ - ТЗ формы документа заказа
Жмакнувшим
буду благодарен.
#8
Отправлено 17 февраля 2012 - 09:54
#9
Отправлено 18 февраля 2012 - 03:19
Функция ОтобразитьРЛ() Если ТекСтрока=НомерСтроки Тогда //защита от лишних отображений Возврат ""; КонецЕсли; ТекСтрока=НомерСтроки; Если ПустоеЗначение(РЛ)=1 Тогда //очищаем т.к. нет ссылки Таб_РЛ.УдалитьСтроки(); Возврат ""; КонецЕсли; РЛ.ВыгрузитьТабличнуюЧасть(Таб_РЛ); //наводим красивость на колонки тут Таб_РЛ.ВыбратьСтроки(); Пока Таб_РЛ.ПолучитьСтроку()=1 Цикл //производим вычисления КонецЦикла; //если нужны итоговые суммы - выводим на форме через // Таб_РЛ.Итог("ИмяКолонки") КонецФункции
Жмакнувшим
буду благодарен.
#10
Отправлено 19 февраля 2012 - 21:23
Процедура Выводостатка() СпНаименования=СоздатьОбъект("СписокЗначений"); ВыгрузитьТабличнуюЧасть(СпНаименования,"Наименование,Цвет" ); ТабличнаяЧастьТЗ.ВыбратьСтроки(); Пока ТабличнаяЧастьТЗ.ПолучитьСтроку()>0 Цикл Сообщить(Наименование); КонецЦикла; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса= " |Материал = Регистр.ОстаткиМатериалов.Материал; |Цвет = Регистр.ОстаткиМатериалов.ЦветТкани; |Количество = Регистр.ОстаткиМатериалов.Количество; |Функция КоличествоКонОст = КонОст(Количество); |Группировка Материал ; |Группировка Цвет без групп ; |Условие (Материал в СпНаименования); |Условие (Цвет в СпНаименования); |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица1"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка("Материал") = 1 Цикл Пока Запрос.Группировка("Цвет")=1 Цикл КонецЦикла; КонецЦикла; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл Если Запрос.Получить(Наименование,Цвет)>0 Тогда Таб.ВывестиСекцию("Секция1"); Иначе Таб.ВывестиСекцию("Секция2"); КонецЕсли; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедурыв чем ошибка?
ТабличнаяЧастьТЗ- индентификатор второй таблицы на форме
Сообщение отредактировал NemeL: 19 февраля 2012 - 21:28
#11
Отправлено 20 февраля 2012 - 03:45
Пока Запрос.Группировка("Материал") = 1 Цикл Пока Запрос.Группировка("Цвет")=1 Цикл КонецЦикла; КонецЦикла;2) Вот ваша ошибка
ВыгрузитьТабличнуюЧасть(СпНаименования,"Наименование,Цвет" );Для выполнения условий в запросе разнесите по разным спискам значений
СпНаименования=СоздатьОбъект("СписокЗначений"); ВыгрузитьТабличнуюЧасть(СпНаименования,"Наименование" ); СпЦвет=СоздатьОбъект("СписокЗначений"); ВыгрузитьТабличнуюЧасть(СпНаименования,"Цвет" );ну и в запросе конечно
|Условие (Материал в СпНаименования); |Условие (Цвет в СпЦвет);
Жмакнувшим
буду благодарен.
#12
Отправлено 20 февраля 2012 - 07:38
#13
Отправлено 20 февраля 2012 - 08:02
<P>ВыбратьСтроки();</P> <P>Пока ПолучитьСтроку = 1 Цикл</P> <P>ВашРеквизитССылкойНаВторойДок.ВыгрузитьТабличнуюЧасть(КудаНадо);</P> <P>ПечатьНашейСекцииИлиЧтоТоТамЕще()</P> <P>КонецЦикла</P>что есть первая тч, а что вторая?
ВыгрузитьТабличнуюЧасть() - метод выгружает табличную часть текущего документа.
если в ТЧ первого документа есть реквизит с ссылкой на второй документ, значить:
ВыбратьСтроки();
Пока ПолучитьСтроку = 1 Цикл
ВашРеквизитССылкойНаВторойДок.ВыгрузитьТабличнуюЧасть(КудаНадо);
ПечатьНашейСекцииИлиЧтоТоТамЕще()
КонецЦикла
#14
Отправлено 20 февраля 2012 - 08:11
ВыбратьСтроки(); Пока ПолучитьСтроку = 1 Цикл ВашРеквизитССылкойНаВторойДок.ВыгрузитьТабличнуюЧасть(КудаНадо); ПечатьНашейСекцииИлиЧтоТоТамЕще() КонецЦикла
проглючила вставка тега через кнопь.
#15
Отправлено 21 февраля 2012 - 05:08
Жмакнувшим
буду благодарен.
#17
Отправлено 21 февраля 2012 - 10:59
Нужны еще и актуальные остатки?
КСТАТИ - в запросе нет даты получения остатков.
Поэтому запрос не выполняется. В качестве даты нудно передать ДОКУМЕНТ РЛ
Жмакнувшим
буду благодарен.
#18
Отправлено 27 февраля 2012 - 11:43
#19
Отправлено 12 марта 2012 - 21:39
Сообщение отредактировал NemeL: 12 марта 2012 - 21:40
#20
Отправлено 13 марта 2012 - 00:59
Один вопрос - одна тема.
Жмакнувшим
буду благодарен.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных










