Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Фев 2018, 05:03
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Математическая формула в ТабЧасти  (Прочитано 3710 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gemsbird

  • *
  • Сообщений: 19
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-08
  • Сайт: 
  • Профессия: Ученик 1С
Добрый вечер форумчанам, такой вопрос:
Есть Табличная Часть (допустим название "Учет") в ней есть 4 столбца.
1 столбец - номер строки
2 столбец - обозначим "а"
3 столбец - обозначим "b"
4 столбец - собственно вопрос: как в четвертом стоблце получить сумму (разницу, умножение, деление) 2 и 3 столбца. Наподобие как в Excel формула ячеек.

P.S. Для наглядности приложу схемку


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
По-моему, дольше рисовать схему, чем это реализовывать.

Если ты этого не можешь понять - бросай 1с.

Оффлайн has

  • Модератор
  • *****
  • Сообщений: 1308
  • РЕПУТАЦИЯ: 285
  • КПД: 22%
  • Регистрация: 2011-01-28
  • Сайт: 
  • Профессия: Программист 1С
gemsbird, 1С то как изучаете? В литературе это есть.

Оффлайн LexaK

  • *****
  • Сообщений: 1288
  • РЕПУТАЦИЯ: 353
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
все элементарно, хотя ни в одной типовой конфигурации не встрачал такого!
суть в следующем, делаете:
еще один скрытый столбец в этой таблице значения, Называете Действие, тип строка
в этой колонке в каждой строке пишите ТекСтрока.А + ТекСтрока.Б
собственно - это ТекСтрока.А + ТекСтрока.Б и есть ваша фармула,
она может быть:
ТекСтрока.А * ТекСтрока.Б
(ТекСтрока.А + 5) * ТекСтрока.Б - 7
и т.д. в принципе, может быть любой выполняемый код 1С, Только настраивать эти колонки должен очень ответственный человек, или при настройке ставить фильтры для контроля правильности формулы(и допустимости кода) здесь потенциальная дырка для безопасности базы, вообще можно(нужно) явно задать небольшую длину этого поля действия например 20 символов. 

далее в форме, где у вас эта табличная часть, на событие табличной части ПриОкончанииРедактирования
выполнить следующий код

Процедура ТЗтестПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
ТекСтрока = Элемент.ТекущиеДанные;
Если ЗначениеЗаполнено(ТекСтрока.Действие) Тогда  //здесь можно дополнить проверку
Попытка
ТекСтрока.с = вычислить(ТекСтрока.Действие);
Исключение
Сообщить(ОписаниеОшибки());
ТекСтрока.с = 0;
КонецПопытки;
КонецЕсли;
КонецПроцедуры

в итоге у вас получается "как в экселе" для каждой строки своя формула,
формулы можнов оформить в виде списка, и при заведении новой строки, не задавать каждый раз новую формулу, а выбирать из списка!
ради интереса я создал обработку и проверил, все отлично работает!
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн gemsbird

  • *
  • Сообщений: 19
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-04-08
  • Сайт: 
  • Профессия: Ученик 1С
благодарю за помощь, такой вопрос у меня книга "Практическое пособие разхработчика" Радченко и Хрусталева но для версии 8.2, а я учусь на платформе 8.3.5 критичино ли что книжка для предыдущей версии?

Оффлайн LexaK

  • *****
  • Сообщений: 1288
  • РЕПУТАЦИЯ: 353
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
лучше конечно найти книжку с учетом новой платформы,
но по крайней мере то что написано для платформы 8.2 в большинстве случаев будет работать и в 8.3
а еще лучше, все проверяйте на практике, в конфигураторе под отладкой, не ленитесь, по любому вопросу пишите тестовые обработки, документы, отчеты и т.д., и смотрите под отладчиком как это все работает.
читайте в конфигураторе синтаксис помощник по любому поводу, смотрите примеры кода баз 1С, типовых, тестовых, примерных.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Migel86

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-27
  • Сайт: 
Если актуально вот пример кода:
&НаКлиенте
Процедура УчетКолонка2ПриИзменении(Элемент)
СтрокаТЧ = Элементы.Учет.ТекущиеДанные;
СтрокаТЧ.Колонка4 = СтрокаТЧ.Колонка2 (+;-;*;/) СтрокаТЧ.Колонка3;
КонецПроцедуры

&НаКлиенте
Процедура УчетКолонка3ПриИзменении(Элемент)
СтрокаТЧ = Элементы.Учет.ТекущиеДанные;
СтрокаТЧ.Колонка4 = СтрокаТЧ.Колонка2 (+;-;*;/) СтрокаТЧ.Колонка3;
КонецПроцедуры

Код вставляй в модуль ФормыДркумента (в свойствах найди пункт ПриИзмененнии)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Migel86, это что за синтаксис такой диковинный?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Migel86

  • *
  • Сообщений: 23
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-05-27
  • Сайт: 
Migel86, это что за синтаксис такой диковинный?

Это всмысле поставь любой и будет тебе СЧАСТЬЕ.


Теги:
 

Изменение реквизита справочника из ТабЧасти Документа.

Автор Серега16Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1739
Последний ответ 18 Июл 2014, 11:41
от Серега16
Заполнение табчасти документа данными из запроса

Автор PinhetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 11
Просмотров: 4780
Последний ответ 14 Авг 2014, 13:20
от DmitriyF
Обратиться к колонки в табчасти на форме

Автор GendelfРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 1943
Последний ответ 05 Дек 2014, 06:13
от cska-fanat-kz
Формула суммы (итогов) в макете документа

Автор Сергей120Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2666
Последний ответ 08 Апр 2015, 05:50
от cska-fanat-kz
Формула расчёта основного начисления

Автор ShkerinРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 1769
Последний ответ 11 Май 2011, 13:29
от Shkerin

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
189 Сообщений
AIFrame AIFrame
81 Сообщений
alexandr_ll
41 Сообщений
BuhRust
29 Сообщений
wise wise
27 Сообщений
oleg-x
26 Сообщений
MuI_I_Ika MuI_I_Ika
25 Сообщений
pavl_vs
22 Сообщений
Кейли Кейли
21 Сообщений
andron81_81
20 Сообщений

* Кто онлайн

  • Точка Гостей: 136
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal