Сумма по колонке в табличной части если строки - ссылки на документы

1. Lasertelecom 21.04.21 12:34 Сейчас в теме
Добрый день.
Имеется документ "ЗаявкаНаОплату", в нем имеется реквизит "Сумма"
Имеется документ "ЗаданиеНаОплату", в нем имеется табличная часть "Счета" с реквизитом "Счет" с типом ДокументСсылка.ЗаявкаНаОплат. (Скриншот S1)
В форме документа для того, чтобы в табличной части отображались не только номер строки и ссылка на документ "ЗаявкаНаОплату", но и некоторые другие реквизиты документа "ЗаявкаНаОплату", вытащил соответствующие поля на форму.(Скриншот S2)
В форме документа все отображается как надо.(Скриншот S3)
Неоходимо в документе "ЗаданиеНаОплату" подсчитать и вывести общую сумму по документам из табличной части.
На событие табличной части "ПриИзменении" повесил следующее действие:

Процедура СчетаПриИзменении(Элемент)

СуммаДокумента = Объект.Счета.Итог("Сумма");

КонецПроцедуры

В результате получаю следующую ошибку: (Скриншот S4)

Прошу подсказать как с этим побороться.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. AndKovalchuk 192 21.04.21 13:57 Сейчас в теме
(4)
"Счета" вообще нет табличной части. "Сумма" - это реквизит документов "ЗаявкаНаОплату" и

(4)

Там контекст выполнения должен быть на сервере.
На клиенте Строка.Счет - это реквизит содержащий ссылку

&НаКлиенте
Процедура СчетаПриИзменении(Элемент)
      СуммаДокумента = ПолучитьСумму (Объект)
КонецПроцедуры


&НаСервере
Функция ПолучитьСумму(Объект)
        СуммаДокумента = 0;
        Для Каждого стрСчет из Объект.Счета  Цикл
               СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
        КонецЦикла
        возврат СуммаДокумента;
КонецФункции

Показать
AmberPassion; Lasertelecom; +2 Ответить
9. Lasertelecom 21.04.21 14:34 Сейчас в теме
(7) Огромное спасибо.

Вот так заработало:

&НаКлиенте
Процедура СчетаПриИзменении(Элемент)
	Объект.СуммаДокумента = ПолучитьСумму();	
КонецПроцедуры

&НаСервере
Функция ПолучитьСумму()
        СуммаДокумента = 0;
        Для Каждого стрСчет из Объект.Счета  Цикл
               СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
        КонецЦикла;
        возврат СуммаДокумента;
КонецФункции
Показать
AmberPassion; AndKovalchuk; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AndKovalchuk 192 21.04.21 12:43 Сейчас в теме
Понятно. У табличной части Счета нет колонки "Сумма".
Либо заведите такую колонку
Либо так
СуммаДокумента = 0;
Для Каждого стрСчет из Объект.Счета  Цикл
СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
КонецЦикла
4. Lasertelecom 21.04.21 13:46 Сейчас в теме
(2) Спасибо за ответ.
Однако...
1. У "Счета" вообще нет табличной части. "Сумма" - это реквизит документов "ЗаявкаНаОплату" из ссылок на которые и состоит табличная часть документа "ЗаданиеНаОплату"
2. Сделал так, как Вы посоветовали.

Процедура СчетаПриИзменении(Элемент)
СуммаДокумента = 0;
Для Каждого Строка из Объект.Счета Цикл
СуммаДокумента = СуммаДокумента + Строка.Счет.Сумма
КонецЦикла
КонецПроцедуры

В результате см.Скриншот.
Прикрепленные файлы:
5. lefthander 21.04.21 13:52 Сейчас в теме
(4)
У "Счета" вообще нет табличной части. "Сумма" -
;) Вы же сами это написали... ;)
(4)
это реквизит документов "ЗаявкаНаОплату"
получите эти документы от счета и посчитайте сумму от них
8. Lasertelecom 21.04.21 14:11 Сейчас в теме
(5) Спасибо за ответ.
Давайте разберемся, возможно я Вас запутал.)

У меня такого документа "Счет" нет совсем."Счет" - это реквизит табличной части документа "ЗаданиеНаОплату" с типом "ДокументСсылка". См.Скриншот
В Объект в форме он попадает в таком виде: см.другой скриншот.
Я беру "Сумма" перетаскиваю в форму. На скриншоте стрелкой. Появляется поле "СчетаСчетСумма" и вот уже оно и является полем моей табличной части в документе "ЗаданиеНаОплату". (Следующая стрелка) и в документе все красиво выводиться. Но суммировать по этому полю не получается. ((( Сразу скажу, что, если я использую имя "СчетаСчетСумма", то ошибки выходят теже.
Прикрепленные файлы:
7. AndKovalchuk 192 21.04.21 13:57 Сейчас в теме
(4)
"Счета" вообще нет табличной части. "Сумма" - это реквизит документов "ЗаявкаНаОплату" и

(4)

Там контекст выполнения должен быть на сервере.
На клиенте Строка.Счет - это реквизит содержащий ссылку

&НаКлиенте
Процедура СчетаПриИзменении(Элемент)
      СуммаДокумента = ПолучитьСумму (Объект)
КонецПроцедуры


&НаСервере
Функция ПолучитьСумму(Объект)
        СуммаДокумента = 0;
        Для Каждого стрСчет из Объект.Счета  Цикл
               СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
        КонецЦикла
        возврат СуммаДокумента;
КонецФункции

Показать
AmberPassion; Lasertelecom; +2 Ответить
9. Lasertelecom 21.04.21 14:34 Сейчас в теме
(7) Огромное спасибо.

Вот так заработало:

&НаКлиенте
Процедура СчетаПриИзменении(Элемент)
	Объект.СуммаДокумента = ПолучитьСумму();	
КонецПроцедуры

&НаСервере
Функция ПолучитьСумму()
        СуммаДокумента = 0;
        Для Каждого стрСчет из Объект.Счета  Цикл
               СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
        КонецЦикла;
        возврат СуммаДокумента;
КонецФункции
Показать
AmberPassion; AndKovalchuk; +2 Ответить
10. AndKovalchuk 192 21.04.21 14:35 Сейчас в теме
(9)Для огромного спасибо существует плюсик внизу поста :)
Lasertelecom; +1 Ответить
11. Lasertelecom 21.04.21 14:36 Сейчас в теме
12. sssss_aaaaa_2011 21.04.21 14:49 Сейчас в теме
(9)
Для Каждого стрСчет из Объект.Счета Цикл
СуммаДокумента = СуммаДокумента + СтрСчет.Счет.Сумма
КонецЦикла;
А не хочется сие заменить на запрос?
Lasertelecom; starik-2005; +2 Ответить
13. Lasertelecom 21.04.21 18:12 Сейчас в теме
(12) Можно, но в данном случае и так сойдет)
3. starjevschik 21.04.21 12:43 Сейчас в теме
ну в т.ч. Счета же нет колонки "Сумма". Ее надо сначала там сделать, заполнить, потом итоги считать. Или еще как-то сделать.
И почему при изменении? А при открытии формы не надо? или это потом будет следующий вопрос )
6. Lasertelecom 21.04.21 13:53 Сейчас в теме
(3) Спасибо за ответ.

Колонки "Сумма" нет нигде кроме табличной части документа "ЗаданиеНаОплату", а туда данные попадают из реквизита с именем "Сумма" документа "ЗаявкаНаОплату".
Прошу обратить внимание. Моя табличная часть состоит не из строк взятых их справочника, например, а из ссылок на другие документы и данных из этих документов. Может поэтому не хотят они суммироваться?
Ну и ответ на вопрос "почему "ПриИзменении"... Я спокойно разберусь к какому событию привязать))), главное, чтобы заработало в принципе))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот