Форум программистов, компьютерный форум, киберфорум
Наши страницы

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
Миша Колесников
1 / 1 / 0
Регистрация: 16.12.2011
Сообщений: 35
#1

Работа с табличной частью - 1С/1C 8.x

15.09.2017, 01:48. Просмотров 299. Ответов 8
Метки нет (Все метки)

Подскажите плз, как реализовать.
Имеется табл.часть в которой содержится количество и цена. Нужно сделать так, чтобы в табличной части считался: 1. сумма по строке 2. общая сумма.
Как можно это реализовать, если документ не записан.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2017, 01:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос 1C 8.x Работа с табличной частью (1С):

1C 8.x Работа с табличной частью - 1С
Добрый день. Подскажите пожалуйста. Создан документ "заказ-наряд". В документе указывается информация по заказу на ремонт в автосервисе. В...

Провести документ с табличной частью - 1С
Всем привет! Есть документ, создаётся программно. У него есть табличная часть... Может это просто, но не могу смекнуть, голова уже не...

Значение строки табличной части получить в табличной части другого документа - 1С
Есть документ ПриходнаяНакладная (товар приходит от поставщика по его цене), с табличной частью Материалы (реквизиты таб.части: Материал,...

Работа с табличной частью - 1С
Мне нужно при изменении реквизита табличной части (при добавлении наименования из справочника), чтобы в реквизит табличной части артикул...

1с77 Создание отчёта. Работа с табличной частью документа - 1С
Доброго дня всем! Помогите новичку, хочу написать отчёт. Допустим, у меня есть журнал "завоз_в_магазин". В нём отображаются документы...

Работа с серверной и клиентской частью - 1С
Здраствуйте, у меня вопрос - как работать с данными справочника, например - есть такое задание, отсортировать программно элементы...

8
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 35
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
15.09.2017, 07:37 #2
Миша Колесников, в какой момент и как это должно считаться?
0
Yulunga
281 / 184 / 47
Регистрация: 22.04.2013
Сообщений: 1,073
Завершенные тесты: 1
15.09.2017, 08:34 #3
https://forum.infostart.ru/forum9/topic98463/
0
Миша Колесников
1 / 1 / 0
Регистрация: 16.12.2011
Сообщений: 35
15.09.2017, 12:51  [ТС] #4
Цитата Сообщение от OrkVasya Посмотреть сообщение
Миша Колесников, в какой момент и как это должно считаться?
Все расчеты запихнул в процедуру изменения строк таблица.
1C
1
2
3
4
5
6
7
8
9
10
11
Процедура ТоварыПриИзменении(Элемент)
    Объект.СуммаДокумента = 0   ;
    Для каждого СтрТовар из Объект.Товары
        Цикл
        
            СтрТовар.Сумма= СтрТовар.Цена *  СтрТовар.Количество    ; 
            Объект.СуммаДокумента    =       Объект.СуммаДокумента   + СтрТовар.Сумма  ;
            
    КонецЦикла
        
КонецПроцедуры
Не знаю насколько верное такое решение. Логически наверно более правильно считать это при изменении соответствующих столбцов таблицы, а не всей таблицы.
0
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 35
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
15.09.2017, 13:23 #5
Неверное.
У тебя при каждом изменении номенклатуры пересчитывается вся табличная часть.
Вместо сложения в СуммаДокумента используй "Итог()".
И сумму лучше только в изменяемой строке менять.
0
Миша Колесников
1 / 1 / 0
Регистрация: 16.12.2011
Сообщений: 35
15.09.2017, 13:33  [ТС] #6
Цитата Сообщение от OrkVasya Посмотреть сообщение
Неверное.
У тебя при каждом изменении номенклатуры пересчитывается вся табличная часть.
Вместо сложения в СуммаДокумента используй "Итог()".
И сумму лучше только в изменяемой строке менять.
А если не сложно, можно пример. Я нашел процедуру события только изменения столбца таблицы. Или можно как-то обратиться к выделенной строке Объект.Товары?
0
Yulunga
281 / 184 / 47
Регистрация: 22.04.2013
Сообщений: 1,073
Завершенные тесты: 1
15.09.2017, 13:41 #7
1C
1
2
3
4
5
6
процедура запчастиидеталиколичествоприизменении(Элемент)
текданные = этаформа.текущийэлемент.текущиеданные;
текданные.сумма = текданные.количество * текданные.цена;
// это то что по первой ссылке из гугла
//теперь посчитаем сумму : 
этаформа.итоги = ЗапчастиИДетали.Итог("Сумма"); //запчасти и детали - это видать название табличной части. сумма - столбец. сумму считаем по нему. итоги - поле на форме, в котором считаются итоги
0
Миша Колесников
1 / 1 / 0
Регистрация: 16.12.2011
Сообщений: 35
16.09.2017, 14:14  [ТС] #8
Написал следующий код
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
    ТекущаяСтрока= Элементы.Товары.ТекущиеДанные   ;
 
    РассчитатьИтог(ТекущаяСтрока)  ;
КонецПроцедуры
 
&НаКлиенте
Процедура ТоварыЦенаПриИзменении(Элемент)
    РассчитатьИтог(Элементы.Товары.ТекущиеДанные)  ;
 
КонецПроцедуры
 
Процедура       РассчитатьИтог(СтрокаТабличнойЧасти) 
    
    СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество*СтрокаТабличнойЧасти.Цена;
 
КонецПроцедуры
Почему возникает ошибка? пишет

Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
0
OrkVasya
о_____О
Эксперт 1С
219 / 219 / 35
Регистрация: 19.11.2010
Сообщений: 1,061
Завершенные тесты: 1
16.09.2017, 15:02 #9
Миша Колесников, потому, что у тебя процедура "РассчитатьИтог" - серверная, что здесь явно лишнее.
Ну и назвать процедуру "РассчитатьИтог", а рассчитывать в ней сумму, логически так себе.
0
16.09.2017, 15:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2017, 15:02
Привет! Вот еще темы с ответами:

Запрос. Условие: строка из первой табличной части равна любой строке из другой табличной части - 1С
Есть документ "РаспределениеМатериаловНаВыпуск". У этого документа имеется "Форма документа". На этой форме есть элементы формы:...

1C 8.x Заполнение табличной части одного документа из табличной части другого документа - 1С
Здравсвуйте. 1С 8.2. Есть документ Приход и документ Расход. Оба документа имеют табличные части - Товары. В табличной части документа...

1C 8.x Табличной поле - 1С
Доброго времени суток! Подскажите как присвоить табличному полю значение реквизита справочника (1С 8.1). Суть вопроса заключается в том,...

Автозаполнение табличной части - 1С
Создайте справочник "Основные средства", в который пользователь может вносить все оборудование, которое используется в организации. У...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru