Суммирование ячеек табличного документа для платформы 7.7

28.10.09

Разработка - Механизмы платформы 1С

При выделении ячеек табличного документа в строке состояния 1С выводится сумма чисел в этих ячейках.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
-
.txt 3,26Kb
188
188 Скачать бесплатно
-
.ert 29,00Kb
141
141 Скачать бесплатно

При выделении ячеек табличного документа в строке состояния 1С выводится сумма чисел в этих ячейках.
Допускается выделение произвольных областей (при нажатой клавише Ctrl), однако повторный клик мышкой на ячейке, уже выделенной ранее, не снимает выделение. Увы, значение ячейки плюсуется еще раз.

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

В примере использована внешняя компонента TableDoc Дмитрия Трапезникова ака trad
//infostart.ru/public/20089/
Компонента позволяет порождать событие при изменении выделения в таблице.

Файл внешней компоненты TableDoc.dll и файл Синтакс-Помощника TableDoc.als 
надо переписать в каталог программы, либо в каталог информационной базы, 
либо в папку ExtForms каталога информационной базы.
Внешняя компонента не требуют регистрации в реестре Windows, но первый запуск 1С с ее загрузкой надо сделать с правами администратора.

При внедрении в реальной базе данных в глобальный модуль необходимо добавить текст согласно файлу ГлМодуль.txt.
В модуль каждого отчета, где необходимо суммировать ячейки таблицы, добавляется текст согласно примеру.

При закрытии диалогового окна формы, создающей таблицу, строка состояния очищается.

К сожалению, не нашел способ вычислять сумму для таблиц, открытых из файла. 
Требуется наличие модуля формы, где будет размещена процедура ПриИзмененииВыделения.
 
При использовании штатной процедуры 1С ОбработкаОжидания сумма появляется в строке состояния с секундной задержкой, выставить интервал меньше невозможно. 
Чтобы выводить строку состояния сразу после вычисления суммы, можно воспользоваться ОбработкойОжидания из внешней компоненты FormEx Алексея Фёдорова aka АЛьФ
http://www.dorex.ru/?projects&formex
В этой ОбработкеОжидания интервал выставляется в миллисекундах.
Текст примера содержит подключение и использование FormEx, но эти строки закомментарены.

Элегантный вариант суммирования создан Александром Венгером,
//infostart.ru/public/16000
разработавшим внешнюю компоненту AddIn_V7MyClipboard.dll для операций с буфером обмена. 
Необходимость делать лишний клик мышкой компенсируется возможностью суммировать числа из любых полей, в том числе из других приложений.

Надеюсь, опытные программисты отнесутся с пониманием к подробному объяснению простых алгоритмов. 
Начинающим не хватает простеньких примеров.

См. также

Механизмы платформы 1С Программист Платформа 1С v7.7 1C77 Бесплатно (free)

В статье расписаны примеры из жизни использования "Виртуального" работника. Разобраны вопросы, возникающие при работе с ним.

28.11.2021    1956    user707242_Gold_karas    18    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Абонемент ($m)

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    7906    Vortigaunt    5    

12

Механизмы платформы 1С Программист Оперативный учет 7.7 Абонемент ($m)

Когда занимаешься разработкой в среде 1С, редко задумываешься о том, что программным кодом ты работаешь с объектной моделью базы данных, а не с самой базой данных. И что это вообще разные вещи. Ты создаешь объекты: документы и справочники, записываешь их - и в базе данных появляются соответствующие записи. Это настолько привычно, что когда сталкиваешься с нетипичным поведением платформы, первым делом думаешь: надо протестировать базу, она битая. В этой статье я хочу разобрать одну интересную ситуацию, которая как раз демонстрирует такое поведение. Описанная ниже ситуация воспроизводится как в файловом, так и в клиент-серверном (SQL) варианте. Тестировалось на версии платформы 1с77 релиз 027.

1 стартмани

16.05.2018    10623    Vortigaunt    26    

5

Механизмы платформы 1С Программист Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    96396    Serginio    116    

188

Механизмы платформы 1С Программист Платформа 1С v7.7 1C77 Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    45039    96    kitminsk    18    

20

Механизмы платформы 1С Программист Платформа 1С v7.7 1C77 Бесплатно (free)

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

24.07.2014    24379    tomvlad    5    

14

Механизмы платформы 1С Программист Платформа 1С v7.7 1C77 Россия Бесплатно (free)

Позволяет в открытой форме списка, выбора или подбора справочника производить динамическую фильтрацию по набранному наименованию.

02.07.2012    19163    maxpiter    62    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Арчибальд 2709 26.10.09 07:31 Сейчас в теме
Даже смотреть не надо. Плюс однозначно :)
2. a_shpak 45 26.10.09 14:11 Сейчас в теме
Спасибо, камрады. Готовлю еще одну обработку - выгрузка в Excel с форматированием, закреплением областей, гиперссылками (WWW и mail), формулами в ячейках. Платформа - ФормЕкс и Йоксель. Думаю, будет интересно.
А по суммированию... Произнесу вопрос корифеям внятно. Как прикрутить технологию к "голой" MXL таблице? Например, открытой из файла?
Сейчас вычисление запускается из модуля формы обработки.
3. Арчибальд 2709 26.10.09 14:28 Сейчас в теме
(2) Это поле сильно перепахано... И засеяно велосипедами... :)
6. Boroda 90 27.10.09 13:29 Сейчас в теме
(2) О! Вот это было бы здорово! Будем ждать-с...
4. a_shpak 45 26.10.09 22:22 Сейчас в теме
Пардон, уточню.
Выгружал в OpenOffice (и чего все засуетились... Подумаешь, каких-то 14 тыс. деревянных деноминированных на рабочее место). Формулы не хотят работать, а вроде бы должны.
Информации на форумах много, но рассчитана на программеров высокого уровня. Готовых решений вообще не нашел.
5. Altair777 647 27.10.09 10:29 Сейчас в теме
(0) А где красивый скриншот? :o
7. GSoft 2237 28.10.09 11:09 Сейчас в теме
ТрассировкаТЗ<<?>>(ТЗ,"ТЗ");
Процедура не обнаружена (ТрассировкаТЗ)

глСостояниеСуммаТЗ<<?>>(Менеджер.ПолучитьВыделенные(),Таблица);
Процедура не обнаружена (глСостояниеСуммаТЗ)


ну это то ладно в гл модуле сидит, а первая

8. a_shpak 45 28.10.09 13:15 Сейчас в теме
(7) Упс. Не доглядел. В своих тестовых базах сразу добавляю в ГлМодуле простую трассировочку таблиц и списков значений, поэтому и не ругнулась. Удобно для отладки.
Сейчас включу в файл ГлМодуль.txt.
Оставьте свое сообщение