helpf.pro
Регистрация

v8: Работа с табличным полем

Ermak
13.10.2015 18:05Прочитано: 4176

С помощью обработки я создаю новый документ, встала проблема заполнить данные Табличного поля, в обработке ТП называется ТабОтветственных, в документе ТабОтветственных. Подскажите как заполнить ТП в документе

Код 1C v 8.х
 Док=Документы.ЗаявкаЕдиноеОкно.СоздатьДокумент();
Док.Дата=ДатаПоставки;
Док.ЛицевойСчет=ЛицевойСчет;
Док.Причина=Примечание;
Док.ТипЗаявки=ТипЗаявки;
Док.Статус=Перечисления.СтатусЕдиноеОкно.Открыта;
Док.Записать(РежимЗаписиДокумента.Проведение);
Yandex
Возможно, вас также заинтересует
Реклама на портале
all4cf
13.10.2015 18:38Ответ № 1

Вот пример из Создание нового документа

Код 1C v 8.3
 &НаСервере
Функция СоздатьНовыйДокументНаСервере()
   
        Перем НоваяРасходнаяНакладная;
        Перем СтрокаТЧ;
   
        НоваяРасходнаяНакладная=ДокРасходнаяНакладная.СоздатьДокумент();
   
        //Заполняем реквизиты шапки
        НоваяРасходнаяНакладная.Дата=  ТекущаяДата();
        НоваяРасходнаяНакладная.Фирма =Справочники.Фирмы.ОсновнаяФирма;
        НоваяРасходнаяНакладная.Контрагент=Справочники.Контрагенты.НайтиПоКоду("000000001");
        НоваяРасходнаяНакладная.Склад=Справочники.Склады.ОсновнойСклад;
   
        //Заполняем табличную часть
        СтрокаТЧ=НоваяРасходнаяНакладная.ТЧТовары.Добавить();
        СтрокаТЧ.Товар=Справочники.Номенклатура.НайтиПоКоду("000000002");
        СтрокаТЧ.Цена=СтрокаТЧ.Товар.РозничнаяЦена;
        СтрокаТЧ.Количество= 2;
        СтрокаТЧ.Сумма=СтрокаТЧ.Цена*СтрокаТЧ.Количество;
   
        Попытка
                НоваяРасходнаяНакладная.Записать();
                Возврат 1;
        Исключение
                Возврат 0;
        КонецПопытки;
                                          
КонецФункции  
all4cf
13.10.2015 18:40Ответ № 2

еще - заполнение ТЧ документа из таблицы знаений

Код 1C v 8.х
 //Для создания и записи документа используется следующий код:
НовДок = Документы.РасходнаяНакладная.СоздатьДокумент();
НовДок.Дата=ТекущаяДата();
НовыйДок.УстановитьНовыйНомер();
НовДок.Организация=Организация;
НовДок.ПериодРегистрации=ПериодРегистрации;
НовДок.ответственный= глЗначениеПеременной("глТекущийПользователь");
НовДок.Комментарий="Выплата за "+МесяцСтрока;
НовДок.ЭлементыФормы.Комментарий.Доступность=Ложь; 
Для Каждого ТекущаяСтрока Из ТаблицыЗначений Цикл  // заполним табличную часть документа, из ТаблицыЗначений
НС=НовДок.зарплата.добавить();
нс.Авторасчет=истина;
нс.Физлицо = ТекущаяСтрока.Физлицо;
нс.ВыплаченностьЗарплаты=Перечисления.ВыплаченностьЗарплаты.НеВыплачено;
нс.сумма=ТекущаяСтрока.Результат; 
КонецЦикла;
НовДок.Записать();
IBReiter
14.10.2015 08:29Ответ № 3

Ну и если таблица значений готова и имена колонок ТЗ совпадают с именами колонок ТЧ, то можно просто ТЧ.Загрузить(ТЗ)

Ermak
14.10.2015 08:56Ответ № 4

Как получить таблицу документ а как получить значение ТП обработки?

Код 1C v 8.х
 СтрокаТП=Док.ТабОтветственных.Добавить();
СтрокаТП.ФИО=???????
Ermak
14.10.2015 10:00Ответ № 5

Не совпадает с колонками 

Ermak
14.10.2015 10:13Ответ № 6

Разобрался, спасибо всем!

Код 1C v 8.х
 	Док=Документы.ЗаявкаЕдиноеОкно.СоздатьДокумент();
Док.Дата=ДатаПоставки;
Док.ЛицевойСчет=ЛицевойСчет;
Док.Причина=Примечание;
Док.ТипЗаявки=ТипЗаявки;
Док.Статус=Перечисления.СтатусЕдиноеОкно.Открыта;

Для Каждого Строка Из Ответственных Цикл
НоваяСтрока=Док.ТабОтветственных.Добавить();
НоваяСтрока.ФИО=Строка.Наименование;
НоваяСтрока.Должность=Строка.Код;
НоваяСтрока.Статус=Перечисления.СтатусЕдиноеОкно.Открыта;
КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Проведение);
IBReiter
14.10.2015 10:16Ответ № 7

1. У обработки: Элементы.ТП, если форма управляемая и эта таблица - элемент формы, если это реквизит, тогда просто ТП

2. У документа, то что вы называете ТП и таблица документа, вообще называется табличная часть документа

3. Вам ее не нужно получать, создали документ - НовыйДокумент, потом к его ТЧ обращайтесь НовыйДокумент.ТЧ.Добавить... ну и т.д.

Ermak
14.10.2015 11:29Ответ № 8

Подскажите как при добавлении строки в ТЧ колонка принимает значение Открыта

IBReiter
14.10.2015 11:48Ответ № 9

Это свойство такое?

Ermak
14.10.2015 12:03Ответ № 10

Есть Табличная часть в Документе, нужно чтобы при добавлении новой строки в ТЧ колонка Статус принимала значение Открыта

Ermak
14.10.2015 12:03Ответ № 11

Открыта эта Перечисления.СтатусЕдиноеОкно.Открыта;

IBReiter
14.10.2015 13:56Ответ № 12

Обработчик ПередНачаломДобавления для ТЧ там присвоить значение перечисления

Ermak
14.10.2015 16:40Ответ № 13

Не работает

Код 1C v 8.х
 Процедура ТабОтветственныхПередНачаломДобавления(Элемент, Отказ, Копирование)
    Для Каждого Строка Из ТабОтветственных Цикл
            Строка.Статус = Перечисления.СтатусЕдиноеОкно.Открыта;
    КонецЦикла;
КонецПроцедуры
IBReiter
14.10.2015 17:31Ответ № 14

В элементе что у вас содержится?

Ermak
27.10.2015 09:16Ответ № 15
Вопрос закрыт!
Ermak
02.11.2015 09:05Ответ № 16

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

Подсказка:Вы можете добавить любую страничку в Социальные закладки щелкнув по значку соцсетей (в вверху)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.