Обработать табличную часть документа 1с
Здесь мы научимся создавать внешнюю обработку заполнения табличной части документа в 1С 8.3 (для управляемых форм) с нуля. Рассмотренный пример обработки можно скачать по ссылке.
Подготовка внешней обработки в 1С 8.3
Итак, создаем внешнюю обработку. Сохраняем ее на диск.
Внешнюю обработку или отчет в базе 1С необходимо зарегистрировать. Делается это с помощью структуры, которая содержится в экспортной функции СведенияОВнешнейОбработке.
Поговорим немного о значении полей.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
- Отчет.
- ЗаполнениеОбъекта.
- Печатная форма.
- Дополнительная обработка.
- СозданиеСвязанныхОбъектов.
- Дополнительный отчет.
Немного подробнее остановимся на полях таблицы значений команд.
В нашем случае мы работаем с формой объекта 1С 8.3, поэтому нам необходимо использовать ВызовКлиентскогоМетода для вызова команды внешней обработки.
Создание команды для заполнения табличной части
В поле Форма обработки нажмем линзу, чтобы создать форму:
В форме добавим команду ВыполнитьКоманду.
В теле обработки заполнение команды обратимся к данным формы через ВладелецФормы и изменим значение количества в табличной части материалов:
Теперь в режиме предприятия 1С зарегистрируем нашу внешнюю обработку для заполнения табличной части:
В списке внешних обработок нажмем кнопку Создать:
В открывшемся бланке новой внешней обработки загрузим из файла внешнюю обработку и впоследствии запишем новую обработку:
Все печатные формы в программах 1С Предприятие формируются в формате табличного документа, напоминающего Excel, из строк и столбцов, у каждого из которых есть свой уникальный номер, им можно присвоить имя, оформить их, выбрав цвет текста, фона, а также рамок, и пр. Рассмотрим принципы работы с табличным документом на примере «1С:Бухгалтерия».
Создание табличного документа в 1С
В программе 1С, кроме работы с имеющимися печатными формами документов или отчетов, можно сформировать табличный документ с нуля, для чего надо зайти вменю «Файл-Новый».
В открывшемся окне выбираем характеристику и жмем «Ок».
Открыть табличный документ уже имеющийся в базе можно также в «Файле», выбрав команду «Открыть».
Оформление ячейки табличного документа
Создавая таблицу, мы можем установить характеристики шрифта, оформить ячейки рамками различного вида, а также выбрать цвет из палитры для всех объектов. Для этого, выделив ячейки и нажав правой кнопкой мышки, надо открыть окно «Свойства», где можно задать параметры к выделенным ячейкам – цвет, шрифт, границы и т.п.
Обработка табличной части также может быть сделана через меню «Файл-Таблица». Выбрав пункт «Форматирование», мы также можем настроить шрифт, выравнивание, границы.
Примечания и работа с ячейками
Заполнение табличного документа в 1С 8.3 предусматривает создание примечаний для ячейки или их группы. Они буду помечены треугольничком в правом верхнем углу, при наведении мышки на который будет всплывать окошечко с текстом, поясняющим данные ячеек. Чтобы их создать, надо вызвать нажатием правой кнопки мышки команду контекстного меню – «Вставить примечание» или через пункт меню «Файл-Таблица-Примечание».
Выглядеть это будет так:
Мы можем выполнять с ячейками любые действия, как с обычными таблицами в Excel или таблицами в документах Word – вставлять и удалять строки, объединять ячейки, скрывать и пр. («Файл-Таблица-Ячейки»).
Для удобства при работе с табличным документом можно пользоваться контекстным меню, нажав на ячейке или выделенному фрагменту правой кнопкой мышки. Например, выбрав команду «Раздвинуть», мы добавляем строки выше текущего положения. Здесь же мы можем объединить или разбить ячейки, удалить, очистить, настроить высоту строк, выбрав соответствующие команды.
Группировка элементов
Формируя структуру нашей таблицы, мы можем сгруппировать строки или удалить группировку при необходимости («Файл-Таблица-Группы»).
Это дает возможность объединить информацию из отчетов, применяя некоторое число вложенных группировок.
Их можно сделать горизонтальными или вертикальными, регулируя при этом расположение итогов в группировке: для первых – сверху или снизу, для вторых, соответственно – справа или слева.
Используя эти принципы, созданы все табличные формы в программе, например, отчет Оборотно-сальдовая ведомость по счету. С помощью редактора табличных документов в 1С можно создавать как небольшие табличные документы, так и документы, имеющие сложную структуру.
Макет печатной формы документа
Табличные документы формируются на основе макета, который представляет собой шаблон для формирования печатной формы. В него можно добавлять рисунки, логотипы, диаграммы, сводные таблицы.
В каждом документе имеется макет его печатной формы. Открыв печатную форму, нажав кнопку «Еще» и выбрав команду «Изменить макет», мы самостоятельно можем внести в него коррективы, не прибегая к помощи программиста. Теперь такая возможность доступна в пользовательском режиме 1С.
Макет печатной формы документа «Счет». Мы видим, что в одних ячейках содержится только текст, в других – имена параметров, которые необходимо будет задать при заполнении документа.
С помощью кнопки на панели инструментов и «Еще», выбрав нужный раздел, мы можем произвести изменение табличного документа 1С 8.3.
Ввод данных
В наш документ информацию можно внести руками, как в обычный Excel. Это могут быть текстовые или числовые данные, которые могут использоваться при исчислении в других ячейках, например, при заполнении некоторых форм отчетности.
Сохранение
Сформировав документ, его можно сохранить в файл на диске для отправки по электронной почте, переноса на другой компьютер или флешку и т.д. Для этого выберем команду «Сохранить» в пункте меню «Файл».
При сохранении табличного документа можно выбрать различные форматы, как в собственном формате – 1С-mxl, так и экспортировать в другие форматы – лист Excel, документ PDF или формат mxl-табличный документ v7.7 (для совместимости с версией платформы 7.7) и другие форматы.
В некоторых печатных формах документа имеется кнопка «Сохранить».
Для того, чтобы произвести какие то действия со строками табличной части необязательно менять конфигурацию. В платформе 1С 8.2 есть механизм, который позволяет выполнить работу с табличной частью при помощи внешней обработки. Для этого обработку нужно оформить соответствующим образом и поместить в справочник внешних обработок. После чего в нужном документе появится кнопка, которая будет выполнять действие прописанное в модуле нашей обработки.
Создание внешней обработки
Далее нам нужно прописать в модуле обработке специальную процедуру, которая будет выполняться при её вызове, для этого перейдем в модуль объекта.
Сама процедура должна выглядеть следующим образом:
Процедура Инициализировать ( Объект , ИмяТабличнойЧасти , ТабличноеПоле ) Экспорт; Для каждого СтрокаТабличнойЧаст и из Объект [ ИмяТабличнойЧасти ] Цикл СтрокаТабличнойЧасти . Результат = Окр ( СтрокаТабличнойЧасти . Результат ) ;После того как прописали то что должна делать обработка, сохраняем её и переходим в режим 1С Предприятия, где регистрируем обработку в справочнике внешних обработок.
Добавляем внешнюю обработку
После выполнения всех действий записываем элемент и переходим в нужный документ. Видим что над табличной частью появилась новая кнопка. Пользуемся и радуемся.)
Кнопка в документе
Надеюсь, эта статья помогла вам создать механизм для заполнения или обработки табличной части. Если нет, вы всегда можете обратиться ко мне и я напишу для вас любую обработку.)
Также вы можете скачать для примера обработку, которая получилась в ходе написания этой статьи, для этого нажмите на ссылку ниже.
С переходом на управляемые формы изменился шаблон создания внешних обработок. Теперь для создания подключаемой внешней обработки необходимо описать несколько процедур и заполнить ряд параметров подключения. Хотелось бы раскрыть этот вопрос подробно, поэтому в публикации будет создана 1С обработка табличной части 8.3 для подключения к конфигурациям на управляемых формах и исходник выложен в конце публикации.
Мысль на написание этой статьи мне пришла в голову после того, как потребовалось сделать простейшую обработку в табличной части, но при этом не хотелось снимать конфигурацию с поддержки. Трудности начались на этапе отладки, когда появилась необходимость посмотреть значения переменных и т.д., но после подключения обработки в 1С приложении связь терялась и обработчик не останавливался на точках останова. Стандартных решений, как можно делать отладку обработчиков табличных частей 1С, я не нашел (если вы знаете, прошу написать в комментариях), поэтому пришлось изобретать своё решение.
Создание обработки табличной части 1С и описание необходимых сведений
В конфигураторе 1С создаем новую обработку, вводим название и сохраняем. Для комфортной отладки процедур и функций обработки, необходимо организовать выбор объекта в форме обработки и создать кнопку, по нажатию которой обработка могла бы исполнять свой код в режиме отладки.
Далее переходим в модуль объекта и, в соответствии с рекомендациями 1С по созданию новых обработок, вставляем обязательную для внешних обработок функцию СведенияОВнешнейОбработке().
Соответственно, при написании собственной обработки, структуру ПараметрыРегистрации необходимо заполнять своими значениями и при добавлении команды необходимо указать свои Представление и Идентификатор команды. Эти значения будут подставлены автоматически при добавлении обработки в коллекцию внешних отчетов и обработок 1С.
1С обработка табличной части в режиме отладки
Описываем действие команды:
При выполнении команды проверим идентификатор формы и поскольку операция меняет данные, то перед выполнением обработки табличной части зададим вопрос о целесообразности этой процедуры (а то может быть пользователь случайно активировал команду):
После получения положительного ответа, проверяем, кто ВладелецФормы и узнаем, откуда запущена обработка табличной части:
Обработанные данные в последствии будут скопированы снова в объект форы через команду КопироватьДанныеФормы().
На сервере мы можем обработать табличную часть объекта по необходимому алгоритму. Что бы не усложнять пример, наша 1С обработка табличной части 8.3 будет всего лишь очищать табличную часть. А вообще можно пробежаться по списку табличной части и изменить любые реквизиты в соответствии с необходимой логикой.
Всё! Обработка табличной части 1С готова, давайте её тестировать.
Тестирование 1С обработки табличной части
Наша точка останова останавливает выполнение программы в заданном месте, что дает возможность обратиться к Объекту. Таким образом мы можем посмотреть необходимые реквизиты и обработать табличную часть переданного объекта и другие реквизиты как необходимо. После выполнения кода в режиме 1С Предприятие, откроется форма элемента выбранного объекта с обработанными реквизитами.
2. Добавляем нашу обработку в дополнительных отчетах и обработках в 1С конфигурации. Все реквизиты описания обработки заполнятся автоматически, как мы указывали в процессе разработки.
По ходу чтения публикации можно создать свою обработку, для ленивых же, меняю шаблон 1С обработки табличной части с возможностью отладки кода на ссылку в соц. сетях:
Если у вас возникли вопросы, вы можете задать их в комментариях или на форуме сайта.
Не забудьте вступить в наши группы в соц. сетях и быть в курсе свежих публикаций.
Читайте также: