Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: В отчете не получается перебрать строки табличной части документа

В отчете не получается перебрать строки табличной части документа
В запросе обращаюсь к регистру сведений ДанныеКлиента.
Запрос.Текст =
"ВЫБРАТЬ
| ДанныеКлиента.Период,
| ДанныеКлиента.Контрагент,
| ДанныеКлиента.Регистратор как регистратор1

|ИЗ
| РегистрСведений.ДанныеКлиента КАК ДанныеКлиента";

результат= Запрос.Выполнить();
Выборка = результат.Выбрать();
пока Выборка.следующий() цикл
тч=Выборка.Регистратор1.ПолучитьОбъект();
// ТМЦ - это табличная часть в документе, который является регистратором движения
Для каждого строка из ТЧ.тмц цикл
тов=ТЧ.товар;
конецЦикла;

Пишет "Поле объекта не обнаружено Товар", хотя там есть такое поле
Ответ:
Зачем так сложно?
У Вас же все регистраторы уже выбраны запросом. Только проверьте, является ли регистратор документом Заказ, и все, должен работать первый вариант обхода результатов.
Вопрос: При выделении строки табличного поля требуется подсветить зависимые ячейки

При выделении строки табличного поля требуется подсвечивать зависимые строки/ячейки, в зависимости от условий совпадения строк по полям.
Пишу при выводе строки таб.поля:
ВыделеныСтроки = ЭлементыФормы.ТабличноеПолеДанных.ВыделенныеСтроки;

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

Помогите, а то чет-та туплю под утро, Допустим!: есть документ "Заказ", в нем есть  Табличная часть "Товары" с 2 колонками "Номенклатура и Цена". На форме в Табличное поле с этой таблицей вручную добавил колонку "ПродажиЗаГод" и не знаю как теперь перебрать это таб поле, чтобы заполнить эту колонку.
1) ТоварыПриПолученииДанных() и пр. не надо советовать т.к. очень долго считает и не всегда эти данные нужны, расчет сделан по кнопке.
2) "Для Каждого СтрокаТ Из Товары Цикл" не катит т.к. такой колонки в ТЗ нет
3) "Для Каждого СтрокаТ Из ЭлементыФормы.Товары.Значение Цикл" - тоже нет такой колонки
4) ЭлементыФормы.Товары.Колонки - там она есть, а толку
Ответ: Ладно, отбой, привязал к видимости, кому надо тот включит показ.
Если ЭлементыФормы.Товары.Колонки.ПродажиЗаГод.Видимость Тогда
   СтрокаТЧ.Ячейки.ПродажиЗаГод.Значение = ПосчитатьПродажиЗаГод(СтрокаТЧ.ДанныеСтроки.Номенклатура);
КонецЕсли;
Вопрос: Общий заголовок у нескольких колонок Табличного поля документа

Есть документ, в табличном поле документа колонки, некоторые из них надо объединить под общей шапкой, выглядеть это должно вот так (рисунок):
У меня получилось в принципе сделать такое, 2 строки для ввода данных получились. Поле ввода для колонки"Вода", а под ним 2 поля ввода для колонок "Производственные нужды" и "Хозяйственные нужды".

Можно ли сделать так, чтобы заголовок "Вода" был, а вот строки с полем для ввода - нет?
Мне нужен только заголовок от реквизита.

Вложения:

  • Размер файла:
    107 КБ
    Просмотров:
    9
Ответ:
Большое спасибо! Получилось!
Вопрос: Сделать недоступной строку таб. поля

Всем привет, в конфе на обычных формах есть самописный регистр сведении, у него есть ФормаСписка на форме есть РегистрСведенийСписок тип Табличное поле в табличном поле есть колонка Утвержден тип Булево. Задачка нужно не давать изменить строку если в ней Утвержден = Истина конкретному пользаку. Проблема в том что не могу подобрать метод табличного поля чтоб заблокировать строку от изменения. Выбрал ПередНачаломИзменения(<Отказ>) Описание: Возникает перед началом интерактивного изменения существующей строки табличного поля. Код отрабатывает но у меня все табличное поле становиться недоступным:)
Если Элемент.ТекущиеДанные.Утвержден Тогда
        Отказ = Истина;
    КонецЕсли; 
А у ТекущейСтроки нет свойства ТолькоПросмотр. Что посоветуете, какое событие выбрать?
Ответ: У Оформления строки кажись было, или у ячеек оформления, или (и) у самого оформления
Вопрос: 1с 8.3 Вывод картинок в табличной части документа

Имеется документ с табличной частью, с реквизитом Номенклатура (тип СправочникСсылка.Номенклатура ). Нужно при изменении Номенклатуры выводить соответствующую картинку из справочника.

Есть одна особенность картинки хранятся в отдельном справочнике ФотоБанк с реквизитом Фото (тип ХранилищеЗначения). На который и ссылается реквизит Изображение справочника Номенклатура.
(Добавление картинки в Справочник было рассмотрено в этой теме: )

Подскажите, пожалуйста, как все же реализовать вывод картинок в табличной части документа.
Ответ: После долгих мучений, картинка выводиться в табличную часть документа, но очень маленькая. А если в конфигураторе поменять высоту колонки, то картинка выводиться в ее реальном размере (но выходит со стороки - см. скрин 2), хотя стоит в свойстве АвтоРазмер. Как это исправить? И какое свойство надо изменить, чтобы картинка была по центру ячейки?
1C
1
2
3
4
5
6
7
8
9
10
11
12
&НаКлиенте
Процедура ТоварыНоменклатураПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.Товары.ТекущиеДанные;
    Номенклатура = СтрокаТабличнойЧасти.Номенклатура;   
    СтрокаТабличнойЧасти.АдресФото = ПолучитьСсылкуКартинки(Номенклатура);
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьСсылкуКартинки(Ссылка)
     АдресФото = ПолучитьНавигационнуюСсылку(Ссылка.Изображение,"Фото");
     Возврат АдресФото;
КонецФункции
Вопрос: Автозаполнение из табличной части справочника в табличную часть документа

Здравствуйте , помогите пожалуйста с кодом
Мне нужно чтобы автоматически заполнялась табличная часть документа из табличной части справочника.
При заполнении документа , автоматически заполнялось ОстановкиМаршрута на 2 скрине.
Из справочника "Маршруты" в ней табличная часть "ОстановкиМаршрута" в "Документ1" в форму элемента "ОстановкиМаршрута"
Ответ: А если ТЧ справочника изменится, нужно ли менять ТЧ документа?

Добавлено через 3 минуты
Так нужно заполнять табличную часть документа? Или выводит список остановок при позиционировании на строке документа?
Вопрос: Запись первой строки табличной части в в реквизит

Подскажите пожалуйста как программно записать первую строку из табличной части документа в реквизит.
Ответ: Alexeyon, предположим, что имя табличной части документа - ТабличнаяЧасть1:
1C
1
2
3
Если Объект.ТабличнаяЧасть1.Количество() > 0 Тогда //табличная часть не пустая
 Номенклатура = Объект.ТабличнаяЧасть1[0].Номенклатура; //получаем значение Номенклатуры первой строки ТЧ
КонецЕсли;
Это для управляемых форм, для обычных - тоже самое, но убираем везде "Объект.".
Вопрос: Количество строк табличного документа

Помогите пожалуйста подсчитать кол-во строк табличного документа!!!
Получаю с формы с поля ввода текст, вывожу его на печать. Если текст не помещается на 1 страницу, получается не очень хорошо. хотел бы подсчитать количество строк, чтобы сделать фиксированный вывод строк на одну страницу.
Процедура Печать(Элемент)
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.СлужебнаяЗаписка.ПолучитьМакет("Печать");
Шапка=Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(Шапка);
ТекстСЗ=Макет.ПолучитьОбласть("ТекстСЗ");
//параметр, в который подставляется значение поля ввода.
ТекстСЗ.Параметры.Заполнить(ЭтотОбъект);
//необходимо подсчитать количество строк перед выводом,
ТабДок.Вывести(ТекстСЗ);
Подвал=Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(Подвал);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.ПовторятьПриПечатиСтроки=(ТабДок.Области.Шапка);
ТабДок.Показать();
КонецПроцедуры
Ответ:
Интересует как можно влиять на количество печатаемых на листе строк. К примеру есть указать в ручную количество строк меньшее чем есть в табличном документе <code>(ТабДок.ВысотаТаблицы=7</code> получим сообщение об ошибке «Поле объекта недоступно для записи (ВысотаТаблицы) ТабДок.ВысотаТаблицы=7;». В моем пробном примере в ВысотаТаблицы было 8. В типовых конфигурациях можно встретить такое
Выводится макет с табличной частью на четыре листа при этом табличная часть не заполняет всю таблицу
Вопрос: v7: В табличной части документа активировать строку

Привет всем.
Нужно перебрать циклом и "протыкать" все строки документа эмитировав двойное нажатие мышкой на каждом.
Подскажите какой метод активизирует строки табличной части?
Ответ: а еще можно через формекс выполнять извне ппроцедуры документов