Открыли документ Счет, в поле Контрагент набираете первую букву & поиск осуществляется, набираете вторую (третью) букву и список становится пустым - это слетел индекс полнотекстового поиска, его нужно обновить:
- Главное меню - Все функции - Стандартные - Управление полнотекстовым поиском
Если Пункт меню Все функции недоступен, то включить его можно в меню Сервис - Параметры - Показывать Все функции
или такой вариант:
Меню - Администрирование - Поддержка и обслуживание - Регламентные операции - Полнотекстовый поиск данных - Настроить - Очистить индекс - Обновить индекс
В статье описан процесс работы с MySQL базой из 1С через ODBC.
Первое что следует обязательно учесть это версия драйвера, для того чтобы всё корректно работало вам потребуется драйвер версии 3.51 (с драйвером 5-ой версии я пробился пол дня пытаясь хоть чего нибудь добиться, безрезультатно & поменял на предыдущую версию и всё заработало!
Для подключения используем вот такую строчку:
то касается кодировки то лучше её конечно задать, но на вставку записей в БД MySQL оно почемуто не влияет, и чтобы корректно всё отрабатывало и не выглядело кракозябриками после отработки скриптов, перед выполнением самих скриптов лучше выполнить вот такой вот скрипт «set names cp1251» в рамках соединения он правильно установит кодировку (так надёжнее).
Для работы с самой базой объявляем объект ADODB.Connection & это соединение с базой.
Для работы с данными можем объявить: ADODB.Recordset & для чтения данных, и ADODB.Command для изменения.
(ADODB.Command & не имеет метода ExecuteScalar, поэтому вместо него придётся обходиться Recordset-ом и с его помощью выбирать данные, хотя возможно я чегото не доглядел).
Полнотекстовый поиск - позволит найти текстовую информацию, размещенную практически в любом месте используемой конфигурации. При этом искать нужные данные можно либо по всей конфигурации в целом, либо сузив область поиска до нескольких объектов (например, определенных видов документов или справочников). Сами критерии поиска могут варьироваться в довольно широком диапазоне. То есть найти нужные данные можно, даже не помня точно, где они хранятся в конфигурации и как именно записаны.
Полнотекстовый поиск предоставляет следующие возможности:
Есть поддержка транслитерации (написание русских слов символами латиницы в соответствии с ГОСТ 7.79-2000). Пример: "русская фраза" = "russkaya fraza".
Есть поддержка замещения (написание части символов в русских словах одноклавишными латинскими символами). Пример: "руссrfz фраpf" (окончания каждого слова набраны латиницей, допустим, в результате ошибки оператора).
Есть возможность нечеткого поиска (буквы в найденных словах могут отличаться) с указанием порога нечеткости. Пример: указав в строке поиска слово "привет" и нечеткость 17 %, найдем все аналогичные слова с ошибками и без: "привет", "превет", "привед".
Есть возможность указать область выполнения поиска по выбранным объектам метаданных.
Полнотекстовое индексирование названий стандартных полей ("Код", "Наименование" и т. д.) производится на всех языках конфигурации.
Поиск выполняется с учетом синонимов русского, английского и украинского языков.
Морфологический словарь русского языка содержит ряд специфических слов, относящихся к областям деятельности, автоматизируемым с помощью системы программ "1С:Предприятие".
Стандартно в состав поставляемых словарей включены словарные базы и словари тезауруса и синонимов русского, украинского и английского языков, которые предоставлены компанией "Информатик".
Поиск можно осуществлять с использованием подстановочных символов ("*"), а также с указанием поисковых операторов ("И", "ИЛИ", "НЕ", "РЯДОМ") и спецсимволов.
Полнотекстовый поиск можно осуществлять в любой конфигурации на платформе 1С:Предприятие 8
Для того чтобы открыть окно управления полнотекстовым поиском необходимо выполнить следующее:
Обычное приложение - пункт меню Операции - Управление полнотекстовым поиском.
Управляемое приложение - пункт меню Главное меню - Все функции - Стандартные - Управление полнотекстовым поиском.
Обновить индекс – Создание индекса/Обновление индекса;
Очистить индекс – обнуление индекса(рекомендуется после обновления всех данных);
пункт Разрешить слияние индексов – отвечает за слияние основного и дополнительного индекса.
Полнотекстовый поиск осуществляется при помощи полнотекстового индекса. При отсутствии индекса полнотекстовый поиск как таковой не возможен. Для того чтобы поиск имел результат, все необходимые данные должны быть включены в полнотекстовый индекс. Если пользователем введены в базу новые данные, их следует включить в рассматриваемый индекс, иначе они не будут участвовать в поиске. Чтобы этого избежать, необходимо обновлять полнотекстовый индекс. При обновлении система анализирует только определенные типы данных: Строка, Данные ссылочного типа (ссылки на документы, справочники),Число, Дата, ХранилищеЗначения. Если пользователь не имеет прав доступа к определенной информации, то он не сможет увидеть ее в результатах поиска. Следует также помнить и о том, что в свойствах объектов, по которым будет происходить поиск должно быть установлено значение Полнотекстовый Поиск – Использовать, которое задано по умолчанию.
Как вы можете заметить свойство Использовать установлено для всего справочника Контрагенты, но сделать это можно и для каждого его реквизита соответствующего типа.
Рассмотрим более подробно полнотекстовый индекс, который состоит из двух частей (индексов): основного индекса и дополнительного. Высокая скорость поиска данных обеспечивается за счет основного индекса, но обновление его происходит относительно медленно, в зависимости от объема данных. Дополнительный индекс ему противоположен. Данные добавляются в него намного быстрее, но поиск осуществляется медленнее. Система осуществляет поиск одновременно в обоих индексах. Большая часть данных находится в основном индексе, а данные добавляемые в систему попадают в дополнительный индекс. Пока объем данных в дополнительном индексе небольшой, поиск по нему происходит относительно быстро. В тот момент, когда нагрузка на систему невелика, происходит операция слияния индексов, в результате чего дополнительный индекс очищается, а все данные помещаются в основной индекс. Слияние индексов предпочтительнее выполнять в тот момент времени, когда нагрузка на систему минимальна. С этой целью можно создавать регламентированные задания и задания по расписанию.
Специальные операторы, допустимые при задании поискового выражения
Механизм полнотекстового поиска допускает написание части символов русского слова одноклавишными латинскими символами. Результат поиска при этом не измениться.
Два оператора РЯДОМ
упрощенный. На расстоянии 8 слов друг от друга
РЯДОМ/[+/-]n – поиск данных в одном реквизите на расстоянии n-1 слов между ними.
Знак указывает в каком направлении от первого слова будет поиск второго. (+ - после, - до)
Групповой символ «*» может использоваться только в качестве замены конца слова
Оператор нечеткости «#». Если неизвестно точное написание названия, имени.
Программными средствами и средствами 1с: программирование.
Оператор синонимов «!». Позволяет найти слово и его синонимы
Как программно обновить индекс полнотекстового поиска?
Пример полнотекстового поиска данных
Определение переменной СписокПоиска
Кроме этого в процедуре обработки события ПриОткрыии формы определим, что эта переменная будет содержать список полнотекстового поиска, с помощью которого мы и будем осуществлять поиск в данных
Теперь для события нажатия на кнопку Найти напишем код, который позволит нам выполнять поиск в соответствии с тем выражением, которое задано в поле ПоисковоеВыражение
Сначала в этой процедуре мы устанавливаем поисковое выражение, введенное пользователем, в качестве строки поиска для полнотекстового поиска. Затем выполняем метод ПерваяЧасть(), который собственно запускает полнотекстовый поиск и возвращает первую порцию результатов. По умолчанию порция содержит 20 элементов. После этого мы анализируем количество элементов в списке поиска. Если он не содержит ни одного элемента, то мы выводим в форму соответствующее сообщение. В противном случае вызывается процедура ВывестиРезультатПоиска(), которая отображает полученные результаты пользователю.
Создадим в модуле формы процедуру с таким именем и напишем в ней код,
Действия, выполняемые в этой процедуре, просты. Сначала мы формируем сообщение о том, какие элементы отображены и сколько всего элементов найдено. Затем получаем результат полнотекстового поиска в виде HTML-текста и выводим этот текст в поле HTML-документа, расположенное в форме.
В заключение передаем управление в процедуру ДоступностьКнопок() для того, чтобы сделать доступными или, наоборот, запретить доступ к кнопкам Предыдущая порция и Следующая порция (в зависимости от того, какая порция полученных результатов отображена). Текст этой процедуры представлен в Коде
Теперь необходимо создать обработчики событий нажатия на кнопки ПредыдущаяПорция() и СледующаяПорция().
Заключительным «штрихом» будет создание обработчика события onclick поля HTML-документа, расположенного в форме. Дело в том, что результат полнотекстового поиска, представленный в виде HTML-текста, содержит гиперссылки на номера элементов списка поиска. И нам хотелось бы, чтобы при переходе пользователя на эту ссылку система открывала бы форму того объекта, который содержится в этом элементе списка. Для этого мы будем перехватывать событие onclick HTML-документа, содержащегося в поле HTML-документа, получать номер элемента списка из гиперссылки и открывать форму соответствующего объекта. Текст обработчика события onclick поля HTML-документа представлен в коде
В основном, проблема в параметрах подключения - неверно указана версия платформы 1С.
Например, ваша конфигурация разработана для платформы 1С 8.3, а в настройках подключения прописано 1С 8.2 или наоборот.
Жизненный опыт решения проблемы "несовместимая версия файла базы данных 1cv8.1cd".
В первую очередь, единый совет для всех. Перед выполнением Всех манипуляций с файлом БД, всегда делайте архивную копию базы. Следуйте данному несложному правилу, и Вы избавитесь от почти всех малоприятных неожиданностей.
И так, при открытии базы, появляется сообщение следующего вида: "Ошибка при выполнении операции с базой данных
Несовместимая версия файла базы данных 'D:\путь к файлу/1Cv8.1CD' по причине:
Несовместимая версия файла базы данных 'D:\путь к файлу/1Cv8.1CD'"
Скажу сходу, что утилита chdbfl.exe здесь не может помочь, Вы станете получать ошибку "Произошло неожиданное прерывание выполнения проверки или исправления файла БД. Несовместимая версия файла базы данных 'D:\путь к файлу/1Cv8.1CD'"
Покопавшись чуть-чуть в гугле, я обнаружил причину данной проблемы (кстати, причина обычная) & не был схожим файл базы и версия платформы. Т.е. я открывал файл базы, сделанный в 8.2, платформой 8.3.
Для решения данной проблемы выполните следующие манипуляции: откройте базу конфигуратором; дальше, конфигуратор обязан конвертировать Вашу базу под ту версию платформы, на которой Вы на этот момент работаете.
А если, по каким-то причинам это не поможет - Вам понадобиться поставить ту версию платформы, в какой был вначале создан файл БД.
Каждый расчетчик сталкивается с начислением планового аванса, но как правильно это оформить в ЗУП 2.5 знает не каждый.
Ниже небольшая инструкция по начислению планового аванса в ЗУП:
В ЗУПе разработаны два способа расчета аванса:
- Аванс фиксированной суммой;
- Аванс за первую половину месяца пропорционально отработанным
Настройки для расчета
Откройте Сервис - Параметры учета и установите настройки значений для Вашей организации:
Аванс фиксированной суммой
Необходимо в списке справочника «Сотрудники организаций» в поле «Аванс» указать сумму, которая будет являться фиксированным авансом для каждого из сотрудников.
После этого как вы заполните все фиксированные суммы по сотрудникам, чтобы выплатить аванс. Открываем документ «Зарплата к выплате».
«Расчет зарплаты - Касса и Банк - Зарплата к выплате организаций»
Создаем новый документ
Указываем в нем месяц начисления (аванс за какой месяц выплачивается), способ выплаты (через кассу или через банк). Самое главное поле это поле «Выплачивать». В нем надо обязательно выбрать вариант «Плановый аванс». После этого нажимаем кнопку «Заполнить» и табличная часть документа будет заполнена сотрудниками, по которым мы указали размер аванса в справочнике «Сотрудники организаций».
Проведем документ, далее за каждым сотрудником получившим аванс формируется задолженность перед организацией, т.е. они оказываются должны предприятию. Это происходит поскольку к моменту выплаты аванса, ещё не была начислена основная часть заработной платы документом «Начисление зарплаты». Это можно увидеть в отчете «Расчетная ведомость организации» и «Свод начисленной зарплаты».
Аванс за первую половину месяца пропорционально отработанным
Когда нужно выплатить аванс за половину месяца пропорционально отработанному времени то для этого в программе 1С Зарплата и Управление Персоналом есть специальный функционал - Документ «Начисление зарплаты» и конечно «Зарплата к выплате».
Открываем документ «Начисление зарплаты». В нем необходимо указать месяц начисления и в поле «Режим начисления» обязательно выбрать «Первая половина текущего месяца». После этого по кнопке «Заполнить» получить в табличной части перечень сотрудников с их начислениями
и по кнопке «Рассчитать - Полный расчет» - идет расчет аванса за первую половину месяца. При этом обратите внимание, что у сотрудников в качестве начислений присутствуют не только основные плановые начисления, но и все дополнительные плановые начисления положенные работникам.
НДФЛ
Проведение документа «Начисление зарплаты» с режимом начисления «Первая половина текущего месяца» на самом деле не делает никаких начислений, а лишь осуществляет расчет сумм аванса. Поэтому, когда мы в конце месяца будем пользоваться этим документом для расчета зарплаты, то он снова будет считать всех сотрудников с первого числа месяца, а не с середины.
После расчета аванса в документе «Начисление зарплаты» необходимо его провести и обратиться к документу «Зарплата к выплате». В нем указываем месяц начисления и в поле «выплачивать» выбираем «Аванс по расчету за первую половину месяца». Жмем кнопку «заполнить». В результате табличная часть будет заполнена сотрудниками, для которых рассчитан аванс за половину месяца за вычетом НДФЛ.
Как и в первом случае после проведения документа «Зарплата к выплате», сформируется задолженность сотрудника перед организацией.
Часто задаваемые Вопросы по начислению аванса:
Необходимо чтобы в аванс начислялось 40% от суммы месячного оклада, Как начислить?
В списке сотрудников или в регистре сведений Авансы сотрудникам организаций (меню Расчет зарплаты по организациям - Касса и банк - Авансы сотрудникам организаций) указываете сумму планового аванса 40 от зп вашего сотрудника.
Далее формируете документ "Зарплата к выплате" операция "плановый Аванс"
Как рассчитать НДФЛ с аванса?
Уточните, плз, что должно выплачиваться за первую половину месяца: собственно аванс или зарплата за 1 половину месяца?
1.Если аванс, но это НЕ НАЧИСЛЕНИЕ! Это-ВЫПЛАТА!
Сразу создаем документ Зарплата к выплате, заполняем его из фиксированной суммы аванса, заданной в регистре сведений Авансы сотрудникам.
НДФЛ НЕ ПЛАТИМ!
Да, неудобно фиксированной суммой.
Можно, да, заполнить эти фиксированные суммы какой-нибудь обработкой.
Или заполнять обработкой не регистр сведений Авансы сотрудникам, а сам документ Зарплата к выплате.
2.Если это зп за 1 половину месяца, то она, действительно, расчитывается док.Начисление зп за 1 половину месяца, берется и уплачивается НДФЛ и т.п. Но начисляем не аванс как таковой, а часть оклада, тарифа, надбавок за часть месяца.
Это должно быть прописано в официальных документах организации, а не "как удобно расчетчику"
И,-подчеркну.-аванс это НЕ начисление. Начисляются-оклад, тариф, надбавки.
Мы НЕ назначаем такое начисление-аванс.И формулу его создать стандарными средствами НЕ можем.
Подскажите пожалуйста, пытаюсь людям начислить аванс, выбрала "плановый аванс" 50% от з/п, проставила у каждого сотрудника. Затем делаю "выплата", выбираю "банк", так как хочу на карты перечислить, и тут у меня отображается только один сотрудник...в чем подвох? хотя если выбрать "через кассу" отображаются все..Лицевые счета по всем заполнены.
В программе вы можете "плановый аванс" задать как вид выбираемой операции в док-те "Зарплата к выплате" . Тогда в ведомость автоматически подставятся суммы, проставленные каждому сотруднику. Причем, те сотрудники, которым вы не назначали плановый аванс, в такую ведомость не попадут.
Далее, если способ выплаты вы выбираете "через кассу", то такой вариант ведомости предоставляет впоследствии лишь возможность "ввести на основании" РКО (кассовый документ). Так реализовано в Зарплате и Управлении Персоналом 8, ред. 2.5.
А если вы выбираете способ выплаты - "через банк" , то справа открывается поле для контрагента- банка, в который вы передаете ведомость на списание суммы с вашего р/счета на карточные зарплатные счета ваших сотрудников по Зарплатному проекту.
В таком случае можно провести перечисление по банку обычного планового аванса.
Но если у вас установлен упрощенный вариант учета взаиморасчетов с сотрудниками, то у вас не получится ни платежное поручение ввести (как документ), ни в выписке банка что-либо оформить в конфигурации.
Кроме того, есть ещё вариант для того, чтобы некий аванс попал в ведомость для перечисления с банковского счета (или по расходом кассе). Для этого нужно производить отдельный расчет (док-том Начисление з/пл) за первую половину месяца. Такой расчет должен учитывать фактические невыходы (табель учета раб.времени), то есть выплата не просто плановой суммой, а в меньшей сумме, если первая половина месяца отработана сотрудником не полностью.
В этой статье я расскажу, как загружать данные в 1с 8 из простейших текстовых файлов с разделителями. Обычно они имеют расширение csv (Comma-Separated Values). Т. е. название подразумевает, что в каждой строке такого текстового файла значения разделены запятой. Но на самом деле, запятую, в качестве разделителя, использовать не надёжно. Поэтому применяют другие разделители, которые в обычном тексте встречаются редко. Это могут быть символы «^», «~»,«|» и другие. Итак, наша задача состоит в том, чтобы загрузить имеющуюся в csv файле информацию в базу данных 1с. Например, в файле будут содержаться товары интернет - магазина. В качестве образца, я взял выгрузку из магазина на скрипте virtuemart. Посмотрим, как выглядит файл.
Привожу две первых строки из него:
Посмотрим на файл.
Первая строка служебная. В ней описан формат нашего файла. Т. е. в какой ячейке, что находится. Однако, имейте в виду, что такой строки может и не быть.
Ячейки образуются при помощи разделителя «^», а данные в ячейках обрамляются символом «~».
В любой конфигурации 1с есть иерархический справочник товаров. В него и будем загружать информацию.
Создадим внешнюю обработку. Добавим строковый реквизит «путьКФайлуЗагрузки» для хранения имени файла. Добавим на форму поле ввода, связанное с данным реквизитом. Включим в свойствах поля ввода кнопку выбора и создадим обработчик события «НачалоВыбора» и напишем в нём такой код:
Т. о. мы организовали диалог для выбора файла в нашей обработке.
Хорошо. Теперь, для удобства и наглядности я предлагаю создать временную табличку, в которую мы загрузим текстовый файл, а уже после её заполнения - будем осуществлять загрузку в базу 1с. Для этого, на форму добавим табличное поле «табЗагрузки», с типом значения «ТаблицаЗначений» и командной панелью. В панели поместим кнопку «Заполнить» и создадим обработчик её нажатия «КоманднаяПанель1Заполнить». Также для элемента универсальности, добавим в обработку два строковых реквизита «символОграничения» и «разделительПолей». В них мы будем хранить «^», и «~». Можно в теле модуля формы осуществить их начальную инициализацию:
разделительПолей = "^";
символОграничения = "~";
Это позволит пользователю задать свои значения и при желании сохранить настройку, которая впоследствии не затрется нашей инициализацией.
Функцию разложения строки с разделителями в массив можно разместить как в одном из общих модулей, так и непосредственно в обработке.
Отлично. В итоге, после заполнения, получим примерно такую картинку:
Теперь приступим непосредственно к загрузке товаров. Рядом с кнопкой «заполнить» добавим кнопку «загрузить» и добавим обработчик её нажатия «КоманднаяПанель1Загрузить», а также добавим реквизит «ПапкаЗагрузкиВыгрузкиТоваров» с типом вашего справочника товаров для опциональной их загрузки в определенную папку. Текст обработчика будет такой:
В приведенном коде две новые функции «вернутьТовар» и «ЗаписатьЭлементСпр». Вот их текст:
И осталась последняя новая функция для обработки родителя товара вернутьРодителяТовара. Текст её смотрите ниже. Комментарии по тексту.
В этой статье я постараюсь описать процесс парсинга сайтов средствами 1С с примером.
Это статья не является инструкцией к применению, а лишь демонстрирует возможности 1С.
Что мы имеем? 1. Сайт в интернете, на котором располагается список товаров. В моем случае – это интернет магазин салона «Связной»
2. Понимание основ сайтостроения… хотя бы знание HTML тегов
3. Умение кодить в 1С 8
Для начала парсинга стоит определиться с тем что мы хотим спарсить и какая у нас будет иерархия. В моем случае это категория сотовых телефонов. Верхний уровень иерархии будет производители. Почему именно так? Потомы что я так захотел. Вы же вправе использовать любую иерархию.
Далее нам будут интересны такие поля как: Наименование, Цена, Картинка и Описание... ну и пожалую захватим операционную систему, чтобы пример получился более наглядным.
1. Создаем внешнюю обработку. Те, кто не знают как это сделать - дальше могут не читать
2. Создаем форму обработки с командной панелью снизу и сверху (они могут быть полезными)
3. Размещаем на ней Панель и обзываем первую страницу "СамСайт"
4. Кладем на страницу "СамСайт" ПолеHTMLДокумента и обзываем его к примеру "Сайт"
5. Переименовываем кнопку "Выполнить", которая находится на нижней панели в "Загрузить сайт"
6. Описываем процедуру нажатия на эту кнопку так:
7. Проверяем работу нашей обработки. У меня появился сайт связного. А у Вас?
Дальше сложнее. Все еще хочешь парсить сайты? Тогда читай:
Сам парсинг сайта заключается в обходе всех элементов загруженной страницы, выдергивания необходимой информации и запихивания их в табличную часть. Для этого:
1. Создадим табличную часть "Производители" с реквизитами "Отметка" (Булево), "Наименование" (Строка 100) и "Ссылка" (Строка 300).
2. Добавляем еще одну страницу на панели и обзываем ее "Производители"
3. Размещаем на этой странице одноименную табличную часть
4. Добавляем на нижней панели кнопку "Заполнить производителей" с кодом:
Здесь напрашиваются небольшие пояснения:
tagName - имя HTML тега в HTML документе
nextSubling - следующий элемент HTML документа от текущего
children - список дочерних элементов
firstChild - первый дочерний элемент от текущего
5. Проверям. При проверке важно, находиться на странице "СамСайт", чтобы заполнять производителей
Производители заполнены. Теперь к самим телефонам
1. Создаем табличную часть "Товары" с реквизитами "Производитель" (Строка 100), "Наименование" (Строка 100), "Цена" (Число 10,2), "Картинка" (Строка 300), "Описание" (Строка Неограниченная), "ОС" (строка 100), "Ссылка" (Строка,300)
2. Добавляем еще одну страницу на панели и обзываем ее "Товары"
3. Размещаем на этой странице одноименную табличную часть
4. Добавляем на нижней панели кнопку "Заполнить товары" с кодом:
5. Создаем форму обработки "ФормаТоваров"
6. Кладем на "ФормаТоваров" ПолеHTMLДокумента и называем его "Сайт"
7. На событие ДкументСформирован у ПоляHTMLДокумента пишем код:
8. Создаем переменную в модуле формы
перем ТекущийПроизводитель Экспорт;
9. Создаем процедуру ГрузимТовары():
10. Проверям. Все работает.
Дело осталось за "операционной системой" и еще надо загрузить картинки. Давайте по порядку. Чтобы получить "ОС" нам надо открыть этот товар и считать "ОС" оттуда. Для этого делаем следующее:
1. Добавляем на нижней панели кнопку "Доп Инфо" с кодом:
2. Создаем форму обработки "ФормаДопИнфо"
3. Кладем на "ФормаДопИнфо" ПолеHTMLДокумента и называем его "Сайт"
4. На событие ДкументСформирован у ПоляHTMLДокумента пишем код:
5. Создаем переменную в модуле формы
перем ТекущийТовар Экспорт;
6. Создаем процедуру ГрузимДопИнфо():
7. Проверяем и переходим к последнему пункту
Заметили как похожи две последние инструкции? То-то же. Стремился к универсальности. Ну и наконец последний этап - Сохраним все изображения к примеру на диск "С" в папку "связной". Поехали
1. Добавляем на нижней панели кнопку "Сохранить Картинки" с кодом:
2. Добавляем функцию СохранитьКартинкуСайта:
На этом наша эпопея с парсингом закончена. Это всего лишь пример того, как это можно сделать. Приложив сюда немного своего кода - можно сделать парсер для любого сайта. Скачивать файлы может только зарегистрированный пользователь! Имея парсер 1С - я могу спарсить все, кроме этого парсера. Имя два парсера 1С - я могу спарсить все
Автор: opx
Все чаще и чаще встречаются обмены, используя технологию Web-Сервисов. Это удобно, т.к для хостовой базы данных достаточно установить расширение Web-Сервиса и обработчик данных, а для клинтского решения подключиться к Web-Сервису. Технология является мультиплатформенной и на данный момент ее использование весьма актуально.
Примерами таких веб-сервисов можно назвать:
http://www.cbr.ru/scripts/Root.asp?Prtid=DWS веб-сервис Центробанка, для получения ежедневных данных.
http://api.yandex.ru/speller/doc/dg/concepts/api-overview.xml веб-сервис Яндекса проверки правописания.
https://www.flightstats.com/developers/bin/view/Web+Services/WSDL ряд веб сервисов авиастатистики, для мониторинга полетов, сведений о погоде, и.т.п.
WSDL (Web Services Description Language) — язык описания веб-сервисов и доступа к ним, основанный на языке XML. (спецификация http://www.w3.org/TR/wsdl).
SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) — протокол обмена структурированными сообщениями в распределенной вычислительной среде. SOAP используется для обмена произвольными сообщениями в формате XML и удалённого вызова процедур (RPC). (спецификация http://www.w3.org/TR/soap/).
XDTO (XML Data Transfer Objects) — механизм объектного моделирования данных, описываемых с помощью схемы XML (подробнее http://v8.1c.ru/overview/xdto.htm).
Большинство примитивных типов сериализованных объектов разработана компание W3 и их описание находится в пространстве имен «http://www.w3.org/2001/XMLSchema».
 
и так: Задание 1: Установка платформы 1С: Предприятие, установка компоненты IIS сервера, связь Web-Расширения 1С с сервером IIS.
При установке платформы 1С: Предприятие необходимо установить Web-Расширение.
Рис. 1. Выбранные компоненты в момент установки 1С
В меню «Панель управленияВсе элементы панели управленияПрограммы и компоненты» Необходимо выполнить установку дополнительных компонентов Windows «Включение или отключение компонентов Windows» где указать все компоненты IIS (за исключением FTP, для текущей работы он не требуется). После установки рекомендуется перезапустить операционную систему.
Рис. 2. Выбранные компоненты в момент установки IIS
В меню «Панель управленияВсе элементы панели управленияАдминистрирование» запустить консоль «Диспетчер служб IIS», где открыть элемент «Пулы приложений» открыть пул «DefaultAppPool» в контекстном меню выбрать «Дополнительные параметры…» где элемент «Разрешены 32-рязрядные приложения» надо установить «True». Это необходимо для работы Web-Расширения 1С, т.к. оно является 32-битным прилодением.
В той же консоли «Диспетчер служб IIS», выбрать элемент «Default Web Site», выбрать действие «Проверка подлинности» где необходимо включить варианты: «Анонимная проверка подлинности», «Обычная проверка подлинности», «Проверка подлинности Windows».
Теперь возможна публикация Web-Сервисов 1С на сервере IIS. Но для того, чтобы было возможно выполнить эту публикацию, необходимо запустить Конфигуратор 1С: Предприятия от имени пользователя «Администратор».
Задание 2: Создание простой конфигурации 1С.
Считаем, что в базе данных есть информация информации обо всех заказах, содержащая количество и тип номенклатуры, который был заказан, в одном заказе может быть список, содержащий номенклатуру и количество, заказ так же имеет свой номер и дату его создания. Информацию обо всех заказах надо передать через Web-Сервис.
Для описания этого необходимо создать объекты базы данных:
Рис. 3. Структура данных в созданной конфигурации 1С
Справочник «Номенклатура», без дополнительных реквизитов. В реквизитах «по умолчанию» содержится информацию о наименовании и коде номенклатуры.
Документ «Заказ покупателя», который будет содержать табличную часть «Товары», каждая строка которой будет иметь информацию о номенклатуры (элемент типа «СправочникСсылка.Номенклатура») и количестве (элемент «Количество» типа «Число» беззнаковое с 15 знаками до запятой и 3 после).
Далее можно запустить 1С в режиме предприятия и создать несколько документов, заполненных созданными нами же номенклатурами и соответствующим количеством.
Задание 3: Создание и публикация Веб-Сервиса 1С.
В группировке «Общие» конфигурации создать новый элемент типа «XDTO-пакеты», первоначально для передачи номенклатуры. Его можно назвать, например «NomenclatureXDTO». URL пространство имен, в соответствии со спецификацией WSDL необходимо назначить в виде URL адреса спецификации данного пакета, например
«company.com/1C/Nomenclature». В этом пакете необходимо создать тип объекта, например «Nomenclature», в котором есть реквизиты «Code» и «Name», с соответствующим типом «string (http://www.w3.org/2001/XMLSchema)».
Теперь надо создать второй XDTO пакет, который будет содержать информацию о заказах покупателей, его можно назвать «ClientOrderXDTO» в пространсте имен «company.com/1C/ClientOrder». В первую очередь необходимо подключить директиву импорта «company.com/1C/Nomenclature», для того, чтобы можно было использовать созданный нами пакет сериализации номенклатуры. Это необходимо для передачи номенклатуры, содержащейся в табличной части документа «Заказы покупателей».
Теперь надо создать тип объекта «ClientOrderRow», содержащий одну строку табличной части. Этот тип будет состоять из совокупности реквизитов «Nomenclature» и «Count», соответственно для номенклатуры необходимо указать тип объекта «Nomenclature (http://company.com/1C/Nomenclature)», а для количества, «double (http://www.w3.org/2001/XMLSchema)».
Тип объекта, содержащий сам заказ можно назвать «ClientOrder» должен содержать номер заказа, дату создания и массив элементов из табличной части заказа. «Number» типа строка, «Date» типа «dateTime (http://www.w3.org/2001/XMLSchema)» и «Products» типа «ClientOrderRow (http://company.com/1C/ClientOrder)», при этом необходимо указать, что минимальное количество «0», а максимальное количество «-1», это говорит о том, что этот объект будет массивом.
Но, поскольку необходимо возвращить список заказов, то необходимо создать тип объекта, содержащий этот массив, потому надо создать еще один элемент, называемый «ArrayOfClientOrders», у которого будет всего один реквизит, называемый «ClientOrder» типа «ClientOrder (http://company.com/1C/ClientOrder)».
Рис 4. Структуры XDTO пакетов в 1С
На этом создание описания передаваемых значений можно считать оконченным. Необходимо описать сам веб сервис и его методы.
В группировке «Общие» конфигурации надо создать объект, Web-Сервиса. Его можно назвать «Service». Во вкладке «Прочее» надо указать пространство имен, которому принадлежит веб-сервис, например «company.com/1C», а так же список XDTO пакетов, содержащий только что созданные пакеты «company.com/1C/Nomenclature, company.com/1C/ClientOrder». Во вкладке «Операции» создать метод «GetClientOrders», который будет возвращать значения «ArrayOfClientOrders (http://company.com/1C/ClientOrder )», при этом установить возможность возвращать пустые значения и нажать на поле с лупой, называемое «Имя метода», тем самым в модуле веб-сервиса будет создана функция, который будет вызвана при обращении к данному методу веб-сервиса.
Для того, чтобы корректно описать функцию, получающую из базы данных и возвращающую список заказов покупателей, необходимо знать внутренний язык 1С, потому код этой функции находится в приложении 1. В пояснении нуждается то, что «ФабрикаXDTO», это некоторый менеджер, который выполняет сериализацию объектов, и этот сериализованный объект необходимо возвратить. При этом происходит выборка всех заказов, содержащихся в базе данных, сериализация полей номера, даты, и строк табличной части, при этом номенклатура, нуждается в дополнительной сериализации, и уже упакованный объект вставляется в общую структуру. Собирается массив упакованных объектов, сериализуется в пакет массива. И отправляется клиенту, как результат вызванной функции.
Для публикации веб-сервиса в меню конфигуратора 1С выбрать «АдминистрированиеПубликация на веб-сервере…», после чего указать название публикации веб-сервиса, например «Company», имя сервиса, например «Service» и адрес «service.1cws», а так же указать путь для публикации, например «C:\inetpub\www\root\Company».
После этого WSDL структура Web-Сервиса будет доступна по адресу «localhost/Company/ws/service.1cws?wsdl»
Задание 4: Создание клиента на C# платформы .NET 4.0.
В Visual Studio создать новое консольное приложение C#.
Далее вызвать контекстное меню над элементом проекта «Reference», и выполнить действие «Add service reference…», в открывшемся меню нажать на кнопку «Advanced…», откроется окно, где необходимо нажать на кнопку «Add Web Reference…».
Откроется меню, в которое необходимо вставить ссылку на WSDL описание веб-сервиса.
Рис. 5. Подключение веб-сервиса к проекту на C#
Для созданного в 1С веб-сервиса эта ссылка будет иметь вид «localhost/Company/ws/service.1cws?wsdl», после корректного получения описания веб-сервиса надо указать название пространства имен .NET, из под которого будет доступно обращение к веб-сервису, например «CompanyService», затем нажать на кнопку «Add Reference…», Visual Studio автоматически сгенерирует классы по этому описанию. В проекте достаточно будет вызывать методы сгенерированного класса, при этом сериализация и вызов будут выполнять платформой .NET.
Далее необходимо написать программу, которая будет обращаться к веб сервису, и выводить пользователю полученные данные. Для этого необходимо знать язык C#, код программы представлен в приложении 2. Из этого кода надо пояснить, то, что создание объекта «Service», есть не что иное, как создание менеджера обращения к сервису. От этого имени будут вызывать методы веб-сервиса.
«_1CWebServiceClientConsole» — это общее пространство имени проекта, оно выбирается при создании. Пространство имени веб-сервиса, полученное из WSDL структуры полностью включено в пространство имени проекта, что позволяет вызывать удаленные методы «как свои».
Построение такой архитектуры является прозрачной для программистов, но при этом необходимо понимать в какие моменты и что проходит сериализацию для последующей передачи. Подобная архитектура клиент-серверных приложений на данный момент самая популярная.
Приложение 1: код функции GetClientOrders на языке 1С
Приложение 2: код программы на C# осуществляющий обращение к веб-сервису
Что такое 1С? 1С — это фирма, у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. «1С:Предприятие» - конкретный продукт, который выпускает компания 1С.
Что такое 1С:Предприятие? 1С:Предприятие — программный продукт компании 1С, предназначенный для автоматизации деятельности на предприятиях всевозможной направленности. Многие называют просто - программа 1С.
Первоначально, продукт 1С:Предприятие был предназначен для автоматизации бухгалтерского учёта и управленческого учёта (включая начисление зарплаты и управление кадрами). Но сегодня этот продукт находит своё применение в областях, далёких от собственно бухгалтерских задач. 1С:Предприятие — это (одновременно) и технологическая платформа, и пользовательский режим работы. Технологическая платформа предоставляет объекты (данных и метаданных) и механизмы управления объектами. Совокупность объектов (данных и метаданных), а также связей между ними, задаваемых программистом, представляет собой конфигурацию. При автоматизации какой-либо деятельности составляется своя конфигурация объектов и связей между ними, задаваемых программно, которая и представляет собой законченное прикладное решение. Конфигурация создаётся в специальном режиме работы программного продукта под названием «Конфигуратор», и параллельно с созданием этой конфигурации существует возможность тут же проверять ее работоспособность в режиме «1С:Предприятие», осуществляя отладку. Пользователи же работают исключительно в режиме «1С:Предприятие», в котором получают доступ ко всем функциям (сообразно правам каждого конкретного пользователя), реализованным в данном прикладном решении (конфигурации).
Предназначение 1С:Предприятия
Для успешного изучения платформы 1С :Предприятия важно понимать для чего собственно она нужна - а нужна она для автоматизации экономической и организационной деятельности предприятия. Заметь, о бухгалтерии и торговле речь не идет. 1С: Предприятие — это универсальная платформа, которую можно приспособить к деятельности абсолютно любого предприятия. Такая универсальность достигается за счет гибкой конфигурируемости. Каждое решение на 1С:Предприятие представляет собой отдельную конфигурацию. Если говорить простым языком, то конфигурация представляет из себя программу (так говорить не совсем верно, но для начала сойдет), для работы которой необходима платформа.
Если ты когда-нибудь слышал про язык программирования Java, то ты должен знать, что для работы написанных на нем программ необходима виртуальная машина. С 1С: Предприятием ситуация аналогичная. Когда мы начнем разрабатывать нашу первую конфигурацию ты сможешь в этом убедиться. Пока тебе главное запомнить, что для работы любой конфигурации (программы) необходимо наличие платформы (1С:Предприятие).
1С:Бухгалтерия, ЗУП, УТ, УПП и т. д.
На основании полученных знаний в прошлом разделе раз и навсегда узнаем и запомним. 1С бухгалтерия — это на самом деле платформа 1С:Предприятие и ти, повая конфигурация (программа) «Бухгалтерия», назначение которой понятно из названия. Следовательно если ты в газете/на сайте видишь объявление «требуется 1С-программист», то это означает, что возможно тебе придется столкнуться или конфигурацией «бухгалтерия» или с «Управление торговлей» или вообще с самописным решением.
Когда я говорил, про конфигурацию «Бухгалтерия», то я применил к ней слово «типововая». Все конфигурации, разработанные на платформе «1С:Предприятие» принято классифицировать как типовые и не типовые. Типовые конфигурации — это те, которые выпускаются и поддерживаются компанией 1С. Среди таких: 1С бухгалтерия, 1С:Управление торговлей, 1 С: Зарплата и кадры и т. д. Не типовые — это все те которые разработаны другими компаниями или отдельными программистами. Я уже говорил, что знакомится с 1С :Предприятие мы будем на примере разработке своей собственной конфигурации. Наш проект будет является не типовой конфигурацией. Типовые конфигурации я рассматривать не планирую, но в будущем может что-то измениться и мы поковыряем бухгалтерию.
Когда лучше использовать 1С:Предприятие?
Все, что можно сделать на платформе 1С:Предприятие, можно повторить на любых других системах разработки. Например, возможностей Delphi, Visual Studio без проблем хватит, на любую задачу. А раз возможностей Delphi (например) хватает, то зачем использовать 1С? Ответ прост до безобразия (во всяком случае это ответ, который я дал сам себе). Главная причина использования 1С — скорость разработки решения. Если на Delphi тебе придется писать ту же бухгалтерию с нуля, то на 1 С: Предприятие у тебя уже есть готовая основа — типовая конфигурация «Бухгалтерия», которую ты можешь либо использовать полностью, либо взять отдельные элементы. Кроме того, 1С:Предприятие аппетитно выделятся на фоне альтернативных решений. Среди ключевых особенностей платформы можно выделить:
1. Большое количество объектов метаданных, которых хватит для решения самых разнообразных задач. Тебе не нужно возиться с создание таблиц в самой БД. Все что ты делаешь — оперируешь объектами платформы, а она в свою очередь использует готовую структуру сервера БД.
2. Поддержка разных СУБД. 1С:Предприятие хорошо работает как с MS SQL Server, так и с бесплатной СУБД — PostgreSQL. Это означает, что делая выбор в пользу 1С:Предприятие, ты можешь сэкономить деньги на лицензиях. Считай, все, что тебе потребуется — купить сам
1С :Предприятие (+сервер приложений). PostgreSQL является бесплатной кросс-платформенной системой, а значит, для сервера с БД тебе подойдет любая unix-like ОС. Получается, что экономия более чем заметна — тебе не требуется серверная ОС от Microsoft, а также MS SQL Server.
3. Простота использования. Как ни крути, а работать с 1С:Предприятие проще, чем с голым СУБД. Встроенный язык программирования по синтаксису похож на паскаль (basic), большинство функций по конфигурированию выполняются мышкой и не представляют сложности. И самое главное - простота использования не сказывает негативного влияние на возможности системы. Они действительно большие и их хватит для многих проектов.
4. Наличие огромного числа специалистов. Сегодня найти специалиста по 1С:Предприятие гораздо проще, чем например, по C#. С одной стороны, такое положение дел весьма неплохое, т. к. найти человека, способного поддерживать/дорабатывать уже работающий проект очень легко.
5. Поддержка со стороны компании 1С. Компания «1С» как никто другой заинтересована в продвижении своих программных продуктов. И продвигает она не рекламой, а качеством и сервисом. По своему опыту могу сказать, что поддержка работает на должном уровне и большинство проблем решается быстро. Программисты компании также не сидят на месте и постоянно фиксят ошибки в платформе, выпуская новые релизы.
6. Поддержка типовых конфигураций. Законодательство в нашей стране меняется со страшной силой и такие перемены очень отражаются на бухгалтерии в виде изменения форм отчетности. Кто хоть раз сталкивался с бухгалтерией или торговлей может представить себе печатные формы отчетов-монстров (вроде Торг2, Торг12 и т. д.). Для правки этих отчетов при использовании сторонних бухгалтерских программ всегда приходилось нанимать программистов, т. к. работать с кодом бухгалтера не могут.
При использовании 1 С: Предприятие и типовой конфигурации «Бухгалтерия» проблема «доработки» стандартных отчетов отпадает раз и навсегда. Программисты компании «1 С» оперативно выполняют все необходимые модификации отчетов (и всех остальных элементов) и поставляют клиентам обновленные версии конфигурацией. Вот с обновлением конфигурации бухгалтер может справится самостоятельно (хотя тут все зависит от конкретного представителя этой расы пользователей . На крайний случай, всегда можно подыскать специалиста из франчайзи, услуги которого будут стоить намного дешевле, чем работа программиста.
Рассмотрим данную возможность на примере табличной части документа «Расходня накладная». В этой табличной части мы будем товары отмечать одной пиктограммой, а услуги -другой.
Прежде всего, коллекцию картинок, элементы которой предполагается показывать в списке, следует указать в свойстве КартинкаСтрок таблицы формы.
Например, это может быть коллекция, содержащая две картинки: для обозначения товаров и для обозначения услуг:
После этого необходимо задать свойство ПутьКДаннымКартинкиСтроки для этой таблицы. В этом свойстве должно быть указано поле, значение которого определяет индекс отображаемой картинки.
Например, таким полем может быть реквизит ТоварУслуга справочника Номенклатура. Для товаров этот реквизит содержит значение 0, для услуг он содержит значение 1.
В результате в самой левой колонке табличной части формы будет отображена выбранная картинка.
Можно перетащить реквизит, содержащий индексы картинки строк (в примере Объект.СписокНоменклатуры.Номенклатура.ТоварУслуга)
в первую колонку таблицы формы, и тогда картинка будет отображена в отдельной колонке табличной части.
Настройка вывода картинки в отдельную колонку
Отображение картинки в отдельной колонке табличной части документа
Аналогичным образом собственные картинки можно показать и в динамическом списке. С той лишь разницей, что в свойстве ПутьКДаннымКартинкиСтроки нужно указать поле из запроса, которое будет возвращать индекс картинки в выбранной коллекции картинок.
Автор: Сергей Сопелев
В 1С:Управление торговлей 8 повышена масштабируемость платформы и средств разработки прикладных решений. Увеличена производительность.
В "1С:Предприятии 8" повышена масштабируемость:
Различные аспекты масштабируемости "1С:Предприятия 8" рассматриваются в специальном издании и описаны на сайте: http://v8.1c.ru/scale/. Если говорить коротко, то под увеличенной масштабируемостью мы понимаем меньшую зависимость производительности системы от нагрузки (количества пользователей и количества обрабатываемой информации). Или, по-другому, повышенную производительность при той же нагрузке.
Можно ли использовать программу "1С:Управление торговлей 8" в маленьком магазине?
Программа "1С:Управление торговлей 8", выпускаемая фирмой "1С", рассчитана на торговые предприятия самого разного масштаба. Однако, для компаний, в которых с информационной системой работает до 5 пользователей, рекомендуется использовать решение "1С:Управление небольшой фирмой", реализующее меньше продвинутых возможностей, но более простое в использовании. Если сферой деятельности предприятия является розничная торговля, то рекомендуем использовать решение "1С:Розница 8".
В то же время, предприятие может использовать только ту часть функционала "1С:Управление торговлей 8", которая ему необходима. Например, если нет необходимости управлять бизнес-процессом продаж с использованием сделок с клиентами или классифицировать номенклатуру по спектру характеристик, это делать не обязательно. Для работы с программой предприятие не обязано использовать все функциональные возможности.
Подойдет ли программа "1С:Управление торговлей 8" для небольшого торгового предприятия с 15 рабочими местами?
Да, типовая конфигурация "Управление торговлей" ориентирована, в первую очередь, на торговые предприятия с числом сотрудников от 10 до нескольких сотен.
Говорили, что система "1С:Предприятие 8" рассчитана на крупные предприятия, а нам она не подойдет. Соответствует ли это действительности?
Нет, это утверждение не соответствует действительности. Увеличение масштабируемости и возможность работы с большей нагрузкой не означают ориентацию прикладных решений только на крупные предприятия.
Нам кто-то сказал, что работать с программами на новой платформе имеет смысл, когда число компьютеров больше 50. Это правда, что она не подходит?
Возможность работы системы "1С:Предприятие 8" с большим числом активных сессий не означает, что сама платформа и все прикладные решения ориентированы только на большое число рабочих мест. Среди пользователей прикладного решения "Управление торговлей" имеется достаточное малых предприятий с числом рабочих мест от 1 до 20.
Для более быстрого поиска в базах данных было придумано свойство индекс. При использовании таблиц значений мы также можем создавать индексы для произвольных колонок.
Например, у нас есть таблица с колонками «Номенклатура, Цена, ЕдиницаИзмерения». И если мы часто ищем в таблице строки с какой-то номенклатурой, то лучше эту колонку проиндексировать и тогда программа не будет каждый раз перебирать все строки, а будет использовать индекс.
Чтобы создать индекс применяется метод «Индекс», в параметрах которого передается строка в которой перечисляются индексируемые колонки.
Т.к. индексируемых колонок может быть несколько, то возможна и такая запись:
Когда индекс создан, то при использовании методов таблицы значений «Найти» или «НайтиСтроки» будет использоваться созданный нами индекс.
А для поиска в таблице значений существует два специальных метода: первый Найти
Данный метод возвращает первую найденную строку с искомым значением или Неопределено, если не находит. Поэтому его удобно использовать для поиска уникальных значений, т.к. иначе придется при нахождении значения удалять его из таблицы, чтобы найти следующее.
Чтобы так не мучиться существует следующий метод, который позволяет находить массив подходящих строк НайтиСтроки
Этот метод всегда возвращает массив, но он может быть и пустой, если ничего не найдено. И ещё этот метод также как и предыдущий возвращает сами строки таблицы значений, а не сами значения в отдельном массиве. Поэтому изменив значения в строке массива или как в предыдущем методе у найденной строки, Вы поменяете значение в обрабатываемой таблице значений.
Чем ещё хорош этот метод, так это то, что он может искать сразу по нескольким колонкам таблицы значений одновременно:
Единственный минус, как видно, нельзя применять другие виды сравнения кроме как "равно"
В программах 1С Предприятие применяется несколько разных вариантов штрихкодов
1. Штрихкод в регламентированных отчётах
Расположен в левом верхнем углу налоговой декларации. Для печати используется установленный шрифт (true type font) EANGNIVC.TTF.
Выглядит - чёрные вертикальные полоски-чёрточки в левом верхнем углу
Когда не установлен - печатаются очень крупные цифры вида !510
Для установки:
1. Скачайте файл EANGNIVC.TTF в интернете
2. Скопируйте его в каталог со шрифтами (Пуск → Настройка → Панель управления → Шрифты).
Иногда штрихкод установлен, и всё равно не печатается. Найдите шрифт EANGNIVC в каталоге со шрифтами и покликайте мышкой по нему. Вы его активируете, и теперь переходите в 1С - всё получится.
2. Штрихкод в конфигурации Торговля и склад
В конфигурации Торговля и склад на этикетках с товаром применяется компонента ActiveBarcode. Установочный файл Barcod.ocx находится в каталоге с базой данных 1С.
1. Для установки скопируйте файл Barcod.ocx в каталог C:Windows\System32\
2. Нажмите кнопку Пуск и выберите пункт Выполнить
3. В поле Открыть введите команду regsvr32.exe C:Windows\System32\barcode.ocx и нажмите кнопку ОК
3. Двухмерный штрихкод
Используется в 1С Бухгалтерии при печати налоговых деклараций в 2007 году.
1. На титульном листе на второй закладке установите галочку Печатать двухмерный штрихкод.
2. Нажмите кнопку Печать - выберите строку Печатать все листы или Показать все листы.
Программа сформирует файл для ИФНС, потом преобразует его в двухмерный штрихкод и распределит его на нескольких листах декларации.
Для установки:
1. Скачайте файл SETUP_BARCODELIB.EXE
2. Запустите его с правами администратора.
4. Модуль печати машиночитаемых бланков
Используется в 1С Бухгалтерии при печати налоговых деклараций с 2008 года.
1. На титульном листе нажмите кнопку Печать
2. Выберите первую или вторую строку Печатать сразу форму с двухмерным штрихкодом PDF417 или Показать бланк формы с двухмерным штрихкодом PDF417.
Программа сформирует файл для ИФНС, потом преобразует его в двухмерный штрихкод и распределит его на нескольких листах декларации.
Для установки:
1. Скачайте файл modyl.rar, это архив, внутри программа установки и инструкция.
2. Запустите программу установки с правами администратора.
В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.
1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)
Для подчиненного узла нажимаем на иконку "Создать начальный образ". (Потребуется монопольный доступ)
Создать начальный образ
Далее в открывшемся окне заполняем параметры новой базы. По окончании нажимаем кнопку "Готово"
Создание начального образа ИБ
Начнется создание начального образа подчиненного узла распределенной информационной базы, по окончании появится сообщение "Создание начального образа успешно завершено". Жмем кнопку "ОК".
Добавляем базу подчиненного узла в список баз, запускаем ее.
В этой подчиненной базе открываем полный план обмена - значок "ЦБ красный, это значит, что этот узел является главным для информационно базы, в которой мы находимся.
2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена..."
Закладка "Обмен данными"
3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными
Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке
Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.
У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер
2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ.
Блокировка регламентных заданий для копии ВКЛ
Если их не заблокировать, то копия будет делать обмены по тому же расписанию, что и основная база. Значит, часть сообщений в удаленные узлы будет формироваться из рабочей базы, а часть из копии, что приведет рассинхронизации конфигураций. Источник
В качестве примера использования можно указать вот такую ситуацию: в зависимости от типа клиента (договора, документа и т.п) формируются разные тексты договоров с разным количеством таблиц. В реальности, конечно должены использоваться и макет и описанные здесь динамические механизмы.
В моем примере я заранее создал новый пустой документ. Тестировалось на Office 2007.
Часто при создании документа из макета используют метод замены кусков текста. В примере представлен другой вариант выполнения того же действия - с использованием закладок. Также представлен пример построения нумерованного списка, вставки картинки, настройки ее параметров.
Пример использования описанных возможностей прост. При формировании коммерческого предложения бывает необходимо описать список условий, добавить изображение образца продукции.
Для отображения закладок включите эту опцию в настройках вашего Word'а.
В моем примере я заранее создал новый пустой документ, путь к документу и картинке прописан в тексте. Не забудте указать свои пути.