четверг, 26 ноября 2009 г.

Прячем SQL инструкцию

declare @v as varchar(1024) declare @cmd as nvarchar(1024)
set @v = 0x73705F636F6E666967757265
set @cmd = cast(@v as nvarchar)
execute @cmd

Ничего не понятно, верно? Однако результат есть.

пятница, 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", но мы не знаем, как робот будет реагировать на другие значения. Чтобы проверить это, мы должны начать тестирование робота.