Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как зафиксировать значение в табличной части

Как зафиксировать значение в табличной части
Я
   Ramis333
 
07.06.18 - 11:46
Нужно чтобы при открытии или создании документа в строке табл.части была фиксированная цифра 20
 Элементы.УслсугиРасценка = 20;
 
 
   hhhh
 
1 - 07.06.18 - 11:48
(0) это тебе не в элементы надо. а в данные
   Ramis333
 
2 - 07.06.18 - 12:09
тд =  Элементы.Услуги.ТекущиеДанные;
     тд.Расценка = 20;
   Михаил Козлов
 
3 - 07.06.18 - 12:10
В какой из строк ТЧ? Может Вам нужно проставлять 20 при изменениях ТЧ?
   Ramis333
 
4 - 07.06.18 - 12:15
во всех строках. в колонке расценка
   catena
 
5 - 07.06.18 - 12:15
(2)Какие там текущие данные, если документ новый?
   Малыш Джон
 
6 - 07.06.18 - 12:15
(4) наверное все таки не при открытии или создании, а при добавлении строки в ТЧ?
   Ramis333
 
7 - 07.06.18 - 12:16
при открытии автоматически заполнены работы. 15 позиций. не могу добавить к ним расценки
   Ramis333
 
8 - 07.06.18 - 12:17
при добавлении тоже надо
   Малыш Джон
 
9 - 07.06.18 - 12:19
>>не могу добавить к ним расценки

надо уже таки себя заставить

>>при открытии автоматически заполнены работы

Тогда роли она у тебя особой не играет, эта колонка. Добавляй на форму, если ещё нету. При получении данных - заполняй.
   catena
 
10 - 07.06.18 - 12:34
(7)Найди, откуда они заполнены, сделай там же по аналогии.
 
 Рекламное место пустует
   Ramis333
 
11 - 07.06.18 - 12:53
нашел процедуру заполнения

&НаСервере
Процедура ЗаполнитьСписокРабот()
    Если Объект.ДвигательДляТарификации.Пустая() Тогда Возврат КонецЕсли;
    Если Объект.Деталь.Пустая() Тогда Возврат КонецЕсли;
    
    // 3 вариант

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



исправил на код

&НаСервере
Процедура ЗаполнитьСписокРабот()
    Если Объект.ДвигательДляТарификации.Пустая() Тогда Возврат КонецЕсли;
    Если Объект.Деталь.Пустая() Тогда Возврат КонецЕсли;
    
    // 3 вариант

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

            НоваяСтрокаУслуги = Объект.Услуги.Добавить();
            НоваяСтрокаУслуги.Услуга = ВыборкаРабот.Услуга;
            НоваяСтрокаУслуги.Расценка = 20;
            
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
   Ramis333
 
12 - 07.06.18 - 12:54
работает

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует