Имя: Пароль:
1C
1C 7.7
v7: Работа с выражениями в Редакторе таблиц 1С
,
0 maxxxl-ms
 
30.09.12
13:20
Всем доброго дня. Хотел бы узнать где взять документацию по работе с выражениями в таблице, а именно мне нужно сложить все ячейки одного столбца и вывести результат в другую ячейку, возможно ли это сделать в таблице, не прибегая к написанию кода?
1 ДенисЧ
 
30.09.12
13:24
нет
2 maxxxl-ms
 
30.09.12
13:30
Или сделать так например можно в коде если например если есть столбец с именем сумма, то сложить все его ячейки и записать результат в итоге? Просто взял универсальную обработку DOCPRINT, она идеально подходит для решения задачи, но необходимо ещё чтобы выводились итоги с сложением всем сумм, в коде пока что не разобрался, но ясно что рыть надо тут:
Процедура ВывестиРеквизиты(гТаб,Запрос)

   гТаб.ВывестиСекцию("Строка|гНачало");
   Таб = гСекцияСтрРеквизит;

   Для Инд = 1 По ФормГруппы.РазмерСписка() Цикл
       Если Инд <= гУровеньРекурсии Тогда
           НаимГруппы=ФормГруппы.ПолучитьЗначение(Инд);
           Значение = Запрос.ПолучитьАтрибут(НаимГруппы);
           Если ТипЗначенияСтр(Значение) = "Справочник" Тогда
               Таб.Имя.Расшифровка(Значение);
               Значение=Запрос.ЗначениеУпорядочивания(Инд);
           ИначеЕсли ТипЗначенияСтр(Значение) = "Документ" Тогда
               Таб.Имя.Расшифровка(Значение);
           Иначе
               Таб.Область(1,1).Расшифровка("",2);
           КонецЕсли;
           Таб.Имя.Текст = СокрЛП(Значение);
           Если Запрос.ЭтоГруппа(Инд) = 1 Тогда
               Таб.Имя.Полужирный(1);
           Иначе
               Таб.Имя.Полужирный(0);
           КонецЕсли;
       Иначе
           СтрТекст=Таб.Имя.Текст;
           Если ФлОднаКолГруппы=0 Тогда
               Таб.Имя.Текст = "(все)";
               Таб.Область(1,1).Расшифровка("",2);
           Иначе
               Таб.Имя.Текст =СокрЛП(СтрТекст);
           КонецЕсли;
           Таб.Область(1,1).Полужирный(1);
       КонецЕсли;
       Если (ФлОднаКолГруппы=1)И(Инд < ФормГруппы.РазмерСписка()) Тогда
             Продолжить;
       КонецЕсли;
       гТаб.ПрисоединитьСекцию(Таб);
   КонецЦикла;
   Если  ФормГруппы.РазмерСписка()=0 Тогда
       Таб.Имя.Текст = "(все)";
       Таб.Имя.Полужирный(1);
       гТаб.ПрисоединитьСекцию(Таб);
   ИначеЕсли ФлОднаКолГруппы=1 Тогда
       Таб.Имя.Текст = "(все)";
   КонецЕсли;
КонецПроцедуры
3 ДенисЧ
 
30.09.12
13:34
ьез кода не получится
4 Злопчинский
 
30.09.12
17:01
да, возможно.
стань на пустую ячеку любую - нажми кнопку на панели инструментов "M" (взять в память).
выдели нужгын ячейки с числовыми значениями. нажми кнопку "M+".
.
стань в свободную ячейку - вставь из буфера итоговое значения
5 maxxxl-ms
 
30.09.12
18:10
Злопчинский, спасибо, но мне нужно чтобы это всё программно выполнялось.
6 Злопчинский
 
01.10.12
00:20
а в чем проблема..? выполняй!
открываешь существующую печформу, из нужной строки-колонки (ячеки) читаешь что там в качестве текста задано - если знакешь что там числа - ну и суммируй как надо.. проблема в чем?
7 Злопчинский
 
01.10.12
00:20
можно печформу открыть программно Йокселем. Йоксель над диапазонами ячеек поддерживает программное суммирование
8 maxxxl-ms
 
01.10.12
08:04
Проблема в том что не знаю как это сделать(((
9 dk
 
01.10.12
08:17
делай сразу в Excel
10 maxxxl-ms
 
01.10.12
08:23
Да не надо мне в ексель. Просто хочу узнать можно ли в 1с выбрать столбец с определённым названием и сложить все ячейки в нём и вывести в секцию "Сумма итого".
11 ДенисЧ
 
01.10.12
08:33
(10) Программно - можно.
Без написания кода типа ПечСумма = Сумма1 + сумма2 + ....; таб.вывестиСекцию() нельзя
12 dk
 
01.10.12
08:49
можно еще замутить с таблицей в режиме ввода данных, но все равно там все формулы в модуле обработки прописываются
на практике ни разу таблицы в режиме ввода данных не использовал - муть
13 Mikeware
 
01.10.12
09:09
(10) тебе ж еще в (1) ответили - в штатной таблице - нельзя.
(12) Йоксель - лучше. Он формулы поддерживает.
14 maxxxl-ms
 
01.10.12
09:15
Да я понял что нельзя. Я просто хотел узнать можно ли суммировать в 1с программно значение столбца, например в SQL можно так:
Выбрать поле..
Из такой то таблицы...
И применить сумма(К определённому полю)
15 Злопчинский
 
01.10.12
12:02
(14) примерно также и в йокселе, только "применяется" к диапазонам ячеек. в яндекс е набнри поиск "проект Йоксель".
.
если с йокселем разбираться влом/тяжко - см.6