Кевер
Автор
344
Просмотров
34.239.151.124
Ваш IP
25 августа 2023
Дата создания

Список обработок 1С (9500 - 10000)

Список обработок от сайта Infostart

1С Обработки 9000 - 10000

Название Тип обработки
"Заполнение счетов учета, расходов и доходов в табличной части документа ""Реализация товаров и услуг""" 1C: Предприятие 8.2

Краткое описание

Данная обработка заполняет счета учета,доходов и расходов в табличной части "товары" документа "Реализация товаров и услуг". Редактировать можно как конкретные документы реализации, так и список документов за определенный период. Заполняются только те счета, которые заполнены на форме обработки. То есть можно редактировать не только все счета в ТЧ целой кучей, но и изменить какой-то конкретный счет (например, счет учета,а остальные оставить как есть). Галочки "отражать в УУ,БУ,НУ" заполняются также по данным на форме
, причем если на форме они не включены, то и в документе они отключаются. Для документа можно заполнить произвольный комментарий (например, чтобы отметить, что в нем производились программные изменения). Если после выполнения обработки есть изменения в документе, то документ проводится 
Расчетный листок 1C: Предприятие 8.2

Краткое описание

Расчетчикам необходима была информация по норме времени в расчетном листке. 

 

 

UPD: перенес норму в расчетный листок из ЗУП 2.5.65. Также протестировано на УПП
Правила обмена ЗиК 3.35 (7.7) и БП 3.0.19.33 (8.2) 1С:Расчет 7.7, 1C: Предприятие 8.2

Краткое описание

Установка

Внешняя компонента для отображения часов 1C: Предприятие 8.2

Краткое описание

Компонента разработана по технологии Native.

Работает только в Windows с 1С v. 8.2 (обычное приложение, толстый и тонкий клиент управляемого приложения).

Пример использования (конфигурация) прилагается (обычное и управляемое приложение).

 

Методы компоненты:

Показать (ЦветФона, ЦветТекста, ЦветРамки, Прозрачность)

Описание:

Отображает на экране плавающее окошко с текущим системным временем
   
Параметры:
ЦветФона (необязательный)
Тип: строка
Строка, в которой через запятую перечислены значения интенсивности красной, зеленой и синей составляющих цвета фона, на котором будет отображено время. Значения интенсивности указываются числами из диапазона 0-255.
Значение по-умолчанию: "252, 250, 235"

ЦветТекста (необязательный)
Тип: строка
Строка, в которой через запятую перечислены значения интенсивности красной, зеленой и синей составляющих цвета текста.
Значение по-умолчанию: "0, 0, 0"

ЦветРамки (необязательный)
Тип: строка
Строка, в которой через запятую перечислены значения интенсивности красной, зеленой и синей составляющих цвета рамки, обрамляющей время.
Значение по-умолчанию: "179, 172, 134"

Прозрачность (необязательный)
Тип: число
Число в диапазоне 0-255, определяющее насколько прозрачной будет форма, на которой отображается время. 0 - полностью прозрачная форма, 255 - непрозрачная форма.
Значение по-умолчанию: 255.

 

Закрыть()

Описание:

Скрывает форму, отображающую время.

 

Форму, отображающую время, можно свободно перемещать по экрану, используя левую кнопку мышки.

Координаты, описывающие положение формы на экране, "запоминаются" при закрытии формы и будут использованы при следующем её открытии.

Закрыть форму можно щелкнув на ней правой кнопкой мышки.

Форма имеет всплывающее сообщение с "подсказкой".
Отчет по дебиторской и кредиторской задолженности 1C: Предприятие 8.2

Краткое описание

Отчет по дебиторской и кредиторской задолженности по срокам возникновения задолженност
Платежный календарь по Договорам контрагентов 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Унифицированная форма 0504417_Т54 1C: Предприятие 8.2

Краткое описание

Удобная для бухгалтеров (расчетчиков) форма
Акт сверки с итогами по каждому договору и данными контрагента 1C: Предприятие 8.2

Краткое описание

Проверка начисленных и уплаченных страховых взносов по сотрудникам с учетом изменений 2013 года на СКД с возможностью отбора по документам (СЗВ-6-4, СЗВ-6(1-2) и признаку принято в ПФР. 1C: Предприятие 8.2

Краткое описание

Отчет создан по просьбе пользователей для проверки превышения уплаты по взносам в ПФР. В отчете формируются начисленные и уплаченные взносы по страховой и накопительной части и сальдо на начало и конец периода, предусмотрено изменение формы с 1 кв. 2013 года. В отчете можно проанализировать сведения как с 2010 года нарастающим итогом, так и за любой отчетный период (год, квартал, месяц). Отчет разработан на Системе компоновки данных, что делает его очень гибким и удобным в настройках. Предоставлена возможность отбора по сотруднику или списку сотрудников. Также можно быстро исправить ошибки по переплате выполнив сортировку по полям "Сальдо". В отчете учитываются корректирующие сведения, т.к. эти сведения полностью заменяют предыдущие, по таким сотрудникам берутся данные по последнему корректирующему документу. Можно установить отбор или группировку по документам (Пачка документов СЗВ-6-4 и Сведения о страховых взносах и стаже застрахованных лиц (СЗВ-4, СЗВ-6)) и по признаку принято в ПФР как по одному документу, так и по нескольким. От 30.07.2013 в отчете ничего не менялось, добавлен скриншот с настройкой в отчете группировки по документам.
"Создание документа ""Перенос Данных"" 1С 8.2 ЗУП" 1C: Предприятие 8.2

Краткое описание

         Данная обработка используется в случае когда при переносе данных из 1С 7.7 ЗиК не был создан документ Перенос данных (с номером КД как правило) из-за одинаковых ключевых полей (Период, Сотрудник, Организация)

Обработка выбирает документы ПриемНаРаботуВОрганизацию, КадровоеПеремещениеОрганизаций, УвольнениеИзОрганизаций, проверяет есть ли повторяющиеся записи в таблице выборки по ключевым полям, если есть, то такие записи удаляются, остается первая найденая. Далее таблицы склеиваются в одну и делается аналагичная проверка на уникальность, кодга все данные обработаны таблица заносится в регистр сведений РаботникиОрганизации
"Внешняя печатная форма для документа ""Ведомость в банк""" 1C: Предприятие 8.2

Краткое описание

Банк не принимал стандартную печатную форму, требовал поменять местами колонки ФИО и Лицевой счет. Вылаживаю для тех у кого банк тоже так требует, и не хочет парить себе мозги
Управление ИТ отделом 8, редакция 3.0 1С: Предприятие 8.3

Краткое описание

Снятие резервов для УТ 10.3 1C: Предприятие 8.2

Краткое описание

Данная обработка написана и тестировалась с конфигурацией УТ 10.3.2
(УФ) Перепроведение документов по видам запасов товаров для корректного расчета себестоимости. Управление торговлей УТ11 1C: Предприятие 8.2

Краткое описание

"Отчет ""Расчет среднего заработка"" в ""1С Предприятие 7.7 Зарплата и Кадры""" 1C:Предприятие 7.7

Краткое описание

Данный простой отчет был разработан в результате производственной необходимости, ввиду "скудности" отчетов поставляемых по умолчанию в конфигурации 1С 7.7 "Зарплата и Кадры".

Алгоритм основан на расчете среднего заработка документа "Оплата по среднему" с событием "Коммандировка". Для расчета среднедневного заработка используются стандартные функции конфигурации.  Сумма среднемесячного заработка считается исходя  из формулы: СреднедневнойЗаработок * СреднееКоличествоРабочихДнейВмесяце. Среднее количество рабочих дней в месяце можно получить из баланса рабочего времени предприятия. Для нашего предприятия это 20,75 округленное до 2
Формирование документов передачи оборудования в монтаж по оприходованию товаров 1C: Предприятие 8.2

Краткое описание

В результате выполнения, каждой строке оприходования соответствует один документ передачи. Автоматически создаются элементы справочника оборудования с таким же наименованием и налоговым назначением. Шапка документа передачи соответствует шапке оприходования (склад, организация). В табличной части документа передачи появляется одна строка с передаваемой номенклатурой.

Реализован контроль дублей объектов строительства по наименованию.

Есть возможность выбрать статью затрат для подстановки в документы передачи.

Разрабатывалась для Управления торговым предприятием для Украины, вполне должна работать и на УПП для Украины (не тестировал).
Ведомость по партиям ТМЦ с себестоимостью из последней партии 1С:Оперативный учет 7.7

Краткое описание

Сделан на основе стандартного, только сумма себестоимости рассчитывается исходя из последней партии товара. Будет полезен тем, у кого последовательность слетела. Понятно, что цифры получатся примерные, но лучше, чем ничего.
Помощник менеджера по закупкам 1C: Предприятие 8.1

Краткое описание

Обработка предназначена для отдела закупок. Анализируется номенклатура согласно выбраному фильтру (настройки). При выборе склада показывает остатки на дату отчета. Есть возможность анализировать сразу несколько периодов проданых товаров. Также корректируется количество заказываемого товара.Формируется заказ покупателя.
РТиУ на основании выписки банка (поступление) 1C: Предприятие 8.2

Краткое описание

На основании выписки банка (поступление) формируется Реализация товаров и услуг и счет-фактура по виду услуги. Данные отбираются за определнный период , по определнным контрагентам. Указываем организацию, счет,период . Поля контрагент и договор не обязательны к заполнению. Нажимаем на кнопку ОТБОР. Устанавливаем флажки на те документы, которые будет обрабатывать. Нажимаем на кнопку  -СФОРМИРОВАТЬ. Обработкой удобно пользоваться , если у организации большое кол-во документов на оказание одной услуги.
Перепроведение документов по выбранным регистрам 1C: Предприятие 8.2

Краткое описание

Бывает возникает необходимость перепровести документ не по всем регистрам. К примеру, провести так, чтобы не трогать регистр бухгалтерии.

Описание работы:

"Внешняя печатная форма для документа ""Заказ клиента"" с весом и объемом в разрезе дат отгрузки. Для конфигурации УТ 11.1.1.13" 1C: Предприятие 8.2

Краткое описание

Подключение печатной формы производится без изменения конфигурации стандартным образом:

выбрать в меню Администрирование/Печатные формы, отчеты и обработки/Отчеты и обработки/Дополнительные отчеты и обработки.

В открывшемся окне "Дополнительные внешние печатные формы" нажать кнопку Создать.

В открывшемся окне выбрать файл с внешней печатной формой, по необходимости отредактировать параметры внешней печатной формы, и нажать Записать и закрыть.

После этого данная печатная форма будет доступна  для документа "Заказ клиента" по кнопке "Печать" в разделе "Дополнительные печатные формы".
Универсальная загрузка таблицы Еxcel в документ или справочник 8.2. 1C: Предприятие 8.2

Краткое описание

Таблица источника "Входные данные" заполняется из таблицы Excel или из запроса, для таблицы Excel размерность задает первая строка (заголовки колонок) и первая колонка (количество строк), названия колонок не должны повторяться.

На закладке "Соответствие полей" указывается объект в который загружаем, и настраивается соответствие какая колонка источника в какую колонку объекта попадает.

В соответствии можно использовать:

 - фиксированное значение например для заполнения колонки "Активность",

 - использовать поиск элемента справочника, сперва поиск производится по наименованию, потом по коду тут-же возможно использование для поиска владельца,

 - поиск документа разбирает (если может) строку представления документа и подбирает документ по виду номеру и дате,

 - поиск элемента справочника Код,Наим ожидает указания в "Поле загруженной таблицы" названий колонок через запятую "Код","Наименование" справочника для поиска по ним одновременно.

Поиск не может работать с разными типами, поэтому для полей неопределеленного типа надо в колонке "Выбранный тип" указывать конкретный тип.

На закладке "Обработка" производится заполнение таблицы (кнопка "Загрузить из списка") которая пойдет в объект (кнопка "В объект"), тут можно дополнительно проконтролировать корректность настроек. После переноса таблицы в объект типа документ, он открывается для просмотра содеянного. 

 

Удобно применять для начального ввода остатков из ранее заполненных таблиц Excel, или разового ввода большого документа из таблицы, для корректировок "косяков" в регистрах (Запросом выбираем что нужно откорректировать и загружаем в документ "Корректировка регистров накопления"), и в других случаях.
Регламентированный Отчет Статистики Форма ЗП Здрав для конфигурации Зарплата и Кадры 8.2 1C: Предприятие 8.2

Краткое описание

В отчет добавлены функции :

Период- можно указать свой период  для сбора данных

Инфо- показывает что не входит по кодам доходов 

отборы - Включаемые или не включаемые начисления  по видам расчета, подразделениям 

 
"Восстановление битой ссылки ""<Объект не найден> (20:94b81c6f65428d5911e2a8bebc48d793)"" на раз-два" 1C:Предприятие 8

Краткое описание

Существует много способов восстановить битую ссылку в 1С, но для этого нужно сделать много манипуляций. Предлагаю простую обработку, в которой достаточно скопировать представление (текст) битой ссылки и нажать кнопку "Восстановить".

Для тех, у кого кнопка записи для восстановленного объекта не активна, поставьте флаг "Записывать".
Подготовка сведений в ПФР за 2013 год с распределением суммы уплаченных взносов, превышающих начисленные 1С:Расчет 7.7

Краткое описание

При подготовке к сдаче отчета в ПФР столкнулся с тем, что программа не учитывает переплату - не распределяет сумму уплаченных взносов, превышающую начисленную, даже если это оплата проходит в январе 2013 за декабрь 2012. В случае, когда есть долг по оплате на начало периода (например, за декабрь 2012 платят в январе 2013) сумма уплаченных взносов может быть больше суммы начисленных. Программа же ставит сумму уплаченных взносов равную сумме начисленных.

Если раньше (до отчетности за 2013 год) вносились изменения в процедуру  ПолучитьКоэффициентыУплатыВзносов(ТабУплатыВзносов,ТабИсчисленоВзносов), то начиная с отчетности за 2013 год в связи с обязательным распределением уплаты с учетом ранее переданных данных эта процедура не используется.

Переделано распределение переплаты - суммы уплаченных взносов, превышающих начисленные, а так же внесены исправления, связанные с возможными ошибками при формировании штатной обработки из 335 релиза (в пачки попадали ненужные уволенные, неправильно распределялись уплаты взносов, при выгрузке в файл возникали ошибки). 




Добавлено 06.05.13: для тех, кто производил уплату взносов в прошлых периодах за текущий отчетный период (например, в декабре 2012 года уплатили за месяц начисления взносов - январь 2013) обработка ПФР2013_РаспределениеПереплаты_УчетУплатыВПрошлыхПериодах.ert

Для учета сумм взносов, уплаченных в прошлых периодах за текущий отчетный период, в обработке нужно установить флаг "Учитывать уплату взносов в прошлых периодах за текущий отчетный период".

Добавлено 07.07.13: с учетом изменений в штатной обработке в последних релизах (по 338 релиз)  добавил обработки, основанные на штатной (из 338 релиза) и с учетом распределения сумм уплаченных взносов, превышающих начисленные в текущем отчетном периоде:

ПФР2013_РаспределениеПереплаты_2кв2013.ert

ПФР2013_РаспределениеПереплаты_УчетУплатыВПрошлыхПериодах_2кв2013.ert
Автомойка 1C: Предприятие 8.2

Краткое описание

Простейшая конфигурация учета на автомойке. На создание потрачен 1 день. В данный момент конфа работает на одной из моек города. Может, кому пригодится.
АРМ Программиста 1С 1C: Предприятие 8.2

Краткое описание

Простенькая конфигурация по учету работ программиста 1С на предприяти
Быстрое преобразование XML в Таблицу значений 1C:Предприятие 8

Краткое описание

Но такая схема устраивала всех только до определенного предела,  по мере роста объёмов разбираемых файлов скорость перестала устраивать даже самых терпеливых пользователей, и этот механизм был переписан на C#, для передачи результата в 1с использовалась функция "ЗначениеИзФайла". Приложение является консольным, принимающим на вход следующие параметры:
"Отчеты для 7.7 конфигурация ""Бух.учет для Украины""" 1C:Предприятие 7.7

Краткое описание

Дополннительная отчетность содержит 76 отчетов по всем сферам ведения бух.учета. Может быть полезна бухгалтеру. Для подключения, переименовываем папку DOP_ERT в Rp_ERT.grp и копируем в \ExtForms каталога базы. После чего их видно в рег. отчетности
"Ведомость ""Товары на складах"" по местам хранения" 1C: Предприятие 8.2

Краткое описание

Доработанный отчет "Ведомость товары на складах". Добавлена возможность вывода группировки по местам хранения. Место хранения указывается в карточке номенклатуры на закладке "Места хранения"
Отчет по уплаченным страховым взносам с разбивкой по сотрудникам и отчетным периодам с изменениями 2013 г. 1C: Предприятие 8.2

Краткое описание

Отчет показывает в разрезе каждого сотрудника начальное и конечное сальдо по страховым взносам (только по отчетным годам), сумму начисленных и уплаченных взносов за каждый отчетный период и переходящее сальдо между периодами. Отчет собирает данные с даты введения стр. взносов). Формируется для указанной организации. 

В учет берутся только документы персонифицированного учета у которых установлен флаг "Приняты в ПФР". 

По данным с 2010 по 2012 г. анализируются документы Пачки сведений о страховых взносах и стаже застрахованных лиц (СЗВ-4, СЗВ-6). 

По данным с 2013 г  анализируются документы Пачки документов СЗВ-6-4 и корректирующие или отменяющие сведения по формам СЗВ-6-1,2 за прошлые периоды.  
Труднореализуемые товары 1C: Предприятие 8.2

Краткое описание

Отчет показывает труднореализуемые товары по заданным значениям отборов

- Дней на складе

- Расхо
"Ошибка в ""1С:Зарплата и кадры 7.7"" при записи пачки при подготовке отчетов в ПФР" 1С:Расчет 7.7

Краткое описание

"Выгрузка и загрузка справочника ""Номенклатура"" из 1С 7.7 в 1С 8.2" 1C: Предприятие 8.2

Краткое описание

Нередко требуется перевести клиента с версии 7.7 на новую версию 8.2. Самый основной справочник является номенклатура, к которой клиент уже привык и не хотелось бы её менять. Одна обработка позволяет выгрузить в файл весь справочник номенлатуры, приэтом на диске появляется файл С:\\Номенл.txt. Вторая обработка позволяет загрузить этот справочник в нобую базу 1С 8.2. Выгрузка спаврчников работает на версии 7.7 - Торговля и склад 9.2, Бухгалтерия 4.5, Комплексная конфигурация. Загрузку проверял на Рознице
Перенос остатков по счетам между одинаковыми базами. 1C: Предприятие 8.2

Краткое описание

Самая простая обработка для переноса остатков по счетам между одинаковыми базами.

Для переноса необходимо выбрать дату, организацию, если необходимо, указать фильтр по субконто.

При загрузке данных, можно отменить загрузку некоторых субконто.

Планы счетов могут незначительно отличаться.

Поиск данных в справочниках осуществляется по коду, поиск данных в документах осуществляется по номеру документа.
Кредитный калькулятор v2 1C: Предприятие 8.2

Краткое описание

Новое в v2.

Добавил расчет по фиксированному платежу.

Калькулятор для расчета графика платежей.

2 вида расчета: Аннуитетные платежи и Дифференцированые.
Помощник (АРМ) сборки продажи комплектов для УТ 10.3 1C:Предприятие 8

Краткое описание

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

Как пример может быть продажа персонального компьютера, собранного из комплектующих:

Материнкая плата
Процессор
Видеокарта
Оперативная память
Корпус
Блок питания
Жесткий диск
Привод
Мышь
Клавиатура
Монитор

Или например для магазина дверей, менеджер при продаже двери должен не забыть предложить:

Полотно
Коробка
Добор
Наличник
Замок
Ручки
Петли

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

Основные возможности обработки.

"Замена КБК в справочнике ""Основные средства""" 1C: Предприятие 8.2

Краткое описание

Обработка для замены реквизита КБК элементов справочника "Основные средства" для БГУ 8. Пользователь указывает "старый" (заменяемый) КБК и "новый" (заменяющий) КБК. Регистры бухгалтерии не трогаются, меняются только реквизиты справочника ОС.

Решает проблему "расхождения" КБК - например при свертке у основного средства поменяли КБК в документе "Корректировка регистра", т.е. по оборотке все вроде бы нормально, но в самом справочнике будет до сих опр указан старый КБК и не будут автоматически рассчитываться документы списания.
Поиск дубликатов физлиц 1C: Предприятие 8.2

Краткое описание

Создано для того, чтобы не крыжить справочник в поисках задвоенных физиков. Берите и пользуйтесь. Подойдет для любой конфигурации, тестировал на ЗиКБУ.
"NativeAPI. Внешние компоненты на С++ ""для чайников""" 1C: Предприятие 8.2

Краткое описание

Предисловие

В заголовок статьи вынесена фраза "для чайников". Под чайником я имел в виду в первую очередь себя. Все мои знания С++ остались на уровне 3-4 курса ВУЗа, когда я встал на кривую дорожку 1С. И все бы хорошо, но недавно встала задача, требующая написания внешней компоненты. Пришлось поворошить воспоминания и стряхнуть пыль со знаний C++. Оказывается, все не так страшно. Краткий ликбез написания внешних компонент я и хочу вам предложить.

Шаблон компоненты на ИТС

На диске ИТС имеется полная документация по механизму внешних компонент, дополненная примером проекта и шаблоном для собственной разработки. Материал так и называется "Технология внешних компонент". Документация - это прекрасно, но в ней еще надо разобраться, а времени, как обычно, мало. На самом деле, существует всего несколько ключевых моментов, на которые стоит обратить внимание, остальное - тлен и суета:)

Необходимые материалы

Для создания внешней компоненты нам понадобятся:

Материал «Технология создания внешних компонент», расположенный на ИТС
Шаблон пустой внешней компоненты, прилагающийся к материалу
MS Visual Studio. Версия Express бесплатна и более чем достаточна для наших нужд.
Наличие  базовых знаний синтаксиса C++, а именно:
Умение отличить объявление переменной от цикла или условия
Понимание того, что строк в чистом виде в C++ не существует, есть массивы, под которые явно требуется заморачиваться с памятью
Ну и само собой, требуется умение реализовать поставленную задачу на указанном языке. Как минимум, умение вызвать из C++ какую-то стороннюю библиотечку, которая сама все сделает.
Начинаем копать

Документация на Native API достаточно подробна. Если подвести резюме, то она говорит о следующем:

Внешняя компонента позволяет расширить встроенный язык новым объектом (или несколькими). Т.е. мы создадим некий класс, который сможем создавать через оператор «Новый» и вызывать методы этого объекта из встроенного языка.
Для того, чтобы наш объект работал, платформа будет «общаться» с ним по определенному протоколу, который мы и обязаны обеспечить.
Собственно код компоненты условно состоит из двух частей: первая - регистрация самой компоненты в системе, вторая - работа нового класса и его взаимодействие с платформой.

Мы не будем залезать в особенности реализации, у нас сроки горят, да и компетенции маловато. Нам нужно быстро понять – в какое место нужно вписать свои строчки, чтобы компонента заработала. Для этого, берем шаблон компоненты с ИТС и открываем его в Visual Studio. Шаблон находится в папке template распакованного архива. Посмотрим, что у нас тут есть.

Нас интересует файл AddInNative.cpp. Вся реализация заложена в нем. Он содержит заготовки всех нужных методов, нужно только их слегка настроить. Однако оказалось, что проще взять за основу не пустой шаблон, а разобраться с рабочим примером. В нем есть несколько полезных примочек, которых нет в пустом шаблоне. Когда придет понимание – нужно будет взять пустой шаблон и уже со знанием дела его доработать. Пример рабочей компоненты расположен в папке example\NativeAPI, а пустой шаблон – в папке template.

Откроем проект из папки example и в нем – файл AddInNative.cpp

В самом начале файла расположены объявления констант и вспомогательных функций. Нас интересуют следующие строчки:

Наш объект, как «настоящий» будет поддерживать методы, написанные, как на русском, так и на английском языке. Для этого объявлены написания имен свойств и методов на двух языках. Синяя рамка – английские термы, красная, соответственно – русские. На картинке видно, что в примере уже реализован ряд методов и свойств. Наша задача – их убрать и вставить свои.

Зеленой рамкой выделена строка, в которой объявлено имя класса. Честно признаюсь, я не вникал, что оно означает. Если его поменять, то ничего не работает. Поскольку изначально оговорились, что я «чайник», то мне простительно. :)

Таким образом, если наш объект будет содержать метод «ВыполнитьРасчет» и свойство «Адресат», то нам нужно описать это имя в массиве g_MethodNamesRu и g_PropNamesRu, соответственно.

Вызовы из языка 1С

Итак, наш объект будет содержать один метод и свойство, доступное для чтения и записи.

Пусть будет следующий сценарий использования:

НашОбъект = Новый(“AddIn.MyComponent.DataSender”); // DataSender – это имя из ф-ции RegisterExtensionAs (рассмотрена ниже).
НашОбъект.Адресат = «somemail@server.com»;
НашОбъект.ВыполнитьРасчет(СуммаПлатежа, «За коммунальные услуги»);

Имеется строковое свойство и метод с числовым и строковым параметром. Для того, чтобы все это заработало 1С выполняет примерно следующий протокол общения с компонентой:

Платформа вызывает предопределенные функции в нашем объекте, а он ей отвечает и выполняет ее команды. Аналогичная ситуация с методами, только там помимо номера метода запрашивается количество параметров, наличие возвращаемого значения, а также наличие необязательных параметров.

Вернемся к нашему коду. Во избежание «волшебных чисел» в классе CAddInNative объявлены два перечисления, отвечающие за определение номеров методов и свойств. Откроем  файл CAddInNative.h и увидим их в самом начале:

В пустом шаблоне этих перечислений нет, а также нет примера для отделения вызовов на русском от вызова на нерусском. Этот подход необязателен. Важно соблюдать интерфейс, а будут перечисления или нет – решать вам.

Строки Unicode

Многие, наверное, знают, что платформа оперирует двухбайтовыми символами в формате Unicode. В шаблоне для этого объявлен специальный тип WCHAR_T. Этот тип является кросс-платформенной оберткой и обеспечивает одинаковый размер символа на Windows и на Linux. Стандартный тип wchar_t по размеру может отличаться на разных системах. Обратите также внимание, все строковые литералы объявляются с префиксом в виде буквы L. Это означает, что такая строка имеет тип wchar_t.

Есть простое правило: внутри компоненты строки обрабатываются как wchar_t (на Linux может быть 4 байта, в Windows – 2), но как только мы передаем строку в 1С или принимаем ее оттуда, то нужен WCHAR_T (строго 2 байта на всех системах).

Для преобразования одного типа строк в другие в шаблоне предусмотрены вспомогательные функции:

Первая – формирует WCHAR_T из стандартного wchar_t:

uint32_t convToShortWchar(WCHAR_T** Dest, const wchar_t* Source, uint32_t len = 0);

Вторая – наоборот. Формирует wchar_t из WCHAR_T.

uint32_t convFromShortWchar(wchar_t** Dest, const WCHAR_T* Source, uint32_t len = 0);

При взаимодействии с платформой всегда используется только WCHAR_T.

Тип Variant

Еще одна интересная вещь – это универсальный тип данных Variant. Он позволяет нам взаимодействовать с языком 1С, который, как известно, не типизирован и каждая переменная в нем может содержать что угодно. При обмене значениями используется именно этот тип. Мы передаем в метод ВыполнитьРасчет два параметра – число и строку. В компоненту «приедут» два значения Variant. На нас возлагается обязанность проверить их действительный тип. Никто не помешает передать в компоненту не число, а скажем, таблицу значений.

Хотя, я похоже, ошибаюсь. Мне кажется, что ТаблицуЗначений в NativeAPI передать все-таки не получится, т.к. ее нет в списке допустимых типов, но, тем не менее, можно передать Дату вместо Cтроки. Это тоже не есть хорошо. Мы должны проверить реальный тип переменной, приехавшей из 1С.

Тип Variant устроен несложно. Это структура, свойствами которой являются значения разных типов. Там есть свойства типа DATE, wchar_t, int и прочие. Главной частью Variant является свойство «vt» которое хранит настоящий тип переменной, и по которой можно понять, как именно трактовать данный Variant. Кроме того, объявлен ряд вспомогательных макросов, упрощающих работу с типом Variant.

Ближе к делу

Вроде бы, со вступлением всё. Предлагаю рассмотреть пример реализации внешней компоненты. В качестве ТЗ выступит пример компоненты с диска ИТС. Этот пример описывает следующие возможности:

Вывод текста в строку состояния главного окна;
Посылка внешнего события по таймеру;
Передача двоичных данных в 1С:Предприятие;
Реализация свойств;
Реализация процедур;
Реализация функций;

Компонента имеет следующий API:

Свойства:
Включен/IsEnabled;
ЕстьТаймер/IsTimerPresent;
Методы:
Включить/Enable;
Выключить/Disable;
ПоказатьВСтрокеСтатуса/ShowInStatusLine;
ВключитьТаймер/StartTimer;
ВыключитьТаймер/StopTimer;
ЗагрузитьКартинку/LoadPicture;

По таймеру возникает внешнее событие, на которое можно подписаться из кода 1С.

Руководствуясь имеющимися у нас знаниями, рассмотрим компоненту с самого начала.

Регистрация компоненты

Наш объект реализуется в виде отдельного класса C++, в данном случае – CAddInNative. Чтобы 1С смогла увидеть наш класс, библиотека dll должна экспортировать 3 функции:

GetClassObject
DestroyObject
GetClassNames

Эти экспорты можно увидеть в файле AddInNative.def в дереве проекта VisualStudio. Посмотрим на код этих функций:

Самая простая – функция GetClassNames – сообщает платформе 1С какие классы есть в нашей компоненте. Пусть гуру C++ меня поправят, мне кажется, что здесь нужно ответить платформе именами классов C++, чтобы она могла их к себе импортировать. Именно для этого служит массив g_kClassNames, тот самый, с зеленой «рамочкой». Специально не проверял, если нужно просто заставить компоненту работать, то следует оставить все, как есть в примере. Он и так рабочий, не стоит его ковырять до поры до времени.

Итак, GetClassNames, возвращает в платформу массив имен классов, реализующих полезные объекты внешней компоненты. В нашем примере компонента вернет в платформу массив из одного элемента с именем класса CAddInNative.

Обратите внимание, в платформу пойдет значение типа WCHAR_T, а имя класса в массиве g_kClassNames имеет тип wchar_t. Поэтому, выполняется приведение с помощью вспомогательной функции, о которой говорилось выше.

Следующая функция – GetClassObject. Вызывается, когда в коде предприятия мы написали «Новый». Платформа требует от нас создать новый экземпляр класса и вернуть ей указатель на новый объект.

Опять же, обратите внимание, первым параметром платформа говорит нам – какой именно класс создать (из тех, что дали ей методом GetClassNames). Поскольку у нас только один класс, то это имя здесь вообще не проверяется, просто создается объект через new и возвращается через выходной параметр pInterface.

И последняя обязательная экспортная функция – DestroyObject. Название говорит само за себя. Когда объект платформе больше не нужен, его требуется удалить. Нам передается указатель на ранее созданный объект. Освобождаем его с помощью delete и обнуляем ненужные указатели.

Описанные реализации достаточно универсальны. Если наша компонента реализует только один класс (как в примере), то эти функции нужно тупо скопировать к себе. Единственное условие – создать правильный класс в функции GetClassObject, если у вас он называется не CAddInObject, а как-то иначе.

Инициализация/завершение существования компоненты

После создания класса, реализующего компоненту, платформа вызывает методы этого класса. Перед началом работы платформа сообщит нам объект «самой себя», с которым мы можем вызывать те или иные методы самой платформы. Происходит это в методе Init. В примере объект платформы сохраняется в переменной m_iConnect.

Далее, метод GetInfo должен вернуть номер версии «Технологии внешних компонент». На данный момент, это всегда версия 2.0, а метод всегда возвращает значение 2000.

Еще один важный метод – setMemManager. Позволяет выделять блоки памяти, которые будет освобождать сама платформа. Реализуется следующим образом:

Мы просто сохраняем у себя указатель на менеджера памяти, который передает нам платформа. Потом, этим менеджером мы будем выделять память, освобождаемую самой платформой.

И опять  же, как и в случае с экспортными функциями, методы инициализации достаточно универсальны, их можно просто скопировать к себе и не заботиться об их «допиливании», пока это не станет действительно нужно.

Полезная нагрузка. Методы и свойства объекта компоненты
Регистрация

Ну и разумеется, мы создавали компоненту не ради ее инициализации, а ради какого-то полезного функционала. Настало время рассмотреть, как он реализуется.

Во-первых, мы должны зарегистрировать объект, который может быть создан и вызван из языка 1С. Данный объект регистрируется в методе RegisterExtensionAs.

 

В этом методе мы сообщаем платформе имя нашего класса, как оно будет видно из языка 1С. Именно по этому имени мы будем его создавать через «Новый». В данном случае, создание объекта будет выполняться следующим кодом:

ПодключитьВнешнююКомпоненту(Файл, "МояКомпонента", ТипВнешнейКомпоненты.Native);
ОбъектКомпоненты = Новый("AddIn.МояКомпонента.AddInNativeExtension");

Согласно документации, память для строки с именем класса выделяется менеджером памяти, и по этому адресу записывается имя – «AddInNativeExtension». Здесь можно безболезненно написать свое имя. Обратите внимание, опять происходит преобразование из wchar_t в платформенный WCHAR_T.

Использование

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

НашОбъект = Новый("AddIn.MyComponent.DataSender"); // DataSender – это имя из ф-ции RegisterExtensionAs (рассмотрена ниже).
НашОбъект.Адресат = "somemail@server.com";
НашОбъект.ВыполнитьРасчет(СуммаПлатежа, "За коммунальные услуги");

то будет выполнен следующий опрос:

Есть ли свойство «Адресат»
Поддерживает ли оно запись
Есть ли метод ВыполнитьРасчет
Сколько у него параметров
Есть ли у него возвращаемое значение
Какие умолчания у необязательных параметров (если есть)

Здесь полезнее всего смотреть в пример и сверяться с документацией. Реализация всех этих опросов довольно прямолинейна. За взаимодействие отвечает целый зоопарк методов. Все рассматривать не буду, они довольно хорошо документированы, а кроме того, реализуются просто. Рассмотрены будут только наиболее значимые моменты, в которые нам, как «чайникам», надо будет залезть своими ручонками :). Основной подход следующий: при первом упоминании того или иного свойства или метода платформа попросит нас поискать его по имени. Мы должны будем ответить уникальным номером данного свойства (метода). Все дальнейшее общение будет происходить только по номерам. Здесь-то и помогут упомянутые перечисления, хранящие эти номера. 

Свойства

Первое, что стоит рассмотреть – это инфраструктура свойств. Платформа запрашивает существование свойства методом FindProp

Платформа передает нам имя искомого свойства в виде WCHAR_T. Оно преобразуется в wchar_t вспомогательным методом, и происходит поиск этого текста сначала в англоязычных термах, а затем в русскоязычных. Вернуть мы должны номер свойства. Обратите внимание, здесь задействована вспомогательная функция findName. Ее реализация есть в примере, но нет в пустом шаблоне компоненты. Кажется целесообразным перетаскивать ее к себе, если в компоненте планируются двуязыячные термы.

Далее, метод GetPropName выполняет обратную задачу, получает имя свойства по его номеру. Строка с именем также выделяется через менеджер памяти предприятия. Подозреваю, что метод GetPropName совместно с GetNProps используется, когда мы разворачиваем свойства объекта «плюсиком» в отладчике. Тогда платформа получит общее число свойств и для каждого из них запросит имя.

Следующая пара методов IsPropReadable/IsPropWritable. Здесь все просто, для указанного номера свойства мы должны сказать можно ли его читать/писать.

Получение и запись значений выполняются методами GetPropVal/SetPropVal. Здесь стоит остановиться подробнее. Мы начинаем работать с типами 1С:Предприятия, а значит, на сцену выходит Variant.

Шаблон компоненты определяет набор вспомогательных макросов для упрощения работы с Variant. Первый из них – это проверка типа значения. Например, макрос TV_VT позволяет проверить/установить тип значения. Определены также именованные константы для каждого из поддерживаемых типов. Эти константы и их соответствия типам 1С:Предприятия перечислены в документации.

Макрос TV_BOOL получает из варианта булево значение, с которым можно работать. По аналогии получаются целые значения (TV_INT), строки (TV_WSTR) и другие. Точные значения есть в коде, их всегда можно посмотреть.

Важный момент – мало присвоить варианту какое-то значение, нужно также присваивать и действительный тип. Обратите внимание на GetPropVal. Помимо присваивания TV_BOOL = true идет присваивание типа: TV_VT = VTYPE_BOOL. Если тип не присвоить, платформа не будет знать – какой тип значения ей вернули. Разумеется, можно накосячить и задать неверный тип. Часто это сопровождается падением платформы.

Подведем итог вышесказанного:

Получаем значение из варианта:

bool someVariable = TV_BOOL(pVariant);

Записываем значение в вариант:

TV_VT(pVariant) = VTYPE_BOOL; // действующий тип данных

TV_BOOL(pVariant) = someBooleanVariable; // устанавливаем само значение

А теперь – горбатый методы!

С методами немного сложнее, но в целом, похоже на свойства. Во-первых, есть точно такая же функция поиска метода по имени, получения общего количества методов, получения имени по номеру. Однако помимо перечисленного, добавляются следующие особенности:

Если метод может возвращать значение, значит, его можно использовать в «Вычислить» и записывать справа от операции присваивания в языке 1С. Если нет, то это процедура и подобные вещи будут приводить к исключению «Использование процедуры как функции»
У метода есть параметры. Платформа должна знать их количество. Если при вызове указано аргументов больше чем в сигнатуре метода, то возникает ошибка «Слишком много параметров»
Если методу передано недостаточное количество аргументов, значит, некоторые из них могут быть необязательными, а если необязательных параметров нет, то возникает ошибка «Недостаточно параметров».
При вызове, если это процедура, то возвращаемого значения быть не может. Если это функция, то есть возвращаемое значение. Его тоже нужно обработать.

Есть ряд простых методов, назначение которых понятно из их имен и из документации. Сюда относятся HasRetVal, GetNParams, GetParamDefValue. Их предлагаю не рассматривать, примера более чем достаточно. Наш интерес будет направлен в сторону непосредственной реализации полезной нагрузки. Она реализуется в методах CallAsProc и CallAsFunc. Первый отвечает за вызов процедур, второй – за вызов функций. Отличаются они тем, что CallAsFunc имеет дополнительный выходной параметр, в котором мы передадим платформе возвращаемое значение функции.

Вызов осуществляется следующим образом: платформа передает нам номер вызываемого метода, массив фактических параметров и их количество. Мы должны проанализировать номер метода и скормить ему переданные параметры. В случае функции мы должны также записать что-то в возвращаемое значение.

 

В примере номер метода анализируется в switch/case и в зависимости от номера выполняется логика метода. Для методов Включить/Выключить просто устанавливается флажок. Интересен метод ПоказатьВСтрокеСтатуса. Он показывает то, что ему передали в строке состояния окна 1С:Предприятия. Для этого используется объект подключения к платформе m_iConnect, тот, что был «выдан» нам при регистрации компоненты. Полный перечень его возможностей описан в документации.

Интересный момент. Здесь, в примере, не проверяется тип приехавшего из 1С значения, а просто вызывается SetStatusLine со строковой частью Variant. Я подозреваю, что если вызвать метод компоненты из языка 1С, передав туда число или дату (вместо строки), то работать ничего не будет… Опять же, пусть гуру поправят, но кажется, что указатель pwstrVal будет указывать неизвестно куда, если из предприятия приехало скажем, число, а не честная строка. При вызове SetStatusLine, платформа попытается прочитать с неизвестного адреса строку и, скорее всего, упадет. Лучше всегда проверять ожидаемый тип. Мало ли чего.

Функция ЗагрузитьКартинку в примере реализована более интересно, там рассмотрена возможность обмена с платформой строками и двоичными данными.

Во-первых, здесь проверяется количество переданных параметров. Если их нет, то вызов признается неудачным. Возвращается false, что трактуется платформой, как ошибка вызова.

Далее, здесь проверяется тип переданного параметра. Если это узкая строка (VTYPE_PSTR), то используется char-овая часть варианта. В примере написано paParam->pstrVal, но можно воспользоваться макросом TV_STR, будет то же самое, но еще и соблюдено единообразие работы с вариантом.

Если это широкая строка (VTYPE_PWSTR), то выполняется преобразование сначала к wchar_t, а затем к char. Дело в том, что нам из языка 1С в данный метод передается путь к файлу, который затем используется в функции fopen(char*). Эта функция на вход требует тип char*, а из платформы к нам придет WCHAR_T.  Для корректной работы и выполняются преобразования строк.

Ну и последнее, если это вообще не строка, то вызов признается неудачным, возвращается false.

Далее будет открыт файл, и в случае ошибки будет выдано сообщение (это код для краткости пропущен). Если все хорошо, то в 1С возвращаются двоичные данные картинки.

Мы выделяем память под двоичные данные менеджером памяти. Это логично, двоичные данные станут полноценным объектом внутри платформы, и распоряжаться ими должна именно она. Память выделяется для варианта pvarRetValue, представляющего собой возвращаемое значение функции внешней компоненты.

В выделенный буфер считывается файл целиком, кроме того, обязательно указывается байтовый размер в свойстве варианта strLen и тип данных варианта VTYPE_BLOB. Если память выделится удачно, то возвращаем true, как признак удачного вызова всей функции.

Таким образом, когда в языке 1С будет написано:

ДвоичныеДанные = Компонента.ЗагрузитьКартинку("C:\pic.jpg");

будет вызван метод CallAsFunc объекта компоненты с передачей пути и возвратом двоичных данных, как описано выше.

В случае успеха переменная ДвоичныеДанные будет содержать полноценный объект языка 1С. Когда он выйдет из области видимости вся занятая им память будет освобождена платформой. Именно поэтому выделялась она через менеджер памяти.

Заключение

Рассказ писался чайником для чайников, поэтому, скорее всего, пестрит терминологическими неточностями. Тем не менее, цель статьи – быстрое введение во внешние компоненты. Если в сжатые сроки, без лишних заморочек, без долгих разбирательств нужно быстро сделать компоненту, то я надеюсь, что эта статья вам поможет. Если от каких-либо моих ошибок вам, как гуру C++, стало плохо – сообщайте в комментариях, будем исправлять.

Спасибо за внимание.
Создание документов поступления на основе непроведенных документов реализации платформа 8.2.16.368 конфигурация Бухгалтерия предприятия 2.0.46.7 1C: Предприятие 8.2

Краткое описание

Иногда необходимо в конце отчетного периода провести все непроведенные документы реализации сразу. А товара не хватает. Для того, чтобы создать документ поступления в начале периода (или дополнить существующий) и предназначена эта обработка.

Порядок работы с программой.
Розница. Проверка расхождений в ТОРГ 29 1C: Предприятие 8.2

Краткое описание

У клиента появились расхождения в отчете. Написал быстренько отчетик изменив немного типовой запрос.
Проверено на Рознице
Быстрый яндекс-переводчик для 1С. Работающий с помощью API 1C: Предприятие 8.2

Краткое описание

Блуждая по просторам Инфостарта заметил публикацию //infostart.ru/public/88054/... Посмотрел на код и немного удивился подходу... Что и натолкнуло на мысль опубликовать данный пример работы с API для перевода. Воизбежания нареканий на плагиат =)))))) Взял АПИ-Яндекса 

Преимущество - это отказоустойчивость и быстродействие. Без создания тхт-файлов, не теребя HTTP-соединение.

Использую как всегда любимые функции

encodeURI (жаба)

XMLReader (XMLчтение 1с)

XMLHttp (GetCOMObject("", "Microsoft.XMLHTTP");)

 

API-key "вшит" в коде. Получить его можно на оф. сайте Яндекса. И ручками заменить, при потере работоспособности.
 
Расширенная материальная ведомость по данным БУ для УПП 1C: Предприятие 8.2

Краткое описание

Рентабельность производства в УПП 1C: Предприятие 8.2

Краткое описание

Формировать после расчета себестоимости, минимальный период - месяц. Отчет по умолчанию настроен в группировках Номенклатурная группа - Номенклатура

Столбцы:

Количество выпуска - количество выпущенной продукции за период

Стоимость выпуска - себестоимость выпущенной продукции за период

Себестоимость - средняя себестоимость единицы выпущенной продукции

Количество продажи - количество проданной продукции за период

Стоимость продажи - стоимость проданной продукции (без НДС)

Средняя цена - средняя стоимость проданной единицы продукции (без НДС)

Наценка - Средняя цена минус Себестоимость

Прибыль - Стоимость продажи минус Стоимость выпуска

 

 
Удаление объекта (версия 2.1) 1C: Предприятие 8.2

Краткое описание

Есть возможность групповой пометки на удаление, группового снятия этой пометки, и группового удаления объектов без всяких проверок.
Расчетная ведомость + Налоги с ФОТ под ЗУП 2.5 в стиле 77 1C: Предприятие 8.2

Краткое описание

Материальный отчет для БГУ 1C: Предприятие 8.2

Краткое описание

Отчет отражает движение МЗ по выбранному МОЛ, по группе счета 105 или конкретному субсчету. Отчет формируется на определенную дату за выбранный период.

Отчет создан на базе публикации //infostart.ru/public/154280/
Т-1 с северным и районным коэффициентом 1C: Предприятие 8.2

Краткое описание

Внешняя печатная форма Т-1 для ЗУП 8.2 переделывал печатную форму //infostart.ru/public/94258/ в котором северная надбавка указывается не корректно, при условии, если начальный процент северной надбавки стоит 0, и указано количество дней и месяцев северного стажа или указана дата действия северного стажа иная, чем дата приема в организацию.
Отчет по скидкам контрагента 1C: Предприятие 8.1

Краткое описание

Отчет для УТ 10.3 показывает какая цена по прайсу какая цена с учетом скидки или ограничения!
Расширенный отчет по плану счетов 1C: Предприятие 8.2

Краткое описание

Отчет позволяет для произвольного плана счетов получить структуру элементов, уникальные идентификаторы элементов и имена предопределенных элементов.
Для каждого счета определяются все его характеристики, реквизиты, виды учета, применяемые виды субконто, а для видов субконто и их виды учета.
Кроме того, отчет позволяет определить счет по уникальному идентификатору
Экспорт контрагентов в медок из 1с 8 1C:Предприятие 8, 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Выгрузка позволяет быстро и удобно внедрить электронный документооборот на предприятии, ведь Вы можете с легкостью переместить всех ваших контрагентов (покупателей и поставщиков) с 1С в Медок. А это значительно сэкономит Ваше время и облегчит работу в Медке. Вы будете иметь 2 актуальные базы ваших контрагентов, как в 1С, где ведете учет, так и в Медке, где формируете и отправляете отчетность. С помощью этой выгрузки Вам будет намного легче обмениваться первичной документацией с Вашими контрагентами.
Обработка для импорта выписки из iFOBS Client ОТП-банка в 1С (поддерживается XML и TXT) 1C: Предприятие 8.2

Краткое описание

Установив новый iFOBS Client от ОТП-банка столкнулся с проблемой.  Файлы хорошо выгружаются в различных форматах, но дополнительная внешняя обработка "Обмен данными с системами "Клиент-банк"" их не читает. Вот я и решил ее подправить. Теперь загружает выписку в XML-формате правильно. Пользуйтесь и облегчайте себе жизнь.

Внимание: данная обработка работает только у тех , кто пользуется для обмена с клиент-банком внешней обработкой "Обмен данными с системами "Клиент-банк"" (КВ8).

В папку КВ8 копируем файл NoiseWhite2.epf (папка КВ8, как правило, расположена в корне диска, где установлена программа  1С8).

В папке КВ8 есть  файл ClientBank. Открываем его блокнотом или любым текстовым редактором и пишем:

Отипи;NoiseWhite2.epf.

Сохраняем.
Универсальный журнал документов с фильтром по организации 1C: Предприятие 8.2

Краткое описание

Краткое описание:

* Период – выборка документов за указанный период;
* Организация – выборка документов по указанной организации (если не указана, то документы выбираются по всем организациям);
* Закладка «Журнал» - в закладке отображается список отобранных документов. Можно задать способ вывода: по указанным на закладке видам документов, по конкретному виду документа (вид выбирается из списка «Отбор по виду документа»), по всем видам документа;
* Закладка «Виды документов» - отображает виды документов попавших в список.
Поиск и замена для БГУ 8 с фильтром по балансу и КФО 1C: Предприятие 8.2

Краткое описание

За основу взята стандартная обработка для БГУ и к ней приделан фильтр. Для начала рекомендую проверить на копии. В отбор могут попадать лишние записи, однако заменяются только нужные.
Унифицированная форма ОП-18. Акт о передаче товаров и тары при смене материально ответственного лица. 1C:Предприятие 8

Краткое описание

Унифицированная форма ОП-18. Акт о передаче товаров и тары при смене материально ответственного лица.
Генератор штрих-кода EAN-13 весового товара для конфигурации 1С:Розница 2.0, с возможностью печати. 1C: Предприятие 8.2

Краткое описание

Для работы генератора штрих-кода необходимо присвоить номенклатуре код "SKU", наименование шаблона этикетки "Штрих-код". Данная обработка работает в составе конфигурации 1С:Розница 2.0, для чего ее нужно добавить в состав обработок, заполнить модуль менеджера из прилагаемого файла и установить подсистему расположения.

После запуска выбрать номенклатуру товара; считать вес товара с электронных весов, либо ввести вручную; найти код товара "SKU" по нажатию на соответствующую кнопку "Найти код SKU" и выполнить генерацию штрих-кода.

Необходимо подключение внешней компоненты 1С Печати штрих-кодов.

После чего выбираем из табличной части строки и выполняем команду печать.
Очистка кэша 1С из сеанса 1С Предприятие 1C: Предприятие 8.2

Краткое описание

Многие сталкивались с тем, что при динамичесом обновлении новая версия конфигурации может работать с ошибками, причем ошибки могут быть совершенно не связаны с измененным объектом и даже не поддаваться никакому логическому объяснению как например ошибка формата потока. Для их устранения нужно всего-лишь отчистить кэш пользователя у которого она возникает. Было решено не чистить кэш при каждом динамическом обновлении, а чистить только тогда, когда это действительно необходимо, причем пользователь сам решит, когда ему удобно произвести очистку.

Есть много решений данной проблемы, и хочется добавить к ним еще один вариант решения, который успешно работает и для кого-то может быть более удобным.

Основное отличие обработки:

Печать пропуска на основании Реализации УТ 11 1C: Предприятие 8.2

Краткое описание

Внешняя печатная форма печати пропуска на основании документа Реализация УТ-1
Анализ примененных скидок и наценок по реализации. Для УТ 11 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет на СКД, помогающий анализировать примененные скидки по реализациям 
Метаданные ++ (для 1С 8.2 обычное приложение) 1C: Предприятие 8.2

Краткое описание

 

 

 

 

Сделано по мотивам Метаданные +

Основное назначение данной обработки - возможность в режиме Предприятия просматривать реквизиты и свойства объектов метаданных

 

Поддерживаются следующие типы объектов:

- Общие объекты;
- Константы;
- Справочники;
- Документы;
- Журналы документов;
- Перечисления;
- Отчеты;
- Обработки;
- Планы видов характеристик;
- Планы видов расчета;
- Регистры сведений;
- Регистры накопления;
- Регистры бухгалтерии;
- Регистры расчета;
- Планы счетов;
- Бизнес-процессы;
- Задачи;
- Внешние источники данных.

При клике по строке левой табличной части происходит попытка открытия форм списков всех стандартные типов объектов и некоторых Общих: План обмена, Общая форма, Общий макет, Общая картинка, или переключение Интерфейса.

 

В новой версии обработки используются две табличные части. Поэтому рекомендуется использовать автооткрытие и автосохранение настроек, иначе при каждом открытии формы будет происходить заполнение табличных частей.

Данный подход замедляет открытие/закрытие обработки, но зато предоставляет новые возможности. Такие, например, как просмотр всех реквизитов и свойств объектов метаданных, сравнение двух объектов, стандартные отборы на табличные части.

 

Почему появилась эта разработка?

Иногда возникает необходимость просмотреть реквизиты какого-то объекта метаданных, не заходя в конфигуратор.

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

Войти в 2 конфигуратора одной базы нельзя, зато можно открыть много-много предприятий и в одном из них запустить данную обработку. Вот как это выглядит у меня:

 




 

При выборе типов объектов показывается количество объектов данного типа.

 

 

В отличие от предыдущей версии, Общие картинки выводятся с предпросмотром:

 

 

Можно попытаться открыть любую форму и любой текстовый или табличный макет.

Для этого, при выборе соответствующей формы/макета на правой панеле, нужно использовать две специальные кнопочки:

 

 

Небольшое замечание: при выводе стандартных реквизитов пропускаются некоторые совсем уж стандартные .

Например, для регистров "Активность" и "НомерСтроки".

 

Для просмотра значений "больших" реквизитов (например, графы журнала, движения документа или ввод на основании) очень удобна кнопка "Просмотр значения" на правой табличной части или двойной клик по значению. При ее нажатии открывается специальная форма:

Обратите внимание на флажок "Просмотр значения списком". Когда он установлен, строка значения выводится без "запятых" и каждое значение на новой строке.

 

 В новой версии реализован режим одновременного показа всех реквизитов по всем объектам:

.

 

Т.к. теперь все данные помещены в 2 табличные части, можно настроить гибкие отборы по Объектам и их Реквизитам.

 

 

Уникальный режим сравнения двух объектов метаданных: 

При выборе не общего типа на левой командной панели становится доступна кнопка  "Сравнить":

.

 

После ее нажатия открывается форма сравнения двух объектов. Выбирать для сравнения можно только однотипные объекты - например, справочник и справочник, документ и документ, и т.д. Можно регулировать режим отображения реквизитов и свойств этих объектов - все или только отличающиеся.

.

 

Ну, и напоследок, еще один бонус:

В меню формы Действия есть кнопочка "Показать все картинки". При ее нажатие в табличный документ выводятся все Общие картинки конфигурации:

 

Можно выбирать количество колонок при выводе в табличный документ. По умолчанию - 5. 

 

 Данная обработка тестировалась в следующих конфигурациях:

- Бухгалтерский учет для Украины;
- УТП для Украины;
- УПП для Украины; 
- УПП для России;
- Библиотека стандартных подсистем Версия 2.
РСВ-1 для Комплексной 7.7 1C:Предприятие 7.7

Краткое описание

В Комплексной 7.7 не работает автозаполнение РСВ.

Проблемы:

Печать ценника с артикулом УТ 10.3 1C: Предприятие 8.2

Краткое описание

Можно печатать ценники из документов поступления, установки цен номенклатуры и пр.
Просмотр выгруженного файла XML алкогольной декларации (Приложение 5,6,7,8,11,12) 1C: Предприятие 8.2

Краткое описание

Обработка позволяет просматривать данные файлов выгрузки в XML следующих приложений:
-    Декларация об объеме розничной продажи алкогольной (за исключением пива и пивных напитков) и спиртосодержащей продукции (Приложение 11);
-    Декларация об объеме розничной продажи пива и пивных напитков (Приложение 12);
-    Декларация об объеме оборота этилового спирта, алкогольной и спиртосодержащей продукции (Приложение 5);
-    Декларация об объеме поставки этилового спирта, алкогольной и спиртосодержащей продукции (Приложение 6);
-    Декларация об объеме закупки этилового спирта, алкогольной и спиртосодержащей продукции (Приложение 7);
-    Декларация об объеме перевозки этилового спирта, алкогольной и спиртосодержащей продукции (Приложение 8);
Отчет о движении денежных средств в разрезе периодов 1C: Предприятие 8.2

Краткое описание

Отчет показывает движения денежных средств в разрезе статей ДДС с группировкой по периодам.

В случае корреспонденции пятидесятых счетов со счетом 91, через знак "//" указывается статья прочих доходов и расходов для расшифровки курсовых разниц и др. 

Итоги отчета показывают сумму движения за период, а так же остаток на счетах. Проверено на релизе 3.0.65 и более ранних.

 Сайт разработчика: http://www.isvs1c.ru/
Очистка версий объектов 1C: Предприятие 8.2

Краткое описание

Для тех, кто знаком с механизмом версионирования объектов!


Столкнулся с проблемой, при включении типового механизма версионирования база стремительно растет, при чем  регистр сведений занимал 1/3 всей базы.

Данная обработка , удаляет из регистра  версии старше заданного периода по дням.

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

 

Другие публикации по теме:

 

Подсистема версионирования для УТ 10.3 //infostart.ru/public/61706/

 

Изменения объектов (версионирование) //infostart.ru/public/79329/

 

Удаление дублей объектов в подсистеме версионирования //infostart.ru/public/21905/

 

История изменения документов "Реализация товаров и услуг" за период //infostart.ru/public/93433/






Обработка обмена документами между конфигурациями Бухгалтерский учет для Украины 7.7 1С:Бухгалтерский учет 7.7

Краткое описание

Обработка предназначена для выгрузки загрузки документов между  конфигурациями Бухгалтерский учет для Украины 7.7. Основное использование для переноса документов из официальной бухгалтерии в неофициальную. Обмен данными  осуществляется через текстовый файл
Бухгалтерский баланс с возможностью печати в формате PDF417 квартальной отчетности 2013 года для бухгалтерии 2.0.47 1C: Предприятие 8.2

Краткое описание

Для установки зайти в регламентированные отчеты. В левом верхнем углу нажать кнопку "Справочник отчетов".

В открывшемся окне переходим в папку "Бухгалтерская отчетность", выделяем отчет "Бухгалтерская отчетность (с 2011 года)"

нажимаем на клавиатуре F2 или на панели инструментов кнопку "Изменить" (карандаш).

В открывшемся окне ставим переключатель "Файл" и справа в окне по нажатию кнопки "..." выбираем данный файл.

Перезапускаем программу.

Баланс за квартальную отчетность печатается в PDF.

Зачем они это отключили хз, у меня клиенты просят печать в данном формате.
Счет с подписью и печатью и автоматическим сохранением в PDF 1C: Предприятие 8.2

Краткое описание

Для Бухгалтерии 2.0. Конфигурации от 2.0.47.7. Подключить внешнюю печатную форму. При формировании печатной формы происходит автоматическое сохранение в формат PDF в директорию C:\Users\User\Downloads. Через конфигуратор можно поменять путь сохранения файлов.
Нарушена последовательность регламентных операций - БП ред.2 1C: Предприятие 8.2

Краткое описание

При проведении регламентных операций по закрытию месяца может в Бухгалтерии может появлятся окно с сообщением:

Следуя указанием этого сообщения необходимо перепровести регламентные документы начиная с указанного в месяца. Это правильное решение. Но возникают случаи когда не стоит "трогать" прошлый период и остатки счетов устраивают. Получается необходимо избавиться от сообщения и получить возможность выполнения регламентных операций.

Есть два решения:

Первый - это зайти в операции, найти регистр сведений "Неактуальные регламентные операции" и в нем удалить "лишние" записи.

Второй вариант  - это воспользоваться данной обработкой, она выполнит все действия сама.
Расчет процентов по займам полученным и выданным (для Бух 2.0) 1C: Предприятие 8.2

Краткое описание

Обработка рассчитывает проценты по полученным и выданным займам.

Работает для конфигурации бух 2.0, без снятия с поддержки.

Значение процентов по договору берется из свойства договора.
База знаний 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Особенно добавить к анонсу нечего... Писалось для себя, успешно проверено на практике, специально сделано для максимальной портируемости. Пользователи могут только читать, а могут использовать хоть как записную книжку, хоть для передачи опыта преемникам и накопления собственных знаний о приёмах работы с конфигурацией. Википедия 1С в примитивном виде. 

Снабжено встроенной справкой, которую я просто процитирую:

База знаний представляет собой wiki-образный механизм, рассчитанный на хранение, предоставление и пополнение самой различной информации в любых областях деятельности. Наполнение справочника никак не регламентировано и не ограничено. Храниться может текстовая и графическая информация в том объёме, который поддерживается html-страницами, доступными для просмотра во встроенном браузере 1С (т.е. приблизительно по возможностям это MSIE 7.Х). Вся информация хранится только в одном справочнике. Внимание!Механизм применим только в обычных формах на толстом клиенте 8.2 (как в файловом, так и в клиент-серверном варианте). Устойчивая работа на релизах ниже 8.2.14 не гарантируется. Используются только штатные возможности платформы 1С-Предприятие. Каждый элемент базы знаний (далее БЗ) в описании назван разделом. В зависимости от заданных прав содержимое БЗ может быть доступно только для поиска и просмотра, или же для полноценной правки. Согласно принципу wiki, каждый пользователь может вносить заметки и дополнения в те или иные разделы, создавать новые разделы. Справочник может применяться совершенно независимо, даже в пустой конфигурации (однако желательно, чтобы в конфигурации был справочник "Пользователи"), или встраиваться в любую конфигурацию одиночно либо на правах подсистемы. Наличие справочника "Группы пользователей" необязательно, но желательно для более удобного управления доступом. Если в системе нет справочника "Пользователи", то поля, содержащие данные о пользователях, принимают строковый тип. Если в системе есть справочник "Алгоритмы", подключается его применение. В любом случае, возможно выполнение произвольного кода при вызове внутренних навигационных ссылок.

Картинки могут храниться в БЗ. Медиа-фрагменты, вставленные иными тегами, чем , не хранятся как встроенные данные, и могут использоваться только как ссылка, поэтому их сохранность не гарантируется. Возможно указание путей к внешним документам, в этом случае будет выполняться односторонняя навигация к ним.

Часть настроечных данных хранится в служебном элементе (поэтому при программной доработке его лучше не трогать), часть - в сохраняемых профильных настройках (в основном это индивидуальные настройки поиска). Разделы могут быть связаны между собой. Можно указать внутреннюю гиперссылку, обеспечивающую переход из содержимого одного раздела в другой; можно указать связанную информацию "см.также" и обеспечить навигацию по ней. Возможны переходы к конкретным данным ИБ или к разделам встроенной справки конкретной конфигурации, но такие переходы не предусматривают фиксации в истории навигации и возвратного движения "назад". Помимо собственно хранения и обработки информации, БЗ предусматривает ведение простейшего учёта аттестаций пользователей на знание содержания разделов.

Приглашаю критиков и советчиков. Интересно развить этот механизм (единственно что, под УФ я его писать не очень хочу). 
Переход с 1С:Бухгалтерии 7.7 на 1С:Бухгалтерию 8.2 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Программа выполняет переход на 1С:Бухгалтерию 8.2 из 1С:Бухгалтерии 7.7

Безошибочных баз 1С:Бухгалтерии 7.7 не бывает. Даже у очень прилежных бухгалтеров. Поэтому при выгрузке выполняется проверка данных на корректность с точки зрения 1С:Бухгалтерии 8.2

Далеко не всегда есть возможность перейти на 1С:Бухгалтерию 8.2  в начале января. Хорошим решением может быть перенос начальных остатков и документов за период с начала года.

В связи с этим и была создана данная программа.

Технология применения программы содержится в описании к программе.

Несмотря на проверку исходных данных, после загрузки документов в базу-приемник все равно сохраняется необходимось внесения ручных корректировок в загруженные данные. Для отслеживания ошибок используются : ОСВ, ОСВ по счету, отчет "Отчет для сверки отчетов". Для сверки данных по субсчетам со скудной аналитикой и большим количеством проводок (68.2, 90.3, 9
Движение номенклатуры с выбором колонок 1C: Предприятие 8.2

Краткое описание

 

Возможность отбора по всем счетам 10

 

 

Отчет выводит наименование ,начальный остаток(кол-во и сумма),приход (кол-во и сумма),расход (кол-во и сумма), конечный остаток(кол-во и сумма) в одной строку.По выбору можно выбрать отдельные колонки.

Фильтр по номенклатуре и складам.

 

 

 

Расшифровка по документам ,вызвавшим движение

 

 

 

Групповая печать формы ОС1 и ОС6. 1C: Предприятие 8.2

Краткое описание

Данная обработка позволяет печатать на основании документа "Принятие к учету ОС" формы:

- Форма ОС1
- Форма ОС6

Отбор документов выполняется по датам...
Акт сверки взаиморасчетов с группировкой по договорам для УПП 1C: Предприятие 8.2

Краткое описание

Внешняя обработка Акт сверки взаиморасчетов  с сортировкой по договорам, с возможностью отражения счетов-фактур и формированием актов сверки по нескольких контрагентам.
Быстрое и простое создание УРБД 1C: Предприятие 8.2

Краткое описание

Доброго времени суток!




Представляю Вашему вниманию обработку для быстрого и удобного создания УРБД на платформе 1С 8.2!







Инструкция

--------------


Перенос остатков из Бухгалтерии 1.6 в 3.0 1C: Предприятие 8.2

Краткое описание

Если вы не успели вовремя перейти на 2.0 с
Наличие счетов-фактур для БП 3.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Ежемесячный отчет по кадровому учету 1C: Предприятие 8.2

Краткое описание

"Ежемесячный отчет по кадровому учету" показывает помесячно данные о численности сотрудников организации (основных и совместителей), а также о среднесписочной численности, количество листов нетрудоспособности, уволенных,принятых, количество отпусков (ежегодных, без сохранения зарплаты, по беременности и родам).
Сравнение табличных документов 1C: Предприятие 8.2

Краткое описание

Обработка сравнивает таблицы, введенные (скопированные) в табличный документ сверху и в табличный документ снизу.
Сравнение происходит по колонке с наименованием «Колонка для сравнения». В строке, включая колонку для сравнения может быть до 15 колонок.
Итогом сравнения будут два табличных документа: в первом будут строки, которые присутствуют в верхней таблице, но отсутствуют в нижней таблице, во втором будут строки, которые присутствуют в нижней таблице, но отсутствуют в верхней таблице.
Обработку можно использовать для всяких вспомогательных задач, копируя таблицы для сравнения, например из Excel.
"Заполнение табличной части ""товары"" документа Авансовый отчет из документа поступления товаров и услуг (БП 2.0)" 1C: Предприятие 8.2

Краткое описание

Данная обработка подключается через меню сервис-дополнительные печатные формы и обработки-дополнительные внешние обработки табличных частей. Далее регистрируем обработку, выбираем документ "Авансовый отчет", табличная часть "Товары". И далее в документе появится кнопка "заполнить".  

смотрим скриншот
Выгрузка картинок товаров из УТ 1C: Предприятие 8.1

Краткое описание

"Печатная форма ""ИнвентаризацияТоваровНаСкладе"" с излишками и недостачами" 1C:Предприятие 8

Краткое описание

Подключение печатной формы производится без изменения конфигурации стандартным образом:

выбрать в меню Сервис/Внешние печатные формы и обработки/Внешние печатные формы.

В открывшемся окне "Дополнительные внешние печатные формы" нажать кнопку Создать.

В открывшемся окне выбрать файл с внешней печатной формой, по необходимости отредактировать параметры внешней печатной формы, и нажать Записать и закрыть.

После этого данная печатная форма будет доступна  для документа "Инвентаризация Товаров На Складе" по кнопке "Печать".
Asterisk без внешних компонент? 1C:Предприятие 8

Краткое описание

Будет много текста, да еще и без картинок. Заранее благодарен тем, кто дочитает статью до конца. Постараюсь как минимум не быть нудным :-)

 

Раздел для тех, кто не в теме.

 

Кто уже читал мои предыдущие статьи и знает про AMI (Asterisk Manager Interface) и AJAM, может смело пропустить этот раздел.

AMI – это интерфейс управления Asterisk-ом. Но, подключения к AMI, как и девушки, бывают разные. Два основных:

AMI поверх TCP, который часто называют просто AMI
AMI поверх HTTP, его еще называют AJAM (Asynchronous Javascript Asterisk Manager). Хотя, особой асинхронности я там не увидел.

Если объяснять на пальцах, то разница между 1 и 2, как между толстым и веб-клиентом. Ссылка для тех, кто-то хочет накуриться правильных английских мануалов.

Внешняя компонента ROM-Asterisk может использовать оба способа подключения.
Внешняя компонента от МИКО использует только AJAM.
Но нам, они пока не нужны – мы будем подключаться без них.

 

Настройка AJAM на стороне Asterisk

 

Ребята из МИКО написали хорошую статью о том, как выполнить настройку AJAM в Asterisk. Вдаваться в детали настройки мы не будем, это больше для админа, дайте ему ссылку, пусть настраивает.

 
Кодировщики AJAM

 

Что еще нам нужно знать про AJAM? В нем есть разные типы кодировщиков ответов:

rawman – самый простой, которым мы и будем пользоваться
arawman – тоже самое, что и rawman, плюс использование более навороченной HTTP-digest аутентификации с MD5-хешами
mxml – ответы сервера кодируются в XML
manager – кодирует ответы в простые HTML-формы. Этот кодировщик годится разве что на побаловаться вначале
Схема работы с AJAM

 

Те, кто уже работал с HTTP-сервером, этот раздел могут пропустить.
Важно понимать, что мы работаем с HTTP-сервером. Понятно, что сразу после получения нами HTTP-ответа, сервер разорвет соединение.

Схема будет такой: Connect -> Запрос -> Ответ -> Disconnect

Если хочется еще что-то спросить у Asterisk-а, тогда добро пожаловать в новую итерацию. Это вам не AMI поверх TCP, когда можно 1 раз «зацепиться» за сервер и просто слушать события.

 
Алгоритм наших действий

 

Не менее важно понимать сам алгоритм наших действий. По шагам:

Устанавливаем HTTP-соединение
Авторизуемся. При удачной авторизации, сервер вернет нам Cookie, который мы прихраним для использования в следующем HTTP-запросе
Выполняем нужный нам HTTP-запрос, обновляем Cookie.
Реализация

 

Считаем, что админ уже все настроил и можно приступать.
Все, что нам нужно – это HTTPСоединение и ровные руки, чтобы отправлять ровные запросы.

Код работы с Asterisk настолько тривиальный, что его нет смысла здесь приводить. Все сводится к элементарной отправке и чтению HTTP-запросов. Не верите? Смотрите сами:

Организация соединения:

Соединение=Новый HTTPСоединение(IP,Port,,,,Таймаут,);

Отправка и чтение запроса:

ТекстКоманды="/asterisk/rawman?action=…бла-бла-бла";
Запрос=Новый HTTPЗапрос();
Запрос.АдресРесурса=ТекстКоманды;
Ответ=Соединение.Получить(Запрос);

Это все :)

 

Ложка дегтя

 

Когда мы сами являемся источником события, то все вроде бы как хорошо. А вот, когда мы являемся потребителями и хотим просто слушать, то не все так гладко.

Перефразируя мем «нельзя просто так взять и получать события по AJAM». При работе через AJAM нам нужно будет периодически задалбывать HTTP-сервер запросами типа «Сервер, там для меня случайно нет событий?».

Допустим, нам нужно получить инфу о том, что на нас идет входящий звонок. Тогда нам нужен какой-то обработчик ожидания, который периодически будет опрашивать HTTP-сервер.

Именно для такого случая, придумали AMI-команду WaitEvent. Она делает следующую вещь - говорит Asterisk-у: «Мол, я тут событие жду. Не разрывай пож-та соединение пока оно не придет. Я готов ждать максимум 30 секунд». Asterisk конечно же так и поступит.

Но, все это время, пока мы ждем событие, наш HTTP-запрос будет находиться в «висячем» состоянии и клиентское окно 1С будет выглядеть зависшим.

Пользователю, независимо от пола, «висячее» состояние вряд ли понравится
Сервер тратит свои ресурсы на поддержание открытой сессии

Вы спросите, а может делать частые HTTP-запросы, допустим каждые 10 секунд, с таймаутом ожидания 10 секунд?
Может быть… Я же не знаю вашей нагрузки на Asterisk и на 1С.
ИМХО, здесь важно найти оптимальный баланс - и сервер не задолбать, и не пропустить важное событие AMI.

 
И что с этим делать?

 

Думаю, нужно подбирать решение по конкретной ситуации. Обращайтесь – помогу, если смогу.

В качестве абстрактных рекомендаций, могу сказать следующее:

Ищите, тестируйте и найдете. Весь инструмент во вложенной к статье обработке. Поиграйтесь с частотой запросов и с таймаутом ответа.
Пофильтруйте события – хотя бы уберите лишние классы событий. Об этом написано в других моих статьях.

Если пользователь использует толстый клиент, то скорее всего, он сидит внутри сети. Тогда нечего заморачиваться, можно использовать обычный AMI через TCP. Подключаем этого пользователя через ROM-Asterisk и пусть себе работает.

Если пользователь использует тонкий клиент и сидит внутри сети, тогда тоже самое – AMI поверх TCP и ROM-Asterisk. Кстати, тонкому клиенту удаленному, но с хорошим каналом, это тоже подойдет.

Если пользователь использует веб-клиент или же тонкий клиент на нестабильном канале, тогда однозначно AJAM.

 

Небольшой хак

 

Если у пользователя НЕ веб-клиент, но вы хотите использовать именно AJAM, а не AMI, тогда могу вам дать хорошую подсказку, как уйти от «висячего» HTTP-запроса.

Вместо объекта HTTPСоединение можно использовать соединение ROM-Asterisk, а вместо объекта HTTPЗапрос использовать метод ВыполнитьКоманду. В этом случае, подмерзания не будет – ответ придет асинхронно, как внешнее событие. Вы отдали команду и забыли, когда придет ответ – Asterisk вам сам скажет.
Выложу реализацию этого хозяйства в отдельной статье.

 

Выводим выводы

 

Подключаться к AJAM без внешних компонент можно и это совершенно не сложно. Хотя, с точки зрения производительности, это не всегда оптимально. Иногда вместо HTTP-соединения, правильнее использовать соединение по TCP. Может в будущем в 1С появится объект TCPСоединение, а пока для этого нужны внешние компоненты.

Использовать AJAM лучше там, где это действительно нужно. Если можно использовать AMI поверх TCP – используйте, с ним проще. На нем можно делать всякие потрясающие штуки. Зато, AJAM – отличное решение для веб-клиента или плохих каналов.

К статье приложена внешняя обработка AJAM, которая будет работать как в режиме управляемого приложения, так и в обычном режиме.

Успешной вам разработки!
Быстрое создание печатных форм на основании отсканированного документа. 1C:Предприятие 8

Краткое описание

     Бывают ситуации когда пользователям требуется новая печатная форма (отчета или документа) и в качестве образца они предоставляют бланк или распечатанную форму. В статье предлагаю несколько нехитрых приемов для создания новых печатных форм на основании отсканированного документа для впечатывания данных в бланк или создания ее макета.

 

Создаем макет для впечатывания данных в типографские бланки на основании отсканированной печатной формы.
Создаем ячейку требуемого размера или группу ячеек. Размер ячейки должен совпадать с размерами печатной формы. В моем случае печатная форма имеет размер 203х143 мм, соответственно ширина ячейки - 109, а высота 409. Для формата А4 размер 297х210 мм будет преобразован соответственно в 600х159 п.
Задаем имя для Строки макета
Вставляем Объект «Картинка». 
Картинку выбираем из файла (выбираем отсканированную форму отчета).
В свойствах картинки снимаем флаг «Выводить на печать».
Далее картинку необходимо сжать так, чтобы она влезла в размеры ячейки. Для более точного подгона картинки под размеры ячейки можно использовать кнопки ←,→,↑,↓ вместе с нажатой кнопкой SHIFT.
Отредактировать границу макета т.к. после вставки рисунка она может увеличиться. См. на пунктирные линии в макете.  Необходимо удалить лишние строки (колонки) так чтобы границы ячейки и макета совпадали.
Для заполнения макета данными добавляем объект Текст 
В свойствах объекта:
Указываем тип заполнения ячейки «Параметр» и указываем имя параметра для вывода содержимого ячейки «НомерПутевого»
Ставим флаг «Содержит значение»
Убираем линии
Цвет фона ставим Авто.
Настраиваем шрифт, цвет, размер и осуществляем др. форматирование.
Выводим макет на печать:
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.ПолеСверху = 0;
ТабДокумент.ПолеСнизу = 0;
ТабДокумент.ПолеСлева = 0;
ТабДокумент.ПолеСправа = 0;
Макет = ПолучитьМакет("ПутевойЛистТрактора");
ОбластьШапка = Макет.ПолучитьОбласть("Путевой");
ОбластьШапка.Параметры.НомерПутевого = "00000001";
ТабДокумент.Вывести(ОбластьШапка);
ТабДокумент.Показать();
Распечатываем макет и проверяем значения каких полей попали в макете на свое место, а какие съехали. В конфигураторе  с помощью кнопок ←,→,↑,↓ вместе с нажатой кнопкой SHIFT двигаем поля в нужных направлениях.

 

Создаем печатную форму на основании ее отсканированной версии.
Создаем ячейку требуемого размера или группу ячеек. Размер ячейки должен совпадать с размерами печатной формы. В моем случае печатная форма имеет размер 203х143 мм, соответственно ширина ячейки - 109, а высота 409. Для формата А4 размер 297х210 мм будет преобразован соответственно в 600х159 п.
Вставляем Объект «Картинка» .
Картинку выбираем из файла (выбираем отсканированную форму отчета).
После выбора картинки с помощью указателя делаем прозрачным белый фон (в идеальном варианте должны остаться только только таблица, подчеркивания полей и надписи).
Далее картинку необходимо сжать так, чтобы она влезла в размеры ячейки. Для более точного подгона картинки под размеры ячейки можно использовать кнопки ←,→,↑,↓ вместе с нажатой кнопкой SHIFT.
Теперь использую созданную подложку в виде макета нужной печатной формы можно легко создать скелет  - просто изменяя размеры строк и колонок под нужную нам структуру.

 

 Для расчет размера ячейки Высота и Ширина в (мм) в редакторе шаблонов можно воспользоваться обработкой автора sphomin.
УРБД: Автоматический обмен через интернет между центральной и периферийными базами в Windows 7 + 1С:Предприятие 7.7. 1C:Предприятие 7.7

Краткое описание

Настройка обмена УРБД через интернет по шагам 1-3 и 5 (1C 7.7 + windows 7):

1) Стандартный процесс создания периферийной базы через «Файл/Загрузить данные» подробно описан в фирменной документации (это от Сергея Коцюры раздел Документация по УРИБ (методические рекомендации, установка и подключение, принципы работы, инициализация, выгрузка и загрузка, управление режимами миграции, средства встроенного языка).

Если периферийка не новая (например восстанавливается после сбоя), заново выгрузите из центральной базы первоначальный образ (для этого в центральной базе в файле 1SDBSET поменяйте значение поля DBSTATUS этой периферийной базы на "N").

Если ждать загрузки периферийной базы приходится долго, есть быстрый способ – копируем центральную и в копии (периферийной) удаляем таблицы 1SDWNLDS, 1SUPDTS, редактируем таблицу 1SDBSET, удаляем в ней все строчки кроме строчки данной периферийной ПБ и центральной ЦБ базы. В оставшихся двух строчках меняем статусы, в колонке DBSTATUS переназываем, меняем местами значения полей M и P.

Как пересоздать периферийку на mssql я написал в неубиваемой базе. Для mssql есть скрипт у Maksim K.

 2) Обмен выполняем в пакетном режиме 1С:Предприятия 7.7, теория:

http://www.softpoint.ru/article_id75.htm - подробно. Здесь у Ильи - кратко.

Общие принципы на примере совета Vasil Pupkin из Google+. Чтобы посмотреть цитату полностью нажмите спойлер:

Настраиваю автообмен (операционная система windows 7) в центральной базе. Для удобства отладки и диагностики не совмещаю загрузку и выгрузку. Сначала настраиваю автообмен в центральной базе (папка для обмена D:\1C-Data\ExchangeC). В батнике создаю скрипт загрузки D:\1C-Data\CIB\Exchange\download\download_SKL.bat со следующим содержимым:

cscript D:\1C-Data\CIB\Exchange\VBS\Obmen.Center.vbs "SKL" "D:\1C-Data\CIB\" UPLOAD %WINDIR% 1

Мои файлы настройки пакетного режима в каталоге D:\1C-Data\CIB\prm раздельные на загрузку и на выгрузку. На загрузку в центральной базе D:\1C-Data\CIB\prm\SKL.Download.prm вот такой:

[General]

Quit = 1

AutoExchange = 1

Output= "D:\1C-Data\CIB\\prm\SKL.Download.log"

[AutoExchange]

SharedMode = Y

WriteTo = SKL

Исходники скриптов обмена для центральной базы Obmen.Center.vbs и периферийки Obmen.Peref.vbs и соответствующие bat-файлы для запуска обмена (загрузки и выгрузки отдельно) доступны в файле для скачивания во вложении к этой публикации. Файлы для скачивания распаковываются непосредственно в информационную базу (в архиве две папки, одна для центра другая для периферийной базы).

Скрипт используемый для запуска обмена находится в центральной базе в каталоге D:\1C-Data\CIB\Exchange\VBS\Obmen.Center.vbs находится в файле для скачивания этой публикации и под этим спойлером:

Батник для выгрузки изменений из центральной базы D:\1C-Data\CIB\Exchange\upload\upload_SKL.bat вот такой:

cscript D:\1C-Data\CIB\Exchange\VBS\Obmen.Center.vbs "SKL" "D:\1C-Data\CIB\" DOWNLOAD %WINDIR% 1

Файл настройки пакетного задания 1С:Предприятия 7.7 для выгрузки изменений из центральной базы D:\1C-Data\CIB\prm\SKL.Upload.prm в каталоге D:\1C-Data\CIB\prm центральной базы вот такой:

[General]

Quit = 1

AutoExchange = 1

Output= "D:\1C-Data\CIB\\prm\SKL.Upload.log"

[AutoExchange]

SharedMode = Y

ReadFrom = SKL

----------------------------------------------------------------------------------------------------------------

*Еще для настройки локального обмена есть такие публикации Александра и Никиты, а так же «Мастер пакетных файлов для 1Сv7.7» для настройки любого пакетного задания и в том числе автообмена. Далее возможные способы настройки обмена через интернет.

 3) Настраиваем обмен по протоколу ФТП.
В комментариях к неубиваемой базе было мнение записывать файл на ФТП примерно так:

Но я уже давно привык к мощному ФТП-клиенту winscp и сделал настройки для него. При подготовке этой статьи наткнулся на подходящую респектабельную ссылку с картинками: http://center-comptech.ru/1c_7_7_nastroyka_avtoobmena_cherez_ftp.html.

Вот мои настройки. Батник запуска скачивания апдейтов для центральной базы D:\1C-Data\CIB\Exchange\download\download_SKL_run.bat следующего содержания:

runas /savecred /user:file-server\admin D:\1C-Data\CIB\Exchange\download\download_SKL.bat

D:\1C-Data\CIB\Exchange\WinSCP.com /script=D:\1C-Data\CIB\Exchange\download.txt /log=D:\1C-Data\CIB\Exchange\exchange.log

WinSCP устанавливается в папку D:\CIB\Exchange. Настройки подключений сохраняются в файл WinSCP.ini, пароль подключения шифруется. Файл WinSCP.ini формируется автоматически при создании нового подключения в графическом режиме WinSCP.exe (у меня оно называется snkosm), когда вы скачали, распаковали и запустили клиент и добавили новый логин (stored session). В расширенном режиме настройки (advanced options) можно настроить таймауты соединений (connections), а когда установите соединение в режиме ФТП-браузера будет доступна настройка  options->preferences->presets->binary особенностей передачи и записи файлов на ФТП сервер.

 

Там есть русский интерфейс (скачивается отдельно) и все понятно. Если будут вопросы по настройке клиента, допишу об этом.

Вот настройка D:\1C-Data\CIB\Exchange\download.txt для пакетного запуска WinSCP на загрузку в центральную базу:

open snkosm

option transfer binary

option confirm off

cd exchange

get SKL
Общая ВПФ Расходная накладная + накладная реализация (склад) для 1С:Бухгалтерии 8 1C: Предприятие 8.2

Краткое описание

Общая ВПФ Расходная накладная + накладная реализация (склад) для 1С:Бухгалтерии 8

Нажав одну кнопку данной внешней печатной формы, пользователь формирует сразу две печатный формы на одном листе, что значительно экономит время работника
Управление VPN-соединением из 1С на стороне клиента и на стороне сервера. 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Описание практической задачи:

 В базе 1С под платформой версии 8.1 настроено взаимодействие с SQL-сервером сторонней организации.
С этого SQL-сервера в базу 1С загружаются некоторые данные.
Эта загрузка может выполняться как на стороне клиента 1С,
так и на стороне сервера 1С-Предприятия (в регламентном задании). 

Кроме этого на стороне клиента 1С имеются онлайновые сервисы,
выполняющие добавление и удаление определенных данных на SQL-сервере.

Связь со сторонним SQL-сервером организована через VPN.
Причем на разных серверах  используются разные VPN-соединения под разными пользователями.
И было бы все хорошо, но VPN-соединение вещь капризная – регулярно вылетает.
Поэтому приходилось часто заходить на сервера и перезапускать VPN-соединения  вручную.

В связи с описанным возникла идея, при необходимости «пинать» VPN из самой 1С из командной строки.
Переподключать VPN-соединение требуется в самых вариантах:

на стороне клиента 1С;
на стороне сервера 1С;
на стороне клиента с передачей выполнения команды на сервер 1С.

 При переподключении соединения естественно надо контролировать результат выполнения действия.


Решение задачи:

После общения с админами выяснилось следующее:

Команда для подключения VPN-соединения:
“rasdial  ИмяСоединения  ИмяПользователя  Пароль  /DOMAIN:ИмяДомена”

Команда для разрыва VPN-соединения:
“rasdial  ИмяСоединения  /DISCONNECT”.

В связи с этим напрашивается два штатных для 1С варианта решения задачи:

1) Процедура КомандаСистемы(СтрокаКоманды,)

2) Процедура ЗапуститьПриложение(СтрокаКоманды,,Истина)

Первый вариант отпадает, поскольку процедура не доступна на стороне сервера 1С.

Второй вариант также не годится,  поскольку не работает на стороне сервера 1С для платформы 8.
Автоматическое создание файла обновления (пакетный режим). Обновлено (добавлена обработка УФ) 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Когда приходится обновлять одну и ту же конфигурацию несколько раз подряд вручную -  это надоедает. Можно обновить в пакетном режиме, но нужно написать скрипт и не ошибиться, хотя синтаксис несложный.

Данная обработка позволяет создать файл для обновления в пакетном режиме для текущей базы.

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

Тестировал на файловой и серверной БП 2.0

Приветствуется конструктивная критика и пожелания.

Обновление от 28.05.13.

Добавлена версия для управлемых форм. Тестировалась на БП 3.0. Платформрма 8.2.18.6
Как получить предыдущую цену номенклатуры 1C:Предприятие 8, 1C: Предприятие 8.0, 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Для примера создадим 3 документа установка цен номенклатуры.

Универсальный просмотр объектов 1C: Предприятие 8.2

Краткое описание

При выделении объекта в дереве значений, в нижней табличной части устанавливается тип "Список" (выбранного объекта). Отображает: содержимое регистров, справочники, документы и т.д.

Удобно пользоваться при составлении правил конвертации. При наведении курсора на какой либо вид документа, сразу видно есть ли такие в базе и нужно ли составлять для него правила конвертации.
Программа (Сервис) закрытия 1С в терминальных сессиях Не имеет значения

Краткое описание

Работа в качестве сервиса:

Сервис каждые 30 сек. проверяет состояние терминальных сессий, и в случае когда состояние равно «Отключена» запускает в отключенной сессии «Close1s.exe» с ключом –close.

Close1s.exe с ключом –close имитирует работу пользователя по закрытию 1С, ищет процесс с именем 1cv7* или 1cv8* находит его окно, посылается команда закрытия окна 1С, если всплывают диалоги закрытия или о сохранении изменений в 1С, то на вопросы отвечается утвердительно «Да» , 1С завершает работу штатным методом. Если в течении 10 сек. так и не удалось завершить 1С (в случаях когда 1С зависла и не отвечает на действия пользователя) процесс  1С уничтожается.

 

Примеры использования программы «Close1s.exe»:

Для инсталляции сервиса можно скопировать «Close1s.exe» в папку C:\WINDOWS,  затем выполнить команду инсталляции сервиса «Пуск» - «Выполнить»- «C:\WINDOWS\ Close1s.exe -install». Сервис установится с именем «Закрытие 1С при отключении сессии».

Для удаления сервиса выполните команду «Пуск» - «Выполнить»- «C:\WINDOWS\ Close1s.exe -uninstall».

Есть возможность использовать «Close1s.exe» не в качестве сервиса, а как программу (например для использования в своих скриптах или батниках, с ключом «-close»), для этого выполните команду «Пуск» - «Выполнить»- «C:\WINDOWS\ Close1s.exe -close».

 

 

Дополнение, о настройках терминального сервера:

В настройке службы терминалов («Пуск» - «Все программы»-«Администрирование»-«Настройка служб терминалов» или «Пуск» - «Выполнить»- «%SystemRoot%\system32\tscc.msc /s»)  

 

В своиствах RDP-Tcp на закладке «Сеансы» поставить галочку «Заменить параметры пользователя», выбрать «Завершение отключенного сеанса» 1 мин. или больше, поставить галочку «Заменить параметры пользователя При превышении ограничений или разрыве подключения», выбрать  «Отключить сеанс».

 

 

 Обновление:
+ добавлены настройки ini файл:
[options]
to_answer_the_question=1
interval_of_session_inactivity=0
wait_before_killing=10


описание параметров:
to_answer_the_question - отвечать на вопросы 1=Да, 0=Нет .
interval_of_session_inactivity - интервала неактивности отключонной сессии в минутах, если 0=сразу
wait_before_killing - ожидание в секундах перед уничтожением процеса 1С (если не смогли выключить).

+ Настройки ini файла лежащий рядом с exe действует на всех пользователей,
для индивидуальной настроки пользователей разместите ini файл в каталоге пользователя
например пользователю User: « C:\Documents and Settings\User\Close1s.ini».

 

Обновление от 22.05.2013:

+ изменен алгоритм по кнопкам, теперь учитываются диалоговые окна:  «Да/Нет», « Ок/Отмена», «Ок» и т.д.

 
Справка о доходах в произвольной форме 1C: Предприятие 8.2

Краткое описание

Справка о доходах в произвольной форме. За период по сотруднику выводит доходы с разбивкой по месяцам, видам выплат. Производится расчет среднемесячного дохода
Рабочее место менеджера по продажам для УТ 11.1 (УФ) 1C: Предприятие 8.2

Краткое описание

Внешняя обработка для УТ 1
Выгрузка журнала регистрации в базу SQL 1C: Предприятие 8.2

Краткое описание

Выгрузка журнала регистрации в базу SQL.

Для работы обработки должна быть создана база данных, с полями которые соответствуют типу данных ЖР.

Уровень (Level);
Дата (Date);
Пользователь (User);
Компьютер (Computer);
ИмяПриложения (ApplicationName);
Событие (Event);
Комментарий (Comment);
Метаданные (Metadata);
Данные (Data);
ПредставлениеДанных (DataPresentation);
ИмяПользователя (UserName);
ПредставлениеПриложения (ApplicationPresentation);
ПредставлениеСобытия (EventPresentation);
ПредставлениеМетаданных (MetadataPresentation);
СтатусТранзакции (TransactionStatus);
Транзакция (TransactionID);
Сеанс (Session);
Соединение (Connection);
РабочийСервер (ServerName);
ОсновнойIPПорт (Port);
ВспомогательныйIPПорт (SyncPort.);
РазделениеДанныхСеанса (SessionDataSeparation);
ПредставлениеРазделенияДанныхСеанса (SessionDataSeparationPresentation).

 
Windows Azure. Часть 3. Публикация 1С на веб-сервере IIS 7.5 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Этап
Проблемы распределения оплаты взносов ПФР по начислениям прошлых периодов 1C: Предприятие 8.1

Краткое описание

Многие бухгалтера сталкиваются с проблемой распределения оплаты взносов ПФР по начислениям прошлых периодов.
Как одно из решений, когда не возможно восстанавливать взаиморасчеты по сотрудникам за все предыдущие года, можно запросить в ПФ РФ остатки долгов по сотрудникам.

Наш ПФР передал нам остатки в виде XLS файла.

Поскольку стандартных средств в 1С нет для загрузки из XLS сведения в виде файла отчета, сданного в ПФР, пришлось самому написать обработку по загрузке.

1 Этап.

Разбор XLS файла. Физ.лицо определяется по номеру свидетельства ПФР.

2. Этап

Самый главный этап. Заполняем реквизиты пачки, так как будто вы сдаете отчет за предыдущий период. В примере как отчет за 2012 год, т.к. нужно было загрузить остатки на 0
Пошаговая инструкция по созданию мобильного приложения для iOS (без xcode) с обменом через WEB сервисы Часть I. 1С: Предприятие 8.3

Краткое описание

Отчет по номенклатуре и дате поступления 1C: Предприятие 8.2

Краткое описание

Отчет по номенклатуре и дате поступления
Отправка/Получение СМС через 3G USB модем 1C: Предприятие 8.2

Краткое описание

Данный пример может послужить отличным средством отправлять СМС через 3G USB модем и получать СМС с модема, узнать номер абонента отправившего СМС и отслать ему в ответ необходимую информацию (к примеру я отсылаю Выручки компании за текущий день)

Данная обработка использует внешнюю конпоненту MSCOMM32.OCX (её необходимо зарегистрировать в системе через regsvr)

Определение порта на котором находится 3G USB модем проиходит автоматически в момент отправки сообщения

Скорость отправки одной смс примерно 1 сек.
Использование отборов в СКД 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

 Расширение языка запросов для системы компоновки данных

Расширение языка запросов для системы компоновки данных осуществляется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса.

Синтаксические элементы расширения языка запросов системы компоновки данных
ВЫБРАТЬ

В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки.

Например:

{ВЫБРАТЬ Номенклатура, Склад}

После псевдонима поля может находиться комбинация символов «.*», что обозначает возможность использования дочерних полей от данного поля.

Например, запись Номенклатура.* обозначает возможность использования дочерних полей поля «Номенклатура» (например, поля «Номенклатура.Код»). Элемент ВЫБРАТЬ может присутствовать только в первом запросе объединения.

ГДЕ

Описываются поля, на которые пользователь сможет накладывать отбор. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ.

Примеры:

{ГДЕ Номенклатура.*, Склад }

Нехитрый пример

Необходимо получить продажи за период + вывести всю номенклатуру, независимо от того были ли продажи или нет.  То есть, необходимо выбрать данные из таблицы оборотов регистра Продажи, данные из справочника номенклатура. Опустим вопрос зачем нам нужна вся номенклатура.

Для решения задачи можно составить запрос соединяющий левым соединением номенклатуру и таблицу оборотов Продажи, в результате, для номенклатуры, которая не продавалась в выбранном периоде мы получим значения полей Контрагент, Договор, Количество, Сумма = Null. Такой запрос:

ВЫБРАТЬ
СпрНоменклатура.Ссылка КАК Номенклатура,
ПродажиОбороты.Контрагент,
ПродажиОбороты.ДоговорКонтрагента,
ПродажиОбороты.КоличествоОборот КАК Количество,
ПродажиОбороты.СтоимостьОборот КАК Стоимость
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
ПО СпрНоменклатура.Ссылка = ПродажиОбороты.Номенклатура


Вот результат:

Контрагент Договор Номенклатура Количество Сумма
 null  null _Тест1 null  null 
ООО "Рога и копыта" Договор1 Тапочки 10 1200
ОАО "Газпром" Клевый договор Сапоги 5 13000
 null  null Галоши null  null 
 null  null Сланцы null   null

- в данном примере не было продаж номенклатуры: "Галоши" и "Сланцы" 

И все бы ничего, если мы сгруппируем выборку по контрагенту то вся не продаваемая номенклатура попадет в отдельную группировку, где Контрагент = Null, но клиент хочет иметь в отчете произвольный отбор по полю контрагент(естественно имеется ввиду контрагент из регистра Продажи). Как быть? Ведь по сути нам нужно фильтровать только таблицу Продажи. Если мы используем автозаполнение в конструкторе СКД, то в доступные поля отбора попадет поле Контрагент, все вроде бы хорошо, но при исполнении отчета с отбором по контрагенту мы потеряем все записи из соединения с номенклатурой. Например, установим отбор: Контрагент = ООО "Рога и копыта". Результат будет выглядеть так:

Контрагент Договор Номенклатура Количество Сумма
ООО "Рога и копыта" Договор1 Тапочки 10 1200

 - совсем не то что нам нужно, правда? 

Для решения задачи можно конечно добавить параметр в запрос, например в параметры виртуальной таблицы ПродажиОбороты, но при этом теряется гибкость настройки вида сравнения.

Решение есть: для этого в конструкторе запросов на вкладке Компоновка данных => Таблицы добавим поле-условие в условия виртуальной таблицы ПродажиОбороты и сменим ему псевдоним на КонтрагентОтбор

Для того чтобы не путать пользователя с полями отбора, отключим поле-условие Контрагент и сменим заголовок для поля КонтрагентОтбор

В результате выполнения данной схемы с включенным отбором по полю контрагент результирующий запрос примет вид:

ВЫБРАТЬ
СпрНоменклатура.Ссылка КАК Номенклатура,
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
ПродажиОбороты.КоличествоОборот КАК >Количество,
ПродажиОбороты.СтоимостьОборот КАК Стоимость,
ПРЕДСТАВЛЕНИЕССЫЛКИ(ПродажиОбороты.ДоговорКонтрагента) КАК ДоговорКонтрагентаПредставление,
ПРЕДСТАВЛЕНИЕССЫЛКИ(ПродажиОбороты.Контрагент) КАК КонтрагентПредставление,
СпрНоменклатура.Представление КАК НоменклатураПредставление
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&П, , , Контрагент = &П3) КАК ПродажиОбороты
ПО СпрНоменклатура.Ссылка = ПродажиОбороты.Номенклатура


 И соответственно результат:

Контрагент Договор Номенклатура Количество Сумма
 null  null _Тест1 null  null 
ООО "Рога и копыта" Договор1 Тапочки 10 1200
 null  null Сапоги null null 
 null  null Галоши null  null 
 null  null Сланцы null   null

_Тест1 - это группа в справочнике Номенклатура, в которой все лежит

К публикации прикреплена схема XML-схема отчета, использовавшегося в публикации. Схему создавал в Комплексной автоматизации, но думаю, все будет прекрасно работать и в УПП и в УТ 10

Подведение итогов

Данный пример показывает каким образом создать свои настройки отборов в СКД и отключить автосоздаваемые, если вы конструируете схему с включенным флагом Автозаполнение.

Если же вы имеете достаточно опыта, чтобы создавать схемы без использования Автозаполнения - то данный совет не имеет смысла. 

Использовавшийся софт
Программа создания скриншотов SnimOK!
Консоль отчетов СКД+
Редактор XML-файлов XMLNotepad
Прибыль по менеджерам со средней ценой закупки и ценой продажи для УТ10.3 1C: Предприятие 8.2

Краткое описание

Внешний отчет формирует валовую прибыль по менеджерам. В настройках на закладке Общие включаем Параметры - Отрицательное красным, Выводить общие итоги, Выводить детальные записи. А в Показателях включаем - Количество/Ед.хранения, Стоимость продажи (руб) С НДС, Цена продажи, Цена закупки, Себестоимость (руб), Валовая прибыль (руб), Рентабельность %.  На закладке группировки добавляем группировку по ЗаказПокупателя.Ответветственный, Покупатель, Номенклатура, Документ движения (регистратор).

Соответственно выбираем период для отчета.  И в Заказах покупателя должен быть указан Ответственный - менеджер.

Можно добавить группировки, например по Организациям.

Спасибо zarius infostart.ru/public/68685 за идею.
Загрузка справочника номенклатуры в 1С с сайта OLDI.RU 1C: Предприятие 8.2

Краткое описание

При загрузке номенклатуры полностью сохраняется иерархия каталогов.

Создается документ "Установка цен номенклатуры" 

Артикул из каталога олди превращается в Код номенклатуры 1С - для удобного поиска.

А артикул в 1С заполняется кодом производителя, если указан в базе олди.

То есть, если на сайте олди артикул "0205534", то в 1С это код товара. А "HR1603/00" - это артикул в 1С (если указывается в xml олди)

Также загружаются некоторые характеристики номенклатуры - Вес, Гарантия, Производитель, "Акция", "Новинка", "Лучшая цена", "Рекомендуем".  

 

Загрузка 20 000 товаров всего за 3 минуты.

 

Сохраняет иерархию каталогов.

Создает "установку цен номенклатуры". 

Удобно для интернет магазинов.
Сводная карточка учетов страховых взносов 2013,2014 для 7.7 по форме 2012 1C:Предприятие 7.7

Краткое описание

Достал меня бухгалтер с карточкой ОПС, пришлось немного доработать отчет, чтобы выводил сводную по старой форме. Бухгалтера устроило. Вдруг кому - нибудь сей отчет понадобится
1С помощник игры в ЭРУДИТ 1C: Предприятие 8.2

Краткое описание

Конфигурация 1с для поиска возможных слов из 8 или меньше букв.

Состоит из двух регистров сведений:

1)Слова, в котором загружен словарь.

2)Возможные варианты, в который записаны возможные варианты последовательностей букв в одном слове(используется для ускорения работы).

И одной обработки, в которой собственно и происходит работа пользователя.

Поиск слов из 8 букв занимает не больше 10 секунд на файловой базе и не больше 3 на серверной.

База выложена для фанатов 1с и носит исключительно развлекательный характер, не судите строго, а насчет словаря знаю, можно найти и лучше, можете загрузить свой.

Если кто придумает код для поиска слов более лучше - прошу поделиться своими идеями.
База для самоучителя языка запросов 1C: Предприятие 8.2

Краткое описание

База повторяет состав данных, представленных в веб-сервисе публикации Самоучитель языка запросов

Поскольку, в тонком и веб-клиенте недоступно использование конструктора запросов, я предлагаю новичкам эту копию базы, на которой можно потренироваться

 

 
"Внешняя печатная форма документов ""Счет на оплату покупателя"", ""Реализация Товаров и Услуг"", ""Корректировка Реализации"" и ""Счет Фактура выданный"" с выбором подписантов на форме для Бухгалтерия предприятия 3.0 (управляемая форма)" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма документов "Счет на оплату покупателя", "Реализация Товаров и Услуг" и "Счет Фактура выданный" с выбором подписантов на форме для Бухгалтерия предприятия 3.0 (управляемая форма)

Встала необходимость выбора подписантов для документов "Счет на оплату покупателя", "Реализация Товаров и Услуг" и "Счет Фактура выданный", т.к. типовой механизм не совсем удобен.

Как сделать печать с открытием формы долго искал и мало чего нашел, но вот вроде бы получилось. Эта внешняя печатная форма действует для всех трех видов документов. Единственно, что осталось не решенным: это не получилось вывести макет через "УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию", если кто подскажет как, буду премножественно благодарен.

А так, может кому время сэкономлю....




Обновление от 2013_05_22

Добавил:

1) возможность открытия формы в режиме внешней обработки для отладки.

2) Печатная форма выводится в табличное поле самой формы обработки.

3) Появилась возможность Печатать, редактировать и Сохранять с формы.

4) Навел красоту.




Обновление от 2014_02_03

Текущие параметры: Платформа (8.2-8.3) Конфигурация БП 3.0.27.10. Старше тоже работает.

Добавил:

1) Корректировочный акт к Корректировке Реализации

2) Корректировочную СФ (952) 

3) Отчет об оказании Агентских услуг к Реализации ТиУ

4) В печатную форму Акта и Счета выводится наименование Договора.
Контроль срока действия договоров 1C: Предприятие 8.1

Краткое описание

Задача контроля за сроком действия договоров была реализована с помощью объекта "регламентные задания". Задание исполняется раз в неделю формирует список договоров истекшими сроками действия и отправляет e-mail ответственному лицу (мы используем конфигурацию УПП, поэтому для себя добавили реквизит ответственный за договор). В случае, если ответственный уволился, то сообщение отправляется в адрес юридического отдела. 

 
Cпециалист по платформе 8 1C: Предприятие 8.2

Краткое описание

  Данная конфигурация является решением всех 166 задач на спеца по платформе, (самих текстов условий задач нет, здесь запрещено) но в конфигурации для удобства придусмотрено место для вставки условий для каждой задачи.

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

Также в режиме 1С:Предприятие, настройками интерфеса можно обеспечить видимость только тех задач которые требуются в данный момент.

   В режиме конфигуратора для удобства програмиста тоже можно настроить видимость только тех объектов которые нужны, включить фильтр  "По подсистемам".

  Также добавлена обработка загрузки текстов условий задач из внешних файлов HTML.

  Добавлен симулятор зкзамена.

  Добавлена подсистема "Подготовка к экзамену"
Поиск\удаление\перемещение неиспользуемой номенклатуры за период 1C: Предприятие 8.1

Краткое описание

Обработка ищет все "неиспользуемые" номенклатурные карточки за период, а именно позиции без положительного начального остатка на начало периода и при этом по которым не было каких либо других документов за период. 

 

Примечания:

- флаг "заполнить все" проставляет в табличной части параметр "Отмечен". По нажатию на кнопки "Пометить удаленными" и "Переместить" - будут обработаны только те позиции, у которых "Отмечен"=Истина!

Работает правильно только в Рознице 8.1; Возможна конвертация на 8.2 (правильность работы не проверялась)...

За основу взята обработка //infostart.ru/public/70110/... 
"Конфигурация ""Управление транспортным участком""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

В частности, функциональность конфигурации можно разбить на три блока:

Выписка путевых листов. Путевой лист содержит две вкладки: планируемый и фактический, что также удобно для работы диспетчера. Для выписки можно использовать данные планируемого листа, а для расчета сдельного наряда – данные фактического листа. Как правило, диспетчер выдает водителю печатную форму путевого листа (4С) с основными данными (направление, машина) и уже после того, как водитель ее получает, он заполняет фактические данные во время рейса или по возвращению (время прибытия, вывозка). Именно для сравнения этих данных в документе реализованы две вкладки, для удобства фактические данные можно заполнить из планируемых. Можно сказать, что вкладку «Планируемый» необходимо заполнять для вывода на печать формы 4С, а уже вкладка «Фактический» содержит больше информации, по которой определяется расценка на оплату труда и далее формируется сдельный наряд водителя. 
Расчет сдельных нарядов. Сдельный наряд заполняется автоматически по данным путевого листа, включая расценки на оплату труда, которые хранятся в справочнике и рассчитываются исходя их вида работ, направления погрузки и расстояния.
Учет ГСМ реализован несколькими документами, данные из которых собираются в документ «Отчет по ГСМ», где мы видим, на какие склады, комплексы и направления были израсходованы ГСМ для производства и транспортного участка. Например, документ "Отчет по складу" учитывает приход ГСМ на определенный склад (направление) и расход с этого склада по направлениям разгрузки и другим дополнительным направлениям. Документ "Ведомость учета выдачи ГСМ" оформляется на конкретный автомобиль (комплекс), в табличной части указываем дату водителя, направление и объем потраченного топлива. Такую ведомость можно оформлять раз в месяц или по мере поступления информации. Итоговый документ "Отчет по ГСМ" заполняется автоматически на основании ведомостей по учету ГСМ, ведомостей заправок и отчета по складу (приход).  Отчет по ГСМ заполняется отдельно для производственного департамента и дорожно-строительного участка, поэтому содержит две вкладки и две разные печатные формы.

Документы содержат все необходимые печатные формы. Доступные роли: Полные права, Экономист, Диспетчер, Расчетчик зарплаты.

Очень важно! Для разных организаций характеристики для норм и расценок могут быть разными в зависимости от отраслевого направления организации! Эта конфигурация является лишь каркасом, и вы можете переделать ее под нужды своего предприятия, соответственно названия, тип, и количество реквизитов в регистрах, где устанавливаются базовые значения и в документах, могут различаться. Для этого я выкладываю конфигурацию С ОТКРЫТЫМ КОДОМ! 
1cdoc - генератор документации для 1с 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Статистика по ИБ 1C: Предприятие 8.2

Краткое описание

Надо мне было сегодня базу посмотреть, а под рукой ничего удобного не случилось. Прекрасно зная, что таких уже дофига, я всё же накатал свою, а потом думаю - выложу, пущай будет. В моей версии можно: отбирать по подсистеме, ставить свои условия для каждого вида объектов (помеченность, для документов - проведённость и период), можно удобно рулить через обычную СКД.

Условия можно ставить по множественно выделенным строкам, исходя из указанных "по умолчанию" для всех. Особой "защиты от дурака" нету. 

Плюсить не стоит, ибо - баян однозначный. )))

 

 
Дебиторская и кредиторская задолженность по счетам (КА/УПП) 1C: Предприятие 8.2

Краткое описание

Отчет формируется на дату. Первый столбец Контрагенты с договорами (иерархия), затем обороты Дт и Кт по счетам, и последний столбец Итог по всем счетам.  Код открытый, можно добавить или удалить счета
Акт сверки по группам контрагентов Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка представляет собой стандартный акт сверки.
Его отличительной особенностью является возможность формирования по группе контрагентов и по выбранным в диалоге договорам, относящимся к контрагентам в группе.
Можно при помощи флажков отбирать нужные договора.
Универсальный рабочий стол 1C:Предприятие 8

Краткое описание

Файл с настройками сохраняется в корне диска С под именем "Структура.mxl". Не предусмотрен выбор пути сохранения, но легко можно исправить в коде.

Прописываю пользователям /EXECUTE в настройках базы (в первом окне списка выбора баз), чтобы открывался при запуске.

Настраиваются ссылки по нажатию ключика в левом нижнем углу и кнопки "Настроить список элементов".

Поле "Порядок" отвечает за порядок отображения группы ссылок.

Праздники можно добавить в макете "Календарь".
Размещение номенклатуры на схеме (HTML+JS) 1C: Предприятие 8.2

Краткое описание

Стояла задача на плане этажей графически показать размещение сетевого оборудования. "И срочно!" Так как средствами 1С "рисовать" проблематично, было принято решение использовать поле HTML документа и JS скрипты. Возможно боян. До универсальности далековато. Где-то будут нелепости. Но результат достигнут! За критику буду благодарен, ибо, одна голова хорошо, а..)))

Загружаем в графическом формате в базу план или схему кабинета, этажа, территории, красивую девушку и .т.д.
Запускаем обработку "Номенклатура на схеме" и выбираем нужную нам схему, нажимаем "Сформировать".
Добавляем номенклатуру в список (при этом в левом верхнем углу в поле HTML она же появится в виде жёлтого квадратика).
Растаскиваем мышкой "Квадратики" по схеме в соответствии с размещением в реальности.
Сохраняем результат (координаты "Квадратиков" хранятся в Регистре сведений "HTML").

Небольшие удобства:

- При нажатии на "Квадратик" в списке номенклатуры активизируется элемент, соответствующий "Квадратику".
- При нажатии на кнопку "Показать на схеме" в списке номенклатуры, нужный элемент на схеме на некоторое время окрашивается в красный цвет.
- При наведении на "Квадратик" отображается всплывающая подсказка с наименованием и кодом номенклатуры.

В обработке была использована информация с ресурса http://javascript.ru/ui/draganddrop, за что огромное спасибо автору!
Приказ об отзыве из отпуска работника 1C: Предприятие 8.2

Краткое описание

В печатной форме реализован трехуровневый вывод подразделения. Также выведена строка с категорией (категория берется из: План Видов Характеристик → Свойства объектов → Должности организаций), если данное свойство прописано в программе пользователем. Также автоматом выходит дата возврата на работу. В подвале формы автоматически выводит ФИО текущего пользователя, как инженера по кадрам, а также ФИО работника.
Native API компонента для использования установленного в системе интерпретатора Python 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

В системе должен присутствовать совместимый интерпретатор Python. В данном случае это Python 3.3, инсталлятор которого можно скачать на официальном сайте разработчиков: http://www.python.org/ftp/python/3.3.5/python-3.3.5.msi

Интерфейс взаимодействия позволяет оформлять модули расширения максимально просто и наглядно. Для примера, вот функциональный аналог образца Native ВК от ИТС:

# -*- coding: utf-8 -*-

from interfacing import *
from time import sleep, monotonic
from threading import Thread


class Timer(Thread):
def __init__(self, ent):
self.done = False
self.ent = ent
Thread.__init__(self)

def run(self):
while not self.done:
self.ent.ExternalEvent('ComponentNative', 'Timer', str(monotonic()))
sleep(5)
self.done = False


@Component
class CAddInNative:

def __init__(self):
self.m_boolEnabled = False
self.AsyncEvent = Timer(self.Enterprise)

@Readable('IsEnabled', 'Включен')
@property
def ePropIsEnabled(self):
return self.m_boolEnabled

@Writable
@ePropIsEnabled.setter
def ePropIsEnabled(self, value):
self.m_boolEnabled = value

@Readable('IsTimerPresent', 'ЕстьТаймер')
@property
def ePropIsTimerPresent(self):
return True

@Procedure('Enable', 'Включить')
def eMethEnable(self):
self.m_boolEnabled = True

@Procedure('Disable', 'Выключить')
def eMethDisable(self):
self.m_boolEnabled = False

@Procedure('ShowInStatusLine', 'ПоказатьВСтрокеСтатуса')
def eMethShowInStatusLine(self, var):
self.Enterprise.SetStatusLine(var)
sleep(5)

@Procedure('StartTimer', 'СтартТаймер')
def eMethStartTimer(self):
self.AsyncEvent.start()

@Procedure('StopTimer', 'СтопТаймер')
def eMethStopTimer(self):
self.AsyncEvent.done = True

@Function('LoadPicture', 'ЗагрузитьКартинку')
def eMethLoadPicture(self, name):
with open(name, 'rb') as f:
return f.read()

@Procedure('ShowMessageBox', 'ПоказатьСообщение')
def eMethShowMsgBox(self):
info = self.Enterprise.GetInterface(EC_IPlatformInfo)
imsgbox = self.Enterprise.GetInterface(EC_IMsgBox)
if info is None or imsgbox is None:
return
if imsgbox.Confirm(info.GetPlatformInfo()[0]):
imsgbox.Alert('OK')
else:
imsgbox.Alert('Cancel')

def ExplicitDone(self):
self.AsyncEvent.done = True
self.AsyncEvent.join()


 В архиве есть достаточно подробная документация и комплект для тестирования.

Чтобы запустить тест, нужно указать путь к компоненте, по которому должен лежать и OnePyTest.py.
Перенос ОС с одного счета на другой в БГУ 1C: Предприятие 8.2

Краткое описание

СКАНКОД: Менеджер учета рабочего времени. 1C: Предприятие 8.2

Краткое описание

Во многих компаниях все более актуальным становится вопрос учета рабочего времени сотрудников организации. Высокий ритм жизни, транспортные коллапсы, множество параллельных задач, стоящих перед человеком, проблемы личного характера и многое другое — все это причины для неявки на работу, опозданий, раннего ухода, непродуктивной работы персонала. В отдельных случаях, сотрудник действительно попадает в форс-мажорные обстоятельства, но если нарушение рабочего режима приобретает систематический, регулярный характер, то руководству необходимо принять меры для восстановления трудового режима и тщательного контроля рабочего времени сотрудников.

 

Одним из эффективных методов реализации данной задачи является учет рабочего времени сотрудника с помощью Терминалов Учета Рабочего Времени и комплекса программных средств, позволяющий создавать отчеты посещаемости по сотрудникам, определять реально отработанное время и, при необходимости, рассчитывать заработную плату или премиальные начисления в зависимости от отработанного времени и системы расчета заработной платы.

 

Наша компания на протяжении многих лет поставляет надежные, проверенные временем терминалы учета рабочего времени. Кроме самих терминалов нашей компанией был разработан программный модуль для системы программ 1С:Предприятие 8 «СКАНКОД:Менеджер учета рабочего времени».

 

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

 

Обработка позволяет присваивать сотрудникам уникальный идентификатор, настраивать расписание (рабочий график) работы организации, вычислять реальное отработанное сотрудниками время (по данным с терминала), обнаруживать и исправлять (в полу-автоматическом или ручном режиме) ошибки идентификации события («приход», «уход»), при необходимости начислять заработную плату в зависимости от ставки и отработанного времени сотрудника
Подготовка сведений для ПФР с распределением сумм уплаченных взносов без учета ранее переданных данных 1С:Бухгалтерский учет 7.7

Краткое описание

С 2013 года 1С решила полностью распределять уплаченные взносы по ранее переданным данным в ПФР. А что делать пользователям, которые не сохранили эти файлы? Сформировать их заново, загрузить их в базу и радоваться жизни, заполняя сведения в ПФР, нажатием одной кнопки. И это будет правильно!!!

Эта обработка для тех, кто не может этого сделать по каким-либо причинам и у кого встретилась ситуация, когда было уплачено за прошедший и текущий период больше, чем начислено за текущий (т.к. в этом случае программа уплату поставит равной начислению). Обработка – переделанная типовая обработка из Бухгалтерия 77 (7.70.557)

Копируем скаченные файлы в папку «ExtForms» каталога базы.  Запускаем обработку «_Подготовка сведений для ПФР 2013 без учета файлов ПФР», снимаем галочку «Распределение сумм уплаченных взносов …», и далее, как обычно.

Дополнительно вставил проверку на заполнение номеров ПФР у работающих сотрудников, для исключения случаев невключения сотрудников в сведения по причине отсутствия номера ПФР.

Но еще раз утверждаю, что правильней будет пользоваться типовым механизмом распределения, для избегания дальнейшей запутки  данных!!!
"Проект ""Доминикана"", решение первой задачи" 1C: Предприятие 8.2

Краткое описание

Добрый день Коллеги.

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

Итак Задача:

Есть регистр сведений «Остановки по маршруту» в котором хранится информация о расстоянии от начальной до конечной остановки.

Требуется разработать отчет на СКД, который покажет расстояние между двумя остановками по маршруту.

Отчет представляет собой прямоугольный треугольник, на гипотенузе названия остановок по порядку. На пересечении горизонтальной и вертикальной линии от двух остановок заполнено значение, равное расстоянию между этими остановками. Например, расстояние между «Борок» и «Мологино» 6,3 км (Рисунок №2).

Важно: Отчет должен быть разработан без программного кода при помощи набора данных – Запрос. Текст запроса должен быть один.

Рис. №2 Отчет «Таблица расстояний».

 

Внимание, перед тем как читать дальше я рекомендую попробовать самостоятельно решить данную задачу.

Скачайте DT файл, создайте новый отчет, в котором постарайтесь решить самостоятельно задачу. Обещаю решение не оставит вас равнодушными.

 

 

Решение задачи:

Создаем текст запроса:

ВЫБРАТЬ
ОстановкиПоМаршруту.Остановка КАК Остановка,
ОстановкиПоМаршруту.РасстояниеОтНачалаМаршрута КАК РасстояниеОтНачалаМаршрута
ПОМЕСТИТЬ ВТМаршрут
{ВЫБРАТЬ
Остановка.*,
РасстояниеОтНачалаМаршрута}
ИЗ
РегистрСведений.ОстановкиПоМаршруту КАК ОстановкиПоМаршруту
ГДЕ
ОстановкиПоМаршруту.Маршрут = &Маршрут
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОстановкиПоМаршруту.Остановка КАК Остановка,
СУММА(1) КАК ПорядковыйНомер
ПОМЕСТИТЬ ВТПорядковыеНомера
ИЗ
РегистрСведений.ОстановкиПоМаршруту КАК ОстановкиПоМаршруту
ЛЕВОЕ СОЕДИНЕНИЕ ВТМаршрут КАК ВТМаршрут
ПО (ВЫБОР
КОГДА ОстановкиПоМаршруту.РасстояниеОтНачалаМаршрута >= ВТМаршрут.РасстояниеОтНачалаМаршрута
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ)
ГДЕ
ОстановкиПоМаршруту.Маршрут = &Маршрут

СГРУППИРОВАТЬ ПО
ОстановкиПоМаршруту.Остановка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТПорядковыеНомераДополнительный.Остановка КАК ОстановкаОтправление,
ВТПорядковыеНомераОсновной.Остановка КАК ОстановкаПрибытие
ПОМЕСТИТЬ ВТВозможныеМаршруты
ИЗ
ВТПорядковыеНомера КАК ВТПорядковыеНомераОсновной
ЛЕВОЕ СОЕДИНЕНИЕ ВТПорядковыеНомера КАК ВТПорядковыеНомераДополнительный
ПО ВТПорядковыеНомераОсновной.ПорядковыйНомер > ВТПорядковыеНомераДополнительный.ПорядковыйНомер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТВозможныеМаршруты.ОстановкаОтправление,
ВТВозможныеМаршруты.ОстановкаПрибытие,
ВТМаршрутТочкаНачала.РасстояниеОтНачалаМаршрута КАК РасстояниеОтНачалаМаршрутаОтправление,
ВТМаршрутТочкаОкончания.РасстояниеОтНачалаМаршрута КАК РасстояниеОтНачалаМаршрутаПрибытие
ПОМЕСТИТЬ ВТРасстояния
ИЗ
ВТВозможныеМаршруты КАК ВТВозможныеМаршруты
ЛЕВОЕ СОЕДИНЕНИЕ ВТМаршрут КАК ВТМаршрутТочкаНачала
ПО ВТВозможныеМаршруты.ОстановкаОтправление = ВТМаршрутТочкаНачала.Остановка
ЛЕВОЕ СОЕДИНЕНИЕ ВТМаршрут КАК ВТМаршрутТочкаОкончания
ПО ВТВозможныеМаршруты.ОстановкаПрибытие = ВТМаршрутТочкаОкончания.Остановка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
ВТПорядковыеНомера.ПорядковыйНомер КАК ПорядковыйНомер,
ВТПорядковыеНомера.Остановка
ПОМЕСТИТЬ ВТПерваяОстановка
ИЗ
ВТПорядковыеНомера КАК ВТПорядковыеНомера

УПОРЯДОЧИТЬ ПО
ПорядковыйНомер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
ВТПорядковыеНомера.ПорядковыйНомер КАК ПорядковыйНомер,
ВТПорядковыеНомера.Остановка
ПОМЕСТИТЬ ВТПоследняяОстановка
ИЗ
ВТПорядковыеНомера КАК ВТПорядковыеНомера

УПОРЯДОЧИТЬ ПО
ПорядковыйНомер УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТРасстояния.ОстановкаОтправление КАК ОстановкаОтправление,
ВТРасстояния.ОстановкаПрибытие КАК ОстановкаПрибытие,
ЕСТЬNULL(ВТРасстояния.РасстояниеОтНачалаМаршрутаПрибытие, 0) - ЕСТЬNULL(ВТРасстояния.РасстояниеОтНачалаМаршрутаОтправление, 0) КАК Расстояние,
ПорядковыйНомерОстОтправление.ПорядковыйНомер КАК ПорядковыйНомерОтправление,
ПорядковыйНомерОстПрибытие.ПорядковыйНомер КАК ПорядковыйНомерПрибытие
{ВЫБРАТЬ
ОстановкаОтправление.*,
ОстановкаПрибытие.*,
Расстояние,
ПорядковыйНомерОтправление,
ПорядковыйНомерПрибытие}
ИЗ
ВТРасстояния КАК ВТРасстояния
ЛЕВОЕ СОЕДИНЕНИЕ ВТПорядковыеНомера КАК ПорядковыйНомерОстОтправление
ПО ВТРасстояния.ОстановкаОтправление = ПорядковыйНомерОстОтправление.Остановка
ЛЕВОЕ СОЕДИНЕНИЕ ВТПорядковыеНомера КАК ПорядковыйНомерОстПрибытие
ПО ВТРасстояния.ОстановкаПрибытие = ПорядковыйНомерОстПрибытие.Остановка
ГДЕ
НЕ ВТРасстояния.ОстановкаОтправление ЕСТЬ NULL

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ВТПерваяОстановка.Остановка,
ВТПерваяОстановка.Остановка,
NULL,
ВТПерваяОстановка.ПорядковыйНомер,
ВТПерваяОстановка.ПорядковыйНомер
ИЗ
ВТПерваяОстановка КАК ВТПерваяОстановка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ВТПоследняяОстановка.Остановка,
ВТПоследняяОстановка.Остановка,
NULL,
ВТПоследняяОстановка.ПорядковыйНомер,
ВТПоследняяОстановка.ПорядковыйНомер
ИЗ
ВТПоследняяОстановка КАК ВТПоследняяОстановка

 

Далее переходим к корректировке настроек СКД

На Рис. 3

показано, что мы для полей Остановка отправление, Остановка прибытие и Расстояние мы делаем пустые заголовки. Точнее один пробел. Т.к. пустой указать не удается.

Делаем упорядочивание представления:

Для реквизита ОстановкаОтправление - ПорядковыйНомерОтправление возр

Для реквизита ОстановкаПрибытие - ПорядковыйНомерПрибытие возр

 

Для реквизита Расстояние делаем набор свойств как на рисунке. Рис. 4.

А именно Размещение - Обрезать.

И минимальная и максимальная ширина равная - 9.12

 

На этом настройка набора данных завершена

Настройка ресурсов:

Рис. 5

Создаем ресурс - Расстояние

В выражении пишем:

Выбор Когда Представление(ОстановкаОтправление) = Представление(ОстановкаПрибытие) Тогда Представление(ОстановкаОтправление) Иначе  Сумма(Расстояние) Конец

 Рассчитываем по группировкам ОстановкаОтправление, ОстановкаПрибытие.

Макеты:

Рис.6,

 

Рис. 7

Пожалуй самое сложное было добиться результата.

Были созданы макет для группировки ОстановкаОтправления

(Рис.  8)

Были созданы макет для группировки ОстановкаПрибытия (Рис.  9)
В качестве области для вывода были выбраны для Группировки Остановка отправления поле шириной - 1
Для группировки Остановка прибытия - максимально минимальное значение, что-то около 0.03
Если посмотрите внимательно на Рис. 7 почти не видно ячейки R4C
Пошаговая инструкция по созданию мобильного приложения для iOS с обменом через WEB сервисы Часть II. 1С: Предприятие 8.3

Краткое описание

Выгрузка данных на мобильное устройство
 

часть первая

 

Предисловие

Настройка выгрузки из основной базы в мобильную

Настройка основной конфигурации

Создание плана обмена

Создание пакета XDTO

Доработка web сервиса exchange

Настройка мобильной конфигурации

Тестируем



 
Предисловие

На данный момент мобильная платформа 1С не поддерживает объект конфигурации “Web-сервис”, поэтому мы не можем обращаться к мобильному устройству из вне так же, как делали это с основной базой. Ввиду этого, для загрузи данных в мобильную базу, мы воспользуемся данными, которые возвращают функциии web сервисов основной базы.

 
Настройка выгрузки из основной базы в мобильную

Из основной базы мы будем выгружать всю номенклатуру, которая изменялась пользователем. Для отслеживания измененных данных в 1С предусмотрен объект “План обмена”.

Настройка основной конфигурации
Создание плана обмена

Добавим новый план обмена и назовем его “Mobile”

В составе отметим справочник “Номенклатура”


Обновим конфигурацию и запустим её. Откроем план обмена “Mobile”

Создадим новый узел. Укажем для него код “1” и наименование “iPad”

Теперь все изменения данных справочника номенклатуры будут фиксироваться в этом узле

 
Создание пакета XDTO


Теперь опишем структуру справочника номенклатуры, чтобы потом с её помощью выгрузить номенклатуру. Для этого воспользуемся объектом конфигурации “ПакетXDTO”

 

Создадим новый пакет XDTO (Общие-XDTO-пакеты-создать)

Сменим URI пространства имен на “apple”

Добавим новый тип объекта
Назовем его “Номенклатура”

Добавим к нему свойства “Код” и “Наименование” с типом “http://www.w3.org/2001/XMLSchema - string”
Вот мы и описали номенклатуру

Добавим ещё один тип объекта. Назовем его “СписокТоваров”

Добавим к нему свойство “Номенклатура”. Укажем тип “apple - Номенклатура”. В поле “максимальное количество” укажем - 1 (Признак списка).
Мы описали некий объект, который содержит список объектов с типом “Номенклатура”.
У вас должно получится следующее:


Схема пакета доступна во вложенных файлах. Её можно импортировать.

Доработка web сервиса exchange
 

В свойствах web сервиса “exchange” найдем пакеты XDTO  и добавим туда “apple”

Добавим новую операцию, назовем её “ПолучитьНоменклатуру”.
Тип возвращаемого значения “apple - СписокТоваров”. 

Так же установим флажок “Возможно пустое значение”

Теперь эта функция будет возвращать объект с типом “apple - СписокТоваров” или неопределено

Перейдем в модуль функции (См. часть I) и пропишем туда следующий код:


Настройка основной конфигурации завершена.
После обновления конфигурации перезапустите apache

 
Настройка мобильной конфигурации

В справочнике “Номенклатура” создаем новую команду “Загрузить”

Укажем группу “Панель действий.Сервис”

В модуле пропишем следующее:

где 192.168.11
Бэкапер-1С: резервные копии бухгалтерии (1С 7.7 - 8.3) 1C:Предприятие 7.7, 1C:Предприятие 8

Краткое описание

Изменения в версии 
Использование ресурсов в СКД на примере создания внешнего табличного отчёта 1C: Предприятие 8.2

Краткое описание

Задача

 Есть регистр сведений «Остановки по маршруту», в котором хранится информация о расстоянии от начальной до конечной остановки.

Рис.
Пересчет зарплаты для целей дополнительных страховых взносов за вредные условия труда для ЗБУ 1C: Предприятие 8.2

Краткое описание

Штатная работа с ЗБУ предполагает, что в должности сотрудника указаны данные о необходимости доп. взносов ДО начала расчета.  Но на практике большинство узнает об этом уже после закрытия и выплаты з/п, когда документы рассчитывать нельзя. Кроме того, если сделан перерасчет ЗП или исправление, то документ блокируется и доп. взносы не проставить  никак.

В ЗБУ (в отличие от ЗУП) реквизит про доп. взносы находится в табличных частях, поэтому простого перепроведения недостаточно - требуется расчет/распределение, делать который на уже закрытой ЗП я бы не стал.

Для этого придумана данная обработка. Порядок работы и алгоритм:

Выбрать период и организацию
Нажать кнопку "
Универсальная выгрузка в XML 1C: Предприятие 8.2

Краткое описание

Задача.

 

Создать обработку, которая выгружает список документов в файл XML.

Обработка должна быть реализована в виде «внешней обработки». Необходимо, чтобы обработка работала в произвольной конфигурации на платформе 1С:Предприятие 8.
Акт взаимозачета по документам 1C: Предприятие 8.2

Краткое описание

Формирование печатной формы "акт взаимозачета" в разрезе документов для Бухгалтерии 3.0
"Внешняя печать ценников для УТ 10.3 (через внешние обработки и из документа ""Поступление товаров и услуг"")" 1C: Предприятие 8.2

Краткое описание

Появился новый клиент, работает на тандеме УТ - БП, простой купи-продай.

Спрашиваю, что настраивалось, почему релизы старые?

Всё настроено, нас устраивает, вот только с отчетностью ... ну  итд по списку.

Посмотрел - ВСЕ настройки в УТ это изменен шаблон ценника в обработке печати и ещё по мелочи, но по факту не нужное, т.к. в УТ всё работает и без этого. 

Сделан базы типовыми, обновляются с сайта без проблем. Нужен новый ценник - сделал вот это.

Смысл  обработок - печать ценников взята из типовой,изменен только шаблон, хотя кому надо можно переделать полностью под заказ клиента. В типовом документе поступления есть возможность печати ценников по поступившим ТМЦ - внешняя печатная форма, с вызовом своей внешней обоработки.

Подключение простое:

Экзамен 1С специалист по Бухгалтерии редакции 3.0. Решение задач 1-8, 24-34, 40-41 1C: Предприятие 8.2

Краткое описание

Автор director04 делал задачи для БП
Пакетный ввод документов: Счета, Реализации, Счета-фактуры. И их печать с произвольным наименование товара/услуги в печатной форме. 1C: Предприятие 8.2

Краткое описание

Задача не новая. Основная суть в том что организации, которые оказывают услуги по ежемесячному обслуживанию своих клиентов, каждый месяц выписывают однотипный набор документов: Счета на оплату, Акты выполненных работ, Счета-фактуры. Причем бюджетные учреждения, которым оказывают услуги, часто выставляют требование к наименованию услуг/товаров в печатных документах. Обработка позволяет создавать стандартный набор документов, вывести их на печать и сформировать произвольное наименование товара в печатной форме используя реквизиты пакета.

Обработка была создана для конфигурации Бухгалтерия предприятия, редакция 2.0.42.5. За основу обработки был взят документ Оказание услуг. Обработка свои данные о пакете документов хранит в отдельном файле *.dbf, в каталоге с базой 1С. В dbf только уникальные идентификаторы. Шаблон наименования товар в печатной форме можно сформировать, собирая его из значений реквизитов пакета и кусочков простых строк.

Например нужно Наименование: Обслуживание комп. сети по договору № 1233 от  01 октября 2012 г.

Шаблон будет: [Номенклатура.НаименованиеПолное] по договору № [ДоговорКонтрагента.Номер] от [ДоговорКонтрагента.Дата]

Собственно как работает с обработкой:

Открываем обработку. Создаем Пакет.
 Заполняем шапку. Указываем вид взаиморасчета, чтобы автоматически заполнить строки документа
Настраиваем шаблон наименования товара или услуги для печатной форме.
На закладке «Настройки» указываем печатные формы, которые используем для печати Счетов, Актов и Счетов фактур. Можно выбрать внешние печатные формы документов. Указываем количество копий.
Заполняем таблицу по виду взаиморасчетов.
Создаем документы. Документы автоматически создаются и проводятся. В комментарии документов указывается номер пакета.
Печатаем документы. При печати есть особенность. Печатать документы можно только из формы нажимая кнопку «ПЕЧАТЬ» сверху на форме, так  как макеты счетов и Счет фактур имеют разную ориентацию Портретная и  Альбомная пришлось формировать разные табличный документ с разной ориентацией.
Записываем сам пакет документов.

Немного об Интерфейсе:

Пакеты можно вводить копированием от существующих пакетов, сами документы создаются уже в форме пакета.

Шапка стандартная как в Документе Оказании услуг. Номер берется от последнего документа Счета покупателю или Реализации товаров и услуг. От него стартует нумерация новых создаваемых документов.

Шаблон Содержания – Здесь собираем строку наименования по частям из реквизитов пакета комбинируя их с простыми строками. Для дат можно указать формат даты.

Закладку Контрагенты можно заполнять по «Виду взаиморасчетов», Можно перезаполнить только «Содержание строк». Можно перезаполнить «Печатные  макеты».

Можно поставить отбор по строкам (на пример по контрагенту тогда будет видна только одна строка  табличной части) в этом случаи кнопка «Создать документы» , «Заполнить» , «Печать» будет работать только со строками из отбора.

Если поставить Галочку «ручная корректировка» то строка не будет обрабатывается в  при нажатии кнопки «Заполнить» и «Создать документы».

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

Комментарий в созданных  документах, Счета на оплату  и Реализация товаров и услуг ,является реквизитом поиска.

На Закладке Настройка  - указываем Печатные формы, которые должны использоваться при печати. Можно выбрать внешние свои печатные формы документов.
PNG-MAKER: создатель прозрачного фона Не имеет значения

Краткое описание

В последнее время появляется все больше желающих вставить в печатную форму счета картинку с печатью и подписью.
Однако, если просто вставлять скан jpg, то получим белый прямоугольник, внутри которого находится печать.
Программа превращает картинки с белым (почти белым) фоном в картинки формата PNG (GIF) с прозрачным фоном.
Форматы обрабатываемых картинок: JPG или JPEG (как правило сканы), BMP, PNG.
Нюансы: "грязные" пиксели в JPG
Замечено, что при сохранении даже абсолютно контрастной картинки с чисто белым фоном в формат JPG, цвета "грязнятся". Проверить можно очень просто: попробовать залить такую картинку любым цветом. Обнаружим, что не все части, кажущиеся на вид белыми, окажутся залитыми. Поэтому программа производит попиксельное считывание картинки и все пиксели, где составляющая R>RGBLevel И составляющая G>RGBLevel И составляющая B>RGBLevel заменяет на чисто белые, после чего и производит замену белого цвета на прозрачный.
Программа может работать в двух режимах: автоматический (невизуальный) и визуальный. Если программа запущена с параметром (ИмяФайлаКартики), то визуальная форма не открывается, обработка ведется по значениям, указанным в ini-файле, при отсутствии ini-файла в каталоге
программы - со значениями по умолчанию (RGBLevel=200, формат сохранения PNG). При работе в автоматическом режиме формируется файл ИмяФайлаКартики_TR.PNG (ИмяФайлаКартики_TR.GIF).

Пример вызова с параметром :
"c:\Make PNG\PNGMAKER.exe" "c:\Make PNG\ПС2.JPG" 

При работе в визуальном режиме доступен метод Drag&Drop (затаскивание исходной картинки на форму).




Примечание: в большинстве случаев достаточна отработка с параметрами по умолчанию в любом из режимов.

Содержание архива: собственно программа и пример ini-файла. Описание параметров ini-файла в самом файле в секции

[COMMENTS]

Версия
Акт сверки взаиморасчётов с развёрнутым сальдо для БП 8.2 1C:Предприятие 8

Краткое описание

Внешняя печатная форма Акта сверки взаиморасчётов с развёрнутым сальдо по договорам.
Акт сверки (сводный по холдингу) для УТ 10.3 1C: Предприятие 8.2

Краткое описание

Обрабокта предназначена для конфигурации Управление Торговлей ред. 10.3.20. Заполняет акт взаиморасчетов по всему холдингу. В шапке документа указывается головная огранизация холдинга. Договор и сделка не заполняются.

ВНИМАНИЕ: Обработка не заполняет начальный остаток взаиморасчетов, так как это требует доработки конфигурации (обработка писалась под базовую версию). Начальный остаток заполняется вручную.
Помощник ведения производственного учета в УПП (РАУЗ) 1C: Предприятие 8.2

Краткое описание

Помощник ведения производственного учета в УПП (РАУЗ). 

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

"Отчет ""Остатки и движение товаров на складах"" на СКД" 1C: Предприятие 8.2

Краткое описание

Под движением подразумевается поступление и реализация товара без учета документа "Перемещение товаров". Остатки по складам показываются на конечную выбранную дату, счет учета 4
ЗУП специалист. Решения задач 1C: Предприятие 8.2

Краткое описание

Тексты билетов в решениях не приведены - надо уважать правила ресурса.

Конечно, в процессе решения задач по ЗУП знания росли, а потому первые задачи при повторном решении решал бы порой уже слегка по-другому. Потому рекомендовал бы готовиться с учетом данного пособия от последних задач к первым :).

Первая задача описана порой крайне схематично, порой одним предложением. Вторая максимально подробно.
При подготовке использовались:
1) материалы всем известного форума имени Уважаемого человека. По каждой задачи производился полный анализ решений, изложенных в соот. ветке форума.
2) Материалы, найденные на этом и прочих сайтах. В целом, на мой взгляд, либо не совсем верные, либо... в общем редко мог взять за основу.
3) Собственный мозг. Да-да, участвовал, и порой реализовывал несколько по-своему. Дело вкуса как говорится.

Что обязательно учесть: практически по всем задачам (кроме одной-двух, при разборе можно догадаться) Харитонов считает правильным строить отчет лишь по данным регистра расчета. Да-да, он ходил по аудитории, раздавал билеты, и тут же говорил грустным голосом: отчет строится по данным регистра расчета. То бишь соединения с собственными таблицами регистров сведений и накопления нежелательны. Как следствие, показатели, полученные, к примеру, по данным регистра накопления, и используемые в формуле расчета, при записи расчета стоит записать в одно из уже имеющихся полей показателей регистра расчета, или, если иначе нельзя, подумать о создании собственных полей (в случае специфичных реквизитов, нечисловых). В некоторых решениях это учтено, в некоторых нет - но учесть крайне просто.

В общем, наличие решений не освобождает от необходимости подумать, и чуток улучшить. Все нужное там есть.

ЗЫ: сдал, разумеется, на отлично. Чего и вам желаю. Самый простой экзамен на мой взгляд. Сдавал в марте, кажется.
Форма статистики ПМ для УПП, УСО, КА 1C: Предприятие 8.2

Краткое описание

Форма статистики ПМ для УПП в ред. Приказа Росстата от 29.08.2012 N 470 ( платформа 8.2) с кнопкой Заполнить.

Заполняет Среднюю численность работников и Начисления. 

 

Не используется следующее Начисление для расчета ФОТ:
Оплата больничных листов за счет работодателя
(Возможно кому-то понадобится).

Используемые начисления для расчета ФОТ:
БЛ по травме в быту (оплачивается)
Дополнительный учебный отпуск без оплаты
Единовременное пособие на рождение ребенка
Оплата БЛ по травме на производстве
Оплата больничных листов
Отпуск без оплаты согласно ТК РФ
Отпуск за свой счет
Отпуск по беременности и родам
Отпуск по уходу за ребенком без оплаты
Отсутствие по болезни
Отсутствие по болезни (по беременности и родам)
Отсутствие по невыясненной причине
Пособие беременным, вставшим на учет в ранние сроки беременности
Пособие по уходу за ребёнком до
Перенос данных Сотрудников и Физических лиц из ЗУП 2.5 в БП 2.0 (БП 3.0) Платформа 1С v8.x (все механизмы)

Краткое описание

 
Очень часто, там где установлены ЗУП и БП, возникает необходимость переноса вновь принятых сотрудников или новых физ. лиц из ЗУП в БП. Ждать пока выгрузится документ "Отражение зарплаты в рег учете" бухгалтера не хотят.

Пришлость написать обработку выгрузки. Обработка переносит только тех сотрудников и физических лиц, которые зарегестрированы в Плане обмена.  Если создается новый элемент справочника физ лица или сотрудники, то он регистрируется в плане обмена автоматически. Если необходимо зарегистрироваить элемент справочника физические лица или сотрудники, достаточно открыть элемент справочника и нажать кнопку "ОК" или "Записать". Для регистрации всего справочника можно воспользоваться групповой обработкой.

При открытии обработки в настройке подключения нужно выбрать тип подключения, платформу, путь к базе бухгалтерии, имя пользователя и пароль. Кнопка "Тест подключения" проверяет возмодность подключения к базе бухгалтерии. Кнопка "Запомнить выбор" запоминает настройки (в регистр контактная информация). 

В Зарплате необходимо:

1) Прицепить внешнюю обработку.(в дополнительные внешние обрабоки)
2) Интерфейс полный Операции\План обмена\Полный добавить узел (Наименование - Бухгалтерия, Код - Бух). Наименование может быть произвольное, для обработки важен код !
3) Запустить обработку, прописать путь к бухгалтерии, имя пользователя, пароль-если есть.
4) Запомнить выбор.
5) Нажать кнопку "Выполнить".

При последующих запусках обработки достаточно нажать кнопку "Выполнить", поскольку настойка подключения сохранена.

Осуществляется перенос физ лиц, сотрудников, паспортных данных и ФИОФизЛиц.

В связи с замечаниями по Плану обмена доработал обработку - выбор плана обмена вынес на форму обработки.

Теперь обязательно прописывать "Бух" в плане обмена не нужно - просто выбираем нужный план обмена, если он есть, если его нет, создаем новый с произвольным кодом.  

17.09.2013 По просьбе бухгалтерии написал новую обработку переноса с возможностью подкачки должностей и кадровых документов. Обработку нужно запускать в Бухгалтерии, все то же самое, отличие в том, что в настойке нужно указать код плана обмена в Зарплате, можно установить галку "Загружать кадровые документы".  Почему в бухгалтерии? Дело в том, что в выгрузить документы из Зарплаты в Бухгалтерию сельхоз предприятия по com- cоединению невозможно, закрыл Агрософт, поэтому  запускаю в Бухгалтерии и качаю из Зарплаты. В обычной бухгалтерии тоже будет работать, писать отдельно(чтобы запуск шел из зарплаты) лень. 

Синхронизация сотрудников и физ лиц по кодам. Выгружаются документы Прием на работу в организацию, Кадровое перемещение организаций, Увольнение организаций.

Подразделения не синхронизируются, проверяйте совпадение по кодам. Поиск должностей по наименованию, не нашел - добавил. Если кадровый документ не попал в бухгалтерию, его нужно провести в зарплате и сделать выгрузку заново.

Нумерация выгруженных документов: "З" плюс префикс организации плюс номер документа, чтобы не перебить созданные кадровые документы в бухгалтерии,  документами созданными в зарплате такими же номерами. Поиск документов по номеру+ период.

06.1
Движение денежных средств с НДС (для Отчета о движении денежных средств) 1C: Предприятие 8.2

Краткое описание

Отчет сделан по аналогии с заполением "Отчета о движении денежных средств", который, как известно формируется с учетом положений п.16 ПБУ 23/2011 "Отчет о движении денежных средств". В частности, косвенные налоги в части НДС и денежные средства комитента (агента) отражаются в отчете свернуто, в строке "Прочие поступления (4119)" или "Прочие платежи (4229)". Поступления от покупателей и заказчиков и платежи поставщикам и подрядчикам отражаются без учета этих сумм.

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

 

 

 
Браузер метаданных (простое и управляемое приложение) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Совсем простая обработка, оказавшаяся весьма полезной при анализе баз для переноса на новую конфигурацию и контроля перенесенных данных. Открывает доступ к практически всем "журналам" базы из одного места, без необходимости искать объекты через меню "Все операции".
"Заполнение документа ""Инвентаризация товаров на складе"" по выбранным счетам" 1C: Предприятие 8.2

Краткое описание

Внешняя обработка табличной части документа "Инвентаризация товаров на складах" конфигурации 1С:Бухгалтерия 8 ред 2. Позволяет выбрать счета учета по которым заполнять документ. Подключается стандартным образом через меню "Сервис"
Простая интеграция с сайтом sms4b.ru для отправки SMS из 1С 1C: Предприятие 8.2

Краткое описание

Мы посчитали, что интегрировать SMS-Коммуникатор в свою систему слишком долго и решили сделать проще.

Переоценка товаров в рознице. Печатная форма 1C: Предприятие 8.2

Краткое описание

Внешняя печатная форма для документа "Переоценка в рознице" с дополнительной колонкой Цена закупа.
Цена закупа ищется по коду "000000001".

Просили сделать - чтобы видеть, ниже какой цены нежелательно опускаться  при переоценке.
Установка и снятие ролей пользователей ИБ (УПП) 1C: Предприятие 8.2