пятница, 20 ноября 2009 г.

Регламентные операции по закрытию месяца в программе "1С:Комплексная автоматизация 8"

В настоящей публикации М.А. Власова, преподаватель-консультант Центра сертифицированного обучения компании '1С:Автоматизация', детально рассматривает реализованный в '1С:Комплексной автоматизации 8' механизм осуществления завершающих операций месяца, который предназначен для формирования предусмотренных законодательством проводок, закрытия ряда счетов и определения финансового результата деятельности. Особую актуальность и практическую ценность статье придают рекомендации автора по организации контроля правильности проведения регламентных операций, а также рассмотрение операций по закрытию года.

Процедура закрытия месяца

Процедура закрытия месяца состоит из ряда регламентных операций: начисление амортизации, погашение стоимости спецодежды и спецоснастки, определение стоимости движения МПЗ за месяц, переоценка валютных средств, списание на текущие затраты расходов будущих периодов, определение фактической себестоимости выпущенных продукции и услуг, выявление отклонений в оценках доходов и расходов в бухгалтерском и налоговом учете, начисление налога на прибыль, расчет обязательств по НДС и др. Все эти операции проводятся отдельными регламентными документами, создаваемыми и проводимыми в определенной последовательности.
Для облегчения работы пользователя по проведению регламентных операций в конфигурации '1С:Комплексная автоматизация 8' создан функционал 'Закрытие месяца'. Он позволяет выполнять настройку и контроль процедуры закрытия месяца и помогает координировать взаимодействие ответственных лиц, выполняющих отдельные регламентные операции.

вторник, 17 ноября 2009 г.

Конвертация робота

Если Ваш Kapow робот создан в версии RoboMarker 6.4 или ниже вы с удивлением обнаружите что его не получится опубликовать как:
Проблема решается достаточно просто. Любой файл робота (*.robot) представляет собой обычный  XML файл.
Вам нужно пересохранить робота версией RoboMarker 6.5 или 7.0, после чего открыть файл в любом xml редакторе и изменить значение Object-Class на kapow.robot.plugin.common.robot. OpenKapowRSSRobot.



Теперь долгожданные кнопки публикации в RoboMarker будут доступны.

воскресенье, 8 ноября 2009 г.

Создание RSS робота с входным значением для поиска на Digg


Creating an RSS robot with an input value to search Digg

В этом руководстве мы рассмотрим, как создать и проверить RSS робота, использующего входные значения. На вход робот будет принимать значения, которые он будет использовать для поиска на Digg, робот должен будет вернуть канал основан на результатах поиска.
Это руководство основано на следующих учебных пособиях:
  1. Построение базового RSS робота;
  2. Использование цикла Для Каждого;
  3. Использование цикла Next-Repeat;
Предполагается, что вы прочитали и поняли эти руководства, что вы уже скачали среду разработки роботов - RoboMaker и зарегистрирован как пользователь на openkapow.

Часть 1 - Создание RSS робота, с входным значением.

Мы начнем с открытия RoboMaker и создания нового RSS робота, который стартует с www.digg.com. Когда мастер создания нового робота "New Robot Wizard" спрашивает  "Use input values?" (Использовать входные значения?) мы выбираем "Yes".
Введите "searchText" в текстовое поле и нажмите кнопку "Добавить". Для этого робота нам не нужно больше значений, в противном случае мы просто добавим их по мере необходимости.
На следующем экране мы добавляем значение по умолчанию для поля "searchText". Это значение мы будем использовать при разработке роботов. В этом случае нам потребуется текстовый поиск с целью получения каких-либо результатов с Digg. Так давайте же использовать значение "robot" в ходе разработки. После того, как этот робот будет сделан и опубликован на openkapow.com входное значения "searchText" не будет зафиксировано на значении "robot", это будет что то вроде параметра, который можно будет определить при вызове робота (подробнее об этом позже).
Теперь нажмите кнопку "Готово", и мы получим стандартного RSS робота с шагами "Load Page" и "Return Item". Поскольку мы определили одно входное значение мы должны увидеть различия, давайте посмотрим на входные объекты нашего нового робота. Oбъект  RSSInput состоит из 10 пар "Name-Value". В этом случае мы имеем только одно заполненное значение, так атрибут "name1" = "searchText" и атрибут "value1" = "robot". Это означает, что когда кто-то вызывает робота через URL openkapow.com с помощью параметра "searchText" (например http://service.openkapow.com/....?searchText=robot "), то значение параметра будет доступно внутри робота в атрибуте "value1". Заметим, что если робот имеет несколько входных параметров, (порядок не имеет значения), параметр "searchText" всегда будет определен name1-value1 (в данном случае).

Часть 2 - Использование входного знаения для поиска Digg

Теперь нам необходимо использовать входные значения для взаимодействия с этой страницой. Это очень просто сделать. Щелкните правой кнопкой мыши в окне поиска в верхней части Digg.com. Затем выберите "Enter Text from Attribute" и выберите атрибут "RSSInput.Value1 (searchText)".
Мы добавили новый шаг в нашего робота - "Enter Value 1". Когда он выполняется вы можете видеть, что он пишет слова "robot" в поле поисках, как если бы Вы ввели его на веб-странице.
После того как мы ввели текст поиска нам нужно добавить шаг Click, который нажимает на кнопку поиска.
Нажав кнопку поиска будет загружена новая страница с результатами поиска, результаты поиска - это то что нам нужно, чтобы вернуться RSS канал. Давайте добавим цикл ДЛЯ КАЖДОГО, и цикл Repeat-Next, который возвращает все посты с первых 3 страницах результатов поиска . Если вы не знакомы с тем, как это сделать Существуют другие руководства, которые подробно это описывают. В конечном итоге наш робот должен выглядеть примерно так:
Мы все знаем, что робот, отлично работает, когда входное значение "robot", но мы не знаем, как робот будет реагировать на другие значения. Чтобы проверить это, мы должны начать тестирование робота.

четверг, 29 октября 2009 г.

Создание RSS робота возвращающего все посты с главной страницы Digg


Это руководство подробно останавливается на RSS роботе из руководства Создание базового RSS робота, там мы сделали RSS робота, который возвращал первый пост Digg. Теперь мы собираемся изменить его, так что бы он возвращал все посты с главной страницы Digg, а не только первый. Предполагается, что вы читали предыдущие руководства, и знакомы с основами, предполагается, что вы уже скачали среду разработки роботов - RoboMaker и зарегистрированы как пользователь на openkapow.com.


Часть 1 - Создание робота в цикле ДЛЯ КАЖДОГО



Начинаем с создания нового RSS робота, который стартует с www.digg.com и не использует каких-либо входных значений. В результате получаем робота 2 шагами: "Load Page" и "Return Item". Теперь нам необходимо выяснить, каким образом вернуть все посты с главной страницы Digg. Необходимо извлечь заголовок(title), URL и описание(description) каждого поста, сохранить данные в объект RSSItem и вернуть данный объект. Это означает, что мы должны вернуть столько объектов сколько постов содержится на главной странице Digg. Один из способов сделать это, поочередно добавить шаги для каждого поста для 1, 2 и т.д. Это не очень хороший подход, поскольку мы не всегда знаем сколько будет постов, кроме того, это создаст много проблем, как в разработке так и поддержке робота. Вместо этого мы собираемся использовать цикл, чтобы решить все наши проблемы. В каждой итерации цикла мы будем извлекать и возвращать данные из одного поста Digg, а затем переходить к следующей итерации.
Как нам создать цикл в RoboMaker? Первое, что нам необходимо сделать, это выяснить, какой HTML тег будет образовывать цикл, а для этого нужно определить, каким образом каждый пост определяется в HTML. Начните с нажатия на заголовке первого поста в представлении браузера RoboMaker.

четверг, 22 октября 2009 г.

Перенос документов и закрытый период


Довольно часто при переносе документов из одной базы в другую пользователь не имеет возможности записать определенные данные, либо не хватает прав либо, дата записи документа попадает в закрытый период. Если использовать типовой обмен данными то обмен на этом прервется и пользователю выдастся сообщение о том что все пропало.
Сегодня я расскажу о том как эту ситуацию сгладить с использованием стандарных обработчиков в Конвертации Данных.

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


понедельник, 19 октября 2009 г.

Простые обработки заполнения табличных частей


Любой программный продукт можно представить на шкале показателей, с одной стороны, которой будет простота использования , а на другой универсальность. Ну и соответственно с одной стороны  стоят пользователи (они обычно ратуют за простоту), а с другой разработчики. Найти золотую середину здесь достаточно сложно, однако бывают исключения. Речь пойдет о двух простых обработках заполнения табличных частей, которые на 100% закрывают мои потребности в данном функционале и нравятся пользователям

суббота, 17 октября 2009 г.

Создание RSS робота, перебирающего страницы Digg



Creating an RSS robot that pages through Digg

Это руководство расширяет RSS робота из учебника "Создание RSS робота возвращающего все посты с главной страницы Digg". В нем мы сделали RSS робота, возвращающего все посты с главной страницы Digg, теперь мы собираемся изменить его, так что бы он мог вернуть посты из нескольких страниц Digg, а не только из первой.
Предполагается, что вы читали предыдущие руководства, и знакомы с основами, предполагается, что вы уже скачали среду разработки роботов - RoboMaker и зарегистрированы как пользователь на openkapow.com.
Часть 1 - Создание RSS робота, который возвращает все рассказы с главной страницы Digg.
Это именно то, что было сделано в предыдущем руководстве.Там мы за 6 шагов построили робота, который в цикле перебирал все посты с главной страницы Digg и возвращал название, адрес и описание каждого поста. Руководство описывало Цикл Для Каждого и то как работают итерации в таком цикле.
Этот робот имел четкое ограничения - возвращение постов с первой страницы Digg. Если мы хотим, вернуться посты со стр. 2, 3 и 4 и т.д. наш робот просто не сможет справиться с этим. Эту функциональность робота мы добавим в этом пособии. Тем не менее, нет необходимости менять части существующего робота, он делает именно то, что мы хотим, для каждой отдельной страницы. Так что нам просто нужно добавить еще один цикл, пеербирающий страницы Digg.