Имя: Пароль:
1C
1С v8
Заполнение табличной части. Обработка
0 jyurik
 
11.09.19
07:57
Обработкой заполнения таб. час я заполняю таб. Часть док. Реализации услуг по переработки. Запросом обращаюсь к конкретному док Отчет производства за смену и гружу его тч в тч реализации. Столкнулся с такой ситуацией, в тч реализации, есть колонка «Всего» она не как не описана – это не реквизит таб. части и нет никого типа, просто колонка с названием Всего. На форме она заполняется так:
«    Если ЭлементыФормы.Продукция.Колонки.Всего.Видимость    Тогда
        ОформлениеСтроки.Ячейки.Всего.ОтображатьТекст = Истина;
        ОформлениеСтроки.Ячейки.Всего.Текст = ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма
                                            + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС));
    КонецЕсли;
».
Вопрос: Может, кто сталкивался с этим? Как мне передать данные в эту колонку? Как ее определить внешней обработкой?
Мой результат загрузки данных в таб. Часть:
"    Результат = Запрос.Выполнить().Выгрузить();
    
    ТабличнаяЧасть.Очистить();
        
    Для Каждого ЭлементРезультата из Результат Цикл
        НоваяСтрокаТЧ = ТабличнаяЧасть.Добавить();        
        ЗаполнитьЗначенияСвойств(НоваяСтрокаТЧ,ЭлементРезультата);
        НоваяСтрокаТЧ.Сумма = ЭлементРезультата.Цена * ЭлементРезультата.Количество;
        НоваяСтрокаТЧ.СуммаНДС = НоваяСтрокаТЧ.Сумма*"0,2";
    КонецЦикла;
    
    СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти("Продукция", ТабличнаяЧасть, Объект, Истина, Истина, Истина, Истина, Истина);
"
1 catena
 
11.09.19
08:00
(0)Не надо туда ничего передавать, она через оформление строки сама расчитается по сумме, суммеНДС.
2 Kigo_Kigo
 
11.09.19
08:02
так это получается динамическая колока и она при открытии дока сама заполняется и нигде не хранится, информационная так сказать
3 jyurik
 
11.09.19
08:08
(1) если бы она так отработала вопросов не было, так она вместо (сумма + ндс) просто тупо ставит туда сумму
4 catena
 
11.09.19
08:09
(3)А что за странное у тебя в сумме НДС: НоваяСтрокаТЧ.Сумма*"0,2"?
5 тарам пам пам
 
11.09.19
08:10
(3) проверь реквизит СуммаВключаетНДС у документа. Если Всего совпадает с Сумма, значит он стоит Истина.
6 Kigo_Kigo
 
11.09.19
08:11
(3) а сама колонка суммаНДС заполняется, она не строка случаем?
7 catena
 
11.09.19
08:13
(3)Код из (0) прописан в процедуре ПриПолученииДанных или ПриВыводеСтроки, эти процедуры отрабатывают интерактивно. Ни к каким данным, помимо реквизитов документа, он не обращается. Поэтому вопрос не в том, как туда поставить, а в том, почему существующий алгоритм отрабатывает не так, как ты ожидаешь. Отладчик с анализом всех переменных точно спасет.
8 Масянька
 
11.09.19
08:35
(0) Из стандарта: если колонка отображается, то она заполняется.
Отображение колонки скорее всего прописано где-то в коде - нужно найти, посмотреть на это условие и понять, как его применить (условие) в своей обработке.
Расчет этой колонки (при видимости) ты уже нашел. Если в твоей обработке сработает условие видимость = истина, то тогда применишь этот расчет.
9 jyurik
 
11.09.19
10:21
Я немного переделал запросе, и он сейчас тупо заполняет табличную часть данными и все ровно не работает правильно отображение данных в таблице
Должно быть Всего = Сумма + Сумма НДС, а меня почему-то Всего = Сумме

Вот сейчас результат запроса:
Результат = Запрос.Выполнить().Выгрузить();
  
    ТабличнаяЧасть.Очистить();
      
    Для Каждого ЭлементРезультата из Результат Цикл
        НоваяСтрокаТЧ = ТабличнаяЧасть.Добавить();      
        ЗаполнитьЗначенияСвойств(НоваяСтрокаТЧ,ЭлементРезультата);
    КонецЦикла;
  
    СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаТабличнойЧасти("Продукция", ТабличнаяЧасть, Объект, Истина, Истина, Истина, Истина, Истина);
10 hhhh
 
11.09.19
10:26
(9) читай (5) N раз до полного просветления.
11 jyurik
 
11.09.19
10:35
(10) Да есть такой реквизита "СуммаВключаетНДС" и "Сумма" не должна совпадать с "Всего"
12 catena
 
11.09.19
10:47
(11)то, что реквизит есть и так было понятно. значение у него какое?
13 hhhh
 
11.09.19
10:50
(11) ну он точно равен ЛОЖЬ? Или вы нас за нос водите?
14 jyurik
 
11.09.19
11:03
(13) нет желания кого-то водить занос. Нужно разобраться в ситуации и решить ее

Задача такая:
Надо заполнить таб. часть док. Реализация данными из таб. часть ОПЗС. Запросом данные получаю, передаю их в таб. часть Реализации, но почему-то колонка Всего ровна Сумме, а должна быть Сумма + Сумма НДС. Почему утверждаю, что так должно, потому что если делать док Реализации на основании док. Заказ покупателя то все данные совпадают с моими после загрузки, но Всего = Сумма + Сумма НДС. Спросите, почему так надо заполнять, а не из заказа – некоторые данные, такие как Спецификация должны соответствовать ОПЗС.
15 catena
 
11.09.19
11:06
(14)Смотри сюда:
ОформлениеСтроки.Ячейки.Всего.Текст = ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС));

конкретно сюда:
?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС))

Конкретно, это значит:
"Если СуммаВключаетНДС = истина, тогда ничего не прибавлять, а если СуммаВключаетНДС<>истина, тогда прибавить сумму НДС"
16 jyurik
 
11.09.19
11:16
(15) Это все понятно
но результат разный, от разных вариантов получения данных в таб. часть
17 catena
 
11.09.19
11:21
(16)А ты нам так и не сказал, какое значение у СуммаВключаетНДС во всех этих вариантах.
18 jyurik
 
11.09.19
11:24
(17) Хорошо, что изменит, что я скажу, что сумма не включает НДС
19 catena
 
11.09.19
11:26
Стаж: 7 лет 4 месяца 9 дней
Я пошла кофе пить.
20 hhhh
 
11.09.19
11:30
(18) читай свою формулу

     ОформлениеСтроки.Ячейки.Всего.Текст = ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма
                                            + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС));


если СуммаВключаетНДС, тогда значит

Всего = 0 + Сумма

если не включает

Всего = СуммаНДС + Сумма
21 hhhh
 
11.09.19
11:32
(18) сколько будет 0+Сумма  ?
22 jyurik
 
11.09.19
11:53
(20) Не моя формула. Формула написана на форме дока Реализации
Как мне в моей обработке объяснить документу, что сумма НДС может быть включена или не включена.
Может кто-то реально подсказать примерный вариант кода.
23 catena
 
11.09.19
11:55
(22)Документ берет объяснения вкллючена/не включена ИЗ РЕКВИЗИТА СуммаВключаетНДС.
Объяснять ему придется из реквизита.
24 Масянька
 
11.09.19
11:57
(19) Да, ладно тебе...
Зато не блондинка :)))))))))
25 Масянька
 
11.09.19
11:59
(23) Прямо, как в анекдоте: - А я же головой кивал...
26 catena
 
11.09.19
11:59
(24)Не, судя по длине ветки, этот Юрик - классическая блондинка)
27 hhhh
 
11.09.19
12:00
(26) всё-таки журик, а не юрик.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший