Начиная с платформы 8.2.14 в 1С появилась коллекция "Внешние источники данных". Использование объектов этой коллекции позволяет работать с внешними данными через ODBC. Стандартные механизмы платформы позволяют просматривать данные и использовать их в запросах. Тем не менее, на примере взаимодействия с SQL покажу возможность работы с внешними источниками на прямое добавление/изменение данных SQL из 1С.
Создадим для начала через консоль сервера SQL базу "test" с таблицей "assortment", строковые поля id, name, price. Сделаем ключевым поле id и внесем пару строк в таблицу. Потом создадим пустую базу 1С, в конфигураторе добавим внешний источник данных "ВнешнийSQL". На вкладке "Данные" добавим нашу таблицу. Можно ввести строку соединения, либо воспользоваться конструктором строки. В моей строке указаны явно учетная запись суперадминистратора (sa) и пароль к ней. Поскольку это сервер для тестов, вопросом безопасности можно пренебречь. Для реальной базы такого делать не стоит, либо можно завести отдельного пользователя с правами чтения/записи только на эту базу и хранить его данные.
После подключения находим в списке таблиц нашу, выбираем необходимые поля, в нашем случае все.
После добавляем формы для объекта и списка.
Если запустить нашу конфигурацию сейчас, то элементы формы списка будут открываться только на просмотр.
Теперь начинаем вносить изменения в формы, начнем с формы объекта. В свойствах реквизита "Объект" убираем галку "Сохраняемые данные", после этого реквизиты формы будут доступны для редактирования. Так же добавляем команду "ЗаписатьДанные" и прописываем код сохранения данных.
Теперь в форме списка на панель вешаем команду "Добавить" и добавляем обработку оповещения.
Вот и все, теперь мы можем как добавлять, так и редактировать данные таблицы. При необходимости можно добавить дополнительный контроль ввода, автонумерацию, удаление и прочие механизмы.
Часто при ведении учета в различных конфигурациях 1с возникает необходимость выполнения обмена данных. Для решения этой задачи принято использовать Универсальный обмен данными XML или другие внешние обработки, общим у которых является использование текстовых файлов посредников.
Я предлагаю использовать Web-сервисы 1с. В чем необходимость обмена: Обмен данными между базами требуется для исключения дублирующих вводов одних и тех же данных в различных учетных системах. В чем необходимость обмена в режиме online: Обмен в онлайн режиме требуется когда функции учета комплекса учетных систем выполняются в разных учетных системах.
1. Например компания использует: CRM систему учета, для ведения учета взаимоотношений с клиентами; БП 2.0 для ведения взаиморасчетов с клиентами в разрезе счетов; Счета выставляемые клиентам создаются в торговой базе, а оформление заказов поставщикам исходя из потребности клиентов в базе ориентированной на работу с пайсами поставщиков. При таком разделенном построении учета, для выставления счета в одной из баз к примеру требуется завести карточку клиента в другой базе с тем чтобы данные о контрагенте так же были доступны в базе со счетами.
2. Помимо синхронизации первичных данных, может возникнуть необходимость построения сводного отчета по данным из нескольких баз, что тоже потребует обращения к внешним данным в online режиме.
Вариант автоматизации данного процесса с использованием файлов обмена, потребует подключения обработчика ожиданий, что сможет обеспечить обмен данными только с установленной задержкой времени обмена, кроме того любая обработка ожидания будет не эффективно использовать машинное время.
Обращение к Web сервисам, возможно при возникновении любых событий (ПриЗаписи, ПриПроведении, при нажатии кнопки и т.д.). при этом не возникнет ни какой задержки реакции информационной базы к которой происходит обращение, (в отличие от запуска еще одного приложения 1с в качестве com объекта).
Итак рассмотрим вариант реализации синхронизации элементов справочников, начнем с наиболее простого со справочника "Товары" в базах "Продажи" и "Закупки". Синхронизация для начала будет односторонней, предположим что перечень товаров заводится в базе "Продажи", а в "Закупки" он передается.
Что нам потребуется для того чтобы задача возникла и могла быть решена.
1. Сервер 1с, с установленной web компонентой;
2. веб-сервер (например IIS 6.0);
3. Две или более конфигурации учетных систем.
Что нам потребуется для решения задачи.
1. Создадим в базе "Закупки" Web-сервис "Синхронизация", и добавим ему Операцию "СинхронизироватьТовар", со строковыми параметрами.
1. "GuidТовара" - сюда будем передавать уникальный идентификатор товара присвоенный в базе Продаж.
2. "GuidРодителя" - уникальный идентификатор родителя данного товара.
3. "стрСтруктураРеквизитов" - Структура реквизитов товара в виде примитивных типов (число,строка,дата,булево) преобразованная в строку.
4. "этоГруппа" - реквизит котрый позволит нам не раскрывая всей структуры реквизитов товара узнатья явлется ли товар группой и соответственно его обработать.
5. "стрТаблицаЕденицИзмерения" - Таблица содержащая описание доступных единиц измерения для товара
Далее потребуется опубликовать данный сервис на веб сервере. для этого нужно будет создать текстовый файл "wssinhron.1cws", в каталоге сайта опубликованном на веб сервере. Библиотека wsisapi.dll, должна быть подключена. Проще всего корректную настройку работы веб сервера с 1с можно провести опубликовав веб приложение через конфигуратор Администрирование->"Публикация на веб сервере". Единственным минусом является, то что в версии 8.2 файлы веб сервисов *.1cws, сами не создаются. Возможно просто мне не хватает знаний по этому вопросу но для публикации веб сервисов я пользуюсь блокнотом.
Также следует учесть что на серверах 64x следует использовать wsisapi.dll из поставки 1с 64x, даже если сам сервер 1с у вас 86x.
Итак создаем файл "wssinhron.1cws" с текстом.
{Название вашего сервера 1с}";Ref="{Назваение базы. у нас это "Market"}";"/>
Далее перейдем в модуль обработки нашего Сервиса, для наглядности я приведу пример кода своей разработки
Теперь, как вызвать веб сервис не зациклив при этом систему.
в нашем справонике "Товары" в базах "Продажи" и "Закупки" нам потребуются служебные реквизиты. 1. "GUIDтовара" - строковый реквизит (50)
2. "ВремяСинхронизации" - Реквизит с типом Дата и Время
3. "Синхронизирован" - тип булево.
В модуль объекта Справочника добавим предопределенные обработчики событий "ПередЗаписью()", "ПриЗаписи()" функцию "Синхронизация()" и общую переменную "передавать", и под текстом модуля присвоим этой переменной значение Истина. Перем передавать Экспорт;
Процедура ПередЗаписью(Отказ)
Процедура ПриЗаписи(Отказ)
Функция Синхронизация()
передавать = истина;
Таким образом получится что при любой инициализации модуля наша переменная всегда имеет значение истина.
Рассмотрим наши процедуры:
Таким образом остается добавить в событие формы элемента "ПриЗаписи()"
И мы сможем записывать наш элемент сколько угодно раз не вызывая зацикливания.
Для варианта двусторонней синхронизации, (когда элемент справочника может редактироваться в обоих базах) нам потребуется скопировать наш веб сервис из базы закупок в базу продаж переименовав имя файла публикации и URI пространство имен и внести соответствующие изменения в вызов веб сервиса из базы продаж в базу закупок и опубликовать его. Важно: При успешном срабатывание вызванного сервиса из базы "Продажи", в качестве результата работы должен быть возвращен уникальный идентификатор элемента справочника из базы "Продажи". Данный результат необходимо будет присвоить соответсвующиму реквизиту справочника из базы закупок.
Аналогично приведенному примеру можно синхронизировать данные любого справочника или документа.
Построение сводных отчетов
Для получения сводного отчета нам также потребуется вызов веб сервиса из какой - либо базы. Данный веб сервис должен будет возвращать преобразованною в строку, таблицу с данными которые мы хотим использовать в нашем отчете (Например таблицу содержащую "Код товара" и "Актуальную цену поставщика на данный товар"). Далее можно преобразовать эту строку в таблицу и использовать в качестве вложенной временной таблицы любом запросе к базе "Продажи" с соединением по Коду. Исключением является использование данной таблицы в Построителе отчетов, для случая построителя нам понадобится создание, дополнительного справочника с предопределенным элементом и табличной частью, с реквизитами соответствующими полям таблицы.
Автор: allert73
Ставки страховых взносов на 2013 год в 1С Бухгалтерии 8.2 можно установить самостоятельно.
Для установки ставок страховых взносов нужно выполнить:
Меню Зарплата — Учет НДФЛ и налогов (взносов) с ФОТ — Тариф страховых взносов. Далее внимательно заполняем регистр сведений «Тарифы страховых взносов» на 2013 год для своего налогового режима.
Отдельно устанавливается ставка страхования от несчастных случаев в ФСС по каждой организации: Меню Зарплата — Учет НДФЛ и налогов (взносов) с ФОТ - в открывшейся группе – пункт «Ставка взносов на страхование от несчастных случаев» .
Действующая ставка страховых взносов из регистра «Тарифы страховых взносов» для каждой организации программы 1С Бухгалтерия 8 задается в учетной политике на вкладке «Страховые взносы».
Если произошли изменения в методике исчисления страховых взносов (к примеру, с 2013 года перешли на пониженный тариф), то нужно обязательно завести новую строчку учетной политики с 01.01.2013 г.
Важно:Если страховые взносы в настройках программы 1С устанавливаются задним числом, т.е. когда уже были выполнены расчеты налогов с фот за какой-либо месяц текущего года, то после установки новых ставок взносов или изменения настроек учетной политики требуется пересчет начислений страховых взносов.
Как внести в 1С Зарплата и Кадры 7.7 исправления вставки по страховым взносам?
Сервис - настройки - ставки страховых взносов. Не попадает уплата страховых взносов в персонифицированный учет.
Нужно сделать документ "Расчет по страховым взносам". Меню документы – налоги - расчет по страховым взносам. В поле "Месяц начисления взносов" указывается месяц, за который перечислены страховые взносы. Дата документа определяет месяц, в котором произведено перечисление страховых взносов. При заполнении Персонифицированного учета не заполняются суммы уплаченных взносов.
В меню Документы-Налоги-Расчеты по страховым взносам, заполнить данный документ за каждый расчетный месяц. Как ввести выплаты по Лицензионным договорам? Они не должны облагаться страховыми взносами?
В меню Справочники - Расчет зарплаты - Виды расчетов - Удержание - НДФЛ - убрать Выплаты по лицензионным договорам из облагаемой базы; - Страховые взносы - Налоги - убрать Выплаты по лицензионным договорам из облагаемой базы. Завести Лицензионный договор, он не будет ничем облагаться. Как завести аренду автомобиля с водителем, чтоб аренда авто не попадала под страховые взносы, в работа водителя не попадала только под ФСС?
Необходимо вводить новые начисления и прописывать, что аренда не облагается налогами, а услуга работы облагается всеми налогами, и после расчета налогов в Журнале расчета страховых взносов удалить сумму ФСС. Как ввести б/л по болезни ребенка 3-и года в стационаре?
В меню Документы - Больничный лист - ввести в данном документе Причину нетрудоспособности: Уход за больным ребенком; и в случае по уходу за ребенком: До 7-ми лет в стационаре, но т.к. средний заработок не заполняется автоматически, его нужно заполнить суммой последнего заработка. Нужно изменить данные в Персонифицированном учете по стажу сотрудника, как это сделать?
В меню Справочники – Сотрудники – Сотрудник - Ввод данных - Персонифицировананный учет ПФР (ввод сведений о стаже) - заполнить данные по стажу или изменить уже имеющиеся данные. Как ввести б/л по болезни ребенка 3-и года в стационаре?
В меню Документы - Больничный лист - ввести в данном документе Причину нетрудоспособности: Уход за больным ребенком; и в случае по уходу за ребенком: До 7-ми лет в стационаре, но т.к. средний заработок не заполняется автоматически, его нужно заполнить суммой последнего заработка. Договор ГПХ не обложился ФСС?
Вознаграждение по договору подряда облагается страховыми взносами в ПФР, ФФОМС и ТФОМС и не облагается страховыми взносами в ФСС РФ (п. 2 ч. 3 ст. 9 Закона N 212-ФЗ). Не заполняется средний заработок по больничному листу.
В настройках поставили проводку по умолчанию "Пропорционально расчетной базе". Где прописать проводку по пособию беременным, вставшим на учет в ранние сроки беременности?
Справочник - расчет зарплаты - виды расчетов - единовременные пособия из соцстраха. На вкладке бухгалтерский учет поставить галочку расходы за счет ФСС и прописать проводку Дт 69.01 Кт 70. В табеле учета рабочего времени 3 и 10 мая ставятся как рабочие дни. Ввод праздничных дней проставила 3-00, 10-00.
Необходимо перезаполнить календарь пятидневка за май с галочкой "Учитывать праздники" и заново сформировать табель учета рабочего времени. Где проставить ставку ФСС НС и ПЗ?
Справочники - бухучет зарплаты - дополнительные проводки. Как ввести Справку по инвалидности?
Нужно в Справочнике Сотрудники выбрать сотрудника, получившего справку по инвалидности. Во вкладке Налоговый учет в строке Данные для расчета страховых взносов по кнопке Изменить выбрать документ Справка об установлении инвалидности. В Отпуске до 1,5 лет неверно ввели дату выплаты пособия до 1,5 лет, как можно ее изменить?
Необходимо сделать возврат в период заведения данного документа, исправить данные и перепровести все документы. Как можно указать, что в ЗиК ведется организация по УСН?
Изменить в Настройках организации – УСН - в Константах - Организация применяющая УСН и сделать расчет з/п. Как внешнего совместителя принять на основное место работы?
Можно уволить Совместителя и принять на работу Штатного сотрудника. В ЗиК считаются все страховые взносы, а организация находится на УСН.
В операциях в константах, в константе основной тариф страховых взносов проставить по кнопке история значения организации, применяющие УСН, и указать с какого числа данная константа действует. В декларации по ЕСН нет кнопки выгрузить…
В сервисе - в настройках во вкладке программа и бухучет поставить программу (вместо другой программы в хозрасчетной организации) бухгалтерия 7.7, ред.4.5 и заново открыть декларацию по ЕСН. Как можно просмотреть данные по Журналу з/п только за 2009г.?
В Журнале з/п установить Глубину просмотра архива на начало года. Установка ЕСН в ЗИКе.
Через "Стартовый помощник". В больничном листе не заполняется средний заработок.
В сервисе в настройках на вкладке зарплата и бухучет в поле проводка по умолчанию прописать проводку по умолчанию. Перезаполнить больничный, средний заработок заполнится. Как оформить невыходы сотрудника?
Меню Документы - Прочие отклонения – Невыходы. Компенсация за использование личного автомобиля в пределах норм облагается НДФЛ.
В составе облагаемой базы НДФЛ найти данное начисление и перенести в левый список. Как добавить стандартный вычет на ребенка?
В меню Справочники – Сотрудники – Сотрудник - на вкладке Основное - Ввод данных - Вычеты НДФЛ - стандартный вычет 1000 руб. Как ввести расчет по сотрудницам вставшим на учет в ранние сроки беременности?
Необходимо ввести предопределенный расчет: Меню Справочники - Расчет з/п - Виды расчетов - Единовременные пособия из соцстраха и проставить в нем проводку. Не вводится новый сотрудник в справочнике "Сотрудники".
Надо отжать кнопку "Установка (отключение) вывода списка по группам. Не формируется проводка по пособию по беременным, вставшим на учет в ранние сроки беременности.
В справочнике - расчет зарплаты - виды расчетов по кнопке "Помощник" описать предопределенный расчет вытянуть единовременное пособие из соцстраха, оставить галочку начисление носит разовый характер, пособие за счет ФСС в шаблоне проводки Дт 69.01 "Расходы по страхованию" Кт 70 счета, записать вид расчета. Ввести его документом ввод расчета по сотруднику, выбрать вид начисления пособие по беременным, вставшим на учет в ранние сроки беременности и сделать его расчет. В табеле рабочего времени не появляется сотрудница, находящаяся в отпуске по уходу за ребенком.
При формировании табеля заполнять не только штатными сотрудниками, а проставлять галочку Временно не работают. Сотрудница вышла из отпуска по уходу за ребёнком раньше времени. Что делать?
Изменить сроки в документе "Отпуск по уходу за ребёнком". Нет кнопки "Выгрузить" в отчетности по ЕСН.
Открыть: сервис- настройки-зарплата и бухучет, сменить программу бухучета, вместо"Другая программа бухучета в хозрасчетной организации". Требуется выгрузить план счетов из бухгалтерии.
Сервис обмен данными выгрузка данных в зарплату и кадры, галочками отмечаете, какие счета надо выгрузить и копируете путь. В ЗиК сервис-обмен данными - загрузка данных вставляете путь, 2 галочки режим отладки, запоминать ссылки и нажимаете на кнопку "Загрузить".Была введена надбавка. Дата начала задана, дата окончания нет. Вышел приказ на отмену надбавки с первого августа. Как ее отменить?
Для исправления даты окончания документа "Ввод расчета списку сотрудников" необходимо создавать документ-исправление по кнопке "Исправить". После создания записей-сторно, необходимо оформить (как и предлагает программа) документ "Начисление з/пл" со способом "Переначисление за прошлые периоды" и указать весь период, пока действовал вид расчета, оформленный исправляемым документом. <br>Также можно воспользоваться документом "Временное прекращение действия надбавок (удержаний)". Документ позволяет приостанавливать временно и насовсем начисления и удержания по одному сотруднику.Сотрудник работает с 4 мая, ошиблась и в приказе о приеме на работу поставила с 14 мая. Обнаружила в августе, что зарплата за май рассчитана неверно. В приказе поправила дату приема на работу. Зарплата за май неправильная. В конце августа сотрудник увольняется.
В документе начисление зарплаты указать способ переначисление зарплаты за прошлый период с 1 мая по 31 мая. После этого переначислить налоги и сделать перерасчет. Данные по перерасчету за май отразятся в журнале расчета зарплаты в периоде август. Не формируются проводки по налогам с ФОТ, по оплате труда формируются.
В справочнике- расчет зарплаты-виды расчетов для каждого налога на вкладке бухгалтерский учет поставить точку распределять по счетам и указать проводку ДТ счета пусто, т.е он будет подбираться автоматически или из проводки по умолчанию. Или из справочника сотрудники, или из подразделения, в зависимости от того, где прописаны проводки по начислению зарплаты и КТ счета 69 субсчета соответствующего налога. При заведении сотрудника дата рождения становится 2046 год, а год рождения 1946, как изменить?
В меню Сервис-Параметры-Год начала рабочего столетия изменить на 1945 год. При проведении пособия до 1.5 лет - не проводится. Ругается на некорректную проводку.
В этом случае необходимо в меню Справочники-Расчет зарплаты-Виды расчетов-Пособ.до 1,5 лет и до 3-х лет проставить проводку и перепровести созданный документ. Сотрудник был направлен в командировку на 3 дня с 30.05.09, но вернулся раньше, как изменить данные по командировке, если расчетный период, когда был создан документ, закрыт?
Находясь в расчетном периоде Июня в заведенном документе Оплата по среднему заработку по кнопке Исправить открыть редактирование периода командировки и отредактировать дату По и провести документ. При формировании отчетности по ЕСН и ПФР неверно формируются суммы авансовых платежей, расхождение по данным сотрудника в переходящем отпуске.
Нужно заполнить внешнюю форму отчета и выгрузить в Бухгалтерию. Как можно узнать в какие периоды сотрудник находился в отпуске?
Нужно просмотреть форму Т-2 (личная карточка), раздел 8. Сотрудник заболел во время отпуска. Больничный не проводится. При вводе больничного листа выдается сообщение: "За период уже были введены отклонения, прервать?".
В этом случае, нужно выбрать нет. После этого зайти в документ отпуск по кнопке "Исправить", изменяем дату окончания отпуска, если отпуск будет продлеваться. Как можно завести отпуск по уходу за ребенком до 1,5 лет, если у сотрудницы родилась двойня?
Нужно ввести на каждого ребенка отдельный документ-отклонение Отпуск по уходу за ребенком. Как проставить проводку по ПФР? <br></font>Следует в меню Справочники-Расчет з/п-Виды расчетов-ЕСН и страховые взносы в нужном налоге проставить проводку.
[b]Сотрудник отработал неполный рабочий день, каким образом можно исправить 8 часов работы на фактически отработанное время работника?
Часы работы можно изменить в Табеле рабочего времени, вместо 8 часов проставить фактически отработанное время. Как в программе проставить работу сотрудников по 4-дневной рабочей неделе?
Необходимо в меню Регламенты-Календари создать Сменный календарь по 4 дня, в меню Справочники-Графики работы создать новый график и внести в него Сменный календарь. При помощи документа Кадровое перемещение внести изменение у сотрудников изменение графика работы и рассчитать зарплату. Управляющая компания должна показать данные в 2-НДФЛ уплаченные за физ.лицо.
В этом случае следует заполнить 1-НДФЛ на этого человека и сформировать данные по формированию данных 2-НДФЛ. Как ввести праздничные дни?
В меню Регламенты-Ввод праздничных дней ввести праздничные дни. Как ввести начисление единоразового пособия при рождении ребенка?
В меню Справочники-Расчет зарплаты проставить данное начисление по ФСС и в меню Документы-Ввод расчетов сотруднику ввести данное начисление. Корректно ли, принять ранее уволенного сотрудника под старым табельным номером?
Нет, только под новым номером. Удержание алиментов.
Меню документы ввод удержаний - исполнительный лист, указываем сотрудника способ удержания почтовый сбор, сумму почтового сбора, способ расчета фиксированной суммой, указываем сумму. После расчета заходим в отчеты исполнительные листы, вид отчета почтой и нажимаем "Сформировать". Как провести беспроцентный займ и посчитать материальную выгоду?
В меню Справочники - Расчет зарплаты ввести Новое начисление (беспроцентный займ), в меню Документы - Ввод расчета по сотруднику ввести начисление займа и по Вводу начислений ввести расчет Материальной выгоды по вкладам. Отпуск по уходу за ребенком. неправильно поставила дату по..
Необходимо исправить в документе дату по... и перерассчитать зарплату. Как рассчитать командировочные по среднему заработку в программе 1С:Зарплата и Кадры 7.7. Не считается регрессивная ставка по ФФОМС и ТФОМС по сотруднику оклад которого превысил 600000 руб. за 9 месяцев.
Нужно ввести в меню Документы-Прочие отклонения-Оплата по среднему заработку. Регрессивная ставка ФФОМС и ТФОМС не считается после превышения 600000 руб.
Как добавить дополнительную колонку в табличном поле?
Добавляете колонку, а все вычисления реализуются с помощью события ПриВыводеСтроки табличного поля:
С помощью этого события можно выводить не только текст, но также флажки и картинки, например: Картинка:
Флажки:
Еще можно менять цвет фона и текста, шрифт и другие характеристики оформления:
Можно также управлять доступностью отдельных строк и ячеек табличного поля:
Обычно колонка должна быть рассчитываемой, или зависимой от данных, поэтому нужно задействовать второй параметр ДанныеСтроки. Этот механизм можно использовать для отображения остатков товаров в форме подбора, текущих цен, долга контрагента, другой информации по строкам.
Но здесь нужно быть осторожным! Событие ПриВыводеСтроки вызывается довольно часто при перерисовке табличного поля. Поэтому процедура должна отрабатывать довольно быстро, чтобы не тормозить вывод списка. Если в ней происходит обращение к базе данных, то вывод может резко замедлиться.
Если начались тормоза, то рекомендуется сделать следующее:
1. Кеширование результата запроса в переменной модуля формы (таблица значений или массив, еще можно использовать соответствие, которое индексируется для примитивных типов данных, например, код товара или артикул)
2. При отключенной колонке (видимость) запрос к базе НЕ должен выполняться.
По умолчанию колонку держать выключенной, включение только по кнопке в форме или при личных настройках определенного пользователя.
3. Лучше выполнять один большой запрос на несколько товаров, чем несколько маленьких запросов на один товар.
4. Список товаров нужно передавать как ПАРАМЕТР виртуальной таблицы Остатки, а не как параметр условия ГДЕ.
5. При повышенных требованиях к скорости отображения списка и большом количестве пользователей можно завести регистр сведений, хранящий актуальные остатки. Для поддержки его актуальности можно создать последовательность.
6. Еще вариант через обработчик - при ПолученииДанных (вроде так называется)... Там сразу передается массив ОформленияСтрок - в нем все строки сразу и вызывается он реже, чем при выводе строки...
7. Завести в табличной части реквизит, куда при открытии формы и по мере надобности помещать остатки, это значительно ускорит вывод остатков, правда будет не лучшим образом влиять на флаг Модифицированность.