Версия для печати темы (https://pro1c.org.ua/index.php?s=c34258d18813a01bc573545d5ea51a6a&showtopic=48343)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Заполнение из ТЧ справочника

Автор: Lexveritas 15.10.18, 9:50

Всем доброго выходного дня!

Вообще совсем потерялся. Тема поднималась не однократно, но опять таки спрошу.
Как заполнить таб часть документа из тч справочника.

1С8.3.11, управляемые формы, конфигурация самописная.

Задача такова:
Есть документ, в котором имеется ТЧ "затраты" и есть кнопка "заполнить". Имеется справочник, с названием "справочник1" в нем ТЧ "затраты".
Как заполнить тч затраты документа, данными из справочника?
Никаких условий и отборов не нужно. Всё что есть в справочнике, должно попасть в документ.

Автор: sava1 15.10.18, 10:31

где-то так

док.Тч.Очистить();
для каждого стр из спр.ТЧ цикл
    новСтр = док.тч.Добавить();
    заполнитьЗначенияСвойств(новСтр,стр);
Конеццикла;


соответственно на сервере

Автор: Lexveritas 15.10.18, 11:13

sava1 @ Сегодня, 11:31 * ,

А, стесняюсь спросить просто НаСервере, или НаСервереБезКонтекста?

Автор: sava1 15.10.18, 11:20

Вы работаете с Объектом - как тут без контекста?

процедуру сделайте в модуле объекта

Автор: Lexveritas 16.10.18, 10:45

sava1 @ Вчера, 12:20 * ,

Тут моя вина что не уточнил одно обстоятельство! Обращаться буду к элементу справочника, в котором ТЧ содержит данные.
Как быть тут? Как обратиться к элементу справочника?

Автор: sava1 16.10.18, 10:48

откуда берете элемент ?

для каждого стр из элементсправочника.ТЧ цикл

Автор: Lexveritas 16.10.18, 11:21

sava1 @ Сегодня, 11:48 * ,

Теперь вообще ничего не понял.

для каждого стр из элементсправочника.ТЧ цикл


Тут я обрабатываю ТЧ стправочника, что точно делать не нужно...

Примерно поясню что пытаюсь сделать:

Есть документ, в котором ТЧ затраты. Есть справочник в котором находятся эти затраты (что то типа заполнить по умолчанию). Элементов справочника будет много.
Необходимо по нажатию кнопки заполнить ТЧ документа, содержимым ТЧ справочника, с учетом того что наименование элемента заранее известно.

Автор: sava1 16.10.18, 13:06

1. Получаем ЭлементСправочникаЗатраты (неважно как - запрос, тз....) далее ЭСЗ
2. имеем ТЧ документа - далее ТЧД

3. чистим тчД

4. обходим в цикле ТЧ элемента справочника и переносим ее в документ.

Если ЭСЗ много - Обертываем этот кусок кода в цикл по КоллекцииЭлементовСправочника

Автор: Lexveritas 18.10.18, 10:20

sava1 @ 16.10.18, 14:06 * ,


Премного блвгодарствую!
В оконечном итоге вышло вот такое:

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua