Опраксея
Автор
417
Просмотров
18.220.186.48
Ваш IP
25 августа 2023
Дата создания

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

Список обработок от сайта 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

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

Время от времени требуется добавить нескольким (а то и всем сразу) пользователям распределённой базы одну или несколько ролей. У части пользователей заданы профили полномочий, соответственно, роли достаточно добавить в них; у остальных сформированы собственные уникальные наборы ролей.

Данная обработка позволяет быстро справиться с подобной задачей - она добавляет выбранные роли как в профили полномочий, так и непосредственно в наборы ролей пользователей.

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

Тестировалось на УСХП
Дополнительная внешняя обработка табличной части по расшифровки представления по Акту сверки 1C: Предприятие 8.2

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

После обновлений до последнего релиза в Бухгалтерии по документу Акт сверки в поле представление произошли следующие изменения выводится только расшифровка вида операции (Приход, Продажа, Оплата, Возврат после чего в скобках номер документа и дата документа), раньше же все было немного по другому если у нас была Реализация на счет 91, то в представление по данной реализации выводилась статья Прочих доходов, а в скобочках аналогично номер документа и дата, данные расшифровки удобней и наглядней для сверки. Для примера наша организация продает какую то продукцию (Дт 62 Кт 90.01) - это является основным видом деятельности и в расшифровки у нас будет Продажа с номером и датой документа, а так же помимо этого наша организация выставляет покупателям другие накладные например по начисленной пене, процентам и т.д., так же через документ Реализация товаров и услуг, но данный документ имеет следующие проводки (Дт 62 Кт 9
"Внешняя печатная форма документа ""Требование-Накладная"" с выбором комиссии списания на форме для Бухгалтерия предприятия 3.0 (управляемая форма)" 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

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

Будет полезна для торговых организаций, которые не ведут партионный учёт в бухгалтерии 2.0, а знать себестоимость с учётом ГТД по импорту и доп. расходов конкретной номенклатуры нужно.

В отчете указывается партия товара и товар из этой партии, по кнопке сформировать выводится таблица расшифровки себестоимости. Отчет формируется на основании проводок документа-поступления и документов "Поступления доп. расходов" и "ГТД по импорту", созданных на основании данного поступления. Теперь и для БП 3.0 с возможностью регистрации в дополнительных отчетах.
Сведения о распределении численности работников по размерам заработной платы. Форма №1 1C: Предприятие 8.2

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

Отчет в статистику Форма №
Проверка расхода материалов в Отчетах производства 1C: Предприятие 8.2

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

Отчет для УПП или КА позволяет быстро оценить обоснованность расхода материалов.

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

Еще одна особенность. Если в отчете производства на вкладке продукция и вкладке материалы указаны одна и та же номенклатура - программа считает что это был ремонт. Например изготовили Лампу 1 шт, из этой же лампы и нового конденсатора. Такие документы будут попадать в колонку Ремонт. И плановый расход в таком случае будет нулевым (а фактический - 1 конденсатор).

Расход собирается из регистра "Учет затрат Регламентированный учет"

Как верно подметил пользователь Сергей (он же Рамзес) те же цели что и мой отчет реализованы в типовом отчете УПП "План фактный анализ себестоимости выпуска".
Проверка УПП №1. Совпадение проводок 60, 62, 76.05, 66.03 с регистром накопления Взаиморасчеты Платформа 1С v8.x (все механизмы)

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

Отчет для УПП
Проверка УПП №2 Проверка проводок по счетам учета 60, 62, 76.05 на предмет не зачтенных сумм или отрицательных остатков Платформа 1С v8.x (все механизмы)

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

Отчет для УПП, КА или обычной БП. Построен на СКД. Позволяет выявить не закрытые авансы, либо отрицательные остатки на счетах взаиморасчетов. Особенно актуален перед выпиской счетов фактур на аванс.

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

Перед работой с отчетом в УПП или КА настоятельно рекомендую предварительно исправить все ошибки, отображаемые другим отчетом "Проверка УПП №
Форма заявления на стандартные налоговые вычеты на детей (для 8.2) 1C: Предприятие 8.2

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

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

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

Использование дополнительных реквизитов и сведений в БП 3.0

 

 Дополнительные реквизиты и сведения (далее ДРС) – механизм, позволяющий  не изменяя конфигурацию расширить её функционал. Написать эту заметку сподвиг заказ на печать ТТН и Справки А и Б с сохранением реквизитов, с целью их дальнейшего использования в декларациях по алкогольной продукции, да и просто для того, что бы повторно посмотреть дополнительную информацию по реализации. Используют базовую БП 3.0 – менять конфигурацию соответственно нельзя, да для этой задачи вполне достаточно ДРС.

Для БП 2.0 в принципе решение у меня давно есть – так же использую дополнительные реквизиты, где сохраняются данные по автомобилю, водителю, перевозчику и т.д. Схема отработана – при печати записываются (при первой печати создаются не созданные) дополнительные реквизиты, при последующем выводе на печать реквизиты формы заполняются сохраненными значениями. Эти же данные использую при заполнении деклараций по алкоголю. Стал делать на УФ в БП 3.0 (3.0.20.18) и увидел, что механизм использования ДРС существенно изменился, причем ИМХО в лучшую сторону:

Изменились объекты, «обслуживающие» ДРС:

БП 2.0



БП 3.0




Справочник ЗначенияСвойствОбъектов



Удален




План видов характеристик НазначенияСвойствКатегорийОбъектов



Удален




План видов характеристик

СвойстваОбъектов



Удален




Регистр сведений ЗначенияСвойствОбъектов



Удален




Нет



Справочник НаборыДополнительныхРеквизитовИСведений




Нет



План видов характеристик ДополнительныеРеквизитыИСведения




Нет



Регистр сведений ДополнительныеСведения

 

В 2.0 название «Дополнительны реквизиты» не совсем точно  отражает суть назначение эти данных - это всё-таки именно «дополнительные сведения», и хранятся они в объектах конфигурации, отличных от самого объекта этих сведений. В 3.0 можно задавать как сведения, сохраняемые регистре «Дополнительные сведения», так и именно реквизиты, сохраняемые в табличной части справочников «ДополнительныеРеквизиты» (в УТ 11 сейчас аналогичная табличная часть есть и у документов), причем эти реквизиты стали доступны в форме элемента справочника, а не вызываются по кнопке отдельным окном.

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

- ДополнительныеРеквизиты – содержит список реквизитов, доступных в форме справочника для чтения/записи и флаг их обязательного заполнения. эти реквизиты хранятся в табличной части справочника;
- ДополнительныеСведения – список сведений, сохраняющихся в регистре «ДополнительныеСведения» и доступных по дополнительной кнопке.

 Для документов сейчас доступен только выбор дополнительных сведений:

Для справочников можно установить и сведения и дополнительные реквизиты:

 

Причем редактируются дополнительные реквизиты справочника в форме элемента:

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

Изменился и состав объектов, имеющих ДРС:

- БП 2.0 это 15 справочников и список всех документов конфигурации в одной характеристике,
 - БП 3.0 справочников стало 18, и 110 документов (не проверял все это документы или нет), на каждый из которых дополнительные сведения задаются в отдельном предопределенном элементе справочника «НаборыДополнительныхРеквизитовИСведений».

Для дополнительных реквизитов с типом «Значение свойства объекта» можно задавать произвольный список для выбора – фактически аналог справочника (с 2.0 это был справочник «ЗначенияСвойствОбъектов»):

 

Список может редактироваться.

 Ещё один момент, из справки к ПВХ «ДополнительныеРеквизитыИСведения»  - «Все дополнительные реквизиты и сведения объектов можно вывести в отчетах и списках.». Действительно, теперь зарегистрированные ДРС можно использовать не только для целей сохранения данных, но и,  например, для отбора в списке документа и т.п.

Список РТиУ без отбора: 

 

 Записанные дополнительные сведения для документа:

Настройка отбора списка РТиУ по доп.сведениям:

 

 Список РТиУ с установленным отбором по незаполненному водителю:

 

Вроде бы пустячки, а приятно……….
Формирование штрих-кода с помощью barcode для 1С: 7.7 1C:Предприятие 7.7

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

Имеется обработка с готовым штрих-кодом.

Также установочный файл barcode
Решение задач эказамена 1С:Специалист по платформе 8.2 1C: Предприятие 8.2

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

Попалась мне папка на жестком диске с решениями задач. Давно хотел выложить, никак руки не доходили.

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

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

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

Есть замечательные статьи на этом сайте о том, как готовиться к экзамену и как сдавать экзамен. Статьи, конечно, нужно прочитать. Типовые ошибки нужно знать.
Т-61 для ЗУП 2.5.66 с выводом всех месяцев расчетного периода 1C: Предприятие 8.2

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

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

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

Отчет для УПП (КА). Позволяет выявить расхождения в суммах отраженных по РАУЗ и бухгалтерским счетам учета затрат. Это очень хорошая проверка корректности расчета себестоимости. 

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

 

 
Проверка УПП 12. Проверка совпадения Регистра РАУЗ и налоговых проводок по счетам затрат (20,23,25,26,44 НУ) 1C: Предприятие 8.2

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

Отчет для УПП (КА). Позволяет выявить расхождения в суммах отраженных по РАУЗ и налоговым счетам учета затрат. Это очень хорошая проверка корректности расчета себестоимости. 

Обращаю внимание, что по каждому отдельному документу расхождение возможно, однако в целом за месяц его не должно быть.
Проверка УПП №9. Проверка совпадения Регистра РАУЗ и бух. проводок по счетам учета МПЗ (10, 41, 40, 43) 1C: Предприятие 8.2

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

Отчет для УПП (КА) на СКД. Позовляет выявить ручные операции по бухгалтерским счетам учета МПЗ (10, 21, 41, 43) , не продублированные аналогичными корректировками по регистру Учет затрат регл (РАУЗ). 
Проверка УПП №10. Проверка совпадения Регистра РАУЗ и налоговых проводок по счетам учета МПЗ (10, 21, 41, 43 НУ) 1C: Предприятие 8.2

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

Отчет для УПП (КА) на СКД. Позовляет выявить ручные операции по налоговым счетам учета МПЗ (10, 21, 41, 43) , не продублированные аналогичными корректировками по регистру Учет затрат регл (РАУЗ). 

Также расхождение сумм регистра и бух счетов может возникнуть из-за неверного расчета себестоимости.

 

 
"Проверка УПП №13. Поиск распределения материалов на ""не выпускавшуюся"" продукцию" 1C: Предприятие 8.2

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

Отчет для УПП (КА) для проверки учета. 

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

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

 

 
Мониторинг лицензий 1С 1C: Предприятие 8.2

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

Данная обработка может быть использована в качестве внешней обработки в любой конфигурации на платформе 1Сv8.2.

Обработка показывает информацию о аппаратных и программных лицензиях 1С в любых их комбинациях.

В случае использования только аппаратных ключей, советую использовать утилиту:http://aladdin-monitor.updatestar.com/ru (информацию о программных ключах указанная утилита не показывает).

В таком случае оптимальнее всего отключить раздачу лицензий сервером в свойствах баз 1С на сервере

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

Представленная обработка создана на базе механизма описанного командой: http://www.gilev.ru/

1) Частично упрощен интерфейс - оставлен необходимый набор данных (возможно добавление данных посредством доработки);

2) Добавлен отбор по имени сервера, компьютера, базы данных - позволяет фильтровать используемые лицензии по одноименным свойствам;

3) Добавлен интервал периодичности обновления данных - позволяет получать актуальную информацию с заданной периодичностью без постоянного нажатия кнопок на форме.
ТОРГ-12 без группировки для УТ 11.1 1C: Предприятие 8.2

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

По многочисленным просьбам выкладываю внешнюю печатную форму ТОРГ-12 для Реализации товаров и услуг. Конфигурация Управление торговлей редакция 1
Печать счета-фактуры на основании непроведенного документа 1C: Предприятие 8.2

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

Акт приема-передачи лицензионных прав 1C: Предприятие 8.2

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

Поиск и замена дублирующихся элементов. Вариант использования обработок для Бухгалтерия 2.0 в Бухгалтерия 3.0. 1C: Предприятие 8.2

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

UPDATE! Прикрепленный файл - это практически стандартная обработка из УТ, которая работает в БП и ЗУП 8.2 в обычном интерфейсе. Суть статьи в доступном, иногда не явном, способе решения задачи по поиску и замене дублирующихся элементов в новых конфигурациях 1С без изобретения велосипеда и трате лишнего времени.

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

В попытках найти обработку с необходимым функционалом по поиску и замене дублей, работающую в БП 3.0 опустил доступный лимит вм до минимального уровня и получил в итоге "не те" обработки, т.к. работа в 8.2 совсем не означала работу в управляемом интерфейсе, по закону подлости "нужную" обработку было уже не скачать =). В результате проблема достаточно простым способом была решена без необходимости использования новых обработок. Само решение оказалось до непреличия простым.

Настраиваем базу для запуска в режиме "Толстый клиент (обычное приложение)":

После чего запускаем базу и собственно старую добрую обработку из УТ, профит.

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

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

Успешного вам неизобретения велосипеда!
Акт сверки для Бухгалтерии 8.2 1C: Предприятие 8.2

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

Внешняя печатная форма для типового документа "Акт сверки взаиморасчетов".

Выводит информацию по всем дополнительным свойствам документов, используемых в документе "Акт сверки взаиморасчетов". 

PS. Доп свойства упорядочены по убыванию.
Клиентское приложение (Толстый клиент) для самоучителя языка запросов 1С 8 (+ конструктор запросов) 1C: Предприятие 8.2

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

Уважаемые разработчики!

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

Публикация возможностей образовательного сервиса: //infostart.ru/public/184350/

Впервые работа с веб-сервисом возможна с использованием конструктора запросов 1С.

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

Для регистрации нового пользователя на веб-сервисе необходимо использовать логин: guest, пароль пустой.

Решение задачи пользователь представляет в специальном поле текста запроса, который может быть написан вручную, либо посредством конструктора запросов 1С. При проверке решения отображается результат запроса и правильный результат. Так же в форме основной обработки представлена персональная статистика и общий рейтинг участников (ТОП 100).

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

В случае возникновения сложностей при решении задания возможно получение подсказок.
Перенос данных из ТиС 9.2 [v77] в БП 2.0 [v82] OLE 1C: Предприятие 8.2

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

Обработку нужно запускать в базе-приемнике т.е. в БП 2.0 v82, подключение к базе источнику через OLE.

В обработке рализован перенос четырех видов документов:

Расходная накладная
Приходная накладная
Возврат от клиента
Возврат поставщику

*Справочники переносятся по ссылкам. Сихронизация контрагентов по ИНН, синхронизация номенклатуры по выбору (код/наименование), синхронизация остальных справочников в основном по наименованию.

*Склады в документах можно автоматически заменить на выбранный пользователем

*Возможность автоматического создания счетов фактур на основании загруженной реализации

*Возможность провести загруженные документы

Порядок эксплуатации:

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

-Нажмите кнопку загрузить документы

 

PS: это для тех кто использует бухгалтерию v82, но по какимто причинам продолжает работать в торговле v77. Обработка легко допиливается дорабатывается для собственных нужд.
Закрытие счета по аналитике для БП 8.2 1C: Предприятие 8.2

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

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

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

Отличия ОСВ проф от стандартного отчета:

- в случае количественного счета может расчитывать среднюю цену

- в случае количественного счета может выводить на печать только кол-во

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

- может выводить на печать только итоги по группам справочников (уровни на выбор)

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

- другие мелки исправления

 

Отличие КарточкаСчетаПроф от стандартного отчета:

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

- в случае количественного счета может расчитывать среднюю цену

- может анализировать детализацию бухгалтерских операций в разрезе итогов по документам

- другие мелкие исправления

 

Проверял в конфигурации 1С Бухгалтерия 7.7 (5)
Обработка обслуживания CAS 5000j 1C: Предприятие 8.2

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

Переделанная стандартная обрабока под бесплатный драйвер, который можно скачать с оф сайта. Проверялось на 1С 8.8 КА и УТ 10.3. 

Ставим: Сервис - Торговое оборудовиние - Помошник подключения торгового оборудования:

Выбираем - "Весы с печатью этикеток" - Далее

Выбираем - "Добавить новую обработку" - Далее

Выбираем - Каталог где сохранили мою бработку - "Получить список", и выбираем в этом списке CAS 5000j - Далее

Выбираем - Добавить новае устройство, задаем имя, ДАЛЕЕ -

в форме настройки указыем IP-адрес (по три цифры: если 192.168.0.1 то 192.168.000.001) и Порт стандартный (20304)

 усе :)) (экономим тем самым много денежек)

Если уже ранее загружали стандартную обработку, то:

Заходим - Операции - Справочники - Обработки обслуживания - Находим с названием "бла бла CAS 5000" - Изменить - значек "Загрузка/Обновление - Выбираем мой файл" - Открыть - ОК  - ВУАЛЯ.

 

https://cascis.ru/podderzhka/programmnoe-obespechenie - драйвера для весов.
Остатки отпусков с датой начала рабочего года 1C:Предприятие 8

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

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

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

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

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

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

Формат выгрузки в кодировке OEM:

Имя файла: ИНН_ДатаВыгрузки_НомерВедомости.txt

Структура: Номер^ЛицевойСчет^Фамилия^Имя^Отчество^Сумма

                   ИТОГО ЗАЧИСЛЕНИЙ:                   СУММА ИТОГО:
Сверка НДФЛ для ЗУП 1C: Предприятие 8.2

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

История создания данного отчета такова. Некоторое время назад, после определенного обновления типовой ЗУП, возникла следующая ситуация. НДФЛ по межрасчетным выплатам начислился и перечислился дважды: в момент выплаты и в конце месяца. С этой не самой приятной ситуацией столкнулись не только в нашей организации.

Для исключения подобных вещей в будущем я разработал незатейливый отчет. Суть его сводится к вычислению НДФЛ самым простым способом *0,13. Полученный результат сравнивается с начисленным НДФЛ системы. Имеющиеся отклонения выделяются красным.

Конечно, в отчете не рассмотрено множество нюансов когда «формула * 0,13» не работает, например не учтены некоторые вычеты.

Однако таких ситуаций не так много, и сотрудники, с «нетривиальным НДФЛ» расчетчикам зарплаты известны.

Предполагается, что отчет запускается специалистом по расчету зарплаты один раз в месяц после ее окончательного начисления. Бросая взгляд на «красные строчки» нужно понять причину отклонения. И если вызывает сомнения, детально проверить на правильность начисления НДФЛ системой.

 

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

Представляю обновленную версию от 03.07.13.

- Исправлена ошибка, связанная со «свертыванием» повторяющихся доходов (один вид расчета и сумма). О чем, в частности, сообщал Amras

- Добавлена возможность вывода записи по физлицу, у которого не было доходов за период, а были записи по НДФЛ (напр. корректировки).

- Добавлена возможность вывода  информации по начисленному НДФЛ не только за период регистрации (как в предыдущей версии) так и за налоговый период.

Для этого в настройки добавлен параметр «По периоду регистрации». Значение ДА – за период регистрации, НЕТ- за налоговый период

Например:

Пусть 01 июня было проведено доначисление НДФЛ за май.

Отчет, сформированный за период с 0
ЗУП 2.5 Отчет по отработанному времени сотрудников организации 1C: Предприятие 8.2

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

Отчет показвает в разрезе сотрудника организации и его должности (на момент постороения отчета), года, месяцев и дней календаря:

"Отчет ""Расчет налога на имущество в разрезе месяцев и подразделений""" 1C: Предприятие 8.2

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

Ничего похожего в интернете не нашёл, делал с нуля, взять только общую идею (отсюда //infostart.ru/public/182038/)

А именно - алгоритм расчета:

Сводная расчетно-платежная ведомость. 1C:Предприятие 8

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

Расшифрована колонка №8 "Прочее". смотреть рисунок колонки 8.1,  8.2,  8.3,  8.4, 8.5, ... 8.n ..., 8.50. Т. е. разбивка будет производится до 50и видов расчета.
"Выгрузка документа ""Выплата зарплаты"" в Сбербанк *.dbf для ""ЗИК для бюджетных организаций v8.2"" с отчетом" 1C: Предприятие 8.2

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

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

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

Обработка использована для конфигурации УПП
Очистка регистрации объектов для узла обмена. УФ 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

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

Обработка формирует список GUIDов (уникальных идентификаторов) любого справочника конфигурации. Имеется возможность отбора по наименованию.
"Отчеты ""Валовая прибыль"", РАУЗ + Серии, для УПП 1.3" 1C: Предприятие 8.2

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

За основу взята публикация //infostart.ru/public/95409/ - Спасибо Автору den_valley

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

ВАЖНО!

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

Ну и так же, важно что бы у вас в конфе в регистре накопления "Продажи" было измерение - "Серия", а это есть в УПП
Отчет по ДДС (движению денежных средств) (СКД) Бух 2.0 1C: Предприятие 8.2

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

Отчет по движению денежных средств (СКД) Бух 2.0
Финансовый отчет: Затраты предприятия 1C: Предприятие 8.2

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

Финансовый отчет: Затраты предприятия (анализ расходов) - Это подробный свод по затратам предприятия по основным затратным счетам 20, 23, 25, 26, 44 и 66 (проценты по займам) с группировками по операциям(Счета), Подразделениям (на счетах без подразделений это поле пустое), Статьям затрат и Номенклатурой (в это поле попадает все в зависимости от корреспондирующего счета: или  КорСубконто.Номенклатура или содержание проводки с коррСчета).

Отчет строится в количественно-суммовом выражении (для анализа количества расходуемого материала).

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

Пользователю доступны разделы настройки СКД для управлением порядком следования или видимостью показателей.
"Кейс ""Производственное предприятие. Экспресс-обследование""" Не имеет значения

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

Избавиться от иллюзии исключительности

 

Итак, Вы на предприятии. Вы здесь впервые и Вас видят в первый раз. Скорее всего, к Вашему приходу никто заранее не готовился. Конечно руководство компании в курсе, что должны приехать какие-то специалисты для обследования, но не ждите особо фанфар и восторженных криков. Оставьте иллюзию, что Вы представители наикрутейшей компании с огромным штатом сотрудников и наличием сертифицированных специалистов в количестве сто пятьсот человек. Не ждите, что к Вам бросятся со словами: «спасители Вы наши, спасибо что приехали, до конца цикла жизни нашей компании будем Вам благодарны. Помогите справиться с нашими проблемами». 

 

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

Перед поездкой к клиенту

 

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

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

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

сладости (небольшие коробки конфет в знак начала сотрудничества - для рядовых сотрудников отделов)

 

 

Первый контакт - с руководством

 

Итак, первым делом Вы встречаетесь с самым главным человеком на предприятии. Еще раз объясняете цель своего присутствия: «нам необходимо понять, как работает Ваша компания изнутри. Для этого мы будем рады возможности провести небольшие интервью с ключевыми сотрудниками Вашего предприятия. Это не займет у них много времени. Интервью с одним сотрудником длится примерно 20-60 минут. Это даст первичное понимание деятельности Вашей компании. Также просим Вас организовать экскурсию по производству».

 

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

 

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

 

Интервью с руководителем отдела

 

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

введение (вы объясняете, зачем Вы на предприятии, в чем Ваша цель, определяете длительность интервью. Делаете подстройку под собеседника. Начните с позы, Ваша поза должна зеркалить собеседника. Если есть возможность, постарайтесь чтобы Вас не разделял стол. Идеальный вариант - кресла под небольшим углом друг другу.) Занимает 5-7 минут.
рассказ о сути работы отдела (просите, чтобы Вам рассказали в свободной форме о сути работы отдела и выполняемых функциях. Вы слушаете и молчите. Делаете пометки. Это займет примерно 5-10 минут. Зависит от говорливости Вашего собеседника) 
Вопросы (Ваша главная проблема в том, что Вы можете не знать терминологии данной отрасли и специфики ее работы. Ничего страшного. Затем Вы и приехали, чтобы понять. Скорее всего, Вас начнут проверять насколько Вы эксперт и в теме ли особенностей бизнеса в данной отрасли - тонкий момент, не пытайтесь говорить ихними терминами, если Вы их еще не знаете. И тем более не пытайтесь грузить своими терминами - регистры, объекты, ТЗ, ХЗ, РП, PMI, Agile и прочие слова. Чем более простой язык - тем лучше. Не используйте в своей речи слова другого языка. Не умничайте. Если Вы услышали незнакомый термин или что-то Вас в словах собеседника насторожило - не стесняйтесь, спрашивайте. Пусть объяснит. Пытайтесь различать «красивую картинку» и «реальную картинку». Дело в том, что при разговоре с Вами, Вам будут рассказывать как все замечательно и хорошо. По крайней мере, это звучит хорошо. Это не Ваш хлеб. Если бы на предприятии было бы все хорошо, то Вы бы сейчас тут не сидели. Нет предприятий без проблем, есть недообследованные. Когда проведете несколько интервью на данном предприятии, Вы сможете увидеть ряд несоответствий в «показаниях» руководителей отделов. Вот это уже Ваш хлеб. Вам необходимо фокусировать свое внимание на жалобах собеседника. На неудобствах для него. На конфликтах интересов его с другими руководителями отделов. Это все, т.н. симптомы проблемы. Их берем на карандаш. Ниже пример таких симптомов и вывод после их анализа)

 

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

 

Сколько нужно времени на интервью с ключевыми сотрудниками? Давайте считать. Предположим, что на одно интервью Вы затрачиваете 1 час. Это время на перемещение между отделами, на подготовку, на рукопожатие и знакомство. Таким образом за рабочий день Вы сможете провести 5-6 интервью. Вам же надо еще и обедать и отдыхать от потока новой информации. Таким образом, для предприятия с количеством подразделений от 10 до 15, Вам понадобится на этапе полевого обследования 2 дня. Плюс еще 3-5 дней на анализ и оформление. Это при наличии опыта, при его отсутствии - вводите коэффициент = 3.

 

Анализ собранной информации

 

Какую информацию Вы должны собрать на этапе полевого обследования? Предлагаю следующие разрезы анализа:

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

 

 

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

 

Формулировка целей проекта

 

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

 

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

 

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

 

Теперь строим целевую модель проекта. Строки - это приоритет, колонки - логические этапы. Разносите цели в построенную матрицу. Получаете примерно такой результат:

 

Технико-коммерческое предложение

 

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

 

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

 

Файлы-приложения к данной статье:

Аудиозапись интервью с руководителем конструкторского отдела
Аудиозапись интервью с руководителем технологического отдела
Схемы анализа в формате .vsd (для MS Visio)
Картинка «Орг. структура»
Отчет по результатам экспресс-обследования



SIP телефон в 1с 1C: Предприятие 8.2

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

Штатное расписание и штатная расстановка в одном отчете 1C:Предприятие 8

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

Штатное расписание и штатная расстановка в одном отчете. Объединены в одном два типовых отчета. Часто возникает необходимость сравнить штатную расстановку со штатным расписанием, в одном отчете это будет очень удобно сделать. Работает в ЗУП, УПП, КА.
Групповая обработка справочников и документов (Управляемая форма) v 3.2 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

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

По сравнению с оригиналом имеет один большой плюс: вместо Построителя отчетов используется СКД, что позволяет группировать условия (группы И ИЛИ НЕ).

 

В случае необходимости можно подгрузить значения отбора по ссылочному типу из таблицы. Для этого необходимо

Браузер Хранилища. в.1.2 1C:Предприятие 8, 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

рассчитывает размер хранимых данных
помечает на удаление
очищает хранимое значение
сохраняет на диск

Расчет размеров проводится либо через Base64 либо через вычисление размера сохранённого на диск файла. Для 8.2 и выше есть возможность расчета размера через встроенный метод объекта двоичных данных.

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

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

 История версий

Печать ценников из УТ 10.3 (возможность выбора регистра цен) 1C: Предприятие 8.2

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

В табличную часть добавлен штрих-код номенклатуры.

Отбор ведется по складу и товарам, которые есть в наличии. Если склад не указан, то в табличную часть попадают все товары на всех складах
"Проверка флага ""Блокировка регламентных заданий включена""(ScheduledJobsDenied) в свойствах баз на Кластере серверов 1С82" 1C: Предприятие 8.2

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

25.07.2013

Версия
Учет персональных финансов для Android и 1C 1C: Предприятие 8.2

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

Статья обновлена 13.10.2014


Статья ориентирована на тех кто:

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

Требования к установленному программному обеспечению.

На компьютере должно быть установлено:

1С:Предприятие 8.2
SQLite ODBC драйвер
Конфигурация Блиц Бюджет для 1С

На мобильном устройстве должно быть установлено:

Программа Бюджет Блиц для Android, версия Pro

Больше информации о Бюджет Блиц для Android можно узнать здесь


Ввведение

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

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

Лучше всего проанализировать данные на своем домашнем или офисном компьютере, так чтобы не нужно было использовать ни облако, ни синхронизацию. И как раз система компоновки данных 1С:Предприятие 8 обладает широкими возможностями для формирования отчетности. Поэтому было бы интересно воспользоваться 1С для построения отчетов, основанных на данных смартфона.

Практическое использование

Перед подключением мобильного устройства (телефона, планшета, пр.) к компьютеру через USB и построением отчетов в 1С готовим данные. Для этого служит пункт меню Экспорт. Далее подключаем мобильное устройство к компьютеру через USB в режиме дисковода.

 



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

 

Вот и все, просто, удобно и ничего лишнего.

Эпилог

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

Спасибо за внимание.

Ссылки:

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

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

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

Подключение автоматически: Сервис - Дополнительные отчеты и обработки - Внешние печатные формы

Использовалась обработка: //infostart.ru/public/69232
Отчет для анализа ТМЦ (приход-расход) по периодам (ТиС 9.2 1С 7.7) 1С:Оперативный учет 7.7

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

Отчет (ТиС 9.2 1С 7.7) для анализа (приход-расход) с группировкой по периодам (день, неделя, месяц и т.д.) в ценах закупки с указанием количества и суммы,  своего рода вариант листа Exel как делают экономисты.

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

Возможность использования сохранения отчетов через стандартный механизм (Москсель)  и  Йоксель.
Правила обмена УТ 10.3.21 - БП 2.0.48 1C: Предприятие 8.2

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

Доработанные последние правила обмена Т10.3.21 в БП 2.0.45, для выгрузки в БП 2.0.48. В версии КОРП вылетала ошибка при загрузке Счет-Фактур: Поле объекта не обнаружено (ДатаИсправленияИсходногоДокумента).

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

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

Поиск вхождения документа Реализация товаров по заданному Контрагенту и Номенклатур
KLADR: Ввод адреса по классификатору адресов КЛАДР (ExtDb для 8.2) 1C: Предприятие 8.2

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

Предыстория

Создавая различные заказные конфигурации «с нуля» на платформе v8 я столкнулся с необходимостью подключения адресного классификатора для ввода юридического и фактического адресов фирм и контрагентов, адресов доставки и т.п. Не изобретая велосипед, я использовал регистр сведений и нужные ему процедуры подсистемы «Адресный классификатор» из типовой конфигурации, загружал файлы КЛАДР в базу и всё работало. Недостатком такой системы была очень долгая первичная загрузка и еще более длительное обновление данных в регистре сведений «Адресный классификатор», необходимость это делать отдельно в каждой рабочей базе, а также значительное увеличение объема баз и ежедневных архивов за счет данных, не являющихся учетными для предприятия. Каждый раз я с ностальгией вспоминал, что в старенькой «семёрке» достаточно было распаковать свежий архив с КЛАДР в каталог ExtDb одной базы, за пару минут проиндексировать DBF-ки, просто раскидать полученные файлы по другим базам и всё работало также быстро и надежно как теперь в «восьмёрке». Безуспешно поискав подобное типовое решение от 1С и не найдя ничего похожего здесь на Инфостарте, я принял решение изучить проблему и всё сделать самому.

Как это было


Для начала была скачана последняя версия КЛАДР и вся техническая документация по нему со страницы ФГУП ГНИВЦ ФНС России (в дальнейшем обновления базы данных классификатора можно тоже качать отсюда). Документация была изучена, DBF-файлы визуально пощупаны с помощью программы winDBFview (в частности с помощью встроенной функции работы с КЛАДР). Далее были изучены схемы организации ввода адреса в типовых «1С: Бухгалтерии 7.7 ред. 4.5» и «Библиотеке стандартных подсистем ред. 2.1». Огромную благодарность выражаю авторам обработки альтернативного ввода адреса для 7.7: //infostart.ru/public/61447/ и //infostart.ru/public/82114/ (некоторые идеи были взяты для каркаса моей разработки). В итоге собрав всё лучшее и отбросив наиболее непонятное была создана предлагаемая вашему вниманию обработка под 8.2.

Демо-конфигурация


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

Создайте новый каталог, например C:\DataBase\ExtDb, и скопируйте в него файлы KLADR.DBF, STREET.DBF и DOMA.DBF, скачав их с сайта ГНИВЦ ФНС (остальные DBF-ки из архива можно удалить) или скопировав из каталога ExtDb рабочей базы «1С: Бухгалтерия 7.7».
Создайте пустую базу на платформе 8.2 (толстый клиент) и загрузите в неё файл конфигурации KLADR.cf из данной публикации.
Откройте новую базу в режиме «Предприятие», заполните константу «Путь к КЛАДР» каталогом п.1, нажмите внизу кнопку «Записать», при первом выборе значения константы «Типовой адрес» запустится индексация файлов КЛАДР (статус процесса в строке состояния) и откроется диалог ввода адреса.
При заполненной константе «Путь к КЛАДР» на старте системы будет открываться уже не форма констант, а список демонстрационного справочника «Адреса», состоящего из одного реквизита неограниченной длины «Адрес». В модуле формы элемента данного справочника собраны все полезные приёмы работы с адресами формата ФНС.
Описание прочих объектов конфигурации: общие модули «БСП» и «КЛАДР» содержат необходимые типовые процедуры и функции для обработки ввода адреса, из константы «Типовой адрес» подставляется значение при вводе нового адреса (можно ввести туда адрес до вашего города и начинать ввод сразу с улицы) и сама обработка «ВводАдреса» (проверяет и создает индексы, разбирает и собирает адрес через «9 запятых» - в общем смотрите и пользуйтесь).
Выбираемые из списков элементы КЛАДР дополнительно подсвечиваются одним из трех цветов: черный - наименованию объекта ещё не сопоставлен код из базы (такое бывает при начале редактирования старого адреса или вводе наименования объекта вручную), синий - наименование объекта успешно идентифицировано в базе КЛАДР, красный - выбранный ранее из классификатора объект исправлен (такое бывает при ручном исправлении выбранного наименования или измении вышестоящего элемента адреса при уже выбранных нижестоящих).  
Я знаю что...


Данная обработка осознанно отличается по своему поведению от типовых механизмов 7.7 и 8.2 в следующих аспектах:

Более жёсткая работа с полем «Индекс»: заполняется только если найден в домах или улицах (нет подбора ближайшего).
Количество индексов и размер CDX-файлов максимально сокращены (своя индексация с префиксом «8»), избыточные заменены на переборы строк с условием, что практически незаметно на современных компьютерах и серверах.
Убран подбор городов и населенных пунктов среди всех районов выбранного региона: только прямое подчинение по структуре кодов КЛАДР (можете доработать, включая анализ и обработку поля «STATUS»).
Рекурсия по объектам адресации разорвана и структурирована в угоду читабельности и лёгкости доработки кода.
Версии обработки на управляемых формах нет и не планируется, клиент-сервер встанет без особых доработок.
Файлы ALTNAMES.DBF и SOCRBASE.DBF не используются: только актуальные адреса, только DOS-кодировка КЛАДР.
Используемые файлы KLADR.DBF, STREET.DBF и DOMA.DBF сразу открываются на чтение при открытии формы обработки (готовьте оперативную память), но ошибок блокировки при одновременном вводе адресов различными пользователями и из разных баз не выявлено.
Заключение


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

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

Показывает отгрузку и оплату покупателей по 62 счету без учета внутренних оборотов по счету (таких как зачет аванса
Формирование списка штрих-кодов 1C:Предприятие 7.7

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

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

Обратите внимание, когда вы вводите начальный диапазон и смотрите его на последней карточке, то берите с предпоследнего знака. Пример: штрихкод "2500000000256", следуюший номер будет 26, последний знак это контрольная цифра (пишу для тех, кто не знал)
Акт сверки взаиморасчетов по нескольким договорам 1C: Предприятие 8.2

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

Внешняя обработка для заполнения ТЧ в документе Акт сверки взаиморасчетов. Позволяет заполнить акт сверки по нескольким договорам.

1) Выбираем контрагента в документе.

2) Из меню "Заполнить" выбираем внешнюю обработку "Акт сверки взаиморасчетов по нескольким договорам"

3) Заполняем список договоров

4) Жмем кнопку "Ок" и наслаждаемся результатом
"Отчет ""Расчеты с поставщиками"" 1С 8.2 для БП 2.0" 1C: Предприятие 8.2

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

Показывает поступления и оплату поставщикам по 60 счету без учета внутренних оборотов по счету (таких как зачет аванса
Внешние печатные формы накладной для поступления и перемещения товаров с розничной ценой УТ 11 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Внешние печатные формы для приходной накладной и накладной на перемещение товаров с указанием розничной цены для Управление Торговлей ред. 11

Для тех, кому нужна розничная цена в накладной для лучшего ориентирования в товарах и/или для тех, кто не хочет показывать закупочные цены.

Вид цен ищется по наименованию "Розничные" или "Розничная" или если их не найдено, то ищется наименование цен "Прайс-лист" (в версии 1
Асинхронное формирование отчетов в клиент-серверном варианте (УФ) 1C: Предприятие 8.2

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

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

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

 Для формирования отчета нужна процедура общего модуля с текстом: 

Процедура СформироватьОтчетПоместитьВоВременноеХранилище(Отчет, Адрес) Экспорт

ТабДок = Новый ТабличныйДокумент;
ОтчетОбъект = Отчеты.ПроизвольныйОтчет.Создать();
ОтчетОбъект.УстановитьПроизвольныйОтчет(Отчет);
ОтчетОбъект.СформироватьОтчет(ТабДок);

ПоместитьВоВременноеХранилище(ТабДок, Адрес);

КонецПроцедуры
 

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

ФоновыеЗадания.Выполнить("итКлиентСервер.СформироватьОтчетПоместитьВоВременноеХранилище",МассивПараметров, СтрокаОтчетов.ИдентификаторХранилища);

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

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

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

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

Cуществует масса способов как выкинуть пользователя из базы. Один из них это ЗавершитьРаботуСистемы(), другие -сброс сеансов, остановки служб и тд.

Этот способ ЗавершитьРаботуСистемы(), просто немного подшлифован для себя. Может кому и пригодится.

Подойдет для любой конфигурации 8.2, работающих на толстом клиенте.

ЗЫ: Добавлено закрытие сессий на сервере приложений 1С.

Небольшие нюансы. При выставлении галки "Всех" у первого пользователя у которого закончится время ожидания - его клиент попытается закрыть все открытые сесси базы данных. Т.е. если время на комп. пользователей не синхронизируется с временем на сервере - то некоторым пользователям может не хватить таймаута для закрытия программы.

Если галка не стоит, то будет предпринята попытка закрыть сессии, которые создались при приглашении ввести пароль и текущая сессия пользователя.

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

 
Порядок поиска лицензий 1С 1C: Предприятие 8.2

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

В нашей организации настало время апгрейда лицензий 1С. Помимо увеличения лицензий, так же приняли решение о замене аппаратных лицензий на программные. Не нашел нигде в интернете, в том числе на сайте 1С, четкого и полноценного описания того, как и в каком порядке ищутся клиентские лицензии в случае если они - аппаратные (USB), программные и когда они выдаются сервером.

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

Таблица изложена как в картинке, которую можно посмотреть бесплатно, так и отдельным файлом Excel.

P.S. Данная таблица - это мое видение, после всей перечитанной информации по клиентским лицензиям, которую я нашел. Если кто-то найдет в ней несоответствие - пишите с удовольствием их поправлю.
Граф вызовов для модулей 1С + GML (YeD) 1C: Предприятие 8.2

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

Однажды я столкнулся с задачей, где надо было разобраться в обработке, которая содержала более 15000 строк в модуле и основной форме. Удержать в голове такую структуру было невозможно, и я обратился к Инфостарту, где нашел замечательную обработку: //infostart.ru/public/78976/. Она мне очень помогла, но у нее был один недостаток. Графы, которые строятся с помощью dot.exe это просто картинки, если объектов много, они становятся труднообозримыми.

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

В отличие от исходной обработки работает только в обычном приложении — поленился написать для управляемого.
М-11 Универсальная печатная форма с дополнительными параметрами 1C: Предприятие 8.2

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

Внешняя печатная форма "М-11" для типовой БУХГАЛТЕРИИ, ред.2.0  для Документов "ТребованиеНакладная", "ОтчетПроизводстваЗаСмену", "ПередачаМатериаловВЭксплуатацию", "ОтчетПроизводстваЗаСмену"выводится на печать "М11", "ТребованиеНакладная", "АктСписания", в зависимости от доп.параметров (имя "МАКЕТ", Значение - тпи "СТРОКА").

Вот с доп.пареметрами сложноватько - надо указать, что Макет и далее:

    - "М11" - выводится на печать "М-11 ТребованиеНакладная"

   - "ТребованиеНакладная" - выводится на печать "ТребованиеНакладная"

   - "АктСписания" - выводится на печать "Печать_АктаСписания"

   - без параметров выводится "М-11 ТребованиеНакладная"

Для НЕКУРЯЩИХ пользователей привожу код функции ПЕЧАТЬ():

Функция Печать() Экспорт

Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ТребованиеНакладная") Тогда
Если ДополнительныеПараметры.Макет = "М11" Тогда
ТабДокумент = ПечатьМ11_ТребованиеНакладная();
ИначеЕсли ДополнительныеПараметры.Макет = "ТребованиеНакладная" Тогда
ТабДокумент = Печать_ТребованиеНакладная();
ИначеЕсли ДополнительныеПараметры.Макет = "АктСписания" Тогда
ТабДокумент = Печать_АктаСписания(СсылкаНаОбъект);
Иначе
ТабДокумент = ПечатьМ11_ТребованиеНакладная();
Конецесли;
ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену") Тогда
Если ДополнительныеПараметры.Макет = "М11" Тогда
ТабДокумент = ПечатьМ11_ОтчетПроизводстваЗаСмену();
ИначеЕсли ДополнительныеПараметры.Макет = "АктСписания" Тогда
ТабДокумент = Печать_АктаСписания(СсылкаНаОбъект);
Иначе
ТабДокумент = ПечатьМ11_ОтчетПроизводстваЗаСмену();
КонецЕсли;
ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ПередачаМатериаловВЭксплуатацию") Тогда
ТабДокумент = ПечатьМ11_ПередачаМатериаловВЭксплуатацию();
Иначе
Возврат Неопределено;
Конецесли;
Возврат ТабДокумент;

КонецФункции

Кто подскажет как это автоматизировать - тому спасибо и бантик на макушку! :)
Обработка для удаления помеченных объектов (8.2) 1C: Предприятие 8.2

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

Как-то мне попала обработка "Удалялка
Загрузка из Excel заказов с номенклатурой в «произвольной форме» Не имеет значения

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

Предыстория:

Оптовая компания принимает заказы от клиентов в виде файлов Excel в произвольной форме, т.е. каждый клиент пишет наименование номенклатуры как ему взбредёт (кто то пишет штрих коды, кто то точное наименование а кто то вообще отсебятину), а также не соблюдается порядок колонок и прочая белиберда J. На мое предложение стандартизировать файл заказа и «заставить» клиентов заполнять его одинаково компания ответила отказом… Ну как говориться любой каприз за ваши деньги! Я не стал выкабениваться, тем более на тот момент мне это было интересно попробовать реализовать.

Функционал:

Обработка «просматривает» файл Excel, затем производиться поиск по штрих коду, если товар не найден (не указан штрих код в Excel или не забит в комментарии в базе), то поиск происходит по совпадению слов, выбирается вариант с максимальным совпадение слов. Товар с количеством 0 игнорируется. Затем обработка записывает все это дело в документ поступления или реализации (предварительно необходимо выбрать ранее созданный документ). Есть возможность в форме обработки поменять номера колонок, из которых необходимо загружать.
Перенос справочников между ЛЮБЫМИ базами Платформа 1С v8.x (все механизмы)

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

Перенос справочников между ЛЮБЫМИ базами ver5 12 мес.  1 мес.  7.13 

4680 руб.
Перенос справочников между ЛЮБЫМИ базами ver5 + 1 перенос "под ключ" 12 мес.  1 мес.  6.01 

14400 руб.
Перенос справочников между ЛЮБЫМИ базами: Техподдержка сроком на 1 месяц 1 мес. 

2856 руб.
Доработка продукта - 1 час 1 час 

2856 руб.
Итого:
4 680 руб
Валовая прибыль с диаграммой (СКД). Комплексная автоматизация, Управление торговлей 10.3 1C: Предприятие 8.2

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

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

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

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

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

Встала задача: распечатать счета-фактуры на аванс за квартал массово. ПОлучилась такая вот обработочка для решения этой задачи по любому виду документов. При открытии обработки заполняется список слева со всеми видами документов. В этом списке надо встать на строку с интересующим видом документа. Выбрать необходимый период. Задать все дополнительные условия отбора, если надо: по контрагенту, по комментарию, по проведенности или пометке удаления и прочее. Щелкнуть по кнопке "Отобрать". Заполнится список справа отобранными документами. Надо поставить пометки у тех, которые необходимо распечатать. Также заполнится список имеющихся печатных форм, в котором надо отметить ту, которую хотим печатать. Нажимаем кнопку "Печать" и на экран выведутся нужные документы не в отдельных окнах, а в одном, из которого можно распечатать на принтер.

Примечание: в каталог внешних печатных форм информационной базы кладем 2 файла на каждый вид документа: *.ert и *.efd. Отличие от имеющихся файлов процедурой при открытии:

Процедура ПриОткрытии()
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда       
        Докум      = Форма.Параметр.Получить("Контекст");
        Устройство = Форма.Параметр.Получить("Устройство");
        КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");       
        Если ТипЗначенияСтр(Докум)="СписокЗначений" Тогда
            Таб = СоздатьОбъект("Таблица");
            Для к=1 по Докум.РазмерСписка() Цикл
                Если к>1 Тогда
                    Таб.НоваяСтраница();
                КонецЕсли;
                ТекДок=Докум.ПолучитьЗначение(к);
                Печать(ТекДок, Устройство, КолвоКопий);
            КонецЦикла;
            Таб.Опции(0,0,0,0,"ОпцииПечати","ОкноПечати");    
            Таб.ПараметрыСтраницы(2,,,5,5,5,5,0,0,1);            
            Таб.ТолькоПросмотр(1);        
            Таб.Показать("Печать счета-фактуры","");
        Иначе
            Сообщить("Печать возможна только из групповой обработки!");    
        КонецЕсли;
        Статусвозврата(0);
        Возврат;  
    КонецЕсли;   
КонецПроцедуры // ПриОткрытии()

И в процедуре печати надо убрать строчки инициализации таблицы и отображения таблицы. все остальное также. Прилагается печатная-форма для счетов-фактур 1137. Их надо поместить в папку "\ExtForms\PrnForms" рабочей базы. Есть возможность доработать отсутствующие печатные формы.
Печатная форма дисконтных карт с генерацией штрихкода EAN-13 1C: Предприятие 8.2

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

Данная обработка предназначена для формирования печатной формы дисконтных карт с генерацией штрихкода EAN-13. Есть возможность настройки печатной формы. Интерфейс - обычное приложение.


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

 

Зарегистрировать штрихкоды в УТ 10.3 можно с помощью обработки "Автоматическое создание элементов справочника "Информационные карты""
Акт об оказании услуг с реквизитами и возможностью вывода 2 экземпляров на странице. Внешняя печатная форма. Бух. 2. 1C: Предприятие 8.2

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

Акт об оказании услуг с заполненными реквизитами в шапке (ИНН, Юридический адрес, Телефоны, Номер счета, Банк, БИК, КоррСчет)

В поле подписи отображается значение из регистра сведений "Ответственные лица организаций" с полем Ответственное лицо = "Руководитель"

При выводе на печать появляется диалоговое окно с вопросом "2 экземпляра?". Если "ДА" то выводится 2 экземпляра на страницу, если "НЕТ" то выводится один экземпляр.
Обработка автоматической разноски денег по Кассе\Банку для сетевых (и не только) контрагентов для ТиС 7.7 1С:Оперативный учет 7.7

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

Бывают такие ситуации, когда торговый представитель (либо сам контрагент по банку) предоставляюет некую сумму денег без указания конкретных накладных для оплаты (а в некоторых случаях и без указания конкретного контрагента из сети), для того чтобы закрыть самые старые долги (по контрагенту или по сети). В такой ситауции кассиру приходится формировать ряд отчетов для того, чтобы выяснить какую накладную и на сколько надо закрыть (поскольку бывают частичные оплаты), плюс паралелльно следить, чтобы общая сумма не вышла за рамки предоставленной. Еще следует привязываеть документы оплаты к основаниям, чтобы корректо учитывать просрочку по каждой накладной (в некоторых организациях это учитывается при начислении зарплаты торговым). Моя обработка призвана автоматизировать этот процесс. Вам только нужно запустить обработку, выбрать дату анализа долгов (она же дата создания документов оплаты), выбрать контрагента или группу контрагентов и режим выборки (сеть или контрагент), заполнить нажатием одной кнопки таблице долговых документов, внести общую (!) сумму разноски и нажать соответсвующую кнопку Касса\Банк. Остальное программа сделает сама )) При этом выдаст удобную форму комментариев к созданным документам.

Отладчик запросов /обновление 11.04.2014/ 1C: Предприятие 8.2

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

Спасибо за помощь пользователю StepByStep (МА!)

 

Обновление от 1
Установка периода в сохраненных настройках отчетов 1C: Предприятие 8.2

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

При открытии типовых отчетов в БГУ  автоматически загружаются сохраненные ранее настройки, в том числе и период отчета. Например:

- работаем в 2013 году

-открываем отчет "Журнал операций"

-период восстанавливается из сохраненных ранее настроек: Дата начала=0
Обработка для контроля правильности списания остатка по партиям в типовых конфигурациях 1C: Предприятие 8.2

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

Во многих типовых торговых конфигурациях (УТ, УТП, УПП) есть по несколько регистров для учета остатков товаров. В частности, Товары на складах и Партии товаров на складах. Сам подход спорный, но речь не об этом. Теоретически, значения остатков (ресурса Количество) этих 2 регистров должны совпадать (если не используются подсистема розничного учета (регистр ТоварыВРознице) и пр.) Если партии всегда списываются правильно, то так оно и есть. Но увы, на самом деле идеал недостижим. При эксплуатации реальной базы накапливаются ошибки в списании партий, которые невозможно устранить восстановлением последовательности Партионный учет. Например, сурово доставляет механизм "Оперативного проведения" , примененный для документов прихода (ПоступлениеТоваровУслуг и пр.). При повторном проведении документ по умолчанию проводится оперативно, и перепрыгивает в конец дня. А расходы уже пошли! При перепроведении документов партии не списываются. Что с этим делать ?

1)Можно плюнуть и забыть.

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

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

1)Посмотреть отчет обо всех документах движения данного товара по данному складу

2)Посмотреть отчет только по "сбойным" документам, где партии списывались неправильно

3)Посмотреть текущую раскладку остатков по партиям.

 

Как легко и просто найти и исправить ошибку ? Сначала используем п.1, и в списке всех движений находим точку, где остаток стал отрицательным. Разбираемся в причинах, передвигаем приходные документы в начало оси времен, расходные в конец оси времен. Потом используем п.2, открываем и перепроводим конкрентно сбойные документы (если заниматься этим каждый день, то их будет мало). В особо запущенных случаях, когда ошибка в старом уже закрытом периоде, можно посмотреть раскладку остатков по партиям (п.3),  чтобы вручную списать партии, используя документ КорректировкаДвиженийРегистров.

 

Успехов в борьбе с учетом!
Сублицензионный договор на 1С:Отчетность для партнеров компании «Калуга Астрал» 1C: Предприятие 8.2

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

Сублицензионный договор на 1С:Отчетность для партнеров компании «Калуга Астрал».

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

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

Итак, перед нами стоит следующая задача:

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

Рис. №1 Регистр сведений «Остановки по маршруту».

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

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

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

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

 

Решение

Замена значений 1C:Предприятие 8

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

Обработка выполняет замену/удаление значений справочников во всех объектах информационной базы данных (Справочниках, Документах, Регистрах).
Удаление справочников и документов 1C:Предприятие 8

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

Обработка предоставляет широкие возможности отбора элементов любых справочников и документов, просмотра ссылок в информационной базе и их непосредственное удаление.
Групповая обработка справочников и документов (v.3.4) - замена реквизита выражением, удаление объектов - новая версия 1C: Предприятие 8.2

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

Еще один шаблон типового отчета на СКД 1C: Предприятие 8.2

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

Данный шаблон писался для себя, как универсальный шаблон под все виды отчетов.

Работает только на типовых конфигурациях.

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

 

ОСНОВНЫЕ ВОЗМОЖНОСТИ ШАБЛОНА:

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

 

UPD: ВЕРСИЯ ШАБЛОНА
Обмен данными 1C:Предприятие 8

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

Данные выгружаются в виде файла схемы и файла данных. Формат файла данных - DBF. Схема выгружается как таблица значений через функцию ЗначениеВФайл. При загрузке схемы производится попытка автоматического сопоставления выгружаемых объектов и их реквизитов с объектами и реквизитами в базе-приемнике.

         
           
  Описание реквизитов формы  
    Поле "Вид объекта" Служит для указания вида выгружаемых объектов. За один прием можно выгрузить объекты только одного вида.  
    Кнопка "Отбор" При нажатии открывается форма, где можно отобрать конкретные объекты для выгрузки.  
    Кнопка "Настройка выгрузки реквизитов" При нажатии открывается форма настройки выгрузки реквизитов.  
    Поле "Путь" Служит для указания папки выгрузки. Без его указания выгрузка не сработает.  
    Флажок "Трассировка" Определяет, куда будут выводиться сообщения о выгрузке/загрузке: в отдельную форму или в окно сообщений  
    Кнопка "Считать настройки загрузки реквизитов" При нажатии считывается выгруженная схема даных.  
    Кнопка "Настройка загрузки реквизитов" При нажатии открывается форма настройки загрузки реквизитов.  
   
Кнопка "Таблица типов"
При нажатии открывается список типов, разрешенных для выгрузки в качестве типа реквизита.  
    Пояснение: Каждый реквизит имеет один или несколько возможных типов. Выгрузка/загрузка некоторых из них не реализована в данной обработке. Значения типов, отсутствующих в списке, будут выгружаться в виде строковых представлений.  
    Кнопка "Инструкция по использованию обработки" При нажатии открывается эта инструкция.  
    Кнопка "О программе" При нажатии выдаются сведения о версии и авторе обработки.  
           
  Порядок выгрузки  
    1 Выбрать вид объекта.  
    2 Если необходимо выгружать не все объекты указанного типа, состав выгрузки можно указать через кнопку "Отбор". В зависимости от вида объектов, в список отбора можно занести как отдельные объекты (в т.ч. группы справочников), так и периоды.  
    3 Указать дополнительную настройку выгрузки реквизитов, нажав кнопку "Настройка выгрузки реквизитов".  
    4 Указать путь выгрузки.  
    5 Нажать кнопку "Выполнить выгрузку" и дождаться окончания выполнения обработки.  
    В результате выгрузки в указанной папке появится два файла: Data.dbt и Data.dbf. Первый содержит схему выгрузки данных (состав реквизитов, ключевое поле выгрузки и т.д.), второй - сами данные.  
    Дополнительная настройка выгрузки реквизитов  
      Каждый реквизит выгружается в виде ключевого поля. По умолчанию ключевым полем для справочника является код, в случае нулевой длины кода - наименование, для документа - дата и номер, для перечисления - индекс (нумерация идет с единицы, нуль означает пустое значение), для счета - код. Если реквизит может принимать значения нескольких типов, ключ побирается для каждого типа в отдельности.  
      Ключевое поле реквизитов автоматически назначается при выборе вида объекта. Его можно поменять в форме дополнительной настройки выгрузки реквизитов, щелкнув по колонке "Типы реквизита".  
           
  Порядок загрузки  
    1 Указать путь загрузки.  
    2 Нажать кнопку "Считать настройки загрузки реквизитов".  
    3 Указать дополнительную настройку загрузки реквизитов, нажав кнопку "Настройка загрузки реквизитов".  
    4 Установить нужные флажки на сохранение пометки удаления и статуса проведения.  
    5 Нажать кнопку "Выполнить загрузку" и дождаться окончания выполнени обработки.  
    Обработка загрузит объекты, присваивая значения реквизитам в соответствии со схемой настройки. Если установлены соответствующие флажки, установит пометки удаления и попытается провести документы.  
    При загрузке данных открывается транзакция, что может повлять на работу других пользователей базы.  
    Дополнительная настройка загрузки реквизитов  
      Если структура базы-источника и базы-приемника отличается, то не всем реквизитам выгружаемых объектов удастся автоматически сопоставить реквизиты загружаемых. Однако, их можно указать в форме дополнительной настройки загрузки реквизитов вручную - путем выбора из списка, щелкнув по колонке "Имя реквизита (приемник)".  
      Существует возможность очистить имя реквизита-приемника, а также подставить имя любого реквизита для приема значений системных полей: кода и наименования у справочников, номера и даты у документов.  
      Через колонку "Тип реквизита" настраивается сопоставление типов выгружаемого и загружаемого реквизитов.  
    Примечание  
      В силу особенностей алгоритма загрузки в некоторых случаях при загрузке справочников не происходит установка иерархии (родители, владельцы). Ситуацию исправляет повторная загрузка тех же данных. При этом необходимости в повторной выгрузке нет.  
           
Заполнение табличной части документа покупки по документу установки цены номенклатуры в БГУ 1C: Предприятие 8.2

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

Обработка заполняет цены в табличной части документа покупки материалов по предварительно занесенному документу установки цены номенклатуры в БГУ, с учетом НДС. Если НДС включен в цену и его нужно отображать, то на закладке "Материалы" необходимо установить галочку "Сумма включает НДС".

Если в документе установки цены отсутвует номенклатура, которая есть в документе покупки, то обработка выдаст сообщение, и суммовые поля по этой позиции поставит пустыми.

Подключение Сервис - Дополнительные отчеты и обработки - Дополнительные внешние обработки табличных частей - Добавить, выбрать прикрепленный файл, программа спросит "Указанная внешняя печатная форма содержит параметры авторегистрации. Использовать их при регистрации?" нажать да, и в поле "Представление кнопки" написать что-то вроде "Простановка цен".
"Конфигурация ""Управление личными задачами"", версия 1.1" 1С: Предприятие 8.3

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

Основные возможности программы:

Ведение списка задач в разрезе категорий и проектов.
Ввод описания задачи с использованием форматированного текста.
Отображение/скрытие удаленных и выполненных задач.
Использование дополнительных статусов задач.
Ведение списка контактных лиц.
Планирование сроков выполнения задач.
Загрузка задач через встроенный почтовый клиент.
Формирование отчета по задачам.

Конфигурация не имеет программной защиты и полностью открыта для изменения пользователем. 

Версия 
Отчет - Расчет остатка резерва на оплату отпусков (8.2 - УПП 1.3.38.4) 1C: Предприятие 8.2

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

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

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

Не утверждаю, что мои решения являются на 100% правильными. Да и экзамен принимают в среде 3.0. Но легче начинать подготовку, если есть от чего оттолкнуться в поисках "Правильного решения".
Здесь десять задач: Автолиз (2 шт), Закон и Порядок, Имидж, Кварта, Композит, Оценщик, Радар, Строй Дом, Термит.
Срез версий объектов на дату 1C: Предприятие 8.2

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

Для обычного приложения.

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

Выдержка из справки к обработке:

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

Как пользоваться?
Выберите вид объекта, если хотите срезать версии только по определенному виду объекта(например, только версии справочника Номенклатура). Оставьте поле пустым, если необходимо обработать версии всех объектов
Укажите период (дату) на который необходимо выполнить срез
Выберите режим работы
Выбрать объекты, обрабатывать версии по-объектно пачками по ... объектов
Выбрать версии всех объектов, обрабатывать версии последовательно
Нажмите Выполнить

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

Режим Выбрать версии всех объектов, обрабатывать версии последовательно теоретически должен работать быстрее, т.к. все необходимые для обработки записи выбираются одним запросом и после этого выполняется их последовательная обработка. При больших размерах таблицы версий объектов Сервер 1С или SQL-сервер может "призадуматься" или даже возможна ошибка нехватки памяти.

   Обновление от 2015-11-10
   Обновление от 2013-06-18

Добавлена возможность прекратить выполнение обработки по прошествию времени Часов:минут

Для баз в клиент-серверном варианте рекомендуемая пачка объектов 1К-10К

Рекомендую так же посмотреть:

Очистка регистра Версии Объектов от одинаковых версий

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

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

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

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

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

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

Иногда техническое задание пишется после создания системы. Либо на основе стандартной конфигурации 1С. Для составления структуры данных для ТЗ удобно сформировать таблицу структуры метаданных автоматически обработкой.  Обработка работает в конфигурациях с управляемыми формами. Формирует табличный документ, где выводятся справочники со всеми полями и описаниями/комментариями к полям.
"Отчет по данным системы спутникового мониторинга ""Автограф"" в 1С" 1C: Предприятие 8.2

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

Построение отчета в 1С по данным из системы мониторинга "Автограф".

В файле для скачивания сама обработка+описание COM-сервера "Автограф".

Обработку можно использовать просто в качестве примера для допила под свои задачи.
Внешняя печатная форма Товарного чека для Розница 2.0 1C: Предприятие 8.2

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

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

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

 

Описание, возможности
1) Работает только со сборочными спецификациями;2) Выводит план факт в единицах хранения;3) Учитывает возвратные отходы (добавлено в версии  v1);4) Программная расшифровка;5) Быстрота формирования.

 

Цели  отчета
Быстрота формирования по сравнению с типовым + расшифровка доп. отчетами. То есть «рабочая лошадка».Этот отчет не заменяет типовой  отчет:  Отчеты – Производство -  План факт анализ себестоимости  выпуска.Основной упор:1) Быстрота и Простота2) Программная  расшифровка   по  Регистрам накопления: Затраты  на выпуск  и по Выпуск продукции.В итоге пожертвовали универсальностью.То есть когда надо глубоко проанализировать в разных  разрезах и.т.п. – вам в помощь типовой отчет . Раз в месяц .Например, мы на практике применяем этот отчет, когда распределяем вручную основной полуфабрикат, которой входит в вышестоящий полуфабрикат (или Готовую продукцию).При ручном «тюнинге» фактических затрат   удобно:  распределил – проверил. То есть план факт переформировываешь часто.Типовой отчет долго работает. Это напрягало.Плюс сделал программную расшифровку:

 

Кратко как работает отчет
1) Настроены две схемы компоновки:Подразделение\Продукция\МатериалыПодразделение\Материалы\ПродукцияВесь отчет завязан на эти 2 схемы.Я  обе схемы сделал в конфигураторе,  чтобы не кидать отдельный xml файл настройки. На практике у нас одна схема по умолчанию, вторую  пользовательской настройкой.Просто при формировании  жмем кнопку «Расширенная настройка» и снимаем галочку с группировки Подразделения той или иной схемы  (рис1)Выводим и  анализируем результат.Рекомендую сразу настроить  и  сохранить свой вариант отчета. Как минимум в параметрах укажите стандартный период. (Рис3)Внимание:  отчет не универсальный. Например для того чтобы вывести еще группировку «по дням» нужно допилить отчет. Сейчас такой возможности нет. (руки не дошли) 2)Расшифровка (рис5, рис6, рис7, рис8)- Если расшифровываем группировку Продукцию, то расшифровываем доп. Отчетом по Регистру накопления «Выпуск продукции»- Если расшифровываем группировку «Материалы»,  то расшифровываем  доп. Отчетом по Регистру накопления Затраты на выпуск.Обратите внимание: расшифровываем именно группировку (не детальные  записи)Коллеги  я не претендую на оценку 5+  по данной реализации. Например,  кто «собаку съел» на программных расшифровках,  посмотрите,  как  я подцепляю вышестоящие группировки, чтобы в отбор кинуть. Мне кажется,  какие то танцы с бубном.Это процедура РезультатОбработкаРасшифровки() в модуле формы отчета.То есть, расшифровывая Продукцию,  я ползу  на  вышестоящую Группировку – это подразделение. Цепляю его и передаю в расшифровку.  Чтобы отбор шел и по подразделению в расшифровки.3) Для скачивания 2 отчетаПлан фактный анализ БУ по данным УУ (Анализируются Регистры накопления: Выпуск продукции, Затраты на выпуск продукции)План фактный анализ БУ по данным БУ  (Анализируются Регистры накопления:  Выпуск продукции бухгалтерский учет,  Затраты на выпуск продукции бухгалтерский учет.)Простите за тавтологию. Просто у нас есть отдельная подсистема для технологов,  в которой то же стоится план факт. P.S. Отчет работает на нашем  шаблоне. Я иногда пользуюсь шаблоном  с ИТС. Иногда этим.Буду благодарен,  если в комментариях  опишите, кто пользовался стандартным Шаблоном (с ИТС), когда нужны нестандартные вещи:  набор данных объект, своя расшифровка и.т.п.  
26.06.2013 перезалита новая верcия отчета V1
Изменено:1)Если спецификации введены не в единицах хранения(как выходные изделия так и исходные комплектующие) , то отчет переводит в единицу хранения. Ранее это не учитывалось  и выводились в этом  случае некорректные данные2)Добавлен план факт по возвратным отходам


Отчеты по дебиторской и кредиторской задолженности по срокам долга с расшифровкой по документам (БП 2.0) 1C: Предприятие 8.2

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

Отличия от типового:

- в отчет попадают все виды договоров;

- есть возможность расшифровать значения задолженности по документам.

 

Также есть аналогичный по кредиторской задолженности. Если будет интересно - выложу.

 

Другие мои разработки

Завершение работы пользователей (выгонялка)

Универсальная загрузка начислений / показателей расчета зарплаты из Excel в ЗУП 3.1

Загрузка лицевых счетов из Excel в ЗУП 3.1

Правила конвертации для выгрузки отражения зарплаты из ЗУП 3.1 в УПП
"Загрузка в БГУ из УРМ ""Криста""" 1C: Предприятие 8.2

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

Загрузка в БГУ из УРМ "Криста": 1 мес.  1 мес.  3.043 

4800 руб.
Продление техподдержки и обновлений 1 мес. 1 мес. 

2000 руб.
Итого:
4 800 руб
Универсальное регламентное задание 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Когда-то давно видел что-то подобное, сейчас стал искать - не нашел, потому сделал свое.

 

Универсальная подсистема регламентных заданий

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

Интеграция

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

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

В конфигурации "Бухгалтерия предприятия, ред. 2.0" добавлена возможность указывать в документах уполномоченных лиц вместо руководителя и главного бухгалтера. Однако № и дата приказа, на основании которого действует уполномоченное лицо выходит не во всех печатных формах, в частности, в счете-фактуре.

Справка о сумме заработной платы 1C: Предприятие 8.2

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

Печатная форма нового образца
Автоматический вход в программу 1с77 1C:Предприятие 7.7

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

Иногда удобно для запуска приложения 1с77 использовать командный файл, с ключами командной строки...
типа:
"
@ECHO OFF

С:
CD "C:\Program Files\1Cv77\BIN"
START 1cv7.exe enterprise /d"C:\Bases\Sklad" /Nadmin /ppass NO_SPLASH_SHOW
"
Обработка для создания таких файлов. Чтобы вручную не мучиться, бывает кодировка не такая и т.д.
Указываем базу, указываем пользователя, пароль, создаем в нужном месте.
Может кому пригодится. Там доделаете, если что :)

Использовалось помимо стандартных:
//infostart.ru/public/18924/
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=77&lid=6213
http://kb.mista.ru/article.php?id=66&
http://www.script-coding.com/filez.html
Задолженность по взаиморасчетам (бух. учет) 1C:Предприятие 8

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

Первые шаги самостоятельного внедрения «1С:УПП». Этап 1. Определяем цели 1C:Предприятие 8

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

Мы раскроем все секреты, подводные камни и особенности внедрения. Наша команда имеет 20-летний опыт работы не только на проектах внедрения продуктов фирмы «1С», но и внедрения сложных информационных систем на западных предприятиях.

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

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

СМОТРЕТЬ ВИДЕО. «Часть
Отчет по средним ценам номенклатуры 1C: Предприятие 8.2

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

Отчет выводит номенклатуру с ценой с НДС из документов Поступление и Реализация товаров. В полях группировки номенклатуры расчитывается средняя цена, а во вложенных строках отобранные документы за период с ценой поступления из документа. Так же можно выполнить отбор по группе номенклатуры и/или вложенным в нее группировкам. 

Сделано для 1с82 БП 2.0, в УТ, КА, УПП не проверялось, но работать будет.

Может кому пригодится.
Торг-12 1C: Предприятие 8.2

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

Бывает надо распечатать Торг-12 с учетом корректировки. На печать выводятся данные с учетом всех корректировок (т.е. последняя)
"Внешняя печатная форма ""Счет–Фактура"" для документа ""Поступление товаров и услуг""" 1C: Предприятие 8.2

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

Внешняя печатная форма, позволяет распечатать счет фактуру с вкладки «Счет-Фактура» документа "Поступление товаров и услуг"

подключается через дополнительные печатные формы. 
Правила переноса (обмена) из Торговля+Склад (1С7.7) в Управление торговлей 10.3 (1С8.2) 1С:Оперативный учет 7.7, 1C: Предприятие 8.2

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

Для переноса данных в 1С8.2 УТ11 нужно сначала перенести в данные в УТ10.3.
ТОРГ-12 с местами для БП 2.0 (внешняя печатная форма, без доработки конфигурации) 1C: Предприятие 8.2

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

Внешняя печ. форма: ТОРГ 12 с МЕСТАМИ для БП 2,0 без доработки конфигурации. Пользователь в поле комментарии в справочнике "Номенклатура" должен проставить Количество в одном месте. Пользователь в поле комментарии в справочнике "Номенклатура" должен проставить Количество в одном месте. 
Отчет по продажам с расширенными финансовыми показателями для розницы 1.0 1C: Предприятие 8.2

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

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

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

Подключение отчета:

В программе выбрать меню Сервис | Дополнительные отчёты и обработки | Отчеты.

В открывшемся окне "Дополнительные ..." нажать кнопку Добавить.

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

Далее ОК.


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



Добавлено 2
Мини-органайзер 1C: Предприятие 8.2

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

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

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

Спартанский интерфейс, контекстное меню правой кнопкой мыши "добавить", клавиши "Ins" и "Del" ...

Итоги по кнопке "Итог".

Добавлена "напоминалка". 

Запуск - толстый клиент, обычное приложение.
Реестр документов для УТ 11 1C: Предприятие 8.2

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

Простенькая обработка с выводом в список всех видов документов. Есть возможность устанавливать отбор по организации, контрагенту, по периоду.  В форму выводится ссылка на документ, организация, контрагент и сумма документа. Журнал формируется по кнопке обновить, либо же при изменении отбора.
Выгрузка и загрузка данных XML с исправлением ошибки чтения FastInfoSet 1C: Предприятие 8.2

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

Проведение исправленных документов в ЗУП и ЗБУ 1C: Предприятие 8.2

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

ПЕРЕПроводит документ не взирая на зарегестрированные исправления.

Схема действий:

Найти все исправления
Отвязать их от проводимого документа
Провести
Привязать обратно

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

Обработка работает как в обычнос режиме, так и как внешняя печатная форма.

 

Upd. 25.06.13: + ОплатаПоСреднемуЗаработку
Программный вывод таблицы значений на управляемую форму 8.2 1C: Предприятие 8.2

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

Внешняя обработка. Таблица значений добавлена в реквизиты и элементы формы (для размещения на форме в нужном месте). Структура таблицы не определена (колонок нет). Вывод осуществляется одной процедурой, в качестве параметра в которую передаётся таблица значений. Дополнительно можно для созданной таблицы определить обработчики событий.
Удобное заполнение табеля 1C: Предприятие 8.2

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

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

Сделал.

Подключается как  Внешняя обработка заполнения ТЧ. 

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

Если кому-нибудь еще пригодится - буду только рад.
Отчет о себестоимости продаж в УПП на РАУЗ 1C: Предприятие 8.2

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

Основываясь на регистре УчетПродажИСебестоимости и Регистре УчетЗатратРегл создан отчет о себестоимости продаж при работе в режиме РАУЗ (расширенной аналитики учета затрат в УПП).

Данный отчет восполняет пробел в отсутствии механизма в стандартной УПП в режиме РАУЗ оперативного контроля за себестоимостью в сравнении с ценами реализации номенклатуры.

Главная идея заключается в том, чтобы использовать движения документа РСВ "Расчет себестоимости выпуска", которые формируют себестоимость реализации для её анализа в сравнении с ценой реализации покупателям.

Использование виртуальной таблицы УчетЗатратРегл.Обороты не дало необходимого результата, т.к. отбор по реквизиту регистра в виртуальной таблице невозможен. Поэтому использана реальная таблица с отбором УчетЗатратРегл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.Реализация).

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

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

 

 Основной запрос:

ВЫБРАТЬ
АналитикаРаспределенияЗатрат.Продукция КАК Номенклатура,
СебестПоРСВ.Стоимость КАК ОбщаяСебестоимость,
ПродажиЗаМесяц.Количество КАК ОбщееКвоПродажи,
ПродажиЗаМесяц.Стоимость КАК ОбщаяСуммаПродажи,
УчетПродажИСебестоимости.Период,
УчетПродажИСебестоимости.Регистратор,
УчетПродажИСебестоимости.НомерСтроки,
УчетПродажИСебестоимости.Активность,
УчетПродажИСебестоимости.АналитикаВидаУчета,
УчетПродажИСебестоимости.АналитикаУчетаНоменклатуры,
УчетПродажИСебестоимости.АналитикаУчетаПартий,
УчетПродажИСебестоимости.СхемаРеализации,
УчетПродажИСебестоимости.СтавкаНДС,
УчетПродажИСебестоимости.НалоговоеНазначение,
УчетПродажИСебестоимости.Количество,
УчетПродажИСебестоимости.Стоимость,
УчетПродажИСебестоимости.НДС,
УчетПродажИСебестоимости.КодОперации,
ВЫБОР
КОГДА ПродажиЗаМесяц.Количество = 0
ТОГДА 0
ИНАЧЕ ВЫРАЗИТЬ(СебестПоРСВ.Стоимость / ПродажиЗаМесяц.Количество * УчетПродажИСебестоимости.Количество КАК ЧИСЛО(15, 2))
КОНЕЦ КАК Себестоимость
ИЗ
РегистрНакопления.УчетПродажИСебестоимости КАК УчетПродажИСебестоимости
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаРаспределенияЗатрат КАК АналитикаРаспределенияЗатрат
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
АналитикаУчетаЗатратРС.Затрата КАК Затрата,
СУММА(УчетЗатратРегл.Количество) КАК Количество,
СУММА(УчетЗатратРегл.Стоимость) КАК Стоимость
ИЗ
РегистрНакопления.УчетЗатратРегл КАК УчетЗатратРегл
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК АналитикаУчетаЗатратРС
ПО УчетЗатратРегл.АналитикаУчетаЗатрат = АналитикаУчетаЗатратРС.Ссылка
ГДЕ
УчетЗатратРегл.Регистратор.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, МЕСЯЦ) И КОНЕЦПЕРИОДА(&ДатаОконч, МЕСЯЦ)
И УчетЗатратРегл.КодОперации = ЗНАЧЕНИЕ(Перечисление.КодыОперацийПартииТоваров.Реализация)

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

СГРУППИРОВАТЬ ПО
АналитикаРаспределенияЗатрат.Продукция) КАК ПродажиЗаМесяц
ПО АналитикаРаспределенияЗатрат.Продукция = ПродажиЗаМесяц.Продукция
ПО УчетПродажИСебестоимости.АналитикаУчетаНоменклатуры = АналитикаРаспределенияЗатрат.Ссылка
ГДЕ
УчетПродажИСебестоимости.Период МЕЖДУ &ДатаНач И &ДатаОконч

НДС с авансов: проверка (в том числе валютные на не выделенных авансовых счетах) 1C: Предприятие 8.2

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

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


Остатки. Сверка регистра "НДС с авансов" и 76.АВ
    Выполняет сверку остатков регистра "НДС с авансов" и счета 76.АВ. Позволяет выявить ручные корректировки счета 76.АВ


Остатки. Сверка регистра "НДС с авансов" и регистра "Расчеты по реализации"
   Выполняет сверку остатков регистра "НДС с авансов" и регистра "Расчеты по реализации". На основании регистра расчеты по реализации выполняется расчет НДС (предполагаемый), он сравнивается с НДС в регистре. Позволяет выявить корректировки регистров или не правильно начисленный НДС в предыдущих периодах.


Обороты. Начисление и зачет НДС с авансов
   Выполняет проверку начисления НДС с авансов за период. Так же можно при помощи этого отчета найти ошибку начисления НДС в прошлых периодах.
Список анализируемых счетов указывается в параметрах. Если есть дополнительные не предопределенные счета для анализа, их можно добавить в форме отчета, или в код формы отчета, там есть пример.
   Отчет показывает расчетный НДС на период и фактический НДС за период. А так же сравнивает рублевые обороты в регистре «Расчеты по реализации» и обороты БУ. В случае ошибочной переоценки аванса, сумма переоценки будет отражена в отчете в колонке переоценка.
Анализ заказов покупателей Платформа 1С v8.x (все механизмы)

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

Анализ заказов клиентов с возможностью отбора по контрагенту, номенклатуре, отгрузке, оплате за определенный период.
Взаиморасчеты по реализациям по ФИФО УТ 10.3 1C: Предприятие 8.2

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

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

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

Быстрое тестирование производительности сервера 1С  (файловый и клиент-серверный варианты)
Делалось и проверялось на конфигурации Управление торговлей, редакция 1
Как «подружить» две базы, когда учет в них уже ведется (практический опыт решения задачи) 1C:Предприятие 8

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

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

Рассмотрим конкретный пример, который мне довелось решить на практике. А практика, как известно, критерий истины! Немного предыстории. На одном производственном предприятии, территориально находящемся в российской глубинке, изначально учет велся в БП и на начальном этапе развития это всех устраивало. Потом, когда первоначальные цели были достигнуты – производство вышло на некоторый «взрослый» уровень, было решено внедрить в качестве управленческой системы УПП, а БП оставить для сдачи регламентированной отчетности. Всё вести в УПП руководство сочло рискованным, в том числе и по причине отсутствия квалифицированных бухгалтеров в радиусе 100 км вокруг предприятия (все кого удалось найти, уже работали на нем). Изначально внедрять УПП начали силами местной бухгалтерии, которая, недолго думая и поучившись на простеньких курсах в областном центре, начала руками вбивать исходные данные в пустую базу УПП. Через некоторое время (примерно через год по рассказам),  так и не дождавшись внятных результатов, руководство предприятия решило все таки передать вопрос внедрения УПП специалисту (вашему покорному слуге – тогда сотруднику  управляющей компании), а бухгалтерию разжаловать в разряд вспомогательных сил, то есть, по сути отстранить от непосредственного участия в проекте, на что бухгалтерия естественно обиделась (что впоследствии не раз аукнулось, но не об этом сейчас речь). То есть, УПП нужно было внедрить независимо и обособленно как чисто управленческую программу, и ни о каком обмене данными естественно никто не задумывался. Но, как известно, аппетит приходит во время еды. Достигнув определенных результатов во внедрении УПП (сам процесс внедрения заслуживает отдельного повествования), я получил задачу настроить обмен данными между базами УПП и БП, чтобы исключить дублирование ввода информации. А именно - решено было поступления материалов и отгрузки готовой продукции загружать в УПП из БП (ввод этих весьма ответственных операций на самом деле просто некому было доверить, а бухгалтерия наотрез отказалась касаться УПП, поставив руководство перед выбором – мы или УПП! – бред конечно, но бывает и такое:). Но, как я уже говорил, база изначально создавалась независимо от БП путем ручного ввода и досталась мне в наследство от бухгалтеров (кстати сказать, я об этом и не подозревал сначала – все эти подробности выяснились уже позже, а отступать было некуда, сказано - сделано). На этом предысторию я заканчиваю.

Итак, предстояло сделать следующее:

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

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

Далее по пунктам.

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

4.1   Из БП были выгружены данные нужных нам справочников - код, наименование, код владельца и наименование владельца.

4.2   В УПП были найдены все соответствующие элементы, которым были установлены такие же коды и наименования, как в БП – все это было аккуратно проделано вручную без использования каких либо средств автоматизации. Объемы работ были вменяемыми – мне повезло. Если бы понадобилось что-то придумывать, я бы скорей всего использовал нечеткий поиск на базе сравнения строк (//infostart.ru/public/146559/).

4.3   Дальше я применил следующий метод. Основываясь на том, что данные в двух базах вводились независимо, то есть уникальные идентификаторы объектов у всех разные и поэтому, получив таблицу замен уникальных идентификаторов: «UID в БП» – «UID в УПП», их можно заменять в XML - файле выгрузки базы просто как текст, не вникая в  подробности (тип данных, структура самого файла XML и пр.), что и было проделано. Кстати сказать, свойство «вселенской» уникальности UIDов не раз меня выручало в различных задачах –  выражаясь образно, его всегда можно «бросить» в некую «кучу», а потом легко найти там же простыми средствами (банальный перебор или еще что то - по ситуации).
То есть:
4.3.1 С помощью обработки "ВыгрузкаGUID_Справочников" (есть во вложении) были сформированы 2 файла  с данными справочников (код, наименование, код владельца, наименование владельнца и UID) для каждой из баз.




4.3.2 Данные из базы УПП с помощью встроенной обработки обмена между одинаковыми базами были выгружены в файл. Можно было так же использовать универсальную обработку обмена данными между одинаковыми конфигурациями с диска ИТС или механизм создания подчиненного узла РИБ (потом главный узел отключить и удалить узлы).
4.3.3 С помощью обработки "СопоставлениеСправочниковИЗаменаGUID" (есть во вложении), в файле выгрузки, путем перебора строк файла выгрузки базы как обычного текстового файла, произведены замены UIDов по данным выгруженных из баз файов с данными справочников (п. 4.3.1).




4.3.4 Данные обработанного таким образом файла выгрузки загружены в пустую базу УПП, созданную из конфигурации исходной.

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

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

P.S.
Для умников. Зачем я это пишу? Отчасти графомания, отчасти от скуки и все же не исключаю, что кому то это будет интересно :)
Модульные приложения на 1С 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Модульное приложение

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

Принципы построения модульных приложений на примере .Net framework можно почитать здесь: http://habrahabr.ru/post/176851/

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

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

Несмотря на то, что 1С выпустила БСП, как шаг к модульности приложений, хотелось бы видеть несколько альтернативных подходов. В некоторых применениях БСП может не подойти.

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

Нахождение модулей

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

Принцип нахождения модулей предложен следующий. Рекурсивно анализируются все подсистемы. Если подсистема содержит подсистему МенеджерМодуля, то считается, что данная подсистема - это модуль. Подсистема МенеджерМодуля содержит 2 общих модуля, выполняющихся на клиенте и сервере (наличие серверного модуля обязательно). Серверный модуль должен содержать функцию ПолучитьИнтерфейсы(), которая вернет массив строк - поддерживаемые модулем интерфейсы. Интерфейсы - это перечисление функциональных возможностей данного модуля.

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

Если МодульноеПриложение.МодульОпределен("CRM_БазаКлиентов") Тогда
Сообщить("Модуль CRM_БазаКлиентов определен");
КонецЕсли;

Наименование объектов конфигурации

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

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

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

Интерфейсы

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

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

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

Название интерфейса Описание Расположение
УстановкаПараметровСеанса Вызываются процедуры модуля, соответствующие одноименным событиям системы. Позволяют выполнить инициализацию модулей. Сервер
ПередНачаломРаботыСистемы Клиент
ПриНачалеРаботыСистемы Клиент
ФормаПриСозданииНаСервере Вызывается в форме при создании ее на сервере. В параметр передается ссылка на форму. Форму можно идентифицировать по имени Форма.ИмяФормы. Сервер
ФормаПриОткрытии Вызывается при открытии формы. В параметры передается ссылка на форму. Форму можно идентифицировать по имени Форма.ИмяФормы. Клиент

При вызове события происходит поиск модулей, реализующих заданный интерфейс, и вызов последовательно каждого модуля. Например, можно добиться следующим образом, что событие ПриОткрытии формы будет транслироваться всем модулям, реализующим интерфейс ФормаПриОткрытии:

Для каждого Модуль из МодульноеПриложение.НайтиМодулиПоИнтерфейсу("ФормаПриОткрытии") цикл
ОбщийМодуль = Вычислить(Модуль.ОбработчикКлиент);
ОбщийМодуль.ФормаПриОткрытии(Форма, Отказ);
КонецЦикла;


Модуль же будет в своем общем клиентском модуле содержать определение:

Процедура ФормаПриОткрытии(Форма, Отказ) Экспорт
Если Форма.ИмяФормы = "Справочник.ФизическиеЛица.Форма.ФормаСписка" Тогда
...
КонецЕсли;
КонецПроцедуры


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

Инициализация модулей

Инициализация модулей сейчас проходит при реализации ими интерфейсов:

УстановкаПараметровСеанса()
ПередНачаломРаботыСистемы()
ПриНачалеРаботыСистемы()


Для этого в модуле должны быть определены процедуры:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) Экспорт
Процедура ПередНачаломРаботыСистемы(Отказ) Экспорт
Процедура ПриНачалеРаботыСистемы() Экспорт


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

Взаимодействие между слабо связанными компонентами

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

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

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

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

Составные интерфейсы пользователя

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

Интерфейсная часть модульного подхода применительно к 1С усиленно не прорабатывалась на практике, есть только некоторые мысли на этот счет.

Подписка одного модуля на события создания и открытия формы из другого модуля через реализацию интерфейса ФормаПриСозданииНаСервере и ФормаПриОткрытии может позволить внедрить элементы формы динамически. Для обратной связи можно реализовать интерфейсы, реагирующие на закрытие формы. Хорошо бы было, если бы появился механизм копирования элементов из одной формы в другую. Но при этом необходимо решать проблему переноса обработчиков элементов. Похожий механизм был реализован для неуправляемых форм, например, здесь: http://kb.mista.ru/article.php?id=165

Интересным является обработчик переопределения открытия форм ОбработкаПолученияФорм в менеджере объекта . В случае, если есть главный и зависимый модуль, зависимый модуль может реализовать свою новую форму, включающую функциональность главного модуля и свой. Затем через ОбработкаПолученияФорм подменить своей формой форму главного модуля. Например, есть модуль продажи и зависимый от него модуль резервирования. Модуль продажи содержит свою форму документа реализации, которая показывается, если не подключен модуль резервирования. Как только в системе появляется модуль резервирования, он может переопределить форму продажи, дополнив ее своими реквизитами. При таком подходе модуль продаж может даже не догадываться о существовании модуля резервирования.
Клиентское приложение (Толстый клиент) для сервиса изучения методов платформы 1С:Предприятие 8 (+ конструктор запросов) 1C: Предприятие 8.2

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

Уважаемые коллеги!

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

Страница сервиса на infostart.ru: //infostart.ru/public/192077/ 


Работа с веб-сервисом возможна с использованием конструктора запросов 1С (аналогично Клиентскому приложению для самоучителя языка запросов 1С 8).


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

Для регистрации нового пользователя на веб-сервисе необходимо использовать логин: guest, пароль пустой.

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

Решение задачи пользователь представляет в поле "Ваше решение". В процессе решения задач для написания запросов может быть использован Конструктор запросов. В поле "Результат" отображается результат проверки решения задачи. Так же в форме основной обработки представлена персональная статистика и общий рейтинг участников (ТОП 100). Все задачи должны решатся последовательно. Переход к следующей задаче, не решив предыдущую, невозможен.

 

Важно! 
Для получения навыков написания простых и сложных запросов рекомендуем воспользоваться бесплатным сервисом Консоль изучения языка запросов 1С:Предприятие 8).

 
Очистка Кэша 1С 8.2, без удаления настроек. Для Windows 7 и XP. 1C: Предприятие 8.2

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

При частых динамических обновлениях у пользователей не вступали в силу изменения. Все проблемы из-за кэша. Написал такой батник. Удаляет кэш без удаления данных о настройках 1С и текущем пользователе. Работает в Windows 7 и XP.
Удаление данных по организации для ЗУП 1C: Предприятие 8.2

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

Обработка помогла мне очистить все данные по организации при формировании РИБ :)
Внешняя печатная форма Т-60 с кадровым работником и бухгалтером 1C: Предприятие 8.2

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

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

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

Что обработка делает?
Кнопкой "Поиск" находятся все пользователи, соответствующие уволенным сотрудникам. Отбираются только те, кто ещё не в папке "Уволенные" или подобной.
При нажатии на "Обработку" у каждого пользователя удаляются настройки, хранящиеся в базе данных, отключается стандартная аутентификация, ОС, по OpenID. Пользователь перемещается в выбранную папку, например, "Уволенные".
Как происходит отбор?
Из среза последних регистра РаботникиОрганизаций выбираются физические лица, соответствующие сотрудникам с причиной изменения состояния "увольнение". Из полученного списка исключаются физлица, для которых есть подходящие сотрудники, действующие на данный момент времени. Это позволяет исключить ситуации когда, например, сотрудник устраивается на работу после увольнения . Далее, по оставшимся физлицам отбираются пользователи, которые не состоят в группе "Уволенные" или любой другой, указанной в поле ввода.


В отборе не учитываются различные организации.


Спасибо за внимание.


 Аналогичные разработки:

- Автоматическое прекращение доступа в базу уволенных сотрудников

- Отключение уволенных пользователе
Загрузка распределённых сумм оплаты страховых взносов в СЗВ-6-4 1C: Предприятие 8.2

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

Позволяет загрузить данные из xml-файла, сформированного в сторонних программах, в пачки сзв-6-4, не создаёт новых физ.лиц и сотрудников.
Очистка кэша базы (после динамического обновления) 1C: Предприятие 8.2

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

Обработка позволяет исправить ошибки динамического обновления ИБ 1С.

1) Запуск обработки происходит из сеанса той базы, где необходимо очистить кэш.

2) Запуск происходит в тонком клиенте.
Реестр больничных листов и всех пособий за счет ФСС 1C: Предприятие 8.2

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

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

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

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

Это надо тем, у кого бардак в планах видов расчета, и этот бардак невозможно разгрести быстро и срочно.
Формирование записей книги учета доходов и расходов на основании выплат заработной платы 1C: Предприятие 8.2

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

Обработка создает документ Запись книги учета доходов и расходов на основании списания с расчетного счета с видом операции «Выплата заработной платы» и на основании расходного кассового ордера, с видом операции "Выплата з/п"

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

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

Данная обработка предназначена для создания документов поступления ТМЦ из документов расхода (реализации). Сделает столько документов поступления сколько увидит типов цен реализаций. По созданным документам сделает отчет и укажет сколько документов поступления было сделано. (Минусовые остатки не проверяет)
Программное создание элементов формы 1C: Предприятие 8.2

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

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

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

В архиве пример конфигурации с использованием данного механизма. Смотрите документ "Поступление товаров". Часть реквизитов в нем создана программно.
Поиск и замена дублирующихся справочников и документов с дополнительной группировкой 1C:Предприятие 8

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

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

Реально работает :)

 

26.07.2013

Добавлена возможность поиска по документам и плану видов характеристик
Расходная накладная типовая с общим количеством мест для УТ 10,3 1C: Предприятие 8.2

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

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

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

XMind — это открытое кроссплатформенное программное обеспечение для проведения мозговых штурмов и составления интеллект-карт, разрабатываемое компанией XMind Ltd. Загрузить можно по ссылке: http://www.xmind.net/download/win/.

Предлагаемая обработка выгружает набор связанных гиперссылками объектов конфигурации. Стартовый файл: ___Конфигурация___.xmind, но можно запустить любой - в корневом узле каждой карты есть ссылка на стартовый файл.

В начальную секцию обработки вынесены функции вида:  Функция КомментарийДля_____(Мета) , которые можно легко изменить и настроить по своему вкусу выдачу комментариев по свойствам передаваемого в качестве параметра объекта конфигурации.

Для чего это нужно ?

Чтобы решить следующие проблемы:

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

Какие плюсы ?

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

Созданный обработкой набор файлов можно также через "облако" одной командой загрузить на iPad, внести свои изменения и выгрузить обратно в XMind. Например, (не сочтите за рекламу - эту программу я просто купил и она мне нравится), с помощью программы ithoughtshd. На iPad-mini в этой программе карты просто "летают" и удобство работы не уступает, а по моему мнению и превосходит, десктопную программу.

Версия
Анализ дебиторов и кредиторов, простой отчет, с дополнительными функциями, основанными на применении дополнительных реквизитов 1C: Предприятие 8.2

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

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

Показатель «Месячная норма» будет работать, если будут заполнены «Значения» для дополнительного реквизита «Вид услуги» для договоров контрагентов.

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

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

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

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

Начальное заполнение дополнительных реквизитов договоров подразумевает, что наименования договоров по определенным «Видам услуг» одинаковые, если наименования отличаются, то нужна будет ручная корректировка.

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

 

 

"УТ 11. Ввод документа ""Расходный кассовый ордер"" на основании документа ""Поступление товаров и услуг""" 1C: Предприятие 8.2

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

В УТ на основании поступления можно сделать "Заявку на расходование ДС", но даже если отключить "Планирование денежных средств", то создать РКО все равно не получится.

Эта обработка устраняет это пробел.

Сделана на основании //infostart.ru/public/84001/. Выкладывается исключительно для практического использования (реализуется буквально за несколько минут).

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

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

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

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

Поступила задача регистрации часовых простоев в организации.

В типовой конфигурации реализована автоматизация целодневных простоев. Сначала кадровым документом "НеявкиИБолезниОрганизаций" с видом состояния "Простаивает" и датой начала простоя и соответственно все отобразится в табеле и вылезет в абработке "Анализ неявок" и далее все расчитается. Все просто и достаточно удобно.

Но в нашей ситуации нам необходимо зафиксировать несколько часов простоя, а остальное явка (Я6 НП6). В данной ситуации автоматизации никакой, более того документ "РегистрацияПростоевРаботниковОрганизаций" надо поискать (для обычного пользователя), более того, регистрация простоя для каждого сотрудника каждый день нужно фиксировать отдельным документом. А теперь представьте организацию в 1000 человек и 10 жарких дней при условии хотя бы 500 рабочих мест без кондея... Это необходимо создать 5000 документов. Естественно такой вариант решения не удовлетворил наших бухгалтеров.

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

Так как в нашей организации табель мы заполняем по данным документов 1с, то нас это удовлетворяет.

Реализация заполнения из табеля, для тех кто загружает табели, не так сложна. При большом интересе могу доделать.

Обработка действует первый месяц, проходит тестирование. Возможны ошибки, сообщайте.

Работает с ЗиК БУ, но возможно сработает и ЗУП, но нет возможности протестировать, вообще методы у них одинаковые, скорее всего, сработает (или потребуются небольшие исправления).

Существует два способа формирования :

Завершение сеансов пользователей ИБ на сервере предприятия, используя COM соединение, и установка блокировки соединения с базой. 1C: Предприятие 8.2

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

 

Выполняем командный файл следующего содержания:

"C:\.....\1cv8.exe" ENTERPRISE /S"***\***" /N"***" /P"***" /Execute \\.....\ShutdownAllConnection.epf /AU- /WA- /DisableStartupMessages "C:\.....\1cv8.exe" CONFIG       /S"***\***"  /N"***" /P"***" /DumpIB c:\...\***.dt /UC"NightDump"

"C:\.....\1cv8.exe" ENTERPRISE /S"***\***" /N"***" /P"***" /DisableStartupMessages /AU- /WA- /CРазрешитьРаботуПользователей /UC"NightDump"

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

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

В написании сего помогли:

1 А.П. Габец Д. И. Гончаров "Простые примеры разработки"

2 Просторы интернета.

 
Проверка знаний азов логики бухучета (обновление 1) 1C:Предприятие 8

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

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

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

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

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

Загрузка из файла. При первом выполнении создается файл "ПроводкиТест.txt" в каталоге обработки. Далее при нахождении этого файла вопросы загружаются из него. Файл можно редактировать обычным блокнотом, соблюдая структуру строк. Максимальная длинна счета 5 символов.

 

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

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

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

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

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

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

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

Обработка обучающая бухгалтерским счетам. Открывается в любой Бухгалтерии версии 2.0 Можно выбрать обучение как по конкретным счетам и субсчетам, так и по всему плану счетов. Очень помогает быстро заучить большое количество счетов и субсчетов
Бухгалтерские/Налоговые отчеты для УТ11 1C: Предприятие 8.2

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

Учитываются все движения денежных средств. Во всех отчетах учитывается интеркампани.


Подготовка сведений ПФР 2 квартал 2013 для УСН 7.70.212 и Бухгалтерии 7.70.560 найдена ошибка 1С:Бухгалтерский учет 7.7

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

В новом обновлении для УСН 7.70.212 и Бухгалтерии 7.70.560 найдена ошибка. При формировании индивидуальных сведений для ПФР. А именно не правильно ставит номера месяцев в которых получен доход (в СЗВ-6-4). В следующих релизах, думаю, поправят, но кто то хочет здаться пораньше.

Решение:

1) Поменять в сформированных файлах строки

с    "МЕСЦ1"

на "МЕСЦ4"

1->4, 2->5, 3->6.

или

2) Использовать данную обработку как внешнюю (доработана из типовой). Скопируйте файлы в папку ExtForms каталога с базой.

или // 2013_07_04 утро:

3) Скачать обновление УСН 7.70.213 и Бухгалтерии 7.70.561 там именно эту ошибку поправили, и ни чего более.




Всем удачи. И побыстрее сдаться без ошибок!!!
Структура объектов конфигурации (8.1, 8.2) 1C: Предприятие 8.1, 1C: Предприятие 8.2

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

В новой версии!

26.07.2013

+Тип значения выводится как имя типа, а не синоним (пример, "Подразделения организаций" теперь выводится как "ПодразделениеОрганизаций");

+Выводится номер (его тип и длина) и дата документа в реквизитах документов.

+Возможность установки \ снятия флажка в списке объектов по типу текущего элемента (справочники, документы и т.д.)

+Возможность выгрузить результат в Excel по каждому объекту.

+Типы воводятся одинаково в 8.1 и 8.2

04.07.2013

+Вывод типа объекта перед его именем в колонке Тип (Справочник, Документ, Перечисление и т.д.);

+Вывод информации о примитивном типе из квалификаторов (разрядность, допустимый знак, части даты);

+Вывод кода, его типа и наименования справочников с длиной;

+Возвомжность заполнить табличную часть отчета всеми доступными типами объектов метаданных;

+Колонка выбора (использования) элемента табличной части в отчете.

 

Предназначение

Отчет для разработчика.

Описание

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

Поможет в данной ситуации данный отчет.

Что отображается?

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

Реквизиты (Имя, Тип, Комментарий из метаданных);
Табличные части и их реквизиты (Имя, Тип, Комментарий из метаданных).

Для регистров сведений и регистров накопления:

Измерения (Имя, Тип, Комментарий из метаданных);
Ресурсы (Имя, Тип, Комментарий из метаданных);
Реквизиты (Имя, Тип, Комментарий из метаданных).

Для перечислений:

Значения (Имя, Комментарий из метаданных).
Каждый реквизит объектов в отчете заполняется комментарием из конфигурации.
Правила конвертации Бух 7.7 -> УПП 1.3.40.1 Перенос документов Не имеет значения

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

Где-то здесь мелькали правила по-документного переноса из Бух 7.7 в УПП. Скачал, попробовал, и нашел их несколько недоработанными. Далеко не вся возможная аналитика в документах заполнялась, либо заполнялась не совсем корректно. Переработал правила (с учетом специфики своего предприятия). На данный момент переносятся документы:  1) Поступление материалов - > Поступление товаров и услуг (Товары)

2) Услуги сторонних организаций - > Поступление товаров и услуг (Услуги)

3) Услуги сторонних организаций - > Поступление доп. расходов

4) Перемещение материалов - > Требование-накладная

5) Передача готовой продукции на склад - > Отчет производства за смену

6) Авансовый отчет - > Авансовый отчет

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

Переносить лучше всего в базу, в которую предварительно перенесли остатки.
График отпусков по компании. 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Для работы отчёта нужно принять по управленческому учёту физлиц в компанию, а так же заполнить документ "Планирование отпуска". Удобно использовать диаграмму для рассылки сотрудникам, либо как объявление. Работает с 1С:УПП.
Сверка Документов между базами УТ и БП (Управление Торговлей 10.3 и Бухгалтерия предприятия 2,0) 1C:Предприятие 8

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

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

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

Одна обработка на обе базы.

Нижняя часть - Выгрузка из Торговли (Соответственно открывается в УТ ;-) )

Верхняя - для запуска непосредственно сверки документов с Бухгалтерией (Открывается в БП)

Результат показывается на экран в виде таблиц и в этом же виде выгружается в EXCEL в выбранный каталог.

 

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

 

Буду благодарен за Плюсик
ArtConfig: Автосервис 1С: Предприятие 8.3

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

Констартер: универсальный запуск базы 1С из проводника через контекстное меню (папки, dt, cf, zip, 7z) Не имеет значения

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

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

Вот отличия моего решения:

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

Единое меню для запуска 1С разных версий
В контекстное меню добавляются всего 2 иконки: 1С:Предприятие и 1С:Конфигуратор. Уже при выборе Констартер смотрит, что за версия базы выбрана (7.7 или 8.x) и запускает соответствующую платформу.

Поддержка запуска из папок, zip и 7z архивов, dt-выгрузок и cf-файлов конфигураций
Перед запуском из выгрузки база распаковывается в папку с названием архива.

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

База для запуска не добавляется в список даже для 1С 7.7
Если база не присутствует в списке, то 1С 7.7 требует её добавления для запуска. Чтобы обойти это ограничение Констартер перед запуском проверяет: если базы нет в списке, то он её туда добавляет, а сразу после старта удаляет.

Интеллектуальное появление в контекстном меню
Констартер добавляет свои пункты в контекстное меню, только если объект, на котором нажал пользователь является папкой с базой 1С или файлом *.zip, *.7z, *.dt, *.cf, *.md, *.1cd.

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

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

Буду рад, если моё решение тоже кому-нибудь пригодится.

С уважением, Алексей Карманов (http://helpme1c.ru)
[1С БП 2.0, УПП, КА, УТ 10.3] ТОРГ-12 с печатью и подписями 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Внешняя печатная форма ТОРГ-12 для документа "Реализация товаров и услуг" конфигурации 1С: Бухгалтерия 2.0. Добавление печатей и подписей осуществляется через конфигуратор (как вставлять печать и подписи без конфигуратора написано ниже). Обработка выполнена в соответствии с рекомендациями из статей:

Печать и подпись в макете печатной формы без использования прозрачных изображений
Как создать свою внешнюю печатную форму к обработкам АЛАНН

Печатная форма может быть подключена к обработкам:

"АЛАНН: Документы с печатью и подписью в PDF из 1С"
"АЛАНН: Рассылка почты из 1С"

Из этих обработок возможно:

Без использования конфигуратора вставлять, изменять размеры и положение печатей и подписей
Указывать для каждой организации и пользователя свои подписи и печати
Производить отправку по электронной почте печатных форм в формате PDF (с печатью и подписями)
Товарно-транспортная накладная ТТН 1C:Предприятие 8

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

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

Конфигурация простая и может быть подправлена под себя.

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

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

Для начала работы нужно заполнить только справочник Фирмы, остальные данные могут добавляться автоматически при загрузке из EXCEL.

Файл cf и шаблон EXCEL для загрузки в архиве.

Поставляется "как есть", написано быстро и "на коленке
Счет-фактура для Бухгалтерии 2.0 1C: Предприятие 8.2

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

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

Все процедуры и функции использовались стандартные из БП 2.0.49.10. Макеты СФ берутся из конфигурации.
"Загрузка из Excel в регистры накопления, сведений и расчётов через документ ""Перенос данных"", ЗУП 8.2" 1C: Предприятие 8.2

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

Обработку можно считать универсальной т.к. загрузить можно данные в любые реквизиты документа, описав формат реквизита и его наименование в шапке таблицы в документе Excel. (пример заполнения указан в скриншоте)
Клиент для RDP сессий 1C:Предприятие 8

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

 

Конечно, есть бесплатный софт типа Remote Desktop Manager, но всё же иногда удобней работать сразу из 1с, имея под рукой доступ к данным БД, не переключаясь между окнами

Думаю что будет полезно администраторам 1с, программистам и даже пользователям системы (например аналитикам), если есть удалённые офисы/торговые точки и т.д.

Перенос настроек обработки через zip архив с паролем. 

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

P.S. редакция для "Обычного приложения"...

Обновление:


В планах:

- адаптировать для управляемого приложения

- в интерактивном режиме дать доступ ко всем настройкам ActiveX MsTscAx.MsTscAx

- улучшить юзабилити

- улучшить безопасность хранения учетных записей
[1С БП 2.0] Акт об оказании услуг с печатью и подписью 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Внешняя печатная форма акта об оказании услуг для документа "Реализация товаров и услуг" конфигурации 1С: Бухгалтерия 2.0. Добавление печатей и подписи осуществляется через конфигуратор (как вставлять печать и подписи без конфигуратора написано ниже). Обработка выполнена в соответствии с рекомендациями из статей:

Печать и подпись в макете печатной формы без использования прозрачных изображений
Как создать свою внешнюю печатную форму к обработкам АЛАНН

Печатная форма может быть подключена к обработкам:

"АЛАНН: Документы с печатью и подписью в PDF из 1С"
"АЛАНН: Рассылка почты из 1С"

Из этих обработок возможно:

Без использования конфигуратора вставлять, изменять размеры и положение печатей и подписей
Указывать для каждой организации и пользователя свои подписи и печати
Производить отправку по электронной почте печатных форм в формате PDF (с печатью и подписями)
Универсальный обмен данными в формате XML (2.1.8) УФ с отбором (V8Exchan82.epf) 1C: Предприятие 8.2

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

Доработанная обработка не претендует на полностью законченный функционал.

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

Изменения от 0
Автоматизация администрирования информационных баз (версия 5.2) 1C: Предприятие 8.2

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

Очередное решение на тему создания кнопки "Сделать все зашибись!" для администрирования баз 1С. Можно, конечно, просто использовать скрипты, но мы не ищем легких путей! Кроме того, в данном варианте появляются дополнительные приятные плюшки:

ведение реестра баз (очень полезно, когда их количество подходит к 100 единицам);
наличие актуальной информации по установленным релизам, видам конфигураций и статусах поддержки;
групповое обновление типовых конфигураций в полностью автоматическом режиме, включая обновление данных ИБ (в обход того самого диалога типа "я подтверждаю легальность получения обновления");
ведение реестра архивов и дополнительное хранение архивов непосредственно в базе;
групповая архивация баз;
хранение архивов во встроенном хранилище, а так же восстановление архивов (либо простое ведение реестра архивов без загрузки в хранилище);
отключение активных подключений пользователей (только для серверных баз);
управление доступами к базам (на уровне пользователей платформы и на уровне установки прав через профили доступа с использованием дополнительных программных обработчиков);
формирование отчета по журналу регистраций;
скачивание обновлений с сайта users.v8.1c.ru, опциональное хранение обновлений во встроенном хранилище;
публикация интернет-сервиса списка информационных баз;
настройка работы с информационными базами на различных релизах платформы;
использование регламентных заданий для групповых операций (архивирование, обновление и т.д.);
многопоточная групповая обработка;

Итак, рассмотрим эдакое "рабочее место администратора" поближе (на скринах дополнительно включен интерфейс ТАКСИ; вид форм и функционал может отличаться в зависимости от версии):

 

Рабочий стол / Справочник "Информационные базы"

 

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

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

 

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

 

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

 

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

 

Карточка ИБ содержит несколько вкладок:

На вкладке Общие настраивается наименование, статус поддержки и релиз обновления. Вид конфигурации устанавливается согласно выбранному релизу.

Устанавливается правила загрузки типов обновлений. От выбранного типа обновления зависит возможность рекурсивного поиска доступных релизов обновлений:

Только *.cfu - рекурсивный поиск используется
Только *.cf - рекурсивный поиск НЕ используется

 

 

На вкладке Подключение задается тип ИБ, релиз платформы, Каталог ИБ или реквизиты подключения к серверу (в зависимости от типа ИБ) и Пользователь (учетная запись для подключения). Опция указания нескольких центральных серверов для многонодового кластера в текущих версиях не поддерживается.

 

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

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

 

Настройка параметров SQL доступна только для Серверных баз.

 

На вкладке системных параметров устанавливаются следующие свойства:

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

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

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

Установлена блокировка сеансов - флаг системы, который устанавливается в системе при выполнении процедуры блокировки сеансов. Иногда бывает необходимо снять его принудительно. Интерактивная установка флага запрещена. СНЯТИЕ ФЛАГА НЕ ПРИВОДИТ К СНЯТИЮ БЛОКИРОВКИ СЕАНСОВ ИБ.

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

 

Справочник "Релизы технологической платформы"

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

 

Справочник "ВидыКонфигураций"

 

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

 

Справочник "Сервера"

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

 

Справочник "Внешние учетные записи"

Справочник содержит перечень учетных записей для подключения к ИБ. Возможна нстройка подключения по схеме Имя/Пароль или с использованием доменной авторизации. Параметр "Код блокировки сеансов" содержит пароль устанавливаемый на блокировку сеансов ИБ (параметр /UC пакетного запуска). Автоматическая установка блокировки сеансов ИБ выполняется при запуске процедуры установки обновлений. Если код блокировки не задан, то автоматическая блокировка сеансов не устанавливается.

 

Справочник "Релизы обновлений"

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

 

Операции над ИБ

 

Доступ к операциям над ИБ открывается через контекстное меню (по нажатию правой клавишей мыши) на соответствующей записи формы списка справочника "Информационные базы":

Открыть конфигуратор. Открывает текущую ИБ в режиме конфигуратора.

Открыть предприятие. Открывает текущую ИБ в режиме предприятия.

Обновить информацию по базе. Запускается процедура обновления номера релиза и открытых блокировок сеансов для текущей ИБ.

Выгрузить архив. Запускается процедура выгрузки архива текущей ИБ. Выгрузка осуществляется в Основной каталог архива или в переопределенный каталог текущей ИБ. Наименование архива формируется автоматически по шаблону: [Префикс вида конфигурации]_[Префикс ИБ]_ Наименование ИБ _ Дата выгрузки в виде ГГГГММДД _ Номер релиза(точки заменяются символом подчеркивания)

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

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

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

Снять блокировку сеансов ИБ. Снимается блокировка сеансов с параметрами установленной для текущей ИБ учетной записи пользователя.

Установить блокировку сеансов ИБ. Устанавливается блокировка сеансов с параметрами установленной для текущей ИБ учетной записи пользователя.

Снять блокировку регламентных заданий.

Установить блокировку регламентных заданий.

Тестирование исправление. Запуск процедуры ТИ с возможностью предварительной выгрузки архива и опциональным выбором параметров тестирования.

 

Справочник "Обработчики"

Содержит перечень доступных обработчиков - код на языке платформы, выполняемый после пакетной загрузки обновления конфигурации. С помощью обработчика можно программно выполнить обновление данных ИБ. В систему загружены предустановленные обработчики, но допускается создавать и использовать произвольные. Если в карточке ИБ явно установлен обработчик, то он будет вызываться всегда. Различные виды конфигураций могут требовать использования различных обработчиков, и в тоже время различные виды конфигураций могут использовать один обработчик (н-ер: для БП 2.0 и ЗУП 2.5 подходит один обработчик).

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

код обработчика для контекста COM-подключения: ИнформационнаяБаза_ОбъектПодключения.Справочник.Организации.Выбрать();

код обработчика для контекста информационной базы: Справочник.Организации.Выбрать();

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

 

Групповая обработка

Групповая обработка ИБ доступна через специальную одноименную обработку системы.

Возможно два режима работы:

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

- режим сценария, при котором возможна настройка нескольких последовательных операций над ИБ (включение режима сценария на вкладке "Опции" -> "Режим сценария") - в данном режиме вид обработки задается для каждой строки таблицы отдельно. Параметры обработки доступны в режиме эксперта, т.е. отображаются все возможные параметры групповых обработок (но для заданного вида обработки используются только необходимые). При необходимости выполнения нескольких последовательных операций над одной ИБ в разделе "Опции" необходимо активировать параметр "Разрешать множественный подбор элементов".

Таблицу обработки по составу ИБ можно заполнять вручную или автоматически по параметрам заполнения(через меню Операции). В Параметрах обработки устанавливаются дополнительные опции. Одноименные опции обработки полностью подменяют соответствующие значения в карточках ИБ. Тихий режим отключает вывод предупреждений об ошибках.

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

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

 

Журнал логов

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

 

Хранилище архивов

Позволяет вести реестр архивов и хранить данные архивов непосредственно в системе.

 

Управление учетными записями пользователей внешних баз

 

Реализован механизм группового добавления/изменения реквизитов и прав учетных записей платформы внешних баз. Можно завести/изменить учетную запись пользователя в одну или сразу в нескольких базах. Данный механизм позволяет ускорить процедуру администрирование учетных записей платформы. Форма обработки максимально приближен к стандартному диалогу добавления/изменения пользователя платформы. Дополнительно добавлен обработчик "После добавления пользователя" для конфигурации БП 3.0: после создания учетной записи пользователя на уровне платформы, создается новая запись в стандартном справочнике пользователей для последующей настройки групп доступа. Для записи нового пользователя необходимо устанавливать флаг "Добавлять пользователя при отсутствии в базе".

 

Публикация интернет-сервиса списков информационных баз

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

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

Публикуем веб-сервис WebCommonInfoBases из системы. NTLM-аутентификация при обращении к сервсу не будет работать (вне зависимости от параметров публикации мне этого добиться не удалось), поэтому в свойствах публикации необходимо либо явно указать пользователя/пароль платформы, либо не указывать их, но тогда при каждом обновлении списка баз, запускаясь через 1cestart, придется проходить авторизацию вручную.

Допустим полная ссылка публикации имеет вид http://[serverName]/[serviceName]/ws/WebCommonInfoBases.1cws?wsdl , тогда создаем в справочнике "Публикации сервисов" новый элемент с произвольным наименованием и полной ссылкой публикации.

В разделе "Управление информационными базами" создаем списки информационных баз в соответствующем справочнике. Для публикации в списках доступны все информационные базы, внесенные в систему. Настройка свойств в составе списка подобна настройке свойств информационных баз через стартер платформы 1С.

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

Последнее - это добавить с настройки списка баз стартера 1cestart ссылку на веб-сервис в виде http://[serverName]/[serviceName]/ws/

 

Регламентные задачи

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

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

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

Настройка включения/выключения конкретного регламентного задания задается в форме самого элемента установкой реквизита "Включено".

 

ИНФОРМАЦИЯ. Для использования фоновых заданий в файловом варианте "Админки" необходимо в конфигураторе изменить режим совместимости на "Версия 8.3.3" и выше.

 

UPD: Решение снято с поддержки и развития.

Дальнейшее распространение на правах обычной публикации.

 

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

Система предназначена для работы только в режиме управляемого приложения (версия 8.2/8.3, ТАКСИ), т.о. реализация форм для "толстого клиента" не поддерживается. Однако, использование управляемых форм позволяет публиковать веб-клиента системы для обеспечения удаленного администрирования систем.

Конфигурация поставляется с открытым кодом, поэтому возможна и допускается доработка под персональные нужды без права дальнейшего распространения без согласования с автором. Возможны дополнительные доработки системы автором по индивидуальным заказам. Условия доработок обсуждаются персонально.
Авто добавление процедур (кода) в типовые конфигурации (парсер) 1C: Предприятие 8.2

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

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

В типовых конфигурациях стараюсь придерживаться следующих правил:

Доработанный CommerceML с выгрузкой услуг по счету и заказов покупателей. 1C:Предприятие 8

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

Как организовать электронный документобот между двумя 1с?

Как сделать чтобы реализация грузилась в другой базе как поступление?

Как сделать чтобы выгруженный заказ покупателя загружался как заказ поставщику?

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

2 обработки одна выгрузка, другая загрузка.

В одной организации выгружаете реализацию, в другой загружается как поступление.

Всё четко бысто и просто, а главное почти бесплатно(1$m).

Доработанный CommerceML, выгружает счета с услугами, да еще и заказы покупателей.
Если вам надо выгружать счета на оплату покупателю и заказы покупателей товарами и услугами,
с последующей загрузкой в систему в качестве  счетов на оплату поставщиков и заказов поставщиков,
то эта доработанная обработка для вас.
Ищем билеты РЖД 1C: Предприятие 8.2

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

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

Показывает время отправления, время прибытия, время в пути, количество свободных мест и цену билета
"Статистика. Форма П-5 (м) " Основные сведения о деятельности организации"

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

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

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

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

Работа с внешней компонентой на сервере (Linux) 1C: Предприятие 8.2

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

Все достаточно просто.  Для примера нужен сервер и компонента. Сервер (CentOS 6.4) поднимем в Oracle VM VirtualBox.  Установку сервера  «1С:Предприятие» и СУБД описывать не будем, т.к. об этом итак написано неприлично много. Компоненту соберем из исходников с диска ИТС.

Для сборки компоненты придется доставить следующие пакеты:

yum install gcc gcc-c++ uuid libuuid-devel

Скопируем папку «VNCOMP82» с диска ИТС на сервер. Откроем консоль и перейдем в директорию

cd /root/Desktop/VNCOMP82/example/NativeAPI

Соберем компоненту

make

 

 

В результате в папке «NativeAPI» появится  динамическая библиотека «AddInNative.so»

 

 

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

service srv1cv82 stop

vi /etc/sysconfig/srv1cv82

SRV1CV8_DEBUG=1

service srv1cv82 start







На сервере больше делать нечего, копируем библиотеку в Windows и приступаем к конфигурированию. Создаем пустую конфигурацию с серверным общим модулем, общим макетом (тип макета: двоичные данные) и обработкой. В макет загружаем либо «AddInNative.zip», или, если лень, просто «AddInNative.so». В обработке вызываем серверный метод, где и подключаем внешнюю компоненту.  Чтобы убедиться, что компонента подключена, идем в отладчик.

 

 

Надо заметить, что все методы внешней компоненты из примера на диске ИТС на сервере бессмысленны, т.к. в документации ясно написано:

«В случае использования компоненты на сервере приложений внешние события не обрабатываются. Также не будут обрабатываться методы работы со строкой статуса и сохранения параметров».
Загрузка курсов валют с сайта НБУ (Украина) Платформа 1С v8.x (все механизмы)

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

Обработка по "вытаскиванию" курсов валют с официального сайта НБУ. Возможно получать данные по валюте за период и по валют-ам на дату.

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

12.07.2013 добавлена обработка по 1с8.

Также присутствует запускающая обработка для примера.

 
Конструктор спецификаций только для просмотра 1C: Предприятие 8.2

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

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

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

Обработка формирует в виде таблицы движения по лицевому счету казенного учреждения ПБС или ГРБС. Данные для формирования берутся непосредственно из таблиц УРМ. Для доступа к базе данных УРМ необходима установка дополнительного драйвера ODBC (входит в набор файлов обработки). Если для доступа необходимо внести изменения, тогда нужно исправить в общем модуле процедуру:

ПодключениеFirebird(фТекстЗапроса) экспорт
Сервер = "ИМЯ_или_IP_адрес";
Путь = "C:\Program Files (x86)\KRISTA\URM\Database\budgetrm2013.gdb";
Имя = "SYSDBA"; Пароль = "masterkey";

вводить номер лицевого счета нужно без пробелов и других посторонних символов: например 95834077
Яндекс склонятор 1C: Предприятие 8.2

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

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

В файле внешняя обработка с примером реализованной функции и ничего более. Скриншот обработки для теста.

Буду рад, если кому-то пригодится.
Отчет по всем проведенным пачкам CЗВ-4 (2013) 1C: Предприятие 8.2

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

Доработанный Отчет по всем проведенным пачкам CЗВ-4 под изменения 2013г. По каждому физическому лицу подводятся итоги по начисленной и перечисленной сумме  взносов ПФР
Учим проводки и схемки учета 1C:Предприятие 8

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

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

Для проверки знаний можно использовать возможности "Скрыть схему" и "Скрыть проводки". Восстановить в уме или на бумаге увиденное и проверить себя оторбазив схему или проводки на экране. Либо как-то иначе.
Сверка по контрагенту 1С:Оперативный учет 7.7

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

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

Параметры:

-  установка периода;

-  выбор контрагента;

-  печать отчета.

Описание функционала:

-  если выбранный контрагент – покупатель:

 ×    за выбранный период из регистра «Покупатели» выбираются движения – документы «Реализация»;

 ×    для выбранных документов «Реализация» формируется выборка документов-оснований «Заявка покупателя»;

 ×    для выбранных документов «Заявка покупателя» формируется выборка подчинённых документов «Реализация», «Строка выписки банка (приход)», «Приходный кассовый ордер»;

 ×    выборка подчиненных документов сортируется по дате документа;

 ×    вывод данных в печатную форму:

- сначала выводится счёт (первый документ за указанный период);
- затем выводятся подчиненные документы (для выведенного счета);
- в итоговую строку (для выведенного счета) выводятся суммы: по счету, по оплате, по реализации;
- если суммы в итоговой строке не равны – выделяются цветом;
- также формируются общие суммы по всем счетам, всей оплате, всей реализации.

-  если выбранный контрагент – поставщик:

 ×    за выбранный период выбираются документы «Поступление ТМЦ»;

 ×    для выбранных документов «Поступление ТМЦ» формируется выборка подчинённых документов «Строка выписки банка (приход)», «Поступление доп. расходов»;

 ×    выборка подчиненных документов сортируется по дате документа;

 ×    вывод данных в печатную форму:

- сначала выводится поступление (первый документ за указанный период);
- затем выводятся подчиненные документы (для выведенного поступления);
- в итоговую строку (для выведенного поступления) выводятся суммы: по поступлению, по оплате;
- также формируются общие суммы по всем счетам, всей оплате, всей реализации.

*  Данный отчет похож на «Акт сверки". Отличие - полная детализация по счетам: счет выставлен, оплачен, закрыт (для покупателя).

*  Колонка «К» - есть контрольные документы.

* Дата окончания = дате актуальности итогов.
Проверка документов после обмена Управление торговлей - Бухгалтерия 1C: Предприятие 8.2

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

По умолчанию взято правило  для УТ -  Если документ проведен и отражен в БУ, то он должен быть в Бухгалтерии ( остальные документы в расчет не берутся).  

Поле ПутьКБП - заполняется просто. Открываем окно запуска 1С. Выделяем нужную базу и копируем строчку, появившуюся внизу(см картинку).

Организация  в бухгалтерии ищется по совпадению наименования с ут'шной.

Состав и соответствие документов сравнения устанавливается просто. Открываем отчет через конфигуратор и редактируем макет "Документы" (см картинку)
"Журнал регистрации на основе класса 1С++ " ПоставщикДанныхЖурналРегистрации"

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

Печать этикеток (настраиваемые макеты) 1C:Предприятие 8

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

Можно сохранить несколько макетов.
Приём, увольнение за период по подразделениям, с разбивкой по статьям увольнения. Для Зик 7.7 1С:Расчет 7.7

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

Кадровики попросили отчет по документам приема и увольнения. Итого принято по подразделению, итого уволено по подразделению, увольнения сгруппировать по статьям увольнения
Остатки неоплаченных взносов ПФР для ЗУП и Бухгалтерия 2.0 1C: Предприятие 8.2

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

Отчет простенький, перебирает два вида документов  ПачкаДокументовСЗВ_6_4 и СведенияОТрудовомСтажеИЗаработкеСЗВ4. Берет все начисленные суммы и вычитает все уплаченные. Можно запросить у пенсионного фонда остатки по людям и сверить с вашими. При необходимости выровнять.

Отчет работает в ЗУП и Бухгалтерии 2.0
Внешние печатные формы ТОРГ-12, Счет-Фактура, 1-Т и ТТН для УТ 11 1C: Предприятие 8.2

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

В одной организации потребовалось понаделать разные варианты заполнения этих документов, под хотелки разных покупателей. Может кому пригодятся, чтобы в базе не переделывать формы.
Анализ начислений сотрудников в соответствии со штатным расписанием (ЗУП 8.2) 1C: Предприятие 8.2

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

Простой и удобный отчет
Генерация QR-кода 1C:Предприятие 8

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

Архив содержит инсталлятор приложения, а также внешнюю обработку с примерами генерации QR-кода средствами COM-объекта приложения и генерации кода на сервере Google.

Процедура СгенерироватьQRкодСИспользованиемQRGenerator(ТекстКода, Картинка)
Попытка
QRCOM = Новый COMОбъект("QR.Generator");
//Установливаем параметры генерации,
//действие не обязательное, COM-объект имеет значения по умолчанию
QRCOM.Коррекция = Коррекция; //тип - целое число (0-3)
QRCOM.Отступ = Отступ; //тип - целое число (0 - 10)
QRCOM.РазмерПикселя = РазмерПикселя; //тип - целое число (1 - 10)
//Получаем имя временного файла и передаём параметром в QR-Generator и загружаем картинку из файла
ИмяФайла = ПолучитьИмяВременногоФайла("bmp");
Если QRCOM.ПолучитьФайлBMP(ТекстКода, ИмяФайла) Тогда
Картинка = Новый Картинка(ИмяФайла);
УдалитьФайлы(ИмяФайла);
КонецЕсли;
Исключение
Сообщить("Не удалось запустить генератор QR-кода. Возможно программа QR-Generator не установлена на данном компьютере.");
КонецПопытки;
QRCOM = Неопределено;
КонецПроцедуры


 
Групповая обработка планов видов расчета 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Понадобилось мне на днях выполнить групповое изменение плана видов расчета. Посмотрел стандартные обработки «Универсальные подбор и обработка объектов» и «Групповая обработка справочников и документов», а они обрабатывают только справочники и документы. Погуглил, но ничего не нашел. Решил доработать.

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

Во вложениях добавил оригинальные обработки для возможности анализа внесенных мной изменений.

09.08.2013

В обработке «Универсальные подбор и обработка объектов»:

- добавил возможность установки реквизитов в "режиме загрузки" (снимает контроль при изменении некоторых реквизитов)

- при изменении реквизитов плана счетов добавил возможность изменения признаков учета и признаков учета субконто
Структура хранения базы данных (управляемые формы) + SQL 1C: Предприятие 8.2

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

Печатная форма ЭСМ-7 для БП3.0 1C: Предприятие 8.2

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

Полный перенос данных между идентичными базами (xml-сериализация) 1C: Предприятие 8.2

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

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

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

Объекты, которые могут переноситься:
Константы
Справочники
Документы
Регистры сведений
Регистры накопления
Регистры бухгалтерии
Регистры расчета
Планы видов характеристик
Планы видов расчета
Планы счетов

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

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

При выгрузке данных помечаем объекты, которые хотим перенести, указываем каталог выгрузки:

 

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

 

 Для того, чтобы объекты записывались в базу в любом случае, используется конструкция:

ЗагружаемыйОбъект.ОбменДанными.Загрузка = Истина;


соответственно в модулях таких объектов в процедуре ПередЗаписью() должно быть что-то типа:

Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;


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

 Проверено на Бухгалтерии 2.0 последнего релиза (2.0.49.15).

05.09.2013 - перезалил файл, поскольку при переносе данных в УТ 10 произошла ошибка, связанная с тем, что одно из измерений (или реквизитов) в одном из регистров сведений называлось "Регистр".

19.09.2017 - К сожалению, на последних релизах может не работать. Столкнулся с этим на последней Бухгалтерии. Проблема с подписками на события При записи, Перед записью объектов (то, что я увидел). Вариант решения - временно их отключать, но для этого придется ковырять конфигурацию, либо не использовать обработку. Указывать полный перечень совместимости обработки с релизами не имею возможности.
Пакетное формирование документов поступления на основании документов реализации Платформа 1С v8.x (все механизмы)

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

Перенос данных из базы в базу с отбором 1C: Предприятие 8.2

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

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

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

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

Может быть использована для переноса как всех данных, так и для переноса одного документа в идентичную базу данных.
Поиск ссылок на объект средствами SQL 1C: Предприятие 8.2

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

Помните, что манипулирование данными посредством SQL-запросов запрещено политикой фирмы 1С.

Итак, описание обработки.

     Наверняка всем известно, что стандартный от 1С поиск ссылок на объект, он работает, и ОЧЕНЬ хорошо работает, но так долго ищутся объекты в этом поиске, что если выберешь какой-либо элемент справочника, который часто используется в документах или еще где, то поиск может затянуться не на один десяток минут.

     Так вот, предлагаю вашему вниманию дамы и господа эту обработку, которая ищет объекты в конфигурации с помощью SQL запросов, в которых есть ссылка на искомый элемент. И что очень удобно, выводит сразу в каком объекте метаданных находится тот или иной найденный элемент и др...
Обмен в 1С Розница 2.0.8.8 по магазину Платформа 1С v8.x (все механизмы)

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

Началось все с того, что пришлось создать подчиненный узел (магазин). Стандартный метод создания начального образа закончился ошибкой описаной здесь. Решить эту проблему не удалось. Гугление дало результат. Была найдена статья, как не стандартными средствами настроить обмен, то только между 1С:Управление торговлей и 1С:Розница по полному плану обмена. После настройки таким методом, возникла новая проблема в подчиненном узле: при попытке настроить пользователей, выдавалось сообщение "Нет разрешенных магазинов для редактирования настроек" и при попытке запуска приложения в обычном режиме (РМК) - сообщение "Не найдено магазинов, доступных для работы. Приложение будет закрыто".

Анализ кода выявил, что в плане обмена "ПоМагазину" в табличной части "Магазины" нет записей. Обработка добавляющая выбранный магазин в эту табличную часть решила проблему.

Инструкция по созданию подчиненного узла не стандартным способом.

Формирование документов Перечисление НДФЛ в бюджет для ЗУП Платформа 1С v8.x (все механизмы)

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

Меня побудило к написанию данной обработки ситуация с заполнением документа "Перечисление НДФЛ в бюджет" в типовой конфигурации "Зарплата и управление персоналом, редакция 2.5". Сначала я столкнулся с проблемой, не позволяющей заполнять этот документ в случае выплаты зарплаты и перечисления НДФЛ в последний день месяца. Некоторое время назад я попытался выяснить в отделе разработок 1С причину такого поведения программы, на что получил следующий ответ:

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

1) За месяц начисления НДФЛ должны быть сформированы записи в регистр накопления "Расчеты налоговых агентов с бюджетом по НДФЛ" с видом движения "Приход".

2) Дата платежа должна быть не ранее следующей даты за днем удержания НДФЛ. То есть, если Вы перечисляется налог за январь, удержанный 31 января то дата платежа не может быть ранее 01 февраля.

3) Должна быть вручную (!) указана общая сумма перечисленного налога в документе "Перечисление НДФЛ в бюджет РФ".Документ "Зарплата к выплате" запись в данный регистр не делает, если этим документом оформлена межрасчетная выплата."

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

Порядок работы.

Акт сверки с детальным сальдо для БП 2.0 Платформа 1С v8.x (все механизмы)

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

Внешняя печатная форма документа "Акт сверки взаиморасчетов" для конфигурации "Бухгалтерия предприятия" 2.0.

Создан на основе типовой печатной формы.

Особенности:

1) Выводит развернутое сальдо по договорам начальное и конечное (если установлен флаг "Разбить по договорам").

2) Если за период сверки были только остатки по договору ,то выводит начальное и конечное сальдо.

Подключается как внешняя печатная форма.
Штрих-кодирование документов 1C: Предприятие 8.2

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

Комплект состоит из двух частей: универсальная накладная с ШК на "почти" универсальном макете печатной формы и перехватчик события от сканера.

Должна быть универсальна, тестировалась на КА
[FREE] Карты Google для работы на управляемом интерфейсе с подсчетом расстояний 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Подойдет для планирования маршрутов.

Поддерживает промежуточные пункты.

Простой код.

Легкая интеграция
Загрузка в БГУ из Системы удаленного финансового документооборота СУФД 1C: Предприятие 8.2

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

Делаете экспорт выписок из портала СУФД в формате СЭД за нужный период. (Документы - Оперативная отчетность - Отчеты - Отчеты/ Затем в фильтре Тип документа набрать слово ВМФ и нажать фильтр (лейка)/ Выделить нужные выписки и нажать Экспорт(Стрелка зеленая вверх))

Сформированный архивный файл необходимо разархивировать в отдельную папку.

Затем в БГУ открыть данную обработку, в закладке "Расширения" указать расширение Заявки на кассовый расход BD7 или BD8 или т.п. в зависимости от расширения файла выгрузки и выполнить загрузку из разархивированной папки ... 

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

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

К счету 302.62 добавляем субконто "Договоры".
Начисление род.платы делается по оборотам 205.31 (в условии было сделать по начисленной род.платы, по уплаченной строки закомментированы), по договорам с направление деятельности род.плата.
Т.к. для процента компенсации берется срез последних значений, то рекомендую начисление компенсации делать регламентно за каждый месяц, а значение процента менять 1 раз в месяц.
По кнопке "Начислить компенсацию" заполняется табличная часть (значения сумм можно изменить).
По кнопке "Создать операцию" создается операция последним днем периода за который начисляется компенсация, т.к. централизованная бухгалтерия для компенсации использует 14-е казначейские счета, то в операции используется ИФО, КБК и по умолчанию КФО
Правильная свертка или свертка базы по правилам Платформа 1С v8.x (все механизмы)

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

Правильная свертка или свертка базы по правилам: Обработка "Свертка базы по правилам, v
Демонстрационная конфигурация работы с API ВКонтакте 1C: Предприятие 8.2

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

Создание приложения "ВКонтакте".

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

Для создания приложения необходимо перейти по этой ссылке: https://vk.com/editapp?act=create

На станице создания приложения необходимо ввести название вашего приложения и выбрать тип "Standalone-приложение".

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

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

Авторизация на сайте ВКонтакте.

Перед работой с API необходимо авторизироваться. ВКонтакте используется способ авторизации OAuth 2.0.

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

Более подробную информацию можно посмотреть здесь: http://vk.com/dev/auth_mobile

Я же опишу как все это можно реализовать на 1С.

Необходимо создать обработку для авторизации. На форму вывести поле HTML документа (элемент формы ПолеHTMLДокумента). При открытии формы переходить по адресу

https://oauth.vk.com/authorize?client_id=&scope=&redirect_uri=http://api.vk.com/blank.html&display=page&response_type=token

Ниже приведен пример кода. Переход на страницу вставлен в процедуру "ПриОткрытии()"

Процедура ПриОткрытии()

ЭлементыФормы.ПолеHTMLДокумента
Просмотр и анализ журнала регистрации (отчет на СКД) Система компоновки данных

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

GUID_1С_82_УП.epf - обработка для работы с GUID (уникальными идентификаторами) объектов для управляемых форм 1С 8.2 1C: Предприятие 8.2

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

GUID_1С_82_УП.epf - обработка для работы с GUID (уникальными идентификаторами) объектов для управляемых форм 1С 8.2. Позволяет воссоздавать удаленные объекты, на которые остались ссылки в базе вида. Поддерживается восстановление элементов справочников или документов. Так же обработка позволяет находить ссылку на объект по GUID, а так же получать GUID по ссылке на объект (даже если это удаленный объект и от него осталось только опиание).

Интерфейс обработки простой и интуитивно понятный.

После нажатия на кнопку "Создать объект из GUIDа ->" создается новый объект того типа, который Вы выберите, но он будет пустой. После создания его нужно открыть из реквизита формы "Новый объект из GUIDа", заполнить его свойства и сохранить.
Перенос документов между идентичными конфигурациями для платформы не ниже 8.2.18.82 1C: Предприятие 8.2

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

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

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

Групповая печать документов и сохранение их на диск в любом доступном формате.
Тестировалось на бухгалтерии 2.0 для 8.2.  Условием было не менять и не снимать с поддержки саму конфигурацию.
Но если кто захочет переделать её для любой конфигурации - минут 10-15 и она будет работать у вас. Самое главное понять принцип её нехитрого функционирования. Данная обработка делалась для сохранения и дальнейшего подписания печатных форм документов из 1с в формате PDF электроной подписью. Обработка сделана на основе стандартной из 1с Бухгалтерии.

Все форматы прописаны (mxl pdf xls и т.д.)
Проверка пересечения кадровых неявок, отпусков, командировок 1C: Предприятие 8.2

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

В работе кадрового отдела часто возникают ситуации, когда пересекаются периоды отпусков, командировок или болезней.
Например, больничный сотрудника 1
Консоль печати этикеток 1C: Предприятие 8.1

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

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

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

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

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

Порядок действий:

Для начала формируем данные регистра накопления любым удобным способом, например отчет "Остатки и обороты", главное необходимо вывести все измерения регистра!

Сохраняем данные в "Excel", обрабатываем, загружаем обратно в 1С.
"Решебник к сборнику задач ""1С:Специалист-консультант"" по внедрению прикладного решения ""1С:БГУ 8""" 1C:Предприятие 8

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

Автор публикации отключил рейтинг к статье, ибо творение совместное.

Начал с того, что привожу по номерам задач ссылки на статьи ИТС и другие ресурсы (в первом комментарии), которые помогут в решении. А также базу в которой есть примеры решения задач. Плюс краткое решение в виде Word файла.

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

В коментариях не надо выкладывать сами вопросы, это запрещено!
Печать ценников из УТ 10.3 (с выбором размера и масштаба) 1C: Предприятие 8.2

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

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

Как нарисовать граф на 1С 1C:Предприятие 8

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

1С Предприятие Web-сервис EMEX тестирование методов 1C: Предприятие 8.2

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

Данная обработка делается под заказ и уже оплачена. Поэтому будет переодически обновляться по мере достижения цели заказчика. Пока реализован только механизм тестирования сервиса... Ну а как мы без него ? :) .

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

Правила обмена — как на ладони! 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Можно ли изучить сложные правила за 15 минут?

Скажите, задумывались ли Вы над тем, как устроены правила обмена? Наверняка задумывались!

И скорее всего даже знаете, что они включают в себя правила выгрузки данных (ПВД), правила конвертации объектов (ПКО), правила конвертации свойств (ПКС и ПКГС) и правила конвертации значений (ПКЗ).

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

В самом простом случае правила можно представить так: правило выгрузки данных вызывает правило конвертации и передает ему выгружаемый объект. Правило конвертации по правилам конвертации свойств передает его свойства (реквизиты) другим правилам конвертации объектов или правилам конвертации значений. В результате этих вызовов формируется файл xml.

И это самый простой вариант!

А теперь представьте себе более сложные правила. Такие например, как правила обмена «Управление торговлей, ред.
Native ВК для 1CV8: независимое чтение файлов *.xls и *.xlsx Платформа 1С v8.x (все механизмы)

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

ВК предназначена для считывания значений ячеек файлов *.xls и *.xlsx.
Не требует установленного в системе Microsoft Office (Excel) и Open Office.

Технология Native, не требует регистрации в реестре.


Подключение ВК:


ПодключитьВнешнююКомпоненту(ПолноеИмяФайлаВК,"ExcelNative",AddInType.Native);
//-- создание экземпляра класса--
XLS =Новый("AddIn.ExcelNative.V8Excel"); // слева - любая переменная
Вызов методов ВК: ваш экземпяр (например,XLS ) - точка - имя метода (параметры)

Методы ВК:

ОткрытьФайл(ПолноеИмяФайлаXLS{XLSX})
Возвращает количество Листов

КоличествоСтрок(НомерЛиста)
НомерЛиста - номер листа предварительно открытого файла, отсчет с единицы (по умолчанию =1)
Возвращает количество строк выбранного листа

КоличествоКолонок(НомерЛиста)
НомерЛиста - номер листа предварительно открытого файла, отсчет с единицы
(по умолчанию =1)
Возвращает количество колонок выбранного листа

ЗначениеЯчейки(НомерЛиста,НомерСтроки,НомерКолонки,ОпределятьДату)
Отсчет всех значений НомерЛиста,НомерСтроки,НомерКолонки с единицы
ОпределятьДату- булево, имеет смысл только для файлов *.xlsx, по умолчанию ЛОЖЬ
Если ИСТИНА и число в ячейке соответствует ТекущаяДата плюс-минус 2 года, будет возвращено
строковое представление даты
Возвращает значение выбранной ячейки

ЧислоВДату(Число)
Возвращает строковое представление даты по числу

Например, ЧислоВДату(41501)="15.08.2013"

РелевантностьСтрок(Строка1,Строка2,КтоЭталон)
Строка1, Строка2 - строки для сравнения
КтоЭталон - булево, если ИСТИНА, то эталон Строка1, иначе эталон Строка2
По умолчанию = ИСТИНА
Возвращает численное значение релевантности (схожести) строк.
100 - полностью тождественны
Может пригодиться при загрузке прайсов, например: релевантность строк "Майка мужская" и "Мужская майка" равна 88, что дает возможность сопоставить номенклатуру в справочнике и прайсе с достаточной достоверностью.

Тестировалась на:

Windows Server 2008 R2 Standard х 64
Windows 7 Professional Service Pack 1 х 32
Windows 7 Ultimate х 32
Windows ХР

Архив содержит саму ВК и файл описания

Версия
Печатная форма Акт списания затрат ТМЦ (материалов) для Бухгалтерии 3.0 (БП 3) 1С 8.3 1С: Предприятие 8.3

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

Внешняя печатная форма акта на списание затрат товарно-материальных ценностей (акт на списание материалов) для конфигурации Бухгалтерия предприятия 3.0 (БП 3) 1С 8.3.

Возможности: формирование печатной формы акта из документов:

Требование накладная
Отчет производства за смену
Списание товаров
Передача материалов в эксплуатацию

 

Как подключить - зависит от выбранного вами интерфейса 1С БП3. Различные варианты см. в скриншотах к топику.

Исходный код - открыт.

Обновлено: 20.04.20. Тестировался на БП 3.0.77.45

Обновлено: 02.08.23. Тестировался на БП 3.0.140.29

За основу взята моя же разработка для БП2:

//infostart.ru/public/126044/
Консоль Программиста 8.3 Управляемые формы тонкий/толстый клиент Платформа 1С v8.x (все механизмы)

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

Обновление, версия 3.0

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

Большая благодарность salexdv за это

!ВАЖНО - для работы необходимо подключать расширение для работы с файлами

Теперь появилась подсказка при написании кода (Документы. | Массив. и т.д.)
Можно подгружать методы конфигурации общих модулей, документов, обработок и т.д. для этого на вкладке "Дерево метаданных" нужно указать путь к папке выгруженной в файлы конфигурации
Можно подгрузить свои шаблоны к которым вы привыкли *.st (Примеры -> Загрузить сниппеты из файла)
Добавил в контекстное меню Запрос с обработкой результата, после конструирования запроса создаётся текст с установкой параметров и добавлением их в переменные уже с типизацией, и вывод в табличный документ
Отдельным пунктом сделал "найти параметры запроса" который добавить параметры в переменные и в буфер обмена добавить код установки этих параметров (надо будет только CTRL+V)
Переменные можно вставлять по навигационной ссылке (например в документе получаем навигационную ссылку в буфер обмена и в консоли вставляем через контекстное меню "Вставить")
И т.д. и т.п. больше можно узнать в статье Консоль кода для управляемых форм

 

Обновление, версия
Пакетный ввод платежных поручений (1С 8.2) 1C: Предприятие 8.2

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

Алгоритм работы

За определенный период подбираются документы на поступление ТМЦ. В таблице можно отмечать оплату по документу - оплачивать или нет. Затем можно предварительно посмотреть перечень платежек, которые могут быть созданы, в виде таблицы с платежными реквизитами.

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

Ограничение

Обработка создает платежки только по поступлению ТМЦ. По услугам документы формироваться не будут.

Т.е., если в поступлении кроме ТМЦ есть услуги, то сумма платежа НЕ будет включать услуги. Имейте это ввиду. Если вы хотите оплачивать и услуги, можете доработать эту обработку сами или обратиться ко мне с отдельной просьбой.

В таблицу подбора попадают только проведенные документы. По документами с нулевыми суммами платежки НЕ формируются.

Всегда проверяйте результат формирования документов! 
Печать Ценников 1C: Предприятие 8.2

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

Немного переделанная обработка "Печать ценников".

Основные её отличия это:

Установка Даты запрета редактирования по пользователю и фирме (1С 8.2) 1C: Предприятие 8.2

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

Обработка не требует монопольного режима, действует в разрезе фирм и пользователей. Отбор по группам делать не стал, ибо не было острой необходимости. Запускать обработку может только пользователь с полными правами. Тестировалась БП 2.0 ЗУП 2.5
Комиссионная торговля в УТ 10.3 Платформа 1С v8.x (все механизмы)

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

Из используемых на платформе "1С:Предприятие 8.2", конфигурация "Управление торговлей, редакция 10.3" является наиболее простой для освоения для пользователей, перешедших с программного продукта "1С:Торговля и Склад 7.7", поэтому все еще пользуется заслуженной популярностью. Однако в конфигурации "Управление торговлей, редакция 10.3" модуль комиссионной торговли длительное время оставался без должного внимания со стороны отдела разработки фирмы "1С" и содержит ряд досадных недоработок, усложняющих внедрения этой конфигурации в организациях, осуществляющих торговлю по договору комиссии. Эта публикация является результатом неоднократного исправления таких недоработок и содержит перечисленные ниже улучшения и дополнения, призванные сократить время и стоимость внедрения конфигурации на предприятии.

Перечень доработок:

CASHDISPLAY - дисплей покупателя, второй монитор, поддержка графики, видео, html, javascript, css. Бесплатно от O-Planet! Не имеет значения

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

CASHDISPLAY - разработка, применяемая нашей командой для реализации дисплеев покупателей по заказу компании "KAPO Duty Free" в нашей кассовой программе "КАССА-PRiMA".  

ВНИМАНИЕ! Для скачивания и использования в работе доступна новая версия: CASH DISPLAY 2.0

Обычно в POS-системах используется достаточно дорогой и мелкий дисплей покупателя. Поскольку компании "KAPO Duty Free" требовалось для работы с клиентом больше пространства, чем может предложить стандартный дисплей покупателя, мы решили применить в качестве его альтернативы обычный малогабаритный дисплей.

Плюсы такого решения очевидны:

- Клиент получает больше информации 
- Не требуется драйвер для подключения
- Возможно использовать любой монитор, от 7" до 70"
- Программист полностью управляет оформлением выводимых на дисплей данных

В качестве формата выводимых данных мы решили использовать обычную html-разметку. 

Поместите cashdisplay.exe в каталог с Вашей программой, создайте простенький файл стилей styles.css в этом же каталоге и наслаждайтесь детальной, красочно оформленной информацией на дополнительном дисплее, выводимой прямо из 1С. Качайте, пользуйтесь!

В прилагаемом архиве Вы найдете сам CashDisplay, инструкцию по его использованию в 1С, пример обработки, использующей CashDisplay, и пример файла css-стилей.

При первом использовании cashdisplay.exe запускается вручную, для регистрации com-объекта! 

 

Приводим пример кода из файла описаний для тех, кто думает, что ниасилит...
Подключение
Об=Новый COMОбъект("CashDisplay.Server");
Об.SetMonitor(2);
Об.Write("HELLO, WORLD!");
Об.Monitor();

Пример вывода данных

Об.Add("SUMMASTR","Сумма чека:");
Об.Add("SUMMA","5000.00");
Об.Add("RAZDEL1","");
Об.Add("CENASTR","Цена:");
Об.Add("CENA","100.00");
Об.Add("KOLVOSTR","Кол-во:");
Об.Add("KOLVO","3");
Об.Add("SUMMATOVSTR","Сумма");
Об.Add("SUMMATOV","300.00");
Об.Add("RAZDEL2","");
Об.Add("TOVAR","Одуванчеги фаршированные мозгом троля ");
Об.View();


А в styles.css вы просто описываете те объекты, какие используете. К примеру:

#SUMMASTR
{
  position: absolute;
  left:400px;
  top:60px;
  color:rgb(200,200,200);
  font-weight:normal;
}

и т.д.

Как видите, все просто! Настройка займет не более получаса. Нужна помощь? Пишите, поможем.

НОВИНКА

Теперь CashDisplay можно установить на обычный андроид планшет и использовать его в качестве второго монитора, подключив к основному компьютеру по беспроводной связи. Интересно? Нужна помощь в настройке? Обращайтесь!

ДОРАБОТАНО ПО ПОЖЕЛАНИЯМ КЛИЕНТОВ

Универсальная перенумерация УФ (управляемые формы) Платформа 1С v8.x (все механизмы)

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

По просьбам пользователей данной обработки на обычных формах, выкладываю данную обработку на УФ. Принцип тот же, выбирается период, организация, документ, стартовый номер и префикс.
Перенос остатков и документов из Комплексной 7.7 в Бухгалтерию 8 ред. 2.0/3.0 1C:Предприятие 8

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

Групповая обработка справочников и документов на управляемых формах с отбором по типу реквизита документа Платформа 1С v8.x (все механизмы)

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

Разработка Групповая обработка справочников и документов (Управляемая форма) v
БГУ Перенос ОС по ИФО 1C: Предприятие 8.2

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

Обработка переносит как балансовую стоимость, так и амортизацию с одного ИФО на другой по рабочим счетам учреждения(т.е. с обязательным отбором по КФО и КПС). Возможен отбор по ЦМО, при указании ЦМО в шапке. Родилась в качестве дополнения к //infostart.ru/public/118808/. т.к. переносить отдельно балансовую стоимость и амортизацию в случае деления одного ИФО на несколько очень неудобно. При заполнении табличной части проверяется корректность заполнения элементов справочника ОС на предмет указания счета амортизации - при некоректном заполнении проводки не формируются.
Препроводительная ведомость к сумке для 1С Предприятие. (Форма № 0402300) Ведомость к сумке. Накладная к сумке. Квитанция к сумке.) Платформа 1С v8.x (все механизмы)

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

Препроводительная ведомость к инкассаторской сумке - обработка для 1С Предприятие 8.2, 1С Предприятие 8.3 (обычное приложение).
Форма № 0402300 Приложение 7 к указанию Банка России от 30 июля 2014 г. №3552-У
(и старая Форма № 0402300 в редакции Положения от 24.04.2008 №318-П.)

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

Представленная обработка тестировалась на примере базы 1С Бухгалтерия 2.0.

Так же представлена обработка, которую можно подключить как внешнюю печатную форму. Внешняя печатная форма реализована на примере конфигурации "ДАЛИОН: Управление магазином" для документа "Инкассация". Можно так же выбирать документ "Инкассация" прямо из обработки и печатать его из неё. (Документ Инкассация несколько доработан, как показано на прилагаемых скриншотах. Добавлены новые реквизиты в шапку документа, а так же они вынесены на форму документа на новую закладку "Сумка".)
Качалка 1C:Предприятие 8

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

Инструкция

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

На закладке "HTML" имеется браузер, строка адреса которого используется в качестве стартового URL для начала заполнения списка закачек.
Заполнение запускается командами "Разбор HTML-страницы ..." в текущий или новый список. Разбор выполняется одним из парсеров выбранных на этой же закладке. Пока работает парсер - нажатая кнопка будет в состоянии "выделена". Прервать работу можно комбинацией Ctrl+Break.
Собственно встроенный браузер нужен только чтобы убедиться, что открыта правильная начальная страница. Кнопка с "домиком", намекает, что для сайтов в её списке имеются специально обученные парсеры. В зависимости от имени домена после загрузки страницы в браузере парсер переключается, что не запрещает выбрать подходящий по смыслу из списка в ручную перед запуском разбора.

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

Для редактирования дерева стандартные кнопки дополнены командами массового изменения (сначала с Shift выделяем строки).
Кликом в колонке "Очередь скачивания" (со стрелкой вниз в заголовке) строка подтверждается или исключается из планируемых закачек (включая подчиненные узлы). В этой же колонке появляется стрелка вниз в процесс скачивания и затем "черный квадратик" в случае успешного выполнения.
Изначально другие колонки дерева защищены от изменения "вдавливание" кнопки с карандашом переключает дерево в режим редактирования колонок и обратно. В режиме редактирования дерева появляется кнопка "открыть файл" (по выделенной строке), чтобы ради этого не переключать лишний раз режим дерева. Для обладателей программы Proxy Switcher в панели добавляется кнопка её запуска (чтобы далеко не лезть, как понадобится прокси).

Двойной клик в списке - выборочная закачка по строке.
Двойной клик в списке в момент закачки - добавляет строку в "приоритетные закачки", которые будут выполнены перед основной очередью.
Двойной клик по строке со скачанным файлом - его запуск ассоциированной программой.
Клик по колонке URL - открытие страницы во встроенном браузере (открывается закладка HTML).

Закончим начальную подготовку заглянув на закладку "Настройки" и выбрав каталог для записи.
Также стоит обратить внимание, что настройки сохраняются стандартным для форм механизмом (сохранить/восстановить значения), а для дерева закачек предусмотрено сохранение и экспорт в файл.

Итак, все готово к основному процессу. Запустить/прервать закачки можно в любой момент нажатием кнопки "Запустить модуль скачивания...". Прервать все выполняющиеся процессы в обработке - Ctrl+Break.

Легенда по основным иконкам:


Особенности реализации

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

Минимализм

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

Асинхронный режим

Асинхронно выполняется только получение пакетов данных объектом «WinHttp.WinHttpRequest», что в комбинации с обработками ожидания дает неплохую «псевдо» параллельность работы. Естественно «настоящий» менеджер закачек быстрее, поэтому есть экспорт списка. На практике пропускную способность серверов обычно лимитируют так, что существенной разницы в скорости с Качалкой может и не быть.

Проверка ссылок

Необходимый перед загрузкой процесс выявления «живых» ссылок, обычно еще дает информацию о типе и размере файлов. Используется для статистики в индикаторах.
Для слабых серверов не рекомендуется ставить в настройке больше 5 потоков. Большое количество может быть расценено, как DoS-атака.

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

Задачи нахождения прокси и прочие тонкости с этим связанные предоставляются специализированным программ, вроде Proxy Switcher. Флажок «Использовать активное прокси-соединение» в настройках Качалки позволяет использовать активный коннект, если он есть. На форме отображается состояние соединения, адрес, порт сервера и состояние использования.

Настройки

Таймаут получения заголовка - технически достаточно 100 мсек., но на серверной стороне оценивается количество запросов в минуту и не стоит сильно накручивать этот показатель, если один пакет притормозил. Лучше подождать несколько секунд, чем получить бан на долго. По умолчанию 5000.

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

«Потоков скачивания файлов» пока действует только
Печать ценников со штрих-кодами - внешняя печатная форма для Управление Торговлей 10.3 1C: Предприятие 8.2

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

После заполнения таблицы товаров подбором или добавления позиции, при необходимости следует перезаполнить штрих-коды посредством пункта меню Заполнить -> Перезаполнить штрих-коды.

Может использоваться в двух режимах:

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

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

Возможности:

- Выбор реквизитов для печати.

- Сортировка по любому реквизиту: > (по возр.), < (по убыв.), " " (не сорт.), кроме строк неогр.длины

- Фильтр по значению любого реквизита, в т.ч. и реквизитов типа строк неогр.длины.

- Множественый фильтр по каждому реквизиту.

- Различные типы фильтрации основного справочника.

- Печать подчиненных справочников с выбором какой справочник печатать, а какой нет.

- Фильтрация по реквизитам подчиненных справочников (если флаг установлен, то выводятся элементы тоько с подч.).

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

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

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

- Возможно обращение к обработке извне (подробности изложены в справке).
Внешние печатные формы для УПП 1.3 Платформа 1С v8.x (все механизмы)

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

Перенос документов из УТ 10.3 в Бухгалтерию 3.0 Платформа 1С v8.x (все механизмы)

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

Перенос документов из УТ 10.3 в Бухгалтерию 3.0 (v.
"Галка " Поиск по подстроке"

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

Интеграция типовой конфигурации из мобильным приложением 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Вот уже второй месяц я тружусь над логистическим решением, которое основано на взаимодействии мобильной платформы Android и конфигурации УТ 1
Новый набор шаблонов автозамены, специально для 8.3 1С: Предприятие 8.3

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

Введение

Первые шаблоны я начал использовать в 2000 году еще по версии 7.7. Они очень сильно помогали не зазубривать синтаксис вроде того, что где-то нужно набрать ВыбратьСтроку(), а где-то ВыбратьСтроки(). Ну и конечно скорость набора увеличивалась.

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

Году, эдак, в 2004 я первый раз опубликовал на своем сайте эти шаблоны.

Время шло, вышла восьмерка. Я переписал шаблоны под нее, потом появилось управляемое приложение и я дополнил шаблоны под УФ. Теперь вышла 8.3.

Новая концепция “Откажись от модальных окон” вынудила меня полностью перебрать шаблоны и сделать отдельную сборку, в которой не используются методы вызывающие модальные окна. Да и то что в управляемых формах использовать нельзя пришлось выкинуть.

Что получилось судить Вам.

Шаблоны - это стандартный механизм системы 1С:Предприятие. Покупать Снегопат не нужно ;)

 

Управляющие конструкции

Все довольно стандартно, Если, Пока Цикл, Попытка Исключение, Процедура, Функция.

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

Прикладные

Выбор значений перечисления, счетов из плана счетов, предопределенных видов субконто.

Проблемы раскладки клавиатуры

Собраны все возможные способы не переключаясь на латинскую раскладку вводить нужные символы. Обратите внимание, для того чтобы сработала замена “?” на “&” нужно ДВА пробела после вопроса ввести.

 

Коллекции значений

 

Всем известные ТЗ, СЗ и ХЗ.

 

Запросы

Конструктор запроса запускается сам. При наборе текста запроса в модуле появляются окна для выбора объектов метаданных…

 

Диалоговые

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

Добавлен метод выбора и загрузки файла во временное хранилище.

Этот раздел будет дополняться, присылайте предложения.

 

Сокращения

Как же без них… Из там много…

 

Прочие полезности

Создание набора записей, описание блокировок, конструктор описания типов, проверка типов…

 

Заключение

 

Сейчас посыпятся вопросы: “А как это у себя поставить?”. По шагам.

Вариант
1С Кинотеатр 8.2 на управляемых формах (обновлено) 1C: Предприятие 8.2

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

Программа разделена на 4 основных раздела: Преприятие, Продажа билетов, Расписание сеансов / анонсы, Справочная информация.

Рассмотрим подробнее состав каждого раздела.

1) Предприятие.

В Данном разделе сосредоточена информация, касающаяся работы кинотеатра и залов. Состоит из:

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

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

2) Продажи билетов.
 

Основной раздел, отвечающий за продажу, бронирование, распечатку билетов и чеков. Состоит из:

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


 
Справочник Схемы залов
 
Отчет Чеки. Производит печать чеков на проданные билеты за выбранный период.

 

3) Расписание сеансов.
 

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

Справочник Расписание сеансов. Хранит  расписание сенасов для фильмов на выбранный период времени.


 
Справочник Фильмы. Содержит список всех фильмов. Есть возможность задания описания фильма, загрузки картинок.

4) Справочная информация.
 

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

Справочник Кинозалы
 
Справочник Схемы залов

 
Справочник Фильмы

 

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

 

-----------------ОБНОВЛЕНИЕ ОТ 06.0
"Обработки для проведения/снятия с проведения документов/очистки движений не проведенных, перезаписи ссылочных объектов с отборами для баз 1С 8.1-8.3 (обычное, управляемое, ""такси"")" 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Проведение/перезапись документов и ссылочных объектов (для обычного приложения) (для БП 2, УТ 10, ЗУП 2.5, УПП
Быстрый импорт выписок из клиент-банка для торговли 7.7 и комплексной 7.7 1С:Оперативный учет 7.7

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

Обработка предназначена для загрузки строк выписок приход и расход без создания платежных поручений из клиент-банка для торговли и комплексной 7.7. По форме обработка напоминает загрузку для 8.2 - тот же выбор фирмы, банковского счета, файла и кнопка "Прочитать данные из файла", при нажатии которой данные из файла загружаются в предварительную таблицу с поиском контрагентов по ИНН\КПП одним запросом и поиском уже загруженных документов. В таблице можно отредактировать колонки "загрузить" - 1-ая колонка, "контрагент", "договор", "статья ДДС(движение денежных средств)", "существующий документ", "О" - открыть существующий документ, "Х" - очистка найденного или подобранного документа. Все остальные колонки - строковые данные из файла. На закладке "настройка загрузки" можно выбрать статьи ДДС для расхода и прихода по умолчанию (их нужног выбирать до нажатия кнопки "Прочитать данные из файла"). По кнопке "загрузить" создаются или перезаписываются отмеченные флажками строки выписок в одной транзакции. По кнопке "провести" - проводятся не в транзакции.

!!!ВАЖНО!!! Для корректной работы обработки необходимо добавить в конфигураторе реквизиты "НомерПлатежногоПоручения" - тип "Строка" и "ДатаПлатежногоПоручения" - тип "Дата" в документы "СтрокаВыпискиПриход" и "СтрокаВыпискиРасход". Назначение платежа записывается в комментарий.
Заготовка внешней печатной формы для БП 3.0 (управляемые формы, собственный макет) (Пример приведен для документа Реализация товаров и услуг) 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

Цель публикации - начинающим переходить на бухгалтерию 3.0 облегчить задачу по поиску, как это сделать. Хочу сохранить время тем, кто переходит с БП 2.0 на БП 3.0 (честно говоря, и нервы)   :)

Вся суть обработки находится в модуле объекта данной обработки в процедуре Печать(). Заполнение печатной формы происходит там. Макет находится в макетах опять-таки данной обработки, и сейчас он называется "Макет".

Для того, чтобы включить возможность использования внешних печатных форм, нужно разрешить их использование в БП 3.0. Администрирование -> Настройки (на панели действий) -> Настройки программы -> Дополнительные отчеты и обработки -> V Использовать дополнительные отчеты и обработки. 

Для подключения внешней печатной формы: Администрирование -> Дополнительные отчеты и обработки (на панели навигации) -> Создать -> Выбрать нужный файл -> Записать и закрыть. После этого новая печатная форма автоматически появится в списке печатных форм у документа.

Приятной работы!

 
Редактирование списка баз (ibases.v8i) 1C:Предприятие 8

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

Обработка реализована на управляемых формах. Работает со списками баз 8.2 и 8.1 (и возможно 8.3). Файлы читаются на клиенте.

Для работы с программой у вашей учетной записи должен быть админский доступ к сетевым ресурсам а именно к  диску C$. 


Баттерфляй - метод быстрого расчета нарастающего итога в запросе Не имеет значения

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

Введение

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

Сложность расчета нарастающего итога в запросах обусловлена реляционной природой СУБД, хранящей исходные данные и результаты вычислений. Записи одной и той же таблицы принципиально не связаны между собой, что и порождает проблему их последовательного суммирования в процессе расчета нарастающего итога. О том, что проблема затрагивает не только решения на основе платформы «1С: Предприятие», можно судить по работе[Нарастающий итог сравнение производительности].

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

ВЫБРАТЬ
СУММА(ДоДано.Сумма) КАК Сумма
ИЗ
Дано КАК Дано
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Дано КАК ДоДано
ПО Дано.НомерСтроки >= ДоДано.НомерСтроки
СГРУППИРОВАТЬ ПО
Дано.НомерСтроки


При использовании приведенного запроса расчет по каждой строке делается независимо от результатов расчетов других строк. Это порождает проблему быстродействия данного подхода, так как число элементарных операций, а в итоге и затраты времени оказываются пропорциональными половине квадрата числа строк исходной таблицы. То есть при увеличении числа строк в таблице в десять раз, время расчета увеличивается в сто раз! О квадратичной зависимости свидетельствует следующая схема расчета нарастающего итога в таблице из восьми элементов Фиг.0.

Дано\ДоДано 1 1 1 1 1 1 1 1 Сумма
1 1               1
1 1 1             2
1 1 1 1           3
1 1 1 1 1         4
1 1 1 1 1 1       5
1 1 1 1 1 1 1     6
1 1 1 1 1 1 1 1   7
1 1 1 1 1 1 1 1 1 8

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

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

Описание метода

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

Первоначально исходная таблица помещается в таблицу «Л1» на левом крыле бабочки. Затем, в соответствии со схемой, производится попарное суммирование соседних строк таблицы «Л1», а результат помещается в таблицу «Л2» из четырех строк. Аналогично по таблице «Л2» строится таблица «Л4», а по «Л4» – таблица «Л8», состоящая по понятным причинам из одной строки. На правом крыле производятся чуть более сложные действия. Единственная строка таблицы «Л8» расщепляется на две строки таблицы «П4». Для этого используется искусственная таблица «Р0», состоящая из двух строк: одна с нулем и другая с единицей. Кроме того (и в этом весь фокус), из верхней строки таблицы «П4» вычитается нижняя строка таблицы «Л4». Это делается затем, чтобы суммы, накопленные в элементе «Л4», не входили в нарастающий итог для строк с меньшим номером. Далее каждая строка таблицы «П4» опять расщепляется на две строки таблицы «П2», а из строк 1, 3 (с нечетными номерами) вычитаются соответствующие строки 2, 4 таблицы «Л2». Ну, и наконец,  строится таблица «П1» расщеплением на две строки каждой строки «П2». При этом и строк 1, 3, 5, 7 вычитаются строки 2, 4, 6, 8 таблицы Л
Универсальный обмен между похожими конфигурациями 1C:Предприятие 8

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

 

 

 

Трей-мессенджер: Native ВK для 8.х Платформа 1С v8.x (все механизмы)

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

Многоуважаемый и не менее многословый O-Planet 06.09.2013 опубликовал

Tray Informer с такой беллетристикой, что аж завидно стало.

По результатам тестирования оказалось:

Редактор картинок в 1С. Платформа 1С v8.x (все механизмы)

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

Обработка, которая выполняет некоторые тривиальные действия с
картинками: изменение размера (есть возможность сохранения пропорций
исходного варианта), повороты на определенный угол, зеркальное
отображение по горизонтали и вертикали. Обработка адаптирована как
для обычных форм так и для управляемых. Предусмотрен пред-просмотр
картинки прямо на форме. Реализация алгоритмов была осуществлена при помощи
мощного средства операционной системы Windows - Windows Image Acquisition (WIA).
Убрать рекомендацию о необходимости обновления конфигурации Платформа 1С v8.x (все механизмы)

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

Прайс-лист, учитывающий скидки контрагента, УТ 10.3 Платформа 1С v8.x (все механизмы)

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

Скидки устанавливаются документом Установка скидок номенклатуры, для вида скидки Оптовая, в Получателе скидки указывать контрагента БЕЗ ЗАПОЛНЕНИЯ договора контрагента! (Такое было ТЗ
Остатки номенклатуры на складах с нулевыми позициями (УТ 11) Платформа 1С v8.x (все механизмы)

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

Отчёт появился благодаря практическим потребностям конкретного заказчика.

Помогает выявить не только позиции, которые есть на складах, но и те которых нет (кол-во = 0): так называемые "нулевые остатки", которые стандартный отчёт Управление торговлей ред. 11 "Остатки товаров на складах" (Ведомость по товарам на складах) не выдаёт.

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

Ограничений на использование и распространение нет. 100% free.
"Отчет " Ведомость по товарам на складах"

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

Расчетная ведомость, совместители отдельной строкой. 1C: Предприятие 8.2

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

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

Например, некий Иванов И.И. работает в подразделении "АУП" (отработал 136 часов) - это основное место работы, и в тоже время он работает в подразделении "Хозяйственный отдел" как внутренний совместитель (отработал 88 часов). Так вот типовой отчет выдает только одну строчку подразделение АУП (224 часа), а это не правильно.

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

Изменения в версии 2.1

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

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

Видео на Youtube.ru

Цель публикации

Сравнение GUID Справочников Номенклатура, Контрагенты, Подразделения в разных информационных базах Не имеет значения

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

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

Мне достались базы "Бухгалтерия предприятия 2.0" и "Управлние торговлей 10.3", между которыми настроен обмен. Пользователи заметили, что есть контрагенты, которые в разных базах имеют разные коды 1С, орфографически разные наименования, но при выгрузке документов, машина каким то образом понимает что контрагент "ИП Иванов" с кодом Б0001 в "Бухгалтерии" соответствует контрагенту "Иванов И.И." с кодом Т0002 в "Торговле". Попросили разобраться почему такое происходит.

Ответ конечно лежит на поверхности. GUID у этих объектов в "Торговле" и в "Бухгалтерии" одинаковый. Для того чтобы понять как исправлять данную ситуацию, было решено получить список объектов, у которых GUID одинаковый, а код и/или наименование не совпадают.

Собственно эту адачу и решает представленная в этой публикации обработка.

Как пользоваться:

Отслеживание изменений каталога в REAL-TIME: Native ВК для 8.х Платформа 1С v8.x (все механизмы)

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

Настоящая ВК появилась как побочный продукт при выполнении проекта по отслеживанию "нежелательных" файлов на компьютерах корпоративной сети. Текущая версия позволяет поддерживать отслеживание изменений одновременно в двух папках (на двух дисках). Выполнена по технологии Native, не требует регистрации в реестре.

Подключение ВК:

ПодключитьВнешнююКомпоненту(ПолноеИмяФайлаВК,"DirSpy",AddInType.Native);

Создание экземпляра класса:

Шпион = Новый("AddIn.DirSpy.V8DirSpy"); // слева любая глобальная переменная.

ВНИМАНИЕ: не проводите никакие эксперименты по использованию локальной переменной класса (например, обработкой), получите дамп.

Методы ВК:

Каталог1(ИмяКаталога,фл_Добавлен,фл_Удален,фл_Модифицирован,фл_Переименован) - устанавливает отслеживание изменений в выбранном каталоге.

ИмяКаталога - строка

фл_Добавлен,фл_Удален,фл_Модифицирован,фл_Переименован - флаги генерации внешнего события, если Истина - генерируется событие:

Источник="DIR_SPY";

Событие- одно из:"FILE_ADDED","FILE_REMOVED","FILE_MODIFIED","FILE_RENAMED_OLD_NAME", "FILE_RENAMED_NEW_NAME".

Данные - полное имя файла.

Флажки - тип булево, необязательные, по умолчанию фл_Добавлен=Истина, остальные Ложь

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

Каталог2(ИмяКаталога,фл_Добавлен,фл_Удален,фл_Модифицирован,фл_Переименован) - полностью идентичен методу Каталог1

ОтключитьПоток(ИдентификаторПотока) - отключает слежение и удаляет поток с указанным идентификатором

//--- модуль обычного приложения---
Перем Шпион Экспорт;
Функция КаталогИБ() Экспорт
    КаталогИБ = СтрокаСоединенияИнформационнойБазы();
    КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8) + "\";
    Возврат КаталогИБ;
КонецФункции
Процедура ПриНачалеРаботыСистемы()
    ФайлВК=КаталогИБ()+"DirSpy.dll";
    Файл= Новый Файл(ФайлВК);
    Если Файл.Существует() Тогда
        //-- подключение компоненты--
        ПодключитьВнешнююКомпоненту(ФайлВК,"DirSpy",AddInType.Native);
        //-- создание экземпляра класса--
        Шпион =    Новый("AddIn.DirSpy.V8DirSpy");
        Каталог="c:\";   // весь диск С
        //                            ADD     DEL  CHANGE RENAME
        Хендл1=Шпион.Каталог1(Каталог,Истина,Истина,Ложь,Ложь);
        Если Хендл1=0 Тогда
            Сообщить("Не удалось создать поток");
        КонецЕсли;

        Каталог="d:\";  // весь диск D
        //                            ADD     DEL  CHANGE RENAME
        Хендл2=Шпион.Каталог2(Каталог,Истина,Истина,Истина,Истина);
        Если Хендл2=0 Тогда
            Сообщить("Не удалось создать поток");
        КонецЕсли;

        Иначе
        Сообщить("Не обнаружен файл ВК, скопируйте ""DirSpy.dll"" в КаталогИБ "
        +ФайлВК,СтатусСообщения.Информация);
    КонецЕсли;
КонецПроцедуры

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
    Если Источник="DIR_SPY" Тогда
        Сообщить("Событие: "+Событие+"; Данные: "+Данные);
    КонецЕсли;
КонецПроцедуры


Примечание для продвинуто-любопытных: используется API ReadDirectoryChangesW

В архиве находится папка с тестовой базой+DirSpy.dll
Расчетный листок по источникам ЗиКБУ 1C: Предприятие 8.2

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

Отчет по дебиторской и кредиторской задолженности для 1С: Бухгалтерия Бухгалтерский учет

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

Так, можно получить сумму рекомендованного платежа по поставщику с расчетом отсрочки, т.е. движения за количество дней отсрочки не будут приниматься во внимание.
Как рисовать диаграммы в Excel 1C: Предприятие 8.1, 1C: Предприятие 8.2

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

У механизма диаграмм в 1С есть множество ограничений и багов.

Что делать, если средствами 1С не получается нарисовать диаграмму, которую хочет Заказчик?

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

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

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

Пример работает с Excel 2007 - 2013.
 
База знаний (вер. 1.3) Платформа 1С v8.x (все механизмы)

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

Описание текущей версии конфигурации

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

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

1С:База знаний - это конфигурация, разработанная на базе БСП (платформа 8.3.3 и выше), которая позволяет решить широкий круг вопросов связанных с организацией, хранением и управлением знаниями накопленными в процессе работы сотрудников, организаций или любого другого круга лиц. Конфигурация не имеет ограничений относительно сферы деятельности и разного рода информации.

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

Работа с базой знаний предполагает два режима: режим просмотра и режим редактирования. В текущей версии режима просмотра как такого отдельного нет, поскольку он совмещен с режимом редактирования. Таким образом при просмотре базы знаний, можно сразу же вносить необходимые изменения.

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

Редактирование статей

Редактирование статей происходит при помощи стандартного поля форматированного документа (платформы 1С), но с некоторыми дополнениями и изменениями.

В том числе:

расширенное редактирование картинок;
расширенное редактирование гиперссылок;
расширенное редактирование таблиц;
расширенное редактирование сносок.
Подробнее о расширенных возможностях редактирования изложено ниже.
Каждая статья может быть привязана к одной или нескольким категориям. Также в статье может быть указана один или несколько вложенных разделов (см. закладку "Содержание"). Каждый раздел редактируется в отдельном окне с целью упрощения редактирования больших по содержанию статей.
Редактирование картинок

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

Редактирование таблиц

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

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

Редактирование ссылок

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

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

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

Построение дерева вызовов проведения реализации в демо-базе "Бухгалтерия предприятия, редакция 3.0 (3.0.70.39)"





 

Порядок подготовки конфигурации к исследованиям

"Отчет ""Анализ себестоимости"" для 1С: Управление торговлей v.11, в разрезе видов хозяйственных операций" 1C: Предприятие 8.2

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

Начальство пожелало проанализировать себестоимость в разрезе хозяйственных операций, таких как "Возврат от клиента", "Закупка у поставщика", "Перемещение товаров" и т.д.
Переделать типовой не получилось.
Отчет по показателям полностью повторяет типовой.
Универсальный поиск и замена дублирующихся элементов справочников (управляемое и обычное приложение) 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Обработка имеет открытый исходный код.

Разработчик не несет ответственности за какие либо убытки и/или ущерб (в том числе с недополученной коммерческой прибылью, прерыванием коммерческой или производственной деятельности, утратой любой (в том числе деловой) информации и иной имущественный ущерб), возникший в связи с использованием или невозможностью использования обработки, даже если Разработчик был уведомлен о возможном возникновении таких убытков и/или ущерба. Пользователь принимает на себя все риски, связанные с использованием или качеством функционирования Обработки.
Поиск и замена значений с отбором 1C: Предприятие 8.2

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

Типовая обработка поиск и замена значений с прикрученной возможностью делать отбор ссылок. Делал "на коленке" поэтому наверняка есть недоработки (в основном по интерфейсу) но основную роль она выполняет.

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

Поясняю что добавил: После поиска ссылок на заменяемый объект идет поиск ссылок на объекты отбора, и сравниваются эти таблицы значений, совпадающие ссылки во ВСЕХ таблицах формируют результирующую таблицу которая и выводится на экран. Следовательно, заменятся будут ссылки которые будут ссылки которые НАДО заменять из результирующей таблицы. Как то так.

UPD: Добавил также такую же обработку для управляемого приложения.
Перенос данных из БП 2.0 в ЗУП 2.5 Платформа 1С v8.x (все механизмы)

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

Некоторые организации в начале своей деятельности экономят на покупке отдельной конфигурации для расчета зарплаты и считают зарплату в бухгалтерии. Но со временем приходят к пониманию, что возможности Бухгалтерии предприятия 2.0 в части расчета зарплаты, мягко говоря, недостаточны. Данные правила позволяют перенести накопленную информацию из базы Бухгалтерии предприятия 2.0 в ЗУП. Переносятся все кадровые документы, документы начисления зарплаты, расчет НДФЛ и страховых взносов, а также документы выплаты зарплаты. При условии ведения корректного учета после переноса в базе ЗУП будут остатки по взаиморасчетам с сотрудниками, а также данные для расчета среднего заработка.
Подсистема настройки отображения штрих-кода 1C: Предприятие 8.2

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

Для упрощения реализован справочник для настройки отображения штрих-кода и процедура получения изображения по настройке.

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

Я всего лишь программист, поэтому поставляется "как есть" и способы использования и применение полностью на ваше усмотрение. Надеюсь, пригодится для основы.

 

UPD 2013/11/01

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

 

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

 

&НаСервере
Процедура УстановитьШтрихкод(Знач Штрихкод, Рисунок, ВнешняяКомпонента)

Если НЕ ЗначениеЗаполнено(Штрихкод) Тогда
Возврат;
КонецЕсли;

Справочники.ШаблоныШтрихкодов.УстановитьРисунокШтрихкода(Рисунок, Объект.ШаблонШтрихкода, ВнешняяКомпонента, Штрихкод);

КонецПроцедуры

&НаСервере
Процедура СформироватьСервер(ТабДок = Неопределено)

Если ТабДок = Неопределено Тогда
ТабДок = Новый ТабличныйДокумент;
КонецЕсли;
....

// шаблон искать по наименованию или где-то хранить в разрезе ПФ
Если ЗначениеЗаполнено(Объект.ШаблонШтрихкода)
Тогда

ВнешняяКомпонента = Неопределено;
Для Каждого Рисунок Из ТабДок.Рисунки Цикл
Если Найти(Рисунок.Имя, "Штрихкод") > 0 Тогда
Штрихкод = ""; // его надо хранить для печатной формы
УстановитьШтрихкод(Штрихкод, Рисунок, ВнешняяКомпонента);
КонецЕсли;
КонецЦикла;

КонецЕсли;


КонецПроцедуры// СформироватьРисунок()

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

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

Возможность выводить числовые данные из табличных частей документов, такие как "Количество", "Сумма", "СуммаНДС" и др. При этом такие реквизиты, как "Цена", "Коэффициент", "ПроцентСкидок" не выводятся, так как это не имеет смысла.
Возможность выбирать выводимые документы. 
Возможность выбирать выводимые реквизиты (при этом, если выбрано несколько документов, то можно выводить только реквизиты, общие для всех выбранных документов). 
Возможность накладывать отборы на выводимые реквизиты.
Возможность выбора реквизитов, по которым проводить упорядочивание.


Обработка протестирована на конфигурациях БП 2.0, БП 3.0 (поддержка управляемых форм), Торговля 10 и ЗуП 2.5. Должна работать и в любых других конфигурациях. Очень приятной особенностью реестра является возможность вывода данных из табличных частей документов, что лично я не встречал в других подобных отчетах. Пользоваться обработкой очень просто даже для бухгалтеров (в отличие от отчетов построенных на СКД)

Новая версия обработка имеет управляемую форму. Поддерживает подключение в доп.обработки (проверено в БП 3.0)
Изменения:

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

Обновление от 06.05.2021 (касаются только версии с управляемой формой):

Добавлен переключатель "Выводить комментарии документов" (да, до этого комментарии не выводились, т.к. имеют неограниченную длину и с этим связаны проблемы при построении запросов)R03;R03;R03;R03;R03;R03;R03;
Добавлено поле "Нужный реквизит": 
часто сталкивался с тем что нужно вывести все документы где есть Ответственный или Организация или Контрагент, но выбирать руками в каких документах есть тот или иной реквизит это достаточно трудоёмко.
Поэтому в данном поле вывожу 50 наиболее часто встречающихся реквизита (этот список не фиксированный, а строится по метаданным конфигурации), и при нажатии кнопки "Выбрать где есть нужный реквизит" выбираются нужные виды документов.
Добавил переключатель "Показывать текст запроса": если выбрана, то дополнительно в отдельном окне будет выводиться итоговый текст запроса, на основании которого выводится реестр.
Немного улучшен внешний вид формы и выводимого отчета
Красивые и полнофункциональные диаграммы AmCharts в 1С на основе HTML и JavaScript, полностью offline, все виды, версия 3.2.0 1C: Предприятие 8.2

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

Полноценная обработка, содержащая оффлайн версию JavaScript графиков AmCharts версии 3.2.0.

Реализованы все объекты из http://www.amcharts.com/javascript-charts/.

Обрабатывается нажатие мыши на точку/ребро графика. Пример обработки нажатия смотрите на графике "глубина/день".

Работают все виды графиков: Column, Bar, Line, Area, Step, Smoothed line, Candlestick, Pie/Donut, Radar/Polar, XY/Scatter/Bubble, Bullet, Funnel/Pyramid. 

Использовать не просто, а очень просто. Мой ответ доминикане и tushich.

Пример использования (из текста обработки):

Функция ЗаполнитьHTML(тз,об,вар)
// RADAR CHART
амОснова = AmChartsПолучитьОснову("AmRadarChart",AmChartsВременныйКаталогКартинок());
амОснова.Параметры["startDuration"] = 2;
амОснова.Параметры["categoryField"] = "country";

// VALUE AXIS
амОбъект = AmChartsСоздатьОбъект("valueAxis","ValueAxis","");
амОбъект.Параметры.position = "bottom";
амОбъект.Параметры.axisAlpha = 0.15;
амОбъект.Параметры.dashLength = 3;
амОбъект.Параметры.axisTitleOffset = 20;
амОбъект.Параметры.gridCount = 5;
амОснова.Объекты.Добавить(амОбъект);

// GRAPH
амОбъект = AmChartsСоздатьОбъект("graph","AmGraph","");
амОбъект.Параметры.valueField = "litres";
амОбъект.Параметры.bullet = "round";
амОбъект.Параметры.balloonText = "[[value]] litres of beer per year";
амОснова.Объекты.Добавить(амОбъект);
амОснова.ТелоФункции = AmChartsПолучитьТелоФункции(амОснова);
амОснова.Данные = AmChartsДанные(тз);

Возврат AmChartsПолучитьHTMLТекст(амОснова,об);
КонецФункции


Вот что получается:
Универсальный мульти-конструктор отчета UNI 1C: Предприятие 8.2

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

Изменения от 04.12.2013

Ссылка на видео-презентацию, подготовленную в качестве альтернативы текстовому описанию - https://www.youtube.com/watch?v=v7pQ0WmcAbY.


Изменения от 03.12.2013

Оптимизировано получение значений из повторно используемых источников данных - отчетов, запросов, формул.

Изменения от 25.1
Печать ценников и этикеток для Розницы 1.0 1C: Предприятие 8.2

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

Без использования шаблонов XML, через макет.  

Макет ценника из Управление Торговлей 10.3.

Легко конфигурируется по свои нужды.
Массовое переименование номенклатуры 3.1 1C: Предприятие 8.2

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

"Конфигурация " Управление кафетерием и сауной"

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

"Замена КПС и субконто в документе ""Отражение зарплаты в учете""" 1C: Предприятие 8.2

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

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

 Итак, у нас Родильный дом и три консультации. Финансирование идет из 4-5 источников, и естесственное желание главного бухгалтера видеть начисление зарплаты по этим источникам в разрезе РД, ЖК1, ЖК2, ЖК3. Для этого счетам для нологов и начисления ЗП привязали субконто "Направления деятельности", и в проводках появилась возможность уточнять, например субконто2 (КОСГУ) = 211, а  субконто3(Направления деятельности) = "ЖК №1 211". Для бухгалтерии этого хватает, но теперь захотелость и в зарплате получать отчеты в разрезе статей финансирования. 

 Добавляем  новые КПС, вид произвольное, код = "КТУ-ЖК1__________" (в архиве скрин1) и т.д. После обмена с ЗБУ, настраиваем в ЗБУ статьи финансирования (в архиве скрин2). Теперь у нас зарплата распределяется по нужным статься финансирования и значит можно получить по ним отчеты (в архиве скрин3, скрин4). 

 Подошли к самому главному, после экспорта в бухгалтерию, в документе "Отражение зарплаты в учете" на месте КПС естественно стоят "КТУ-ЖК1__________", "КТУ-ЖК21__________" (скрин.5) и т.д. Вот тут то и пригодиться обработка. Настраиваем соотвествие что было, на что менять, в том числе задается соотвествие на КЭК операции, например если КПС операции "КТУ-ЖК1__________" и КЭК операции = 211, то доп. субконто "Направление деятельности" = "ЖК №1 211" (в архиве скрин6). Что было и что стало можно увидеть на скриншотах.

 Чтобы не было вопросов сразу объясню почему в данной ситуации нельзя воспользоваться стандартной обработкой "Поис и замена значений". В "Поиск и замена значений" я могу заменить массово все КПС на правильные, но разнести дополнительный субконто, в нашем случае "Направление деятельности",  не получится. 

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

2016 г. обновил обработку

! вер
За чистоту рядов - что делать, когда ошибок в УПП накопилось слишком много. 1C: Предприятие 8.2

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

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

Предыстория - база УПП работает уже 3 года в организации. За это время сменилось никак не меньше двух составов работников. Ошибок накопилось - много (тысячи и тысячи). И вот дошли у меня руки провести некий аудит данных, что можно - исправить, кому можно - дать по рукам, кого возможно - обучить по результатам анализа ошибок, где возможно - поставить барьер на пути будущих ошибок. И вот что пока получилось у меня.

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

Затем настал черед регистра “Товары в резерве”. Снял все резервы, висящие более полугода. Снял все резервы, в которых по остаткам был минус. Снова корректировка регистров.

Затем почистил регистр “НДС предъявленный”. При формировании книги покупок все время какие-то старые записи вылезали, бухгалтерши злились и чистили руками. После закрытия месяца остатки в регистре убрал.

В регистре “Затраты (бухгалтерский учет)” тоже висели хвосты незакрытые по итогам месяца. И соответственно, на следующий месяц по этим хвостам не закрывался 44 счет при расчете себестоимости, бухгалтерши закрывали счет по незакрытым позициям вручную, а ошибки благополучно переходили на следующий месяц. Закрыл остатки - и закрывать следующий месяц стало много легче. Еще одна обработка корректировки регистров.

На счете 41 был в организации выделенный субсчет “Товары в пути” (товары, право собственности на которые уже у нас, но на физический склад к нам пока не доставленны товары). Сделал отчет по субсчету - спарил данные оборотки с регистром “Партии товаров на складах бухгалтерские”. В итоге стало видно, что ряд товаров уже больше года в пути. Списали списанием товаров. Аналогичная картина обнаружилась еще по некоторым виртуальным складам.

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

Логичном стало сделать то же самое для счета 41 бухгалтерских регистров. По согласованию с бухгалтерией списал и там товары с ненулевой суммой и нулевым количеством на счет 90.07. Корректировка записей регистров.

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

Теперь настал черед регистра «Товары на складах». Там тоже в разрезе серий были плюсы и минусы в разрезе одного склада по одному товару. Взаимоуничтожил такие остатки. Корректировка записей регистров.

То же самое проделал с регистром «Свободные остатки» (взаимоуничтожил плюсовые и минусовые остатки). После этого сравнил регистр «Свободные остатки» с регистрами «Товары на складах», «Резерв», «Товары в рознице» (есть даже отчет такой - “Анализ свободных остатков”). Там где шли расхождения – выровнял свободные остатки.

Посадил бухгалтеров забивать остатки в регистр “Взаиморасчеты с контрагентами по документам расчетов”. Ибо в старых периодах все кидалось на один договор без аналитики по документам расчетов. И в итоге, чтоб задолженность по срокам долга сформировать - люди практически вторую бухгалтерию вели в Экселе.

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

Небрежность и некорректность в работе. Как например, пишет документ при проведении - “не удалось списать по партиям” - а всем плевать на это сообщение. Или - поступает товар. Его продают. А уже после продажи вешают на партию, где ноль штук осталось - доп расход. Или ГТД. Или и доп-расход и ГТД. И это так и висит до скончания веков.

То, что в прошлые периоды народ лазил.

Сторнирование. Это оказалось хуже всего. Например, приходит товар на 100 рублей. Его продают. Через некое время бухгалтер замечает, что сумма-то неверная в поступлении, не 100 рублей стоит, а 10
Динамические подписки на события v.3 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

 

Изменения в новой версии:

-  Добавлена управляемая форма подписки совместимая c интерфейсом "Такси" без использования модальных окон
-  Теперь в обычной и управляемой форме подписики на событие доступен конструктор запросов (только в толстом клиенте)
-  Устранена проблема со сбросом свойств объектов подсистемы при добавлении подсистемы в конфигурации на платформе 8.3




Особенности подсистемы

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

В каждом сеансе код подписок будет читаться из БД один раз и помещаться в кэш - параметр сеанса (фиксированный hash-map). При возникновении событий, для которых предусмотрены подписки, но не чаще чем раз в 15 секунд, читается константа, хранящая последнюю дату и время изменения кода, и проверяется необходимость обновления кэша. Новый код вступит в силу не позднее чем через 15 секунд после его изменения и в то же время обращение к БД для чтения всего одной константы происходит достаточно редко, чтобы не сказываться на производительности системы.


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


3) Процесс выбора объектов для новой подписки близок к тому, как это происходит в конфигураторе.

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

 

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

 

 


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


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

 

7) Если объект метаданных, для которого назначена подписка, будет переименован в конфигураторе, то необходимо переназначить источник подписки в пользовательском режиме. При открытии формы списка подписок производится проверка правильности имен метаданных, указанных в качестве источника. Все подписки, для которых обнаружено несоответствие источника и метаданных конфигурации выводятся в информационное окно:

 

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

 

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

 

Ограничения подсистемы

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

2) Невозможно использовать инструкции препроцессору #Если ... #КонецЕсли. Код, расположенный в таких блоках просто игнорируется. Чтобы сгладить это ограничение в коде подписки доступна предопределенная переменная "КодИсполняетсяНаКлиенте"/"CodeIsExecutingOnClient". Если она равна Истина, значит исполнение кода идет в толстом клиенте, иначе - на сервере. Для конфигураций на управляемых формах это не актуально.

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

 

Разумеется, эти ограничения можно обойти просто используя стандартное добавление подписок через конфигуратор :) Эта подсистема нужна чтобы дополнить стандартные возможности платформы, а не заменить их.

 

 

Установка и настройка подсистемы



1) Скачиваем файл конфигурации. За исключением свойств самой конфигурации объединяем с конфигурацией нашей БД. Не забывайте при объединении проставить флажок и на самой подсистеме!

У вас в конфигурации появится независимая не включаемая в командный интерфейс подсистема des_DynamicEventSubscriptions, все объекты которой будут иметь префикс "des_".


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

 

4) Пользователям будут нужны права на объекты новой подсистемы:
     - получение и установку четырех параметров сеанса: des_CodeCachingDateTime , des_ConstantCheckDateTime, des_CachedCodeCollection, des_MapSourceRuEn
     - чтение справочника "des_DynamicEventSubscriptions" и константы "des_CodeChangeDateTime"
Поэтому надо либо дать роли "Пользователь", уже имеющейся в вашей конфигурации эти права, либо добавить всем пользователям роль "des_User". Программистам нужно дать полные права на эти объекты.


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

6) Язык, который вы хотите использовать выбирается в форме списка справочника "Dynamic event subscriptions". По-умолчанию выбирается тот, который установлен в поле "Вариант встроенного языка" для конфигурации. Язык влияет на интерфейс формы списка подписок, формы выбора источника события и определяет с применением какого языка будут создаваться новые подписки. Он не влияет на уже созданные подписки, для них язык определяется при создании и в дальнейшем остается неизменным:

 




Добавление новых подписок

Группы добавляются по желанию. Можно создавать отдельные группы для отдельных классов объектов. Может оказаться удобно создавать группы по прикладному назначению (допроведение, запреты изменения, заполнение):

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

Проверяем, работает ли подписка. Для этого на время проверки в код можно вставлять вызовы метода Сообщить(), выводящего диагностические сообщения.

 

 

 

 

 

Рекомендации

1) Если вы думаете, что могли допустить ошибку в коде, но по какой-то причине сразу добавляете подписку в рабочую базу, а не тестовую, то помещайте свой код в блок "Попытка Исключение". Необработанные исключения в них могут привести к отключению клиентского приложения. Неявной их обработки делать не стал, вы сами можете решить, обрабатывать исключения в своем коде или нет. Все таки сразу в рабочую базу лучше добавлять только простые подписки, где вероятность ошибки мала (например запрет записи/проведения по условию).

2) Необходимо помнить об опасности несогласованных изменений взаимосвязанных подписок. Сложно добавить две подписки, которые по логике должны вступать в силу одновременно. Ведь с момента записи одной подписки и до момента записи другой проходит какое-то время и за это время первая уже может сработать, а второй еще нет. Для независимых подписок таких проблем не возникет.

3) Работа на платформе ниже версии 8.2.16 не проверялась. Будьте внимательны при использвании этой и более ранних версий платформ.

 

 

 

К публикации приложено два файла - конфигурация des_v3.cf и выгрузка демо-базы des_demo_v3.dt, в которой есть несколько дополнительных объектов и подписок, определенных для них.


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

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



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

 


Версия обработки 8.3 от 28.10.2015:
+ Обработка адаптирована для работы под 8.3 в конфигурациях, 
   где запрещено использование модальных методов.
   Если в свойствах конфигурации модальные методы запрещены,
   то используются их асинхронные аналоги.
+ Совместимость с типовым функционалом БСП редакции 2.2:
   - Открытие типовой формы параметров администрирования серверной ИБ;
   - Совместимость структуры параметроа авторизации на сервере 1С;
+ Модули обработки адаптированы для стандартных средств локализации конфигуратора
   (тексты в сообщениях, предупреждениях и меню формируются с помощью функции НСтр()).
Ограничения обратной совместимости:
   - Под платформой 8.2 обработка этой версии будет нормально работать в толстом и тонком клиентах.
   - При открытии обработки в Web-клиенте под 8.2 будет ошибка компиляции модуля формы
     из-за "открытого" использования глобальных асинхронных методов
     ПоказатьПредупреждение() и ПоказатьВопрос().
     Проблема решается закомментариванием строк с вызовом этих методов на стороне Web-клиенте,
     специально выделенных для этого инструкциями препроцессора.

Версии обработки 8.1(3+) / 8.2(3+) от 14.03.2014:
+ Сервис управления выполнением регламентных заданий для клиент-серверной ИБ
(приостановка выполнения "в ручную" и при установке блокировки соединений) (Рис.8) ;
+ Запуск альтернативного разрыве соединений в клиент-серверной ИБ
из меню "Сервис" без установки самой блокировки соединений (Рис.7) ;
+ Флаг использования альтернативного разрыве соединений в клиент-серверной ИБ
(для отмены альтернативного разрыве без изменения "Режима разрыва");

Версия обработки 8.2++ от 22.03.2014:
Учтено замечание (64) den17:
обеспечен разрыв соединений с Web-клиентами
при альтернативном разрыве соединений в клиент-серверной ИБ.


Версии обработки 8.2++ / 8.1++ от 14.12.2013:
Выполнено пожелание (29) mymyka:
Добавлен сервис "Альтернативного разрыва соединений" (Рис.4 и Рис.5) и связанный с ним
диалог "Авторизация на сервере 1С" (Рис.6). Подробности кратко описаны ниже в публикации.
Более подробно смотрите в справочном описании обработки.



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



Для этого в типовую обработку блокировки базы были внесены следующие
интерфейсные дополнения:

Меню выбора начала периода блокировки. Выводится при нажатии кнопки очистки поля ввода.
Позволяет выбрать из списка желаемое время начала блокировки (через MM минут с текущего времени).


Меню выбора окончания периода блокировки. Выводится при нажатии на кнопку выбора периода блокировки.
Позволяет выбрать из списка желаемое время окончания блокировки (через NN минут со времени начала блокировки).


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



Примечания:

При выборе времени блокировки из меню и при его изменении кнопками регулирования значение времени
выравнивается на начало минуты. При этом также контролируется корректность значений времени начала и окончания.
Пустое значение времени заменяется на начало текущей минуты.
Если время окончания меньше времени начала, оно заменяется на время начала плюс одна минута.
Сообщение пользователям заполняется по шаблону, если заданы все три значения:
текст шаблона, время начала и время окончания блокировки.
При изменении параметров блокировки форма модифицируется.
После записи параметров блокировки флаг модификации формы сбрасывается.
Перед закрытием модифицированной формы у пользователя запрашивается подтверждение.
В версии для 8.2 параметры обработки сохраняются в стандарном хранилище настроек под именем пользователя "SA"
и едины для всех пользователей имеющих доступ к обработке.
В версии для 8.1 настройки сохраняются по старому (в профиле пользователя)
и поэтому для каждого пользователя свои.
Если используется альтернативный разрыв соединений с серверной базой (Рис.5), то перед установкой блокировки базы
обработка проверяет параметры администрирования ИБ.
При необходимости (если не указано имя Администратора ИБ или при ошибках предыдущих авторизаций на сервере 1С)
пользователю предлагается уточнить эти параметры в диалоге "Авторизация на сервере 1С" (Рис.6).
Этот диалог может также использоваться как альтернатива типовой общей формы "Параметры администрирования ИБ",
позволяя сохранить настройки администрирования в константе "Параметры администрирования ИБ" или (при ее отсутствии)
в стандартном хранилище настроек в настройках обработки - только для версии обработки 8.2++.



Дополнительные запоминаемые опции обработки:

Флаг "Открывать модально" - если установлен, обработка всегда открывается модально
(на Web-клиенте опция игнорируется).
Флаг "Открывать в УФ" - действует только для встоеной обработке в толстом клиенте (обычное приложение).
Позволяет выбрать в какой форме (обычной или управляемой) открыть обработку.
Поскольку при снятии флага блокировки соединений значение кода разрешения невозможно восстановить из
параметров блокировки обработка запоминает при закрытии последнее непустое его значение
и при необходимости восстанавливает его при открытии.
Режим разрыва соединений - одно из значений показанных на (Рис.4), определяет каким способом будут
принудительно разрываться соединения с информационной базой (в клиент-серверном варианте):

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

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


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

Может работать в полностью не типовой или даже «пустой» конфигурации.
Версия обработки для платформы 8.2 имеет как управляемую, так и обычную формы.

Обычная форма взята в своей основе из УПП-
Перенумерация документов для Бухгалтерии предприятия 3.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Производит автоматическую перенумерацию документов.

Необходимо задать период, организацию и вид документа.
Объемы продаж товаров и услуг за период (обороты Дт 62.01 – Кт 90.01.1) – внешний отчет для 1С: Бухгалтерия 8 (ред. 2.0,3.0) Платформа 1С v8.x (все механизмы)

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

    Отчет выводит итоговые обороты по проводкам выручки: Дт 62.01 – Кт 90.0
ОСВ по счету с группировкой по периоду и организациям Платформа 1С v8.x (все механизмы)

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

За основу взята типовая ОСВ по счету из УПП
Печать ценников различного размера с подписями по изменившимся ценам 1C: Предприятие 8.2

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

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

Отличия от типовой обработки:

Пользователь имеет возможность выбрать размер ценника из 10 возможных (4, 6, 8, 12, 16, 24, 32, 36, 64 или 96 ценников на лист). В зависимости от выбранного варианта будет изменена ориентация листа при печати, чтобы максимально использовать доступное пространство листа, не искажая при этом форму ценника.
Пользователь имеет возможность заполнить список номенклатуры для печати только теми позициями, цена которых изменилась в заданном пользователем интревале. Стандартные отборы при этом тоже работают.
Возможность подключить в качестве внешней печатной формы, чтобы избежать необходиомость внесения изменений в типовую конфигурацию.
Возможность выводить изобрания с подписью в место для подписи в ценнике. Путь до изображения с подписью сохраняется в настройках пользователя. 
Автоматическое изменение размера шрифта наименования номенклатурной позиции, если оно не помещается в ценник.

 

Также была изменена печатная форма самого ценника, опять же под потребности клиента.

 

UPD_14.1
Открытие консоли запросов из режима отладки 1C: Предприятие 8.2

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

Эта обработка - это синтез идей из публикации "Открытие консоли запросов при отладке из кода (Обычное приложение)" и  статьи "Хитрости отладки".

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

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

Описание решения (для любопытных; нелюбопытные могут пропустить этот раздел).

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

Ещё одну интересную идею я подсмотрел в комментариях к публикации про открытие консоли запросов. Идея состоит в том, что иногда имеет смысл открывать Консоль запросов в модальном режиме. Ну например, занимаемся мы отладкой кода, хотим посмотреть какой-нибудь запрос, текст которого генерируется программно и имеет кучу параметров. Тут было бы очень здорово оперативно открыть Консоль запросов в модальном режиме в "1С:Предприятии", выполнить этот запрос, "покрутить" параметры, посмотреть из-за каких условий не попадают нужные данные в результат запроса (или наоборот попадают лишние), закрыть Консоль запросов и продолжить отладку. Но тут есть маленькая трудность - при модальном открытии окна Консоли запросов мы не сможем добавить строку в ДеревоЗапросов описанным выше способом, потому что как только мы вызовем ОткрытьМодально(), выполнение нашего кода будет приостановлено до тех пор, пока мы не закроем модальное окно. Посмотрим ещё раз на код обработчика ПриОткрытии. Помимо всего прочего там есть вызов процедуры вЗагрузитьЗапросыИзФайла(), которая пытается прочитать запрос из файла, имя которого получает процедура вВосстановитьИмяФайла() из сохранённого в базе значения. А это значит, что если мы перед открытием модального окна подготовим дерево значений, которое по структуре будет совпадать с деревом ДеревоЗапросов, и сохраним его во временный файл, а потом имя этого файла с помощью вызова СохранитьЗначение("КонсольЗапросов_ИмяФайла", ИмяВременногоФайла) сохраним в базе, то Консоль запросов загрузит нужный нам текст запроса с параметрами из этого временного файла.

И наконец, последнее - это параметры запроса типа ТаблицаЗначений. Штатным образом в Консоли запросов нельзя задать таблицу значений в качестве значения параметра. Но в реальных запросах таблицы значений в качестве параметров пусть не часто, но всё-таки попадаются (например, Запрос.Текст = "ВЫБРАТЬ * ИЗ &ТЗ КАК ТЗ"). Решая данную задачу, я узнал, что означает загадочный флажок "В" в форме параметров запроса в Консоли запросов (до этого мне как-то особо не было до него дела). Оказывается, если установить этот флажок (на самом деле называется он "ЭтоВыражение"), то Консоль запросов в качестве значения параметра будет использовать результат вычисления выражения, заданного в "Значение параметра" (т.е. она возьмёт текст из "Значение параметра" и применит к нему функцию Вычислить(), а полученный результат будет использовать как значение параметра запроса). Вот так сервис! Ну что ж - тогда провернём ещё раз нашу махинацию с временными файлами. Все параметры запроса, которые имеют тип ТаблицаЗначений, с помощью обычного ЗначениеВФайл() будем сохранять во временные файлы, а в качестве значений таких параметров в Консоли запросов будем указывать "ЗначениеИзФайла(ИмяВременногоФайла)" и устанавливать это волшебный флажок "В".

Код модуля обработки

//////////////////////////////////////////////////
// Автор: q_i
// Лицензия: GPLv3
//////////////////////////////////////////////////

// Пример использования обработки для отладки запроса:
// В режиме отладки вызываем диалог "Вычислить выражение..." (Shift+F9) и пишем выражение вида
// ВнешниеОбработки.Создать("(КаталогЭтойОбработки)\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос, "(КаталогКонсолиЗапросов)\КонсольЗапросов.epf", Истина)
//

// Функция открывает консоль запросов для отладки запроса.
//
Функция ОткрытьКонсольЗапросов(Запрос, ФайлКонсолиЗапросов = "", Модально = Истина) Экспорт

Результат = Новый Структура("Успех, Сообщение", Ложь, "Неизвестная ошибка");

ИмяФайлаКонсолиЗапросов = ФайлКонсолиЗапросов;
Если ПустаяСтрока(ИмяФайлаКонсолиЗапросов) Тогда
// по умолчанию считаем, что консоль запросов лежит в том же каталоге, что и эта обработка
Файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла);
ИмяФайлаКонсолиЗапросов = Файл.Путь + "КонсольЗапросов.epf";
КонецЕсли;

Попытка
КонсольЗапросов = ВнешниеОбработки.Создать(ИмяФайлаКонсолиЗапросов);
Исключение
Результат.Успех = Ложь;
Результат.Сообщение = "Не удалось создать обработку Консоль запросов: " + ОписаниеОшибки();
Возврат Результат;
КонецПопытки;

КомментарииКЗапросу = "";

// скопируем параметры запроса в новую таблицу значений
ФормаПараметров = КонсольЗапросов.ПолучитьФорму("ФормаПараметров");
ТаблицаПараметров = ФормаПараметров.Параметры.СкопироватьКолонки();
Для Каждого ТекПараметр Из Запрос.Параметры Цикл
ТекИмя = ТекПараметр.Ключ;
ТекЗнач = ТекПараметр.Значение;
НоваяСтрока = ТаблицаПараметров.Добавить();
НоваяСтрока.ИмяПараметра = ТекИмя;
Если ТипЗнч(ТекЗнач) = Тип("Массив") Тогда
// массивы преобразуем в списки значений
СЗ = Новый СписокЗначений;
СЗ.ЗагрузитьЗначения(ТекЗнач);
ТекЗнач = СЗ;
ИначеЕсли ТипЗнч(ТекЗнач) = Тип("ТаблицаЗначений") Тогда
// таблицы значений сохраняем во временные файлы
ИмяВремФайла = ПолучитьИмяВременногоФайла(".vt");
ЗначениеВФайл(ИмяВремФайла, ТекЗнач);
ТекЗнач = "ЗначениеИзФайла(""" + ИмяВремФайла + """)";
НоваяСтрока.ЭтоВыражение = Истина;
КомментарииКЗапросу = КомментарииКЗапросу + ?(ПустаяСтрока(КомментарииКЗапросу), "", Символы.ПС)
+ "// ВНИМАНИЕ! Параметр """ + ТекИмя + """ имеет тип ТаблицаЗначений, поэтому сохранён в файл """ + ИмяВремФайла + """!";
КонецЕсли;
НоваяСтрока.ЗначениеПараметра = ТекЗнач;
КонецЦикла;

Форма = КонсольЗапросов.ПолучитьФорму("Форма");

Если Модально Тогда
ДеревоЗапросов = Форма.ДеревоЗапросов.Скопировать();
ДеревоЗапросов.Строки.Очистить();
// {{ повторяем действия из обработчика ПриОткрытии
ДеревоЗапросов.Колонки.Добавить("ТекстЗапроса");
ДеревоЗапросов.Колонки.Добавить("ПараметрыЗапроса");
ДеревоЗапросов.Колонки.Добавить("СпособВыгрузки");
// повторяем действия из обработчика ПриОткрытии }}
Иначе
// открываем форму чтобы отработал обработчик ПриОткрытии
Форма.Открыть();
ДеревоЗапросов = Форма.ДеревоЗапросов;
КонецЕсли;

Если ДеревоЗапросов.Строки.Количество() > 0
И ДеревоЗапросов.Строки[0].Запрос = "Запросы" Тогда
СтрокаРодитель = ДеревоЗапросов.Строки[0];
Иначе
СтрокаРодитель = ДеревоЗапросов;
КонецЕсли;
ИмяЗапроса = "Отладка " + ТекущаяДата();
ТекстЗапроса = Запрос.Текст;
СтрокаЗапроса = СтрокаРодитель.Строки.Добавить();
СтрокаЗапроса.Запрос = ИмяЗапроса;
СтрокаЗапроса.ТекстЗапроса = ?(ПустаяСтрока(КомментарииКЗапросу),
ТекстЗапроса,
КомментарииКЗапросу + Символы.ПС + Символы.ПС + ТекстЗапроса);
СтрокаЗапроса.ПараметрыЗапроса = ТаблицаПараметров;
СтрокаЗапроса.СпособВыгрузки = 1; // список

Если Модально Тогда
// сохраняем сформированное ДеревоЗапросов во временный файл
ИмяВремФайла = ПолучитьИмяВременногоФайла(".sel");
ЗначениеВФайл(ИмяВремФайла, ДеревоЗапросов);
Файл = Новый Файл(ИмяВремФайла);
ИМЯЗНАЧ_ИМЯФАЙЛА = "КонсольЗапросов_ИмяФайла";
ИМЯЗНАЧ_ИМЯПУТИ = "КонсольЗапросов_ИмяПути";
ПредИмяФайла = ВосстановитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА);
ПредИмяПути = ВосстановитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ);
БылиОшибки = Ложь;
Попытка
СохранитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА, ИмяВремФайла);
СохранитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ, Файл.Путь);
// в обработчике ПриОткрытии консоль загрузит запросы из нашего файла
Форма.ОткрытьМодально();
Исключение
Результат.Успех = Ложь;
Результат.Сообщение = "Ошибка при модальном открытии формы Консоли запросов: " + ОписаниеОшибки();
БылиОшибки = Истина;
КонецПопытки;
СохранитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА, ПредИмяФайла);
СохранитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ, ПредИмяПути);
Если БылиОшибки Тогда
Возврат Результат;
КонецЕсли;
Иначе
Форма.ЭлементыФормы.ДеревоЗапросов.ТекущаяСтрока = СтрокаЗапроса;
КонецЕсли;

Результат.Успех = Истина;
Результат.Сообщение = "Консоль запросов открыта. Имя текущего запроса = " + ИмяЗапроса;
Возврат Результат;

КонецФункции


Использование обработки

Обработка состоит всего из одной экспортной функции ОткрытьКонсольЗапросов(Запрос, ФайлКонсолиЗапросов = "", Модально = Истина).

Параметры этой функции:

Запрос - это объект Запрос, который нужно открыть в Консоли запросов.
ФайлКонсолиЗапросов - это полное имя файла Консоли запросов. Параметр необязательный. Если не указан, то обработка считает, что консоль запросов имеет имя "КонсольЗапросов.epf" и находится в том же каталоге, что и сама обработка.
Модально - указывает нужно ли открывать Консоль запросов в модальном режиме (Истина) или нет. Параметр также необязательный. По умолчанию - Истина (т.е. Консоль запросов открывается в модальном режиме).

 

Теперь о том, как использовать эту обработку.

В режиме отладки вызываем диалог "Вычислить выражение..." (Shift+F9), пишем выражение вида

ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос, "КаталогКонсолиЗапросов\КонсольЗапросов.epf", Истина)

и нажимаем кнопку "Рассчитать". Если последний параметр Истина (или не задан), то Консоль запросов откроется в модальном режиме, и мы можем сразу перейти в "1С:Предприятие" и работать с открывшимся запросом. Если последний параметр Ложь, то Консоль запросов откроется в "1С:Предприятие" ПОСЛЕ того, как мы нажмём F5 ("Продолжить отладку").

В этом примере:

КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf - это полное имя файла этой обработки.

Ещё примеры запуска:

ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос) - откроет Консоль запросов, которая имеет имя "КонсольЗапросов.epf" и находится в каталоге "КаталогЭтойОбработки\".
ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос,, Ложь) - то же самое, но Консоль запросов откроется в немодальном режиме.

 

Собственно и всё. Пожелания и замечания по делу приветствуются!


Унифицированные формы МХ-2, МХ-20. 1C: Предприятие 8.2

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

Унифицированные формы МХ-2, МХ-20.
Менеджер паролей 1С: Предприятие 8.3

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

 

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

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

Попробуйте проверить свой пароль на стойкость ко взлому с помощью сервиса Microsoft: https://www.microsoft.com/ru-ru/security/pc-security/password-checker.aspx

Самое распространенное заблуждение

 

Если вы думаете, что взламывают пароли только у известных людей либо только те аккаунты, за счет которых можно поживиться, и вы, естественно, ни к тем ни к другим не относитесь. Здесь вы тоже ошибаетесь. 99% всех взломов происходят только с целью рассылки банального спама по вашей адресной базе. А здесь уже работают не хакеры-одиночки, а автоматизированные бот-сети, которые в режиме 24/7 занимаются взломом акаунтов. Проверьте, возможно, именно вашу почту взламывают в данный момент.

 

Взломщики хорошо подготовились, а вы?

 

Со времени появления компьютера хакеры существенно нарастили свои возможности по взлому паролей. Существуют программы способные перебирать более миллиона паролей в секунду на стандартной персоналке. А что могут противопоставить этому обычные пользователи и как за это время подготовились они к защите? По сути никак. По статистике самый распространенный пароль – «123456» или комбинация с этими цифрами. В лучшем случае для сохранения паролей используется всеспасительная программа Excel, что тоже не решает множества проблем с безопасностью.

  

 

Степени защиты, включенные в программу

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

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


Защита от брутфорс атак
Специально для защиты от атак методом перебора мастер пароля мы ввели 3-х секундную задержку после неправильного ввода мастер пароля.

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

 




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

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

 

 

Что же умеет программа

 


Хранение

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



Генератор паролей

Удобный генератор надежных паролей


 
Импорт экспорт данных

Импорт и экспорт данных



Поиск данных

Быстрый поиск необходимых данных

 

 

 

 
P.S.: Необходимо учитывать, что данная конфигурация работает с платформой 1С предприятия начиная с версии 8.3

Так что не забудьте обновить версию 1С предприятия перед установкой программы.
[БП 3.0, УТ 11.1] Бизнес-Интеллект: мастер ТТН Платформа 1С v8.x (все механизмы)

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

 
Запуск 1С под пользователем без сброса пароля 1C: Предприятие 8.2

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

Механизм работы обработки.

При нажатии кнопки "Запустить 1С" происходит замена пароля пользователя на 123 и запускается 1С. Старый пароль возвращается после задержки, заданной на форме.

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

Для работы необходимы права администратора.

Обновления:

- Исправлена ошибка, если нет связки справочников Пользователи и Пользователи ИБ. В этом случае поиск по имени.

- Добавлена возможность запуска, если у пользователя настроена аутентификация ОС.

- Временный сброс запрета на запуск нескольких сеансов, если такая настройка есть.
"Отчет " Закупки"

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

Перенос актуальных цен из 7.7 (Торговля+склад) в 8 (УТ 10.3, УПП, КА) Платформа 1С v8.x (все механизмы)

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

Обработка переносит цены номенклатуры на дату из 7.7 (Торговля+склад)  в 8.х (УТ 10.3, УПП, КА).

Выгрузка производиться через COM соединение.Цены берутся на дату указанную в форме обработки. В 8.х загружаются  в документ "Корректировка записей регистра". У себя переносил 120000 строк с ценами заняло около 20 мин.

Инструкция:

1)указываем дату на которую нужно перености цены

2)в открытом списке выбрать базу из которой будем переносить

3)вводим пользователя и пароль

4)ждем;)

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

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

Отчет созданный на основе отчета //infostart.ru/public/150382/, сделан дополнительно вывод данных по возврату от покупателя, преимущественно может быть использоваться для компаний,которые продают пиво и водную продукцию, именно поэтому номенклатура(собственно тара) выводиться в шапке таблицы отчета. Поскольку задачей стояла - вывод информации исключительно по таре,сумма по документам отсутствует,но так как отчет,сделан на СКД, можно просмотреть эту информацию по документу движения(Регистратору). 
Расчетно-платежная ведомость и свод отчислений в фонды для Украины (БП, УТП) 1C:Предприятие 8

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

"БП 3.0 Операция (БУ, НУ) Заполнение регистра " НДС по приобретенным ценностям"

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

Остатки ТМЦ на момент проведения документа (Бухгалтерия 3.0) 1C: Предприятие 8.2

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

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

Для облегчения поисков пришла мысль написать данную обработку, которая анализирует, остатка каких ТМЦ недостаточно для проведения документа, и выводит отчет об общих остатках данных запасов в разрезе всех складов и счетов учета на момент проведения.

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

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

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

Реализация товаров
Перемещение товаров
Отчет производства за смену
Передача товаров
Списание товаров
Требование - накладная
Возврат товаров поставщику

Обновление от 24.04.2014 Версия
Универсальный переводчик запросов 1С в T-SQL (Microsoft) 1C: Предприятие 8.2

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

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

Обработка позволяет просматривать структуру хранения данных. А так же позволяет без особых усилий перевести наименования полей и таблиц в те наименования которые хранятся внутри СУБД. 

Алгоритм использования прост. 

Замена окна Explorer (проводник, рабочий стол) в терминальном режиме в стиле METRO для запуска 1С в терминале Не имеет значения

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

- ЗОТЕР состоит из HTA(HTML),BAT,VBS,REG и используется в терминальной сессии Microsoft Windows Terminal(98,2000,XP,Vista,7,8 и т.д. - 32x-64x) или без оного, т.е. минимальные знания программирования, разберется и ребенок, все это редактируется в обчыном блокноте.
- с использованием ЗОТЕР, пользователи при входе в терминальную сессию увидят вместо рабочего стола удаленного компьютера только список приложений в стиле МЕТРО, на доступ к которым они имеют права, и кнопку завершения терминальной сессии. И ничего лишнего, что повышает безопасность работы вашей организации, компании, завода и позволяет эффективно разграничивать права доступа различных пользователей.
- Минимальные системные требования и они очень скромные. Для ее использования потребуется MS Windows любой версии с установленным MS Terminal service, а также возможно использование программы под альтернативными терминальными системами, наличие Active Directory не обязательно.

- на сегодняшний день очень многие фирмы используют терминальный доступ к серверу и работают с корпоративным программным обеспечением за удаленным рабочим столом в среде Microsoft Terminal Server. Как правило, пользователи, заходя в терминальную сессию, видят “целиком” рабочий стол удаленного компьютера, кнопку “Пуск” и прочие, зачастую небезопасные элементы.
- ЗОТЕР позволяет за считанные минуты создать необходимый список  приложений, с которыми будут работать определенные пользователи и разграничить права доступа.

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

Настройка:

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

Добавили пользователей windows, 1С, желательно одинаковые  и на английском...

Установили 1С платформу на диск, например D:\1Cbase\1cv82\

Установили 1С базу, например D:\1Cbase\buh\

Почему D: - если сдохнет винда форматнул С диск и новую поставил, так что у Меня будет диск D - у вас любой какой захотите

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

- Создадим папку на диске, к примеру D:\UserTerminal , скопируем в нее все мои файлы:

-- start.bat (удалите его и все терминалы будут загружаться как обычно)

-- start.reg

-- UserX.hta (UserХ - имя терминального пользователя виндовс и 1с - Я взял buh
Data Commander 2.4 Универсальная обработка данных 1C: Предприятие 8.2

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

Описание возможностей:

Обработка есть концепция трёх независимых объектов: Источник табличных данных - Полученные данные - Обработка данных

Комбинация этих компонентов может позволить Вам:

- Открыть список любого объекта конфигурации с указанными Вами (по-умолчанию всеми) колонками

- Перемещать/копировать элементы иерархических справочников, либо отобранных объектов как в файловом менеджере.

- Установить значения реквизитов в объекты выбранные в прикладном списке, либо полученные запросом.

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

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

- Получить в виде таблицы значений данные из внешних файлов (MXL) или баз (COM, ADO) и обработать их произвольным алгоритмом, добавить колонки, заполнить, свернуть...

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

Что это реально дает:

- Позволяет забыть про написание куч мелких обработок по загрузке чего-то там из таблицы или обработки чего-то там

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

- И самое главное в обработке - удобство использования.

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

P/S Ну и да. Обработка позволяет многое. Например выделить и убить кучу объектов. Пользуйтесь с умом.
"Внешняя печатная форма ""Универсальный передаточный документ(УПД)"" для конфигурации 1С:Управление торговлей 10.3(8.2)" 1C: Предприятие 8.2

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

Форма универсального передаточного документа объединяет первичный документ и счет-фактуру. У налогоплательщиков появилась возможность использовать либо два отдельных документа: счет-фактуру и первичный документ, либо один – универсальный передаточный документ.

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

08.08.17 Переделана под новую форму 2017 года. Работает на версии 10.3.28 и выше.
Рабочий стол администратора/программиста на управляемой форме 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

 

Обновление от 08.09.18 : Исключены синхронные вызовы при работе с подключаемыми каталогами, внешними файлами и при открытии файлов, добавленных в "избранное". Ранее, для сохранения совместимости с платформами до версии 8.3.3, в попытке-исключении проверялась возможность вызова асинхронных методов, а в случае исключения производился вызов их синхронных аналогов. Для рекурсивной работы с подключаемыми каталогами это поведение реализовано не было и использовались синхронные вызовы. Теперь для упрощения кода и ввиду того, что с выхода 8.3.3 прошло уже 5 лет, используются исключительно асинхронные вызовы.

 

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


Навигация по объектам конфигурации

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

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

 

 

 

 

Открытие произвольной формы

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


Избранное

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

Из списка избранного также можно открывать произвольную форму объекта или его основную форму списка (по двойному клику):




 

 

История и список недавно выбранных объектов

Действия, выполненные на вкладках "Объекты базы данных" и "Внешние файлы", помещаются в панель истории. По двойному клику на элементе в этом списке действие повторяется.

Также список недавно использованных объектов, относящихся к выбранному классу, помещается в панель "Недавние", это что-то среднее между избранным и историей:




 


Подключение внешних файлов с возможностью открытия в 1С или средствами операционной системы
 

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

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

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




 

 

Поиск среди объектов конфигурации и подключенных файлов

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

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

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

 

 


Запуск 1С от имени другого пользователя

Идея подсмотрена вот в этой обработке  //infostart.ru/public/237192/, подходящей только для толстого клиента. Постарался сделать интерфейс более дружественным и реализовать его на управляемой форме.

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

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

 

 


Универсальный динамический список

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

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




 

Настройки

Наверное никто не любит возиться с настройками :) Менять их вовсе не обязательно, но они могут быть полезны.

В настройках можно указать необходимость менять заголовок основного окна 1С при запуске рабочего стола, скрыть панели "Избранное", "История", "Недавние", если нужно сэкономить место на экране. Флаг "Спрашивать перед закрытием" может спасти от случайного нажатия клавиши Esc и закрытия рабочего стола.

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

 

 

Как использовать обработку в качестве рабочего стола в 1С?
 

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

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

 

Процедура ПриНачалеРаботыСистемы()

// ......................
// ......................

#Если НЕ ВебКлиент Тогда

Попытка
ОткрытьФорму("Обработка.AdministratorsWorkspace.Форма");
Исключение
КонецПопытки;

#КонецЕсли

КонецПроцедуры



 
Перенос документов и справочников из 7.7 в 8.1, 8.2 Не имеет значения

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

Фунционал программы позволяет:

Перенос данных типа:   "Число", "Строка", "Дата".

Перенос данных агрегатного типа:   "Перечисление", "Справочник", "Периодический", "Счет", "Субконто".

Перенос подчиненных справочников.

Выборку по условиям из перенесенного в V8 справочника.

Соранение настроек в файл и выборка настроек из файла.

Более детальное описание работы с программой в справке.
Адрес на Яндекс.Картах 1C:Предприятие 8

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

Работает автономно, а также легко встраивается в любую конфигурацию.

Может отображать адрес на Яндекс.Картах переданный в обработку при открытии. 

Возможно открывать адрес не на форме обработки, а непосредственно в браузере.

Для удобства работы возможно сохранять ранее отображенные адреса в таблицу "Избранное"

 

  Спонсор разработки: интернет магазин цифровой электроники ФорумВосток

 

Не забываем ставить (+)
Анализ документов по реализации 1С: Предприятие 8.3

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

Приветствую, коллеги-программист и коллеги-бухгалтера!

Выношу на суд слепленую обработку на УФ для просмотра документов в разрезе сделок.

Обработка соотносит документы по счету (в реализации и поступлении на РС должен быть указан счет на оплату).

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

Отражается задолженность по сделке

Если дважды щелкнуть по сумме в выделенной строке сумма будет расшифрована по документам "Поступление на РС"

"Показать неоплаченные счета" - отображает счета, по которым нет реализации и оплаты

 

P.S. Сам начинающий программист, в основном  - бухгалтер. Поэтому не судите строго...конструктивную критику и новые идеи принимаю.
Сравнение и сопоставление справочников через COM-соединение по реквизитам и/или GUID 1C: Предприятие 8.2

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

Назначение
Сравнение через COM-соединение и сопоставление в регистре сведений "СопоставлениеОбъектовДляОбмена" справочников двух разных баз данных платформ 8.2-8.3(на 8.1 не проверял) на неуправляемых формах.
Возможности
* Сравнение любых справочников даже если они называются по разному
* Настройка вывода результата сравнения
* Установка отбора для местного справочника
* Сравнение любых примитивных реквизитов и примитивных реквизитов не примитивных реквизитов даже если они называются по разному (выбирается в дереве)
* В результате сравнения можно посмотреть сопоставлен ли объект из другой базы данных с местным справочником в регистре "СопоставлениеОбъектовДляОбмена"
* Настройка заполнения регистра сведений "СопоставлениеОбъектовДляОбмена"
* Запись в регистр сведений "СопоставлениеОбъектовДляОбмена" происходит после сравнения и после нажатия кнопки "Записать в регистр", после чего создается запись в регистре для местной ссылки, выбранной записи и выбранного узла обмена, а все старые записи для них удаляются
Известные проблемы
* Работает только в файловом варианте
* Не предвидена ситуация когда реквизит не примитивный и не справочник
* Если в конфигурации предусмотрено несколько владельцев подчиненного справочника, то сравнить по владельцу или его реквизиту нельзя
Планируемое
* Исправить/Доработать Известные проблемы
* Добавить кнопку сопоставить все одноименные реквизиты для реквизитов сравнения
* Выделять в отчете сравнения реквизиты по которым происходит сравнение

Нашли ошибку, есть пожелания или идеи -> пишите

Перед сопоставлением не забудьте сделать резервную копию базы! Изменения необратимы!

Код открыт (хотя закрытый код сегодня не проблема)
Автоматическое формирование и печать актов сверок для УТ 10.3 Платформа 1С v8.x (все механизмы)

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

Обработка создана для автоматического создания и печати документов "Акт сверки взаиморасчетов".

Порядок действия:

Перенос\удаление пользователей между базами 1C: Предприятие 8.2

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

Это доработанный вариант обработки

//infostart.ru/public/69104/ и далее //infostart.ru/public/82071/

 

Функцинал

 

Загрузка списка баз из файла ibases.v8i.
Добавление\удаление пользователей в отмеченные базы.
Перенос роли\интерфейса\основного языка\полного имени пользователя.
Установка нового пароля для создаваемых пользователей.
Перенос старого пароля (работает только для 8.2).
Перенос доп. настроек пользователя (регистр сведений "НастройкиПользователей")
Перенос доп. прав пользователя (регистр сведений "ЗначенияДополнительныхПравПользователя")

 

Изменения

- Допилен функционал:

перенос доп. прав из регистра сведений
загрузка более чем 1-го файла v8i со списком баз
возможность выгрузки пользователей в файловые базы
исправлена ошибка поиска пользователя при переносе доп. настроек (если имя отличалось от кода то не переносились).

- Наведен порядок с реквизитами:

убраны рудименты первых версий ("основная база" с первой закладки и т.п.)

 

p.s. Удачно опробована на своих базах. Пользуйтесь и экономьте время на что-то более интересное чем заполнение 'пользователей'!

 

Изменения

2013.12.19: Важно! Выложена новая версия, исправлен еще один баг: перенос доп. настроек и доп. прав, нехватало строчки

НаборЗаписей.Отбор.Пользователь.Установить(Пользователь), в связи с этим перенос регистра был некорректным.
Подключение и настройка торгового оборудования к Управление торговлей версия 11 1C: Предприятие 8.2

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

Методичка для тех, кто хочет научиться подключать торговое оборудование к УТ 1
Розница 2.0 (УТ 11.1). Печать этикеток и ценников из номенклатуры 1C: Предприятие 8.2

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

Печать из формы списка



Результат

Один из клиентов сказал, что ему было удобно, если бы он мог распечатать ценник из карточки номенклатуры или из списка номенклатуры. Собственно в конфигурации Розница 2.0 уже есть обработка "Печать этикеток и ценников". Но заполнять отбор для единичной позиции не очень удобно.

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

Для того чтобы воспользоваться обработкой, неоходимо её зарегистрировать в "Дополнительных отчетах и обработках". После этого в форме списка и в форме элемента справочника "Номенклатура" появится кнопка "Печать". Через которую можно вызвать встроенную в конфигурацию обработку "Печать этикеток и ценников", заполненную выбранными позициями. Если для номенклатуры используются характеристики, то также заполняются все возможные характеристики.

Обновление: Добавлен файл обработки для Управления Торговлей 1
Справка на биржу труда для ЗУП 2,5 Платформа 1С v8.x (все механизмы)

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

Справка на биржу труда в ЗУП 2.5, нужно под себя будет подделать по ВидамРасчетам в начислении и в причинах.

Если оклад по дням или часам, то ничего не надо делать, список  того, что в коде для неявок в течение года в ОснНачислениях:

ВидРасчета для Больничных

ВидРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оплата больничных листов"));
ВидРасчета.Добавить(ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оплата больничных листов за счет работодателя"));

ВидРасчета для Отпуск по календарным дням

ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию(СокрЛП("Оплата отпуска по календарным дням"));

ВидРасчета для Отпуск по уходу за ребенком без оплаты

ВидРасчета = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Отпуск по уходу за ребенком без оплаты");

Невыходы стандартные

В общем, кому не лень, лучше глянуть код, удачи в доработке)
Рабочее место менеджера по продажам для конфигурации Управление торговлей редакция 10.3. 1C: Предприятие 8.2

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

Данная обработка отображает данные по Контрагентам и и следующим документам:

- Реализация товаров 

- Заказы

- Счета на оплату

- Возвраты от покупателей

- Розничная продажа (ЧеккККМ)

- Платежи

А также сведения о контрагенте

- Адрес

- Контакнтые лица

- Контакты

 
Как закрыть надоедливые окна, открывающиеся при старте 1C: Предприятие 8.2

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

Генерация Штрих-Кодов для 1С Розница 2.0 и Управление Торговлей 11 1C: Предприятие 8.2

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

Для 1С Розница: Генерирует штрих-коды (EAN13) для всего справочника номенклатуры. Если выбрать группу номенклатуры, сгенерирует для всех позиций в этой группе.

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

Для 1С  УТ11 (тестировалась на 1
Доработанная обработка по GUID 1C: Предприятие 8.1

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

За основу взята обработка, которая уже давно гуляет по интернету:

Ссылка на первоисточник: http://help1c.com/faq/view/483.htm

Лишь добавлен глобальный поиск битых ссылок, а также указание дополнительных информативных колонок для удобства анализа по битым ссылкам, это не последняя версия, так как планируется добавление возможности по ОЛЕ восстановления ссылок из архива. Обработка работает в обычном режиме и является по умолчанию для версии 8.1, так что при необходимости можно сконвертировать под 8.2.
Розница 2.0: Печать ценников и этикеток с новой и старой ценой (при распродаже товара) Платформа 1С v8.x (все механизмы)

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

Эта внешняя обработка - доработка штатной функции "Печать ценников и этикеток" для печати новой и старой цены. Условия заполнения "старой" цены следующие:

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

Обработка может использоваться в двух режимах:

... через штатный механизм "Дополнительные отчеты и обработки" и потом добавить в нужную подсистему. В дальнейшем вызов обработки осуществляется из панели действий "Сервис"-->"Дополнительные обработки".
... независимая внешняя обработка - запуск "Меню"--> "Файл открыть".

Также перед использованием обработки необходимо добавить в список шаблонов этикеток новый шаблон, который нужно загрузить из приложенного файла "шаблон_две_цены.mxl".

З.Ы. Честно говоря, искал для клиента, но находил что-то похожее, но с  заменой встроенной обработки или "внешнюю", но платную. Конфигурацию клиент не хотел менять категорически :(
Свёртка базы Платформа 1С v8.x (все механизмы)

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

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


     Учетная система 1С:Предприятия построена на регистрах, которые, как правило, наполняются документами при их проведении. Если мы удалим документ, то удалим и движения этого документа. Чтобы сохранить движения при удалении документа мы можем подменить стандартный реквизит регистра - "Регистратор" на другой документ. При этом вся важная учетная информация не изменится. Не изменятся ни остатки на складах или задолженности контрагентов, ни текущее сальдо по счетам бухгалтерского учета, ни курс условной единицы, ни размер начислений и удержаний, ни отработанное время сотрудников. В качестве документа-подмены необходимо использовать те, у которых свойство "Проведение" имеет значение "Запретить". Такие документы в типовых конфигурациях есть, например "Операция" или "Корректировка записей регистров накопления". Однако существует ограничение в  использовании документов вроде "Корректировка записей регистров накопления" - далеко не все регистры имеют в качестве регистратора документы этого типа. Чтобы убрать это ограничение можно указать документ "Корректировка записей регистров накопления" в качестве регистратора для всех регистров. Можно и по другому - создать еще один документ такого типа и тем самым избежать проблем при обновлении типовых конфигураций.


    Что дает такой подход к свёртке? Прежде всего мы можем запустить перманентный (перманентный — постоянный, непрекращающийся, нескончаемый, неуклонный, систематический, методический, методичный, хронический, неустанный, безустанный, бесперебойный, безостановочный...) процесс свёртки, не оказывающий заметного влияния на штатную работу пользователей. Мы можем в любой момент запустить свёртку и в любой момент прекратить её. мы можем отобрать для свёртки документы определенного типа или какой-то конкретной организации.  Написать такую обработку, причем универсальную, для любых конфигураций, не составляет большого труда. Но корректно свёртывать в общем случае она не сможет. Почему? Дело в том, что довольно часто проведение документов зависит от "окружающей среды". Как пример можно рассмотреть проведение документа "Поступление товаров и услуг" в БП 2.0. Если у такого документа уже введен счет-фактура, то записи формируются одни, если нет - то другие. Поэтому при удалении документов свертываемого периода важно удалить сначала счет-фактуру.


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

    Инструкция по применению. Скачиваем файл _Свёртка_.cf и объединяем со своей конфигурацией. В результате появятся два новых объекта — документ "_УниверсальныйРегистраторЗаписейРегистров_" и обработка "_СвёрткаБазыДанных_". Документ следует назначить регистратором всех регистров конфигурации (закладка Движения), а в обработке реквизиту "Организация" назначить соответствующий тип данных. При включенном режиме непосредственного удаления, возможны конфликтные ситуации с правами доступа, в том числе на уровне записей.
Менеджер по работе с Google календарем 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

 
Управляемая форма, открытый код
Аутентификация в Google
Считывание календарей
Считывание контактов
Считывание событий
Просмотр страницы календаря
Создание событий в google-календаре с напоминаниями (почта, sms, всплывающие окна)
Групповые операции сохранения в 1С и заполнения из 1С можете доработать под конкретные базы

Использование, например: отслеживание встреч и задач в УТ:11, 1С:Документооборот через Google-календарь.

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

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

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

 

Расширение: Быстрые отборы через буфер [Alt+C] Копировать, [Alt+V] Вставить Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации клавиш [Alt+C] Копировать, [Alt+V] Вставить.
Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.
Гарантированное проведение документов (подключаемое расширение) Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки.
Ускорим проведение в 1С:Управление холдингом В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.
Динамическая кнопка VS Комбинация клавиш Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму).
Параметризация печатных форм под контрагентов (подключаемое расширение) Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь //infostart.ru/1c/articles/1510459/
Просмотр объектов очереди сообщений в 1С:Документооборот В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта.
Поддержка пользователей [Alt+S] (подключаемое расширение) Расширение, подключаемое к базе 1С для решения задач поддержки пользователей. Позволяет быстро (по кнопке или комбинации клавиш Alt+S), не выходя из программы 1С из любой формы, создать обращение к консультантам и программистам со скринами, файлами, в привязке к проблемному объекту (документу, справочнику, отчету, обработке и т.п.). Вести переписку по обращениям, отслеживать их выполнение с трудозатратами и уведомлять участников через механизмы: Telegram, Обсуждения 1С и Электронную почту. Код открыт и расширение может развиваться и быть доработано под индивидуальные потребности.
Интерактивная справка [Alt+I] (подключаемое расширение) Дополнительная справка, подключаемая к базе 1С. Содержит дерево разделов и статьи. Позволяет создавать статьи с картинками, прикреплять к ним файлы и видео, а также связывать статьи с объектами 1С (документам, справочникам, отчетам). Вызывается на динамически создаваемую кнопку панели либо быстрой комбинацией клавиш Alt+I.
Защита объектов от изменения обменом Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.
Доп. панель Alt+Z Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.
Создание стартовой базы Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.
Групповое добавление и удаление ролей из списка профилей Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.
Интерактивная справка по объектам 1С (автономное расширение) База знаний, подключаемая к объектам основной базы. Ведётся интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
Значения по умолчанию для пользователей (Расширение) При заполнении документов и справочников пользователи часто сталкиваются с необходимостью ввода одних и тех же реквизитов. Заполнение в документах некоторых из них, таких как: Организация, Склад и т.п. - выполняется реализованным в 1С механизмом подстановки значения из последних 3-5 введенных документов. Если же вы хотите заполнять все реквизиты шапки (и даты, и флажки, и другие поля, включая дополнительные реквизиты), то вам поможет данный механизм.
Контекст любого объекта конструкцией #Если Фамилия Тогда Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.
Отключение Монитора ИТС и Проверки наличия обновления (расширение) Некоторые интернет-сервисы базы 1С у пользователей вызывают замедления работы и клиенту не нужны. Их можно отключить через расширения.
Памятка работ по проекту 1С Схема работ по проекту внедрения 1С освежает в голове и визуализирует общую картину мероприятий. Будет полезно как для Заказчика так и для Исполнителя при подготовке проекта и проведении совещаний по ходу проекта.
Использование Стека вызовов в качестве условия оператора Если [...] Тогда Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.
Уведомление пользователей об изменениях в объектах (расширение) Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.
Права доступа к объектам с гибкими отборами (расширение) Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.
Памятка работ по задаче 1С Памятка выполняемых работ по решению длительных задач по 1С
Применение программистом таблицы рисков для оценки технического задания Я как программист часто получаю технические задания, по которым от меня хотят услышать оценку. Привожу описание метода оценки задания, заимствованный из проектной технологии, по которому я оцениваю тех. задания
Добрый великан Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.
Настройка ограничений входа пользователей в базу (расширение) Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).
Переход с партий и производства версии 2.1 на режимы 2.2 в 1С:ERP в середине года В данной статье рассказано о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2) после начала года, доработки изменения.
БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов Расширение конфигурации, отключающее ошибки прошлых периодов, которые блокируют закрытие текущего месяца. Например, "Нарушена последовательность регламентных операций" и т.д.
Проводим по БУ "на лету" В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.
Административная панель #расширение объекта Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.


Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)



Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #
Использование yEd для понимания картины запроса 1C: Предприятие 8.2

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

Про yEd тут уже писали, но применительно к модулям. Я же вспомнил про него, когда понадобилось слегка переработать отчет ЗУП "Анализ начисленных налогов и взносов". Надо было вытащить некоторые промежуточные данные.
Основной набор данных этого запроса содержит 34 запроса в пакете. Понять, что с этим делать было слабо реально, но на помощь пришли проверенные инструменты (разработчика в мобильной версии) Консоль запросов с GOLD Parser'ом поскрипев разложила эту жуть в дерево ВТ, подзапросов и объединений. Однако в этот раз все оказалось хуже, чем обычно: ВТшек оказалось слишком много. Поэтому возникла идея получить более наглядную картину чем последовательность их создания. На помощь пришел диаграмме yEd с возможностью импорта данных графа из экселя.

В итоге родилась следующая последовательность действий, приводящая к красивой картинке:

Построить и рассчитать маршрут в 1С 8.2 обычное приложение (яндекс карта) 1C: Предприятие 8.2

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

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

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

Всем привет!

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

В публикации две обработки, одна работющая только на конфигурации Альфа-Авто, вторая "демо" работающая на любой конфигурации, выводящая примерный набор данных.

Удачи!
Альтернативный контроль помеченных и быстрое удаление средствами SQL 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

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

Что послужило поводом для создания собственного решения: 

Типовой механизм платформы "Удаление помеченных объектов" имеет два недостатка: работает очень медленно и требует монопольного режима.

Медленно потому, что: 

Шаблон отчета на СКД: внешний источник данных(ТЗ) + произвольная иерархия 1C: Предприятие 8.2

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

Использую данный шаблон для отчетов на СКД.

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

Основа отчета типовая.

Наименование и тип полей таблицы значений, возвращаемой функцией "ПолучитьВнешнийНаборДанных()" должны совпадать с настройкой полей СКД.

Upd от 20.0
"Полная методичка к курсу ""Программирование 8.2""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

UPD: Добавлен формат docx, с оглавлением и форматированием по страницам, теперь документ можно распечатать. 

Переформатирован PDF. Страниц теперь 580, это из-за уменьшения картинок, шрифта, и лишних пробелов. Полезную информацию не трогал.

 

Ее прислал один из моих заочных слушателей, Антон Шелашский. Огромное спасибо ему за труд.

 

Урок
Групповое создание актов сверки для БП 3.0 Бухгалтерский учет

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

"Акт сверки взаиморасчетов" создаются с датой документа "Дата сверки", за указанный в шапке обработки период.

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

Флаг "Разбить по договорам" управляет созданием документов (одноименный реквизит документа на закладке "Дополнительно"):

 - при установленном - по каждому контрагенту формируется общий акт смверки с указанием довора в табличной части;

- при снятом флаге формируются акты сверки отдельно по каждому договору.

Предварительный просмотр документов производится выводом печатных форм в одном окне.
Генератор паролей универсальный (8.xx) 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Очистка данных регистров (удаление любой ненужной информации) 1C:Предприятие 8

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

Очистка данных регистра - очищает данныые по выбору всех имеющихся регистров: Сведений, Накопления, Бухгалтерии (плана счетов).

Очистка произаодится как групповая, так и по записям, галочка на очищать/удалять автоматически запрещает удаление по одной записи, и включает групповую очистку. Строка "ограничение удаления" задаёт лимит отоображения найденых записей (для того, чтобы сократить время поиска нужных записей).  Поиск регистров производится по значению на ваш выбор: Контрагент, Номенклатура, Регистратор, Инвентарный номер, Документ, Период, Учреждение и т.д.

Обработка очень функциональна и не имеет аналога по широте настроек.
Групповая обработка справочников и документов 8.2 УФ с прогресс баром (+ расчет времени окончания процесса) с отбором по типу реквизита документа Платформа 1С v8.x (все механизмы)

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

Групповая обработка справочников и документов 8.2 УФ с прогресс баром (+ расчет времени окончания процесса)

Доработанная версия. Оригинал: //infostart.ru/public/199807/
Добавлен прогресс бар с расчетом приблизительного времени окончания процесса. Удобно при обработке больших объемов данных.

Идея навеяна долгими ожиданиями окончания процесса и неопределенностью состояния.
Ведомость по запасам (БП для Украины) 1C: Предприятие 8.2

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

Будет работать на УТП и УПП, потому что анализирует регистр бухгалтерии.

Особенностью отчета является возможность детального разворота данных и настройка счетов БУ.

Проверялось на:

версии платформы: 8.2.19
релизе:
Размеры SQL Таблиц 8.1 - 8.2 - 8.3 Платформа 1С v8.x (все механизмы)

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

Размеры SQL Таблиц базы данных.

Если режим БД серверный, то обработка автоматически подключается к SQL-БД и показывает текущие размеры таблиц с соподставлением с метаданными. Если режим файловый, то параметры SQL указываются вручную. Вручную указать параметры SQL можно всегда, независимо от режима БД.

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

Можно просматривать содержимое первых 10 строк таблицы при двойном нажатии на строке с наименованием (при установленно соотв. флажке).

SQL Native Client 11 (2012 wSP1) (встроен в обработку), позволяет установить в тихом режиме (с настройками производителя, без участия пользователя)

В версии для 8.1 встроен драйвер PostgreSQL ODBC.
Заполнение встречного выпуска для УПП (обработка) Платформа 1С v8.x (все механизмы)

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

На написание данной обработки сподвигла публикация //infostart.ru/public/201731/

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

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

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

Мне помогла, поэтому делюсь.
2НДФЛ для ЗиК с выравниванием перечисленного НДФЛ 1С:Расчет 7.7

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

Внешний отчет на основе 342 релиза со встроенными процедурами глобального модуля этого релиза.

Суммы перечисленного НДФЛ можно приравнять или к исчисленному или удержанному, либо стандартно из документов.
Прайс-лист для бухгалтерии 3.0 1С: Предприятие 8.3

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

Описание внешнего отчета:

Отчет позволяет сформировать прайс-лист по розничным ценам или оптовым ценам за весь период, или на определенную дату.

В случае если нет цены вместо нулевого значения появляется строковое значение "По заявке".
Свертка для Розницы 1.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Не претендует на гениальность , а все гениальное просто -))

Без проблем подпилить под свои нужды

Остатки (Док.Оприходование )заполняются для каждого склада

Себестоимость берется из одноименного Регистра сведений

Не забываем на основании оприходования заполнить документ УстановкаСебестоимости 
1С Tool Kit - программа для работы со списком информационных баз 1С Не имеет значения

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

Зачем нужна? - упростить процесс администрирования и конфигурирования

Программа умеет многое - пройдусь по пунктам меню - расскажу весь функционал

Устанавливается легко и просто - далее... далее... готово)))

Меню файл - содержит перечень основных команд программы- такой же перечень содержится в контекстном меню списка информационных баз:
Стандартный диалог - запускает стандартное окно запуска 1С:Предприятия со списком информационных баз
Создать сценарий – Создает файл сценария запуска – чтобы можно было быстро запустить ту или иную информационную базу в режиме предприятия или конфигурирования- не переходя к списку информационных баз

Выгрузить информационную базу- производить выгрузку в файл *.dt
Сохранить конфигурацию в файл – производит сохранение конфигурации в файл *.cf
Сохранить конфигурацию из хранилища в файл – если БД подключена к хранилищу- производит сохранение конфигурации хранилища в файл *.cf
Сохранить копию информационной базы- производит копирование файла 1Cv8.1cd
Открыть каталог информационной базы- производит открытие место расположения БД
Внешнее тестирование информационной базы- производит внешнее тестирование БД, используя стандартную утилиту проверки физической целостности файла БД
Выход…

Меню список – работа со списком информационных баз
Переключение между списками разных версий платформы
Сохранить список информационных бах в архив- сохраняет файл списка информационных баз и помещает его в архив (удобно когда производим переустановку операционной системы- и не хотим потерять список баз)
Загрузить список информационных баз из архива- производит восстановление списка информационных баз из архива (удобно когда производим переустановку операционной системы- и не хотим потерять список баз)
Открыть каталог списка информационных баз – быстренько открывает место расположение файла со списком БД

Меню дополнительно – дополнительные функции
Извлечь конфигурацию из выгрузки информационной базы- производит сохранения файла *.cf из файла *.dt 
Открыть файл nethasp.ini – открывает файл nethasp для его редактирования
Администрирование серверов 1С:Предприятия – открывает стандартную консоль управления серверами 1С
Отключить таблицу пользователей – производит отключение таблицы пользователей у БД- что позволяет получить доступ к БД если пароль утерян
Включить таблицу пользователей – производит включение таблицы пользователей, если она была ранее отключена
Отключить проверку лицензии сервера 1С- пока не работает- наврятли будет

Меню настройки – переход к настройкам программы
Параметры – возможность указать ассоциацию операционной системы с файлами расширения *.dt, *.cf, *.1cd, *.epf, *.erf – что позволяет простым двойным щелчком мыши открыть любой файл с этими расширениями
Добавить в контекстное меню проводника- производит добавление в контекстном меню проводника всех основных команд
Добавить в автозагрузку – добавляет программу в автозагрузку операционной системы

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

Если *.dt открыта в режиме конфигурирования с использованием ассоциации – то при закрытии программа любезно уточнит о необходимости сохранения изменений в этом файле

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


П.С. Выражаю благодарность за любезно предоставленную разработку и разрешение ее распространения на этом портале - Разработчик Лукин Андрей (ник rkbvfnjh) – в него можно кидать помидоры)))- конструктивная критика приветствуется – программа будет дорабатываться)
Загрузка ККМ-Offline из документа для УТ 10.3 1C: Предприятие 8.2

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

Загрузка ККМ-Offline из документа ПоступлениеТМЦ для УТ 10.3, с автоматическим добавлением в регистр сведений Товары на ККМ.

Тестировалось на УТ 10.3.18.3 РМК Штрих-М Кассир
"Конфигурация " Почтовый клиент"

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

Перенос данных Яндекс Маркет -> УТ11 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

Функционал:
- автоматизированная загрузка товаров из интернет-каталога Яндекс.Маркет в справочник Номенклатура;
- присоединение к элементам справочника номенклатуры файлов всех фото (.jpg) и файла описания для сайта (.html);
- установка цен номенклатуры по загружаемым товарам;
- хранение файлов фото и описаний для сайта как в информационной базе, так и на локальном диске;

Загружаемые данные:
- производитель;
- наименование товара (модель);
- категория номенклатуры (иерархия групп);
- сокращенные характеристики товара;
- сокращенное описание товара;
- полное описание товара;
- все фотографии товара;
- минимальная цена товара по данным каталога.

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

Порядок запуска обработки:
в режиме Предприятие: Файл -> Открыть -> ЯндексМаркетУТ1
Создание Актов сверки для всех контрагентов Платформа 1С v8.x (все механизмы)

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

Данная обработка создает актов сверок для всех контрагентов, у которых есть обороты в выбранном периоде, с отбором по счетам учета, и выводит их на печать
1C7.7 парсер JSON 1C:Предприятие 7.7

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

Работоспособная версия парсера JSON. Вызов парсера осуществляется функцией

Результат =глJSONПарсер("{""firstName"":""Иван"",""lastName"":""Иванов"",""address"":{""streetAddress"":""Московское ш.,101,кв.101"",""city"":""Ленинград"",""postalCode"":101101},""phoneNumbers"":[""812 123-1234"",""916 123-4567""]}");


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

"phoneNumbers":["812 123-1234","916 123-4567"]


Все использованные в настоящей работе шаблоны (patterns) regexp проверены с помощью online regexp tester.

Результатом работы является индексированнная таблица (см. 1С++ ИндексированнаяТаблица ) с полями KEY, PARENT и VALUE.

Для тестирования в глобальный модуль встроена функция глJSONОтобразитьСписокЗначений. Пример ее вызова можно найти в обработке для тестирования (см. вложенные файлы).
Валовая прибыль по документам реализации Управление торговлей ред. 11 1C: Предприятие 8.2

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

"Обработка заполнения кодов ОКТМО в регистре накопления ""РасчетыНалоговыхАгентовСБюджетомПоНДФЛ""" 1C: Предприятие 8.2

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

Проблема: При заполнения справки 2-НДФЛ для предоставления отчетности в ИФНС оказалось, что не заполняется НДФЛ перечисленный и расчет с бюджетом не прослеживается...

Найденная причина: При обновлении конфигурации в регистре "РасчетыНалоговыхАгентовСБюджетомПоНДФЛ" появилось новое измерение "ОКТМО_КПП" которое заполняется при проведении документов начисления заработной платы как приход и перечисление в бюджет как расход (Весь список документов отчисляющих НДФЛ и перечисляющих). Колонка регистра (измерение)  за 2013 год оказалась заполнена не полностью и частично неправильно (приход не совпадал с расходом по ОКТМО).

Решение: Простенькая обработка которая заполняет колонку значением код ОКТМО плюс "/" плюс код КПП из справочника "Организации". Период заполнения определяется по указанной ДАТЕ на форме обработки как НачалоМесяца и КонецМесяца.

Документы закрытого периода не нужно перепроводить и проблема решена.

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

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

Внимание:внесены изменения в файл:изменена маска заполнения с учетом восьмизначного ОКТМО (Согласно информационному листку от ИФНС).
"Заполнение регистра сведений " Фамилия, имя, отчество физических лиц"

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

Как узнать ГУИД? 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

ГУИД можно рассчитать из навигационной ссылки, например:
e1cib/data/Документ.ЗаказПокупателя?ref=b59500055d80a2b911de397d51012ccc
Берём правые 32 символа и переставляем их местами по формуле:
 
(между группами символов ставим дефис)
последние 8 символов - 4 символа, начиная с 21-го - 4 символа, начиная с 17-го - 4 первых символа - 12 символов, начиная с 5-го
 
или номерами символов
 
25 26 27 28 29 30 31 32 - 21 22 23 24 - 17 18 19 20 - 1 2 3 4 - 5 6 7 8 9 10 11 12 13 14 15 16
 
получаем:
51012ccc-397d-11de-b595-00055d80a2b9
 
символы дефиса стоят на позициях 9, 14, 19, 24.
 
Другой вариант - программно получить через конструкцию XMLСтрока:
 
ГУИДСсылки = XMLСтрока(Ссылка);
 
или через УникальныйИдентификатор:
 
ГУИДСсылки = ЗаказПокупателяСсылка.УникальныйИдентификатор();
 
Следует помнить, что глобальный метод УникальныйИдентификатор() возвращает значение с типом УникальныйИдентификатор, XMLСтрока - строковое представление уникального идентификатора, то есть строчку. Поэтому, если ГУИД нужен, чтобы передавать его символьно (например, записывать в файл обмена с интегрированной программой) - Welcome, XMLСтрока!
 
А вот для обратного преобразования нужно обязательно указывать тип данных:
 
ЗаказПокупателяСсылка = XMLЗначение(Тип("ДокументСсылка.ЗаказПокупателя"), ГУИДСсылки);
 
или
 
ЗаказПокупателяСсылка = Документы.ЗаказПокупателя.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИДСсылки));
 
(и здесь, как видно, использование XML выглядет привлекательнее...).
 
В прилагаемой обработке пример получения ГУИДа по выбранному значению и получение значения по указанному ГУИДу.
Конечно же, для того, чтобы найти нужный тип, перебираются метаданные и подставляются в 1-ый параметр. А проверка 'валидности' ссылки осуществляется по заполнению поля 'ВерсияДанных'.
 
Ещё важно по теме ГУИДов:
//infostart.ru/public/195564/
XML обмен данными между идентичными конфигурациями 1C: Предприятие 8.2

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

Как то мне понадобилось перенести данные меджу конфигурациями, нырнул в Интернет и сразу наткнулся на обработку unload-load-1c-fasthelp.net.epf , c её помощью все и сделал,

Обработка прекрасно работает, но именно поэтому захотелось её доработать, а именно:

 

"[БП3.0, УТ10.3] Внешняя печатная форма " Товарный чек"

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

Печатная форма ПКО с выделением ставок НДС Платформа 1С v8.x (все механизмы)

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

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

Легко устанавливается в качестве печатной формы в режиме пользователя через "Сервис - Дополнительные внешние отчеты и обработки - печатные формы" :

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

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

-указать файл печатной формы(скачанный здесь файл)

-заполнить поле "Заменяемая печатная форма", выбрав из выпадающего списка "приходный кассовый ордер" - в этом случае данная обработка заменит собою стандартную печатную форм
Пророк в своем отечестве или Читаем XML с помощью XDTO 1C:Предприятие 8

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

Здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте! Если же хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! (Королева «Алиса в зазеркалье»)

Доброго тебе дня, мой Дорогой Читатель! Проходи, садись поудобнее и приготовься внимать мне. Сейчас я предскажу твое будущее (свет меркнет, громы-молнии, звучит тревожная музыка)! Слушай же мой Читатель, что тебя ждет. Тебе рано или поздно придется столкнуться с XML (яркая молния, оглушительный грохот грома, запах озона).
Если ты разработчик 1С или пишешь на PHP, или С++, неважно, но рано или поздно тебе придется столкнуться с XML. Почему? Потому что это универсально, удобно, повсеместно, модно, круто, кросс-платформенно. XML правильно понимает и Android и Windows и Linux и все. Его используют для обмена информацией (например: электронные отчеты в налоговую, между конфигурациями 1С, для синхронизации с интернет-магазином). Его используют для хранения информации.
Итак, без долгих прелюдий приступим сразу к телу делу. Здесь не будет долгих описаний и определений. Просто несколько примеров. Но если вы собираетесь плотно работать с XML, то настоятельно рекомендую не полениться и почитать про XML и схемы XML (открывайте в Google Chrome, Firefox не совсем корректно работает с этим сайтом). Времени потратите не так много, а жизнь себе облегчите неимоверно.

Проблемой чтения/записи XML я столкнулся в связи с интеграцией с 1С корпоративных сайтов различных фирм, а именно, заказчики хотели чтобы кое-какая информация из 1С попадала на сайт и наоборот, и делалось это с некоторой периодичностью. Обычно это были продажи (информация для менеджеров), заказы (для дилеров) и различные примочки вроде журнала заявок, задач, отчетов и т.д.

СЛУЧАЙ I

Давайте предположим такую задачу, пусть на сайте некоего учебного заведения регистрируются студенты (не важно для чего, может чтобы пройти тестирование, а может чтобы талоны для столовой получить) и захотело руководство, чтобы эти данные попали в 1С в справочник «Студенты» (конфигурация «Учебное заведение 5.5 ). Программист PHP сказал «Бу сделано!» и выдал такой XML файл:

 

Здесь корневым элементов является элемент «students». Вложенным элементом является «student», где указана основная информация про студента учебного заведения. Элементы «name», «last_name», «sex» имеют тип «Строка», «birth» — «Дата», «level» (курс обучения) — «Число», «this_leader» (это староста группы) — «Булево». Нужно эти данные прочитать и разместить в справочнике «Студенты».

Как прочитать? Можно с помощью объекта «ЧтениеXML», но тогда нужно будет построчно обрабатывать документ. И хорошо если уровней вложенности всего лишь 2-3. А если их 10, и строк 10 тысяч? Тогда можно обработать с помощью «ДокументDOM», который создаст нам некое древовидное представление документа XML. Но тогда нам нужно будет каждый элемент обрабатывать отдельно, нужно будет программно прописывать, какой элемент преобразовывать в какой тип. Это не наш метод. Мой дорогой Читатель конечно же ознакомился с ссылками вверху и имеет представление об XML и его схемах. Давайте же создадим пакет XTDO и прочитаем с его помощью наш XML файл. Для этого я создал новую конфигурацию со следующими объектами:




Создал пакет XDTO «Чтение»:

 

Определил пространство имен «http://localhost/xdto». Если вы читали про XML и его схемы (ссылка выше) вы должны иметь представление, что такое пространство имен. А если не читали, то это некая уникальная интернет-ссылка (а интернет-ссылки все должны быть уникальными), где я определяю свои типы данных. Т. е. в пространстве имен (URI) »http://localhost/xdto» я определил тип students, который состоит из свойства student, который в свою очередь является сложным объектом и имеет свои свойства. А наф… зачем URI? Да затем, вдруг какой-нибудь чудак тоже определит тип students, что тогда? Конфликт? Разборки? Нет, у него будет другое пространство имен, например »http://tchudakov.net/blablabla». По хорошему, по адресу »http://localhost/xdto» у меня должно быть документация, информация, намек на то, что за схему я описал. Какие типы данных у меня, какие свойства. Мануал, одним словом. Но у меня там ничего нет. И у многих тоже ничего нет. Но Вы, мой дорогой Читатель, не берите пример с меня и таких как я. Если проект серьезный, сделайте документацию и потомки будут вам благодарны.

В этом пакете я описываю схему XML, т. е. это редактор, инструмент для создания схем. Вы даже можете нажать правой кнопкой мыши на пакет и экспортировать схему (файл с расширением .xsd). Для свойств я также указал типы: name, last_name, sex имеют тип string (http://www.w3.org/2001/XMLSchema). Как видите, тип string тоже определен в некоем пространстве имен, а именно его определяли сообща, на конференции w3 создавали стандарт. Свойство birth имеет тип date (http://www.w3.org/2001/XMLSchema), level - integer (http://www.w3.org/2001/XMLSchema),  this_leader - boolean (http://www.w3.org/2001/XMLSchema). Как это сделано вы можете посмотреть развернув у себя выгрузку данной конфигурации (ссылка в конце статьи).

Эту же схему можно описать вот так:

А теперь найди 7 отличий. Шучу, отличие только одно, я создал тип type_student и для свойства student определил тип (см. рисунок выше, если слишком мелко, жмакните на него). Это называется явным определением типа. А до этого мы занимались неявным определением типа. Во как! А теперь давайте прочитаем XML и создадим элементы справочника. Для этого я создал обработку «ЧитаемXML», который также можете посмотреть в выгрузке, здесь же приведу только код:

&НаКлиенте Процедура ОдинСтудент(Команда)

ОдинСтудентСервер(XML);

КонецПроцедуры
&НаСервереБезКонтекста Процедура ОдинСтудентСервер(XML)

// Получаем тип XDTO и читаем XML лТип = ФабрикаXDTO.Тип("http://localhost/xdto", "students");
лЧтение = Новый ЧтениеXML;
лЧтение.УстановитьСтроку(XML);
лОбъект = ФабрикаXDTO.ПрочитатьXML(лЧтение, лТип);
лДанные = лОбъект.student;

// Проверяю, нет ли этого студента в базе лЗапрос = Новый Запрос("ВЫБРАТЬ | Студенты.Ссылка |ИЗ | Справочник.Студенты КАК Студенты |ГДЕ | Студенты.Имя ПОДОБНО ""%"" + &Имя + ""%"" | И Студенты.Фамилия ПОДОБНО ""%"" + &Фамилия + ""%"" | И Студенты.ДатаРождения = &ДатаРождения");

лЗапрос.УстановитьПараметр("Имя", лДанные.name);
лЗапрос.УстановитьПараметр("Фамилия", лДанные.last_name);
лЗапрос.УстановитьПараметр("ДатаРождения", лДанные.birth);

лРезультат = лЗапрос.Выполнить();

// Если нет, создаю новый элемент Если лРезультат.Пустой() Тогда
лСпр = Справочники.Студенты.СоздатьЭлемент();

// Иначе редактирую имеющийся Иначе
лВыборка = лРезультат.Выбрать();
Пока лВыборка.Следующий() Цикл
лСпр = лВыборка.Ссылка.ПолучитьОбъект();
Прервать;

КонецЦикла;

КонецЕсли;

// Заполняю данными, заметьте, никакого преобразования не требуется лСпр.Имя = лДанные.name;
лСпр.Фамилия = лДанные.last_name;
лСпр.ДатаРождения = лДанные.birth;
лСпр.Пол = лДанные.sex;
лСпр.Курс = лДанные.level;
лСпр.ЭтоСтароста = лДанные.this_leader;

лСпр.Записать();

КонецПроцедуры // ПрочитатьИЗаписатьСервер()

Вы можете видеть, что код очень прост, и никакого преобразования элементов прочитанного XML не требуется, это делает уже ФабрикаXDTO. Ну что же, запустим нашу обработку и проверим, появится ли новый элемент в справочнике «Студенты». Ошибка!

 

Дело здесь вот в чем, в XML мы не указали name spaces (пространство имен), давайте возьмем XML, который я привел выше и добавим:

xmlns=»http://localhost/xdto» xmlns:xs=»http://www.w3.org/2001/XMLSchema» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» — вот что мы добавили и все заработало.  Скачайте выгрузку базы данных (ссылка ниже), распакуйте у себя и попробуйте прочитать XML. Попробуйте изменить данные в XML, поэкспериментируйте.

СЛУЧАЙ II

Предположим что в XML у нас не один студент, а несколько (скорее всего так и будет):

Обратите внимание на комментарий , очень удобный редактор XML, а главное бесплатный. Если попробуете его прочитать с помощью схемы, которую мы сделали, вы получите ошибку, и это правильно, в схеме мы не указывали, что элементов student может быть много. Давайте исправим эту ситуацию, я создал новый пакет «ЧтениеСтуденты» и новое пространство имен «http://localhost/xdto/students» и изменил свойство «student»:




Обратите внимание, свойство «Максимальное количество» я изменил на «-1″, это означает, что элементов student может быть неограниченное количество. Если мы установим это свойство равным «3″, то элементов student не может быть больше 3 и т.д.  Для обработки этого XML я создал новую процедуру, привожу скрин обработки:




Кнопка «Один студент» эта старая процедура, когда в XML была информация только по одному студенту, кнопка «Много студентов» для обработки информации по неограниченному числу студентов. Не забудьте изменить пространство имен в XML (второй красный кружок на рисунке). Запускаю обработку и все получается! Меняю данные (кроме имени, фамилии и даты рождения, при их изменении создается новый элемент справочника) и созданные элементы редактируются! Ну просто великолепно!




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

&НаКлиенте Процедура МногоСтудентов(Команда)

МногоСтудентовСервер(XML);

КонецПроцедуры
&НаСервереБезКонтекста Процедура МногоСтудентовСервер(XML)

// Получаем тип XDTO и читаем XML лТип = ФабрикаXDTO.Тип("http://localhost/xdto/many_students", "students");
лЧтение = Новый ЧтениеXML;
лЧтение.УстановитьСтроку(XML);
лОбъект = ФабрикаXDTO.ПрочитатьXML(лЧтение, лТип);

Для Каждого лДанные Из лОбъект.student Цикл

// Проверяю, нет ли этого студента в базе лЗапрос = Новый Запрос("ВЫБРАТЬ | Студенты.Ссылка |ИЗ | Справочник.Студенты КАК Студенты |ГДЕ | Студенты.Имя ПОДОБНО ""%"" + &Имя + ""%"" | И Студенты.Фамилия ПОДОБНО ""%"" + &Фамилия + ""%"" | И Студенты.ДатаРождения = &ДатаРождения");

лЗапрос.УстановитьПараметр("Имя", лДанные.name);
лЗапрос.УстановитьПараметр("Фамилия", лДанные.last_name);
лЗапрос.УстановитьПараметр("ДатаРождения", лДанные.birth);

лРезультат = лЗапрос.Выполнить();

// Если нет, создаю новый элемент Если лРезультат.Пустой() Тогда
лСпр = Справочники.Студенты.СоздатьЭлемент();

// Иначе редактирую имеющийся Иначе
лВыборка = лРезультат.Выбрать();
Пока лВыборка.Следующий() Цикл
лСпр = лВыборка.Ссылка.ПолучитьОбъект();
Прервать;

КонецЦикла;

КонецЕсли;

// Заполняю данными, заметьте, никакого преобразования не требуется лСпр.Имя = лДанные.name;
лСпр.Фамилия = лДанные.last_name;
лСпр.ДатаРождения = лДанные.birth;
лСпр.Пол = лДанные.sex;
лСпр.Курс = лДанные.level;
лСпр.ЭтоСтароста = лДанные.this_leader;

лСпр.Записать();
КонецЦикла;

КонецПроцедуры // МногоСтудентовСервер()

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

СЛУЧАЙ III

Предположим, у нас есть XML, где нет информации по студентам (такой случай тоже нужно предусмотреть, в выгрузках бывает 1 элемент, бывает много, бывает что и ничего). Текст ниже:

 

Попробуем его прочитать нашей обработкой. Что получили? Фигу!




И правильно! Мы же в фабрике указали что элентов students может быть от одного до бесконечности. А здесь у нас ноль, поэтому и ругается. Давайте исправим этот момент:




Обратили внимание? Ну конечно обратили, я же, блин, красным овалом выделял (жмакайте на скрин, чтобы сделать больше). Минимальное значение я сделал равным нулю, а максимальное значение оставил -1, т. е. неограниченным. Теперь все чики пуки ( не знаю с какого языка это выражение). Можете сами проверить, нажмите на кнопку «Много студентов» в обработке.

СЛУЧАЙ IV

Все! Мы вроде предусмотрели все случаи! Можно идти пить… чай 😉. Но тут нам присылают еще один XML:

Вставляем XML в текстовое поле, жмем «Много студентов». Что получаем? Ошибку! А почему, посмотрите на XML. Появился новый элемент comment (комментарий), который не учтен в нашей фабрике. Что же делать? Можно его включить в нашу схему, но что если опять придет файл уже с другим элементом XML? Этот случай можно обработать следующим образом, открываем в фабрике свойства type_student и свойство «Открытый» устанавливаем «Истина»:

 

Ну вот и все. Теперь XML у вас прочитается без проблем. Теперь тэг student может содержать кроме заданных любые другие тэги и они буду прочитаны как строковый тип. Т.е.  я могу использовать переданный мне элемент comment. Он определился как строковый. Свойство открытый означает, что тип может содержать кроме прописанных любые другие элементы, которые он прочитает как строковый. Все, выдохся. Удачи, везения и чтобы наглости вам не надо было занимать! dt-шка ниже.
"Рабочее место ""Комплектовщик"" для УТ11" 1С: Предприятие 8.3

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

   АРМ "Комплектовщик" даёт возможность в удобном визуальном представлении создавать, редактировать и удалять комплекты номенклатуры с различным уровнем вложенности элементов и узлов. При этом автоматически контролируется "зацикленность" (когда узел или деталь "вложен сам в себя" на каком либо из уровней деталировки), программа сигнализирует пользователю о таких ситуациях.

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

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

АРМ «Комплектовщик» позволяет:

Упростить подготовительную работу с комплектами, для дальнейшей их сборки или разборки.
Автоматически контролировать «зацикливание» в иерархии комплектаций изделий (это когда в результате изменения вариантов комплектации получается вложенность изделий самих в себя на каком либо из уровней деталировки).
Визуально отображать в виде дерева всю иерархию комплекта.
Легко устанавливать используемые варианты комплектации во всём дереве вложенности изделия и визуально это контролировать.
Редактировать уже существующие варианты комплектации, а так же создавать новые.
Отслеживать использование деталей
[БП3.0] Внешняя печатная форма Товарный чек для печати на принтере на управляемых формах 1С: Предприятие 8.3

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

Обработка предназначена для расширения функционала 1С Бухгалтерии предприятия 3. (БП3.0)

Обработка сделана на управляемых формах и добавляет в меню печать команду "Товарный чек" .

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

Обработка дополнительно ищет в комментариях строку вида "Заказ №1234 " (строка должна заканчиваться пробелом)

Берет из строки номер заказа и добавляет в Товарный чек как дополнительную информацию.

Обработка содержит макет товарного чека для обычного принтера

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

Установка: Подключается на вкладке Администрирование->дополнительные отчеты и обработки.

После подключения в меню печать добавляются команда "Товарный чек".

PS: Не забудьте отредактировать макет под себя.

 

Версии:

Внешняя форма списка номенклатуры для Бухгалтерии 3.0 с ценами Платформа 1С v8.x (все механизмы)

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

Внешняя обработка, полезна тем, кто ведет торговлю из Бухгалтерии 3.0, а не из УТ например. В списке сразу видны цены, по выбранному типу цен.

Версия 2.: Добавлено поле остаток по 4
Выгрузка данных из УТ 10.3 (10.3.27) в БП 3.0 (3.0.28.12) 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

В основе обработки используются типовые правила конфигурации "Управление торговлей", редакция 10.3 (10.3.27) .

Мелкие доработки:

Универсальная обработка сравнения документов распределенных информационных баз (вер 2.5.6) (Обычный интерфейс) 1С 8.2, 8.3 Платформа 1С v8.x (все механизмы)

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

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

Обработка подключает базу по Com соединению. Есть возможность подключения к базе как SQL, так и к файловой. На вкладке "Несоответствия" будут отражаться документы выбраные для регистрации. В колонке "Комментарий" отражается название реквизита, значение которого отлично от основной базы. Регистрация документов происходит вместе с регистрацией всех подчиненых реквизитов и движений документа. Отмена регистрации пока отменяет регистрацию самого документа, отмена подчиненых и движений будет в следующей версии. Так же в следующей версии будет обычный интерфейс и тестироание на различных конфигурциях, но по умолчанию должно работать на всех конфигурациях с Управляемым интерфейсом. Также прорабатывается возможность вставки прогресс-бара в УФ, но кто знает что такое УФ, то мне пока это не представляется возможным, с учетом того что обработка использует активное соединение Com, соответственно вся работа связана с ComObject.

Данная обработка отлично подойдет для РИБ, сравнивать документы между ЦБ и подчиненным узлом.

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

 

Проверено на платформах 1С 8.2.19.106 и 1С 8.3.4.496

Проверено на копфигурциях БП 2.0, УТ 1
Пример работы с заголовками HTTP-запросов: загрузка версий программ с users.v8.1c.ru Платформа 1С v8.x (все механизмы)

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

На написание этой статьи сподвигли два фактора:

Внешняя печатная форма универсального передаточного документа (УПД) для БП 2.0 Платформа 1С v8.x (все механизмы)

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

Начиная с релиза 54.13
Для удобного внесения изменений в форму УПД без изменения типовой БД.
Необходимые общие модули перенесены в обработку.
Работает для документов "Реализация товаров и услуг", "Счет-фактура выданный", "Передача ОС".
Изучаем мобильную платформу 8.3.4: геопозиционирование 1С: Предприятие 8.3

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

Краткое содержание:

Вступление

Формулирем функциональные требования к гипотетическому мобильному приложению

Реализуем функциональные требования

Делаем выводы

PS1: Листинг скрипта карты Яндекс

PS2: Листинг процедуры определения расстояний

PS3: Листинг процедуры определения текущих геокоординат

Многие энтузиасты, за неимением штатного платформенного механизма, давно уже начали успешно внедрять в 1С-приложения гео-инструменты сторонних производителей: API Яндекс.Карт, API Google Карт. Скрипты этих API встраиваются в элемент управления типа «Поле HTML документа» интерфейсной формы как обычной, так и управляемой. Парой команд подавляются ошибки скрипта несовершенного платформенного браузера, и все выглядит вполне благопристойно. Причем отрисовку изображения можно готовить как заранее перед открытием формы, так и динамически в процессе работы пользователя с формой, программно добавляя или удаляя на карту различные объекты и действия (балуны, иконки, надписи, регионы, маршруты, центрирование, масштаб …), посылая java-команды через Документ.parentWindow.eval(). А самые продвинутые энтузиасты научились отлавливать события карты, например клики или перемещения балунов, забирая геокоординаты, в общем устраивать полноценную дуплексную связь между картой и 1С-приложением. Идиллия! (например, //infostart.ru/public/254764/)

И все ничего, кабы ни два обстоятельства:

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

Т.е. API  карт обоих производителей можно использовать только при бесплатном и неограниченном доступе пользователей к карте, что в принципе невозможно из 1С-приложения, где каждая сессия платная. А вышеупомянутые энтузиасты по сути своей нарушители, и они об этом знают. А кто хочет это опровергнуть, пусть попробует опубликовать тиражный продукт - арбитражка обеспечена! Но мобильная платформа 1С пока остается бесплатной. Это нелицензируемое мобильное приложение, в простейшем случае оно может работать автономно, без подключения к серверу центральной базы, значит, никакие соглашения не нарушаются!

Едем дальше. Читаем описание изменений к платформе 8.3.3:

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

Не поддерживаются свойства Документ и Вывод.

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

Т.е. досылать команды через Документ.parentWindow.eval() пока нельзя и отлавливать события HTML-документа тоже. Возможно, просто не успели реализовать, а возможно для дополнительной популяризации нативного инструмента, который сам ничего из этого пока не умеет, но будущее покажет: просачиваются таки наши хотелки в зазеркалье или нет? :) Короче, на данный момент в мобильной платформе вообще нет обратной связи ни с какой картой, и это досадно, потому что лишает ее новых возможностей применения и дальнейшей популяризации!

Разбираемся далее. Почему разработчики 1С для Android-устройств выбрали именно Google maps API? История умалчивает, возможно,  для облегчения будущего выхода на мировой рынок, в чем я лично, как истинный 1С-евангелист нисколько не сомневаюсь! :) Но скорее всего именно из-за возможности использования коммерческой версии, которой у Яндекса увы нет. Для iOS-устройств особого выбора не было - только Apple MapKit. Но я далее буду рассматривать только Android-устройства как наиболее перспективные для российского бизнеса. Мой прогноз: большинство мобильных 1С-приложений будут писаться именно под Android, потому что:

цены на такие устройства доступнее, а ассортимент шире

процесс отладки проще: приложение можно выкладывать на устройство сразу после сохранения конфигурации. Что ни говори, а эмулятор никогда не заменит живой аппарат.

GooglePlay дешевле AppStore, а выпуск новых релизов быстрее

На этом заканчиваю теоретическое вступление, и перехожу к практической части статьи, предлагаю такой план действий:

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

постараться реализовать ее средствами, встроенными в платформу, сравнить с тем же самым на Yandex API

проанализировать, что получилось и выдать рекомендации 1С по дальнейшему развитию инструмента геопозиционирования

Формулируем задачу.

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

Формулируем обоснование для ЛПР (лиц, принимающих решения):

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

тайм-шиты будут доставляться в офис быстрее, значит быстрее будут выставляться счета и акты

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

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

Переходим к этапу моделирования,  при подготовке требований к демонстрационному макету сформулируем ряд допущений и ограничений:

в модели не будет механизмов обмена с центральной базой, поступление контактов и нарядов будет имитироваться программно

в модели предусмотреть две карты, встроенную и Яндекс, что бы провести визуальное сравнение

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

выводить список клиентов, в порядке увеличения расстояния от текущего местоположения (по аналогии Чекин в Foursquare)

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

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

предусмотреть возможность прокладывать маршрут к выбранному клиенту как от текущего местоположения, так и от ближайшей к клиенту станции метро

предусмотреть возможность прикреплять к документу Наряд фотографии

Переходим к реализации задачи. Если вы еще ни разу не разрабатывали на мобильной платформе, но очень хотите, то вам для начала надо прочитать статью DirtiX: “Что такое мобильная платформа 1С и с чем ее едят?”//infostart.ru/public/242857/. Там есть все что нужно. Я остановлюсь только на некоторых, как мне кажется, важных моментах.

Для разработки и отладки ничего особенного не требуется! Запуск готового приложения на мобильном устройстве может происходить практически мгновенно после нажатия F7 в конфигураторе на вашем компе, если вы сделаете следующее:

на своем компе поднимете web-сервер и настроите публикацию мобильного приложения

установите и настроите на своем мобильном устройстве мобильную платформу (файл 1cem-arm.apk из дистрибутива мобильной платформы)

теперь из под оболочки мобильной платформы ваша конфигурация моментально скачивается с web-сервера, налету компилируется и запускается в пользовательском режиме, лепота!

Но если вы хотите массово тиражировать свое мобильное приложение, то вам придется его собирать с помощью мобильной платформы, предварительно установленной и настроенной на вашем компе (детали см со следующего параграфа). А если вы планируете периодически выпускать новые релизы и автоматически заливать их всем вашим пользователям, то вам не обойтись без службы Google Play. Про настройку Google Play рассказывать не буду, там все интуитивно понятно. Единственная сложность чисто психологическая - один раз заплатить Гуглу 30$ за неограниченную возможность выкладывать свои приложения и релизы к ним!

Я использовал дистрибутив мобильной платформы 8.3.4.14: http://downloads.v8.1c.ru/get/Info/mobile/8_3_4_14/mobile.zip. Из него разворачиваем конфигурацию “Сборщик мобильных приложений”
Прибыль + Затраты для УТ 10.3 1C: Предприятие 8.2

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

Отчет создан на базе Универсального отчета. Подходит для конфигурации УТ 10.3. Просьба сильно не ругать за оформление. Это моя первая публикация.

Стоимость берется из регистра Продажи, Себестоимость из регистра ПродажиСебестоимость.

Валовая = Продажи - Себестоимость

Затраты берутся из регистра Затраты (документ Прочие затраты)

Чистая прибыль = Валовая прибыль - Затраты.

У отчета можно настроить различные отборы, например, по подразделению.
Внешняя печатная форма с Макетом Договора (MS WORD) для документа ЗаказКлиента УТ11, УТ+CRM 8.2 8.3 УФ 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

ВПФ создавалась для документа ЗаказКлиента для УТ 11 файловой и клиент-серверной версии.

Прошла тестирование в облаке Рарус.

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

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

Параметры заполняемые из документа обозначены в шаблоне символом @ в начале и конце
Материальный отчет (МХ-20) Бухгалтерия 3.0 Не имеет значения

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

Отчет о движении товарно-материальных ценностей в местах хранения (МХ-20) для бухгалтерии 3.0. Тестировался на версии 3.0.75.58 Отчет в разрезе 10, 41, 43, 003, МЦ.02, МЦ.03, МЦ.04 и др. счетов, где есть субконто есть субконто Номенклатура и Склад. Возможен вывод отчета в разрезе документов. Доступен выбор списка счетов; склад и организация не обязательные параметры. 

В шапке отчета заполняется материально-ответственное лицо(берется из поля "Ответственное лицо" склада).

В подвале заполняется поле "Отчет проверил и принял бухгалтер" ФИО гл. бухгалтера организации

Отчет можно добавить в Дополнительные отчеты и обработки(Администрирование - Дополнительные отчеты и обработки - Загрузить из Файла(выбрать скачанный файл) - Указать раздел размещения

Обновление от 13.0
Книга учета доходов и расходов в виде журнала документов. 1C: Предприятие 8.2

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

Вот, сегодня сделал для главбуха небольшую обработку... Удивился, счастья у главбуха было, ка будто за нее весь годовой отчет сделали :)

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

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

За код прошу сильно не пинать, делалась на колене в течении часа. Код простой, удобоваримый, можно корректировать на свой вкус.
Акт сверки взаиморасчетов для 1С:Розница (ред.2.0) - управляемое приложение Платформа 1С v8.x (все механизмы)

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

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

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

Основана полностью на //infostart.ru/public/249410/ , добавлен учет документов "Безналичная оплата" и изменен расчет начального и конечного сальдо (берется из регистра).
Корректировка Взаиморасчетов Работников Организации 1C: Предприятие 8.2

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

Обработки для обычного приложения.

Я 2 раза сталкивался с бардаком в регистрах "Взаиморасчеты работников организаций" и "Зарплата за месяц работников организаций" в связи с тем, что в измерениях регистра дата, которая не контролируется. Потом бухгалтера плачут, не могу норально ЗП выдать.

Вот вам простое и легкое решение за 2 минуты - свернуть оба регистра!

Работает через документ "Корректировка записей регистров".

Для УПП и для ЗУП (там по разному документы называются).

По 2 обработки для каждой конфигурации: "Корректировка Взаиморасчетов Работников Организаций" и "Корректировка зарплата за месяц работников организации".

4 обработки всего в одном архиве.

 

Описание в обработке присутствует. Но там очень все просто и наглядно.
HTML редактор для 1С (1С HTML IDE) 1C: Предприятие 8.2, 1С: Предприятие 8.3

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

ВНИАМНИЕ! не нашел необходимого пункта в характеристиках публикации.

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




История версий

0.2

-- первая опубликованная

0.3

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

0.4 

-- Исправлены ошибки.
-- Поле результата обновляется при изменении в любом из полей настроек.
-- Добавлено копирование строк в дереве блоков.

0.5

-- Исправлены ошибки распознавания файлов.
-- Неиспользуемые стили сохраняются закомментированными.

 

0.6

-- Скорректированы обработчики обновления результата. Срабатывало не всегда. 

-- Наведен порядок в функциях.

-- Добавлено копирование классов с сохранением настроек стиля применительно к новому классу.
-- Добавлены обработчики событий onCick.
-- Закомментированные стили теперь загружаются.

0.7

-- Исправлены выявленные ошибки

-- Релиз адаптирован для работы в немодальном режиме

-- Тестировалось только на платформе 8.3.5

 

Ждите релиз 0.8:

-- работа с даными 1с без динамического формирования кода HTML

-- отображение картинок без сохранения картинки в файл

-- сохранение и восстановление обработчиков нажатия кнопок и гиперссылок на языке 1с.

Естественно, разработанный интерфейс необходимо наполнить списками с даными, а для кнопок добавить обработчики событий, поэтому просто HTML-редактор не даст конечного результата. Однако его использование позволит значительно сократить трудозатраты.




Разработка рассчитана на div-верстку и использование таблиц стилей.

Основной объект - это дерево блоков div, где корневым элементом выступает body (хоть это и не div, но хранится все в одном дереве).

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

 

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

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

 

Особенность первого релиза - регистрозависимость. Что бы добавить описание ранее созданного класса к новому div пишите имя класса в том же регистре, что и ранее.

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

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




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

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

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

ВНИМАНИЕ! Гарантировать, что можно распознать любую веб-страничку я не буду .

Планы по развитию инструмента:

Копирование и перенос строк дерева
Выгружать свойства закомментированными, если снята галка в стилях
Добавить отключаемые классы
Добавить отключаемые ветки дерева
Контроль уникальности id

Добавить таблицу цветов

Подмена путей к картинкам
Копировать наборы стилей в новый класс
Упрощение подбора свойств

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

Выделение текущего блока на результирующей страничке с целью оценить его положение (если границ не видно - полезная опция).

Выбор цвета из таблиц веб-цветов.

Хочу сделать встроенный набор элементов управления в стиле 1с: кнопки, закладки и проч...

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

 
Внешняя печатная форма М-11 для требования-накладной с итогом (БП 3.0) 1С: Предприятие 8.3

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

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

В файле содержатся все данные для автоматического прикрепления к документу. Нужно просто нажать кнопку "Создать..." - "Загрузить из файла..." и выбрать скачанный файл.

В документе "Требование-накладная" в пункте "Печать" появится форма М1
Отчет по плановым назначениям и принятым обязательствам для БГУ 1.0 Платформа 1С v8.x (все механизмы)

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

Отчет показывает суммы плановых назначений и принятых обязательств в разрезе статей, контрагентов и договоров. Анализируются данные, внесенные документами "Плановые назначения" и "Принятое обязательство" за выбранный период.  Тестировано на БГУ
Рассылка счетов, актов и счетов-фактур для БП 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

Печатные формы прилагаю. Некоторые были скачаны с этого сайта. В них добавляли печати и подписи, сейчас они удалены, можете вставить свои.  Сами формы тоже можно использовать свои - поменять названия форм, команд и макетов в тексте обработки.

Можно делать замечания по тексту программы, только осваиваю УФ.

 

Версия 2:

- исправлена ошибка, при заполнении следующей строки не очищался е-майл;

- переработано заполнение, учтено что у одного контрагента может быть несколько счетов, реализаций и счетов-фактур, счет и реализация группируются в одну строку по дате или по подчинению, счет-фактура по подчинению с реализацией.

- добавлена возможность ручной сортировки.

 

Версия 3:

- заполнение Основной организации и системной учетной записи при открытии;

- добавлен журнал рассылки, хранящийся в XML файле в папке базы.

 

Версия 4:

- исправлен блок отправки почты для работы с конфигурациями от 3.0.30 (где новая БСП). Старый код для младших конфигураций закомментирован и оставлен.

- исправлено получение е-майла контрагента на более корректно работающее в новых конфигурациях.

 

Версия 5:

Исправлены печатные формы для новых конфигураций. Исправлена небольшая ошибка в обработке.

 

Версия 6:

Добавлен отбор по виду документов (Счет, Акт, Счет-фактура) и по списку контрагентов (групп и элементов).

 

Версия 7:

Адаптировано под БП 3.0.39.53 и выше.

 

Версия 8:

Адаптировано под БП включая 3.0.4
Отчет П-4 для ЗБУ Платформа 1С v8.x (все механизмы)

Краткое описание

Позволяет формировать за период по заданному списку учреждений данные, необходимые для формирования отчета П-4.

Добавлен отчет с расшифровкой.

Особенность: сумма берется по видам расчета, у которых на закладке статистика указано значение (т.е. не установлено Не учитывать)
Консоль запросов, СКД, ADODB. Управляемое приложение. Управляемые формы, Запросы, Система компоновки данных

Краткое описание

Что она умеет сейчас стандартного привычного и не совсем:

Запросы к внешним источникам, через ADODB провайдеры. Возможность простой и гибкой настройки выполнения и передачи хранимых неименованных параметров.
Конструктор запроса в Тонком клиенте (ТОЛЬКО для платформы 8.3.5.х)
Конструктор "Схемы компоновки данных", вывод в таблицу, дерево, табличный документ.
Возможность создавать произвольные, настраиваемые обработчики расшифровки (см. скриншоты).
Создавать динамические элементы интерфейса для вывода результата
Возможность вывода отдельных элементов результата пакета и временных таблиц
Вывод данных замеров времени выполнения пакета и вывода результата (мс, с, мин)
Возможность в параметры подгружать внешние таблицы значений.
Возможность сохранять результат в таблицы значений.
Возможность обработки результата по произвольному алгоритму.
Копировать оформленный под использование в тексте модуля текст запроса в буфер обмена
Регистрироваться в справочник "ДополнительныеОбработкиИОтчеты" конфигураций основанных на БСП и в самой БСП.
Прочие обычные для стандартной консоли запросов мелочи.

Приветствуются все замечания, конструктивная критика, пожелания и т. д. 

Приветсвуется активное клонирование и развитие обработки (может чего подгляжу и честно стырю).

Пользуйтесь наздоровье.




 

Changelog:

 

Ver 3.3

-- В механизм запросов через ADODB добавлена возможность работы с Excel

-- В механизм работы с СКД добавлена возможность подгружать сериализованные таблицы значений в качестве объектов в наборы данных

-- Прочие мелкие багфиксы и улучшения




Changelog:

Ver 3.1


-- Реализован механизм запросов к внешним источникам, через ADODB провайдеры. Пока тестировалось только с MS SQL.

-- Мелкие улучшения.

 

Ver 3.0


-- Реализована полноценная работа с СКД (можно использовать как консоль отчетов), только в толстом клиенте.

-- Добавлен тип результата "Табличный документ"

-- Реализован механизм "произвольных", хранимых в настройке запроса/отчета отбрработчиков расшифровки, в которые передаются значения полей расшифровки в виде готовой структуры значений полей (см. скриншот)

-- Оптимизирован и переделан интерфейс формы

-- В поле текста алгоритма обработчика добавлена возможность вставки шаблонов кода (см. скриншот). Шаблоны настраиваются в макете обработки.

-- Убраны баги связанные с применением обработки НЕ на БСП-основанных конфигурациях

-- Убраны баги связанные с использованием в тонком клиенте (в тонком клиенте работает только как консоль запросов)

-- Прочие багфиксы и мелкие улучшения

Ver 2.3

-- Добавлен тип настройки "Система компоновки" с возможностью настроки компоновки данных

и вывода результата в таблицу и дерево.

Ver 2.0

-- Убраны все модальные вызовы.

-- Мелкие исправления.
NetNative: ВК для работы с сетью Платформа 1С v8.x (все механизмы)

Краткое описание

Настоящая ВК является немного урезанной версией ВК, работающей в нашем холдинге в базе 1С в связке со специальными службами, установленными на каждом из компьютеров холдинга (в первую очередь используется для подачи команд службам).

Написана по технологии Native, т.е. не требует регистрации в реестре и особых прав пользователя.

В архиве находится файл тестовой базы 1Cv8.1CD, собственно файл ВК NetNative.dll и пара внешних тестовых обработок.

Поключение ВК: 

ПодключитьВнешнююКомпоненту(ПолноеИмяФайлаВК,"NetNative",AddInType.Native);

Создание экземпляра класса:

Сеть =    Новый("AddIn.NetNative.V8Net"); // слева - любая глобальная переменная

МЕТОДЫ ВК:

UDP_Создать(НомерПорта), например: 

СлушаемПорт=Сеть.UDP_Создать(10000);

Ставит UDP-порт на прослушивание.

При получении входящего UDP-сообщения генерирует внешнее событие "UDP_READ",

данные - текст сообщения.

Возвращает номер порта на прослушивании.

Очень важные нюансы:

На одном компьютере невозможно подключить на прослушивание один и тот же порт из разных экземпляров одной и той же программы или разных программ. Поэтому был доработан модуль IdSocketHandle таким образом, чтобы не генерировалось исключение, а занимался следующий по порядку свободный порт. Т.е. при попытке занять уже занятый порт 10000, на прослушивание встанет ближайший по порядку свободный, например, 10001, который и вернет метод UDP_Создать.

Вышеизложенное несколько усложняет создание UDP-чата при использовании на терминале, или при запуске некольких копий 1С на отдельном компьютере. В тестовой базе применен туповато-лобовой вариант: создан справочник СетевыеПользователи, каждому пользователю назначен свой стартовый порт, с интервалом 10 от предыдущего.

Таким образом, для каждого пользователя существут возможность запуска до 10 копий 1С на одном компьютере.

При отсылке UDP-сообщения методом UDP_Сообщение (см. ниже), сообщение посылается на все 10 возможных портов.

Другие варианты обхода проблемы занятых портов: "разруливающая" база на 1С, или "разруливающая" программа с компонентом TIdUDPServer.

UDP_Сообщение (ТекстСообщения,НомерПорта,Компьютер)

ТекстСообщения Компьютер - строки, НомерПорта - число.

Компьютер - Имя или IP, необязательный, если пусто - широковещательное сообщение по всем компьютерам подсети.

Нюанс - при посылке широковещательного сообщения его получат только компьютеры той подсети, где расположен посылающий компьютер,

например, получат компьютеры подсети 192.168.100.ХХХ, и не получат компьютеры подсети 192.168.200.ХХХ.

Поэтому лучше указывать конкретный Компьютер.

IP2Name(IP) - возвращает имя компьютера по IP-адресу.

Name2IP(Имя) - возвращает IP-адрес по имени компьютера.

Пинг(Компьютер,ИнтервалОжидания) - возвращает Истина или Ложь.

Компьютер - имя или IP-адрес, строка

ИнтервалОжидания - число, мс, необязательный, по умолчанию 2500

СетевойПользователь() - возвращает сетевое (не 1С-кое) имя пользователя.

ШифроватьСтроку(Строка), ДешифроватьСтроку(Строка) - возвращает соответственно зашифрованную и расшифрованную строки. Значение одной и той же шифрованной строки всегда различно, дешифровка - однозначна.

Примечание: в моей базе используется для шифрования UDP- команд службам (на всякий случай)

Задержка(Интервал), мс. - ненагружающая задержка выполнения.

Таймер(Интервал), мс. - устанавливает таймер.

При срабатывании таймер генерирует событие "MAIN_TIMER_EVENT"   

Свойство

ИнтервалТаймера - считывает/устанавливает интервал таймера

MD5Файла(ПолноеИмяФайла) - вычисляет MD5 содержимого указанного файла.

Примечание: я использую для определения изменился ли список всех файлов exe на компьютере с установленной службой.

БоковаяПанель(Ширина)

Устанавливает левую панель на MDI-окно. Только для толстого клиента. 

Следующие методы только для установленной в толстом клиенте боковой панели:

ДобавитьСтрокуВПанель(Строка) - добавляет строку в панель.

ОчиститьПанель() - очищает весь текст в панели.

Прогресс(Позиция) - устанавливает позицию прогресс-бара в боковой панели.

СохранитьСодержимоеПанели(ИмяФайлаДляСохранения) - сохраняет содержимое панели в указанный файл



Загрузка эквайринга 1C: Предприятие 8.2

Краткое описание

Обработка загружет из файла *.csv (в коде можно под любой заточить) отчет эквайера. Делалось под УПП. Цимус следующий: клиент платит пластиковой картой, делается документ "Оплата от покупателя пластиковой картой", при этом деньги еще не поступили на расчетный счет, они попали на р\с экваейра, документ делает движения (некий условный план счетов) Дт 57.1 - Кт 62.  Через несколько дней компания экваейр перечисляет деньги от ваших клиентов на ваш р\с, удерживая при этом комиссию (1,5-2%). Это отражается документом "Платежный ордер на поступлениие д\с). Документом отражается поступлнение денег на ваш р\с Дт 51 - Кт 57.1 на сумму платежа от клиента минус комиссия, и этим же документом комиссия банка попадает на затраты Дт91 - Кт57.1

 

Обработка загружает данные из файла компании экваейра и создает документы "Платежный ордер на поступление д\с"
Интерактивная работа с google maps Прокладка маршрута, рассчет расстояния. Управляемый интерфейс Платформа 1С v8.x (все механизмы)

Краткое описание

Описание предыдущей версии обработки Вы можете узнать на //infostart.ru/public/167919/.

Добавлено табличное поле, которое рассчитывает расстояние от выбранных точек.
Удобная отладка внешних печатных форм 1C: Предприятие 8.2

Краткое описание

Обработка может подключаться как внешняя через справочник внешних печатных форм.

В этом случае в документе при печати появляется новая форма.

Либо просто вызываться через меню "Файл" - "Открыть"

Порядок работы:

Консоль запросов DBF 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Иногда приходиться работать с файлами дбф, которые могут быть связаны между собой и с данными 1с. Для этой цели была написана данная обработка.

Реализованные возможности:

Просмотр структуры файла DBF;
Просмотр файлов DBF (просмотр временных таблиц);
Выгружать в таблицу значений только нужные поля DBF(когда есть необходимость работать с определенными полями DBF, чтобы не тянуть все поля в таблицу значений);
Формировать текст пакетного запроса по умолчанию из добавленных в список файлов DBF;
Приведение типов DBF к типу 1с (пока только к типу «Строка»);
Указывать в структуре псевдоним поля DBF, который затем будет использоваться в запросе;
Генерировать код на встроенном языке.




Изменено в версии 2.4 (28.09.2014):

– Добавлена возможность выбора кодировки(OEM/ANSI). По умолчанию: OEM.

– Добавлена возможность отладки запроса. Удобно использовать для переноса в консоль запросов DBF: запроса и его параметров (Пример).

– Добавлена возможность «Скопировать поле», когда необходимо в запросе использовать одновременно приведенный строковый тип и тип поля dbf (Пример).

– Добавлена возможность загружать файл dbf всегда при выполнении запроса. На форме списка файлов DBF в табличном поле добавлена колонка «Всегда загружать» (Всегда загружать:Да – файл DBF будет всегда загружаться во время выполнения запроса. Всегда загружать:Нет – файл DBF будет загружен только единожды, дальнейший вызов будет осуществляться из памяти).

– Добавлены проверки на корректность ввода имен файлов и полей dbf.

– Изменена структура сохранения файла запросов (*.sel). Данные файлов dbf теперь не хранятся в файле запросов. Старые файлы запросов поддерживаются новой версией.

– Исправлена ошибка при открытии файлов dbf, которые содержат memo поля (тип: М).

 

Порядок работы:

Нажмите на кнопку «Список файлов DBF». В данной форме необходимо указать пути к файлам DBF. Также можно воспользоваться фильтром для быстрого поиска файла DBF (когда количество файлов не один десяток, а мы знаем имя нужного нам файла, то можно сначала указать имя файла, а уже затем указывать путь к файлу);
Для любого выбранного файла нажимаем на кнопку «Структура DBF» (здесь можно указать видимые поля, псевдонимы и сделать приведение типов);
На форме «Список файлов DBF» нажимаем на кнопку «Текст запроса по умолчанию» для формирования пакетного запроса;
Дальнейшие действия, как и с обычной консолью запросов;
Для того чтобы сгенерировать код на встроенном языке необходимо нажать на кнопку «Генератор кода».

Чтобы запустить консоль запросов DBF в отладке необходимо в режиме конфигуратора:

Поставить точку останова с условием в коде;
Прописать в условии: ВнешниеОбработки.Создать("%ПолыйПутьКОбработке%").ОткрытьДляОтладки(Запрос);
Запустить отладку.

 

Хочу поблагодарить авторов, идеи которых использовались в данной обработке:

Полезные вкусняшки: Консоль запросов от GROOVY;
Универсальная консоль отчетов.

Найденные ошибки, замечания и пожелания приветствуются.

Обработка писалась для себя, но буду очень рад, если она кому-нибудь окажется полезной.
"" Учет деятельности микрофинансовой организации"

Краткое описание

Товаро-транспортная накладная (ТТН 2014) для Украины. Платформа 7.7 Платформа 1С v7.7 (все механизмы)

Краткое описание

Возможности внешней обработки:

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали 1C:Предприятие 8

Краткое описание

ВВЕДЕНИЕ

Отгрузка товаров и их оплата фиксируются в информационных базах соответственно времени самих событий в разное время разными документами и пользователями. Для того, чтобы правильно и быстро связывать документы оплаты с документами отгрузки требуется, кроме наличия достоверной информации об отношении оплаты к конкретным отгрузкам, еще высокая дисциплина работы клиентов и пользователей, хорошая организация работ, удобные инструменты автоматизации. Правильная информация, высокая дисциплина и хорошая организация  - эти звезды не часто сходятся вместе, что приводит к недостаточному порядку и высокой трудоемкости в учете взаиморасчетов.  В результате многие организации выбирают для себя более легкий путь – декларируют распределение поступающей оплаты по документам отгрузки правилом ФИФО, перекладывая, таким образом, задачу связывания оплат с отгрузками на программу.

В учетных системах правило ФИФО может  применяться в процессе проведения документов, который фиксирует результат распределения оплаты в информационной базе.  Это порождает проблему поддержания последовательности проведения документов. Поэтому часто бывают желательны более легкие (с точки зрения вмешательства в работу учетной системы) и быстрые (не требующие перепроведения документов) альтернативные решения. В отчетах по неоплаченным долгам такие альтернативные решения основаны на  динамическом распределении долга покупателя по документам отгрузки, то есть распределении, выполняемом непосредственно при построении управленческих отчетов.

Препятствием для широкого использования динамического определения неоплаченных долгов является медленная работа  известного алгоритма при работе с реляционными СУБД.  Это обусловлено расчетом нарастающего итога за время, пропорциональное квадрату числа документов в цепочке взаиморасчетов контрагента. Однако в работе «Баттерфляй – метод быстрого расчета нарастающего итога» было показано, что существуют алгоритмы, решающие эту задачу за линейное время.

Тем не менее, в данной работе предложен другой, отличный от «Баттерфляй»,  более простой и быстрый специализированный метод, нацеленный на конкретную задачу нахождения неоплаченных долгов. Метод основан на алгоритме бинарного поиска - дихотомии. Метод реализован одним пакетным запросом.

Предлагаемый алгоритм по своей схеме похож на «метод Больцано-Вейерштрасса», опубликованный "группой математиков" в 1938 году. В указанной работе рассматривалась задача поимки льва в пустыне. А суть метода заключалась в том, что пустыня перегораживалась решеткой пополам, потом   половина, где находится лев, снова делилась пополам и так до тех пор, пока лев не окажется в достаточно маленькой клетке. Эта известная шутка объясняет картинку в заголовке статьи.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Ключом к решению задачи определения неоплаченных долгов является нахождения момента Х – времени возникновения первого неоплаченного долга. Правило распределения оплат по дисциплине ФИФО говорит о том, что в последовательности упорядоченных по времени документов не могут чередоваться оплаченные и не оплаченные документы. Значит, обязательно существует секунда Х, ранее которой все документы оплачены, а после которой все документы не оплачены.

Чтобы найти искомую секунду Х, возьмем отрезок времени длиной в  536870912 (два в двадцать девятой степени) секунд и назовем его Шаг536870912. Будем считать, что отрезок заканчивается в текущей дате (моменте, на который строится отчет).  Она обозначена как «Край». Такое число секунд соответствует примерно семнадцати годам. Значит, начало отрезка придется на февраль 1997 года.

 Пусть текущий долг одного конкретного контрагента соответствует величине «Долг». Найдем сумму отгрузок «ПолуСумма»  этому контрагенту в правой половине исходного отрезка.  Правая половина имеет длину 268435456 секунд и оканчивается в конце шага.

Далее сравним величину долга с отгрузками в правой половине отрезка.

Для случая, когда текущий долг меньше или равен сумме отгрузок справа, делаем вывод, что точка Х находится в пределах правой половины отрезка. Поэтому просто уменьшим вдвое размер шага, оставив его конец на месте. И перейдем, таким образом, к шагу Шаг268435456 размером 268435456 секунд.

Для случая, когда текущий долг больше суммы отгрузок справа, делаем вывод, что точка Х находится в пределах левой половины отрезка. Поэтому делаем сдвиг - переносим конец шага на 268435456 секунд влево, также сокращая его размер вдвое, переходя к шагу Шаг268435456, но заканчивающемуся левее. При этом величину долга нужно сократить на найденную сумму отгрузок «ПолуСумма».

Повторив эту процедуру 29 раз, можно перейти к шагу Шаг1 длины 1, "край" которого равно искомому моменту Х.

Естественно, в запросе эта процедура выполняется для всех контрагентов сразу. Размер шага на каждой итерации для всех контрагентов является одинаковым, уникальны лишь величина долга и времеположение конца шага.

На фиг.1 приведена схема, иллюстрирующая начало работы  метода.

 

ОЦЕНКА ТРУДОЕМКОСТИ

Область поиска – 17 лет была задана изначально, поэтому затраты на реализацию схемы метода, которая сводится к переписыванию данных из одних небольших (по числу покупателей-должников) таблиц в другие с простейшими преобразованиями полей типа сравнения,  сложения и вычитания, будут небольшой величиной, линейно связанной с числом контрагентов-должников.

Другие затраты будут связаны с суммированием  отгрузок по документам. На первом шаге в среднем  будут суммироваться  1/2 всех документов, на втором  1/4, на третьем  1/8 и так далее. Сумма ряда ½ + ¼ + 1/8 + 1/16 + 1/32 и так далее  равна, как известно единице. Поэтому затраты времени на суммирование отгрузок будут пропорциональны числу документов, то есть  ЛИНЕЙНО зависеть  от их количества!   Так же ЛИНЕЙНО от числа документов будет зависеть и время работы всего метода. Это значит, что если учет в базе ведется 5 лет, а отчет по всем контрагентам работает 30 секунд, то через 5 лет на том же сервере отчет будет работать всего 60 секунд!

РЕАЛИЗАЦИЯ

Приведем запрос, решающий данную задачу.

ВЫБРАТЬ
Остатки.Организация,
Остатки.Контрагент,
Остатки.ДоговорКонтрагента,
&Дата КАК Край,
Остатки.СуммаВзаиморасчетовОстаток КАК Долг,
0 КАК ПолуСумма,
0 КАК Сдвиг
ПОМЕСТИТЬ Шаг536870912
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(ДОБАВИТЬКДАТЕ(&Дата, СЕКУНДА, 1), ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПокупателем)) КАК Остатки
ГДЕ
Остатки.СуммаВзаиморасчетовОстаток > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Обороты.ДоговорКонтрагента,
Обороты.Период КАК Период,
СУММА(Обороты.СуммаВзаиморасчетовОборот) КАК СуммаВзаиморасчетовОборот
ПОМЕСТИТЬ Обороты
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты( , &Дата, Регистратор, ДоговорКонтрагента В (ВЫБРАТЬ Шаг.ДоговорКонтрагента ИЗ Шаг536870912 КАК Шаг)) КАК Обороты
ГДЕ
Обороты.СуммаВзаиморасчетовОборот > 0

СГРУППИРОВАТЬ ПО
Обороты.ДоговорКонтрагента,
Обороты.Период

ИНДЕКСИРОВАТЬ ПО
Обороты.ДоговорКонтрагента,
Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Шаг.ДоговорКонтрагента,
Шаг.Край,
Шаг.Долг,
ЕСТЬNULL(СУММА(Обороты.СуммаВзаиморасчетовОборот), 0) КАК ПолуСумма,
ВЫБОР КОГДА Шаг.Долг > ЕСТЬNULL(СУММА(Обороты.СуммаВзаиморасчетовОборот), 0) ТОГДА -1 ИНАЧЕ 0 КОНЕЦ КАК Сдвиг
ПОМЕСТИТЬ Шаг268435456
ИЗ
(ВЫБРАТЬ
Шаг.ДоговорКонтрагента КАК ДоговорКонтрагента,
Шаг.Долг + Шаг.Сдвиг * Шаг.ПолуСумма КАК Долг,
ДОБАВИТЬКДАТЕ(Шаг.Край, СЕКУНДА, 536870912 * (Шаг.Сдвиг - 0.5) + 1) КАК Центр,
ДОБАВИТЬКДАТЕ(Шаг.Край, СЕКУНДА, 536870912 * Шаг.Сдвиг) КАК Край
ИЗ
Шаг536870912 КАК Шаг) КАК Шаг
ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
ПО Шаг.ДоговорКонтрагента = Обороты.ДоговорКонтрагента
И (Обороты.Период МЕЖДУ Шаг.Центр И Шаг.Край)

СГРУППИРОВАТЬ ПО
Шаг.ДоговорКонтрагента,
Шаг.Край,
Шаг.Долг
;
...
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Шаг.ДоговорКонтрагента,
Шаг.Край,
Шаг.Долг,
ЕСТЬNULL(СУММА(Обороты.СуммаВзаиморасчетовОборот), 0) КАК Сумма
ПОМЕСТИТЬ Шаг0
ИЗ
(ВЫБРАТЬ
Шаг.ДоговорКонтрагента КАК ДоговорКонтрагента,
Шаг.Долг + Шаг.Сдвиг * Шаг.ПолуСумма КАК Долг,
ДОБАВИТЬКДАТЕ(Шаг.Край, СЕКУНДА, Шаг.Сдвиг) КАК Край
ИЗ
Шаг1 КАК Шаг) КАК Шаг
ЛЕВОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
ПО Шаг.ДоговорКонтрагента = Обороты.ДоговорКонтрагента
И (Обороты.Период = Шаг.Край)

СГРУППИРОВАТЬ ПО
Шаг.ДоговорКонтрагента,
Шаг.Край,
Шаг.Долг
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Шаг.ДоговорКонтрагента.Организация КАК Организация,
Шаг.ДоговорКонтрагента.Владелец КАК Контрагент,
Шаг.ДоговорКонтрагента КАК ДоговорКонтрагента,
Обороты.Период КАК Период,
Обороты.Регистратор КАК Регистратор,
ВЫБОР
КОГДА Обороты.Период = Шаг.Край
ТОГДА Шаг.Долг * Обороты.СуммаВзаиморасчетовОборот / Шаг.Сумма
ИНАЧЕ Обороты.СуммаВзаиморасчетовОборот
КОНЕЦ КАК Долг,
РАЗНОСТЬДАТ(Обороты.Период, &Дата, ДЕНЬ) КАК Долгота
ИЗ
Шаг0 КАК Шаг
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты( , &Дата, Регистратор, ДоговорКонтрагента В (ВЫБРАТЬ Шаг.ДоговорКонтрагента ИЗ Шаг0 КАК Шаг)) КАК Обороты
ПО Шаг.ДоговорКонтрагента = Обороты.ДоговорКонтрагента
И Шаг.Край < = Обороты.Период
ГДЕ Обороты.СуммаВзаиморасчетовОборот > 0


В первом запросе пакета находится величина долга по каждому договору. Эта величина заносится в таблицу Шаг536870912. Во втором запросе пакета обороты отгрузок в разрезе договор+период по всем должникам переносятся во временную проиндексированную таблицу «Обороты». Далее запрос построен в точном соответствии с описанным алгоритмом и поэтому достаточно прозрачен. Поле «Сдвиг» отражает выбор того, в какую половину текущего интервала неопределенности нужно будет переходить на следующем шаге метода. Если Сдвиг равен -1, то производится смещение влево.

Для экономии места повторяющиеся  запросы пакета  после третьего сокращены - заменены многоточием.

Предпоследний запрос пакета имеет небольшие особенности, связанный с тем, что если в последний момент производился сдвиг влево, то оказываются неизвестными обороты в финальной точке.

В последнем запросе пакета на основе определенной секунды первой неоплаченной отгрузки выбираются все отгрузки с этой секунды.  Доля неоплаченных отгрузок первой секунды вычисляются в соответствии со сделанным далее замечанием.

ВАЖНОЕ ЗАМЕЧАНИЕ

В бочке меда достоинств данного метода есть одна ложка сахара. Метод не разделяет оплаченные и не оплаченные отгрузки по одному договору, если  они были выполнены в одну и ту же секунду Х.  Конечно, это очень редкая ситуация – несколько документов отгрузки одному  контрагенту, приходящиеся на одну и ту же единственную Х-секунду. Правило ФИФО ничего не говорит о порядке погашения этих документов. Поэтому логично включать в неоплаченные все такие отгрузки. При этом неоплаченной суммой каждой односекундной отгрузки предлагается считать одну и ту же долю суммы каждого документа.  То есть, если в одной секунде есть две отгрузки по 100 рублей, а текущий долг составляет 150 рублей, то обе эти отгрузки будут считаться не оплаченными на 75 рублей каждая. Это решение отличается от применяемого сейчас сомнительного приема, когда документы внутри одной секунды упорядочиваются по внутреннему идентификатору и таким образом погашаются в случайной последовательности.

Нужно сказать, что, кроме приведенного варианта записи запроса, было опробовано множество других вариантов. Например, варианты с более быстрым сужением интервала неопределенности за счет определения крайних документов в интервале поиска. Или варианты, пропускающие соединения с таблицей оборотов после достижения однозначности, варианты с хранением не только конца, но и начала шага. Однако оказалось, что есть неудобный случай (документы располагаются по степеням двойки), который всегда будет требовать всех 29-ти итераций. В результате существенного прироста скорости опробованные усложнения не принесли, поэтому был выбран самый простой вариант.

ПРАКТИЧЕСКОЕ БЫСТРОДЕЙСТВИЕ

Метод  демонстрирует хорошее практическое быстродействие. Пока не удалось найти случая (помогите!), чтобы время работы метода определения неоплаченных долгов по всем покупателям-должникам превышало 35 секунд (крупная торговая компания с документами в базе за 7 лет).

ЧАСТНЫЕ ВЫВОДЫ

Предложенный метод  очень универсален. Он берет информацию всего из одного  регистра. Меняя название этого регистра и условия выборки остатков и оборотов, можно легко настроить отчет на работу с самыми разными конфигурациями, быстрее, чем сейчас решать многие другие актуальные задачи. Например, строить отчеты по просроченным долгам (нужно добавить одно сравнение), кредиторской задолженности, остаткам партий товаров без ведения полноценного партионного учета и прочее.

 Метод не заменяет собой метод «Баттерфляй», который строит полный массив нарастающих итогов, что может пригодиться в соответствующих задачах.

Остается открытым вопрос сравнения быстродействия метода с «двухступенчатой СКД», где в СКД первой ступени постобработкой результатов запросов считается нарастающий итог, а во втором СКД отбираются неоплаченные отгрузки.  

ОБЩИЕ ВЫВОДЫ

Ключом к найденному решению была ее формулировка как задачи поиска определенного момента времени.  Поэтому нельзя жалеть времени на анализ и правильную формулировку исходной задачи. Нельзя забывать, что «хорошо поставленная задача уже наполовину решена».

Также нужно изучать и чаще вспоминать математику – ее методы универсальны и применимы при решении многих и очень разных проблем – от поимки львов в пустыне до управления дебиторской задолженностью!

НЕКОТОРЫЕ ССЫЛКИ

Тема реализации ФИФО достаточно популярна на Инфостарте. Из многих работ на эту тему хотелось бы  выделить Нарастающие итоги в запросе и методы ускорения его выполнения. Ее автор впервые упомянул термин «последовательное приближение», хотя, судя по описанию,  и ограничился в решении только сокращением объема группировок за счет их каскадирования (год – месяц - день). Стандартный метод описан в работе Дебиторка fifo по долгам контрагентов (УТ 10.3). Об актуальности задачи убедительно говорится в работе Отчет по дебиторской задолженности. Незаменим для компаний, реализующих товары с отсрочкой платежа и ведущих взаиморасчеты по договору "в целом". Метод ФИФО. Отсрочка платежа, сумма, дней просрочки. Дней средневзвешенное. Можно еще отметить недавнюю работу [УТ11] Дебиторка Фифо, вариант с внедрением нового регистра накопления (для значительного ускорения формирования отчета), которая подтолкнула данную публикацию, вызвав желания показать более легкий путь решения задачи. Ну и работу Просроченная дебиторская задолженность по датам без ведения учета по документам расчетов для УТ 10.3, в комментариях к которой есть слова "...мониторю различные ресурсы в надежде найти "третий вариант", но возможно его просто не существует в природе...", которые окончательно убедили заняться данной задачей. 

P.S.: По просьбе автора еще одной публикации, посвященной этой теме, добавлена ссылка: Универсальный отчет "[П]: Дебиторка & Кредиторка" [УТ, УПП, КА].
Форма Т-60 для ЗИК 1C: Предприятие 8.2

Краткое описание

Импортировано из ЗУП для ЗИК. Недостающие функции встроены в обработку. Предусмотрена авторегистрация документа Документы.НачислениеОтпускаРаботникамОрганизаци
"Внешняя обработка " Анализ конфигурации"

Краткое описание

Выгрузка файла по формату банка Уралсиб при зачислении зарплаты на пластиковые карты. 1C: Предприятие 8.2

Краткое описание

С помощью обработки формируется файл для зачисления зарплаты на зарплатные карты банка УралСиб. В форме обработки выбираем документ "Зарплата к выплате организаций", вводим значение кода организации (код присваивается банком)
Правила для переноса данных из УТ 11.1 в УНФ 1.4 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Производственное предприятие по ошибке начало эксплуатировать "1С:Управление торговлей 8" версии 1
Работа с ГУИД 1C:Предприятие 8

Краткое описание

 

                                               Обработка "Работа с ГУИД"

 

Обработка предназначена для:

1) определения уникальных идентификаторов (далее по тексту "ГУИД") для любых типов ссылок.

Для этого в табличном поле "Список" в колонке "Ссылка" нужно выбрать нужную ссылку:

 

2) определения вида метаданных, получения ГУИДа,

и получения ссылки по представлению битой ссылки вида "(153:9fbf485b393a35b411e1570e9a83073c)".

Для этого нужно ввести строку вида "(153:9fbf485b393a35b411e1570e9a83073c)" в колонке "Битая ссылка". 

 

По битой ссылке определить вид объекта и ссылку (если она существует) возможно, если битая ссылка взята из базы, так или иначе связанной с текущей базой (в которой пытаемся определить ссылку). Связь между базами означает, что эти базы обмениваются между собой объектами проверяемого типа или одна из баз является бэкапом другой. В противном случае внутренние представления типов объектов в двух разных, никак не связанных между собой базах скорее всего будут различны.

Иногда бывает нужно просто определить тип битой ссылки, в этом случае это без проблем можно сделать в той же самой базе, в которой находится битая ссылка.  Саму ссылку при этом, естественно, получить невозможно.

Есть возможность заполнения списка ссылок для определения GUID запросом. В тексте запроса поле ссылки, для которой должен быть определён GUID, должно иметь псевдоним "Ссылка".
Внешний отчет по движениям документа (управляемые формы, для ЗУП 3.0) Сложные периодические расчеты, Управляемые формы

Краткое описание

Сначала порыскал, что уже есть на Инфостарте:

В публикации //infostart.ru/public/256718/ на примере ЗУП 3 показано, как отобразить раздел Перейти в панели навигации, но этот способ удобен далеко не всегда.
Есть несколько готовых решений по просмотру движений для управляемых форм (//infostart.ru/public/75322/, //infostart.ru/public/75541/), но они подразумевают изменение конфигурации.  

Хотелось решение, которое одним махом охватывает все документы и не требует изменений в конфигурации. Разрабатывать что-то с нуля затратно, взял основу на обычных формах и доработал. Основа доступна здесь //infostart.ru/public/67094/ (тот же отчет можно скачать с http://1cskd.ru/2010/07/otchet-po-dvizheniyam-dokumenta/).

Сделано следующее:

добавлена управляемая форма
реализован вызов в качестве назначаемого отчета для всех документов конфигурации в горизонтальном и вертикальном вариантах
исправлена ошибка, которая возникала, если отчет вызывается для документа без движений

Тестировалось именно в ЗУПе 3, но по логике должен работать и в других конфигурациях, в которой вызов внешних обработок организован на основе БСП.

Краткая инструкция для новичков, не имеющих опыта работы в ЗУП 3 или других конфигурациях на Библиотеке стандартных подсистем:

Внешние отчеты подключаются через вкладку Администрирование (см. рисунок).
После подключения отчета во всех документах и их списках автоматически отобразится кнопка Отчеты, по нажатию которой отображается список зарегистрированных внешних отчетов. В этом списке доступны пункты Движения документа вертикально, Движения документа горизонтально (см. рисунок).
В отличие от старых конфигураций (таких как ЗУП 2.5), теперь можно вызывать отчет не только из формы документа, но и из списка.  Если в списке выделить нескольких документов одновременно, откроются раздельные окна отчета по числу выделенных документов.
Материальный отчет по складу для БП 3.0 с детализацией по документам движений и листом шапки (почти М-19) 1С: Предприятие 8.3

Краткое описание

Строится по остаткам и оборотам субконто "Номенклатура" на счете 10, 41, 43. По указанному при формировании отчета складу. 

В отчете только количественные данные, без суммовых (то ли провел бухгалтер корректировку списания номенклатуры, то ли не провел, сумма может стать другой, а количество уже не изменится)

У отчета есть шапка. Заполняется ответственными лицами склада и организации. Все. Работает для базовой, КОРП и ПРОФ версий БП.

UPD 2019_12 : за основу отчета была взята форма их кассовой книги, пришлось обновить для новой кассовой книги, раньше выбиралось , какой лист печатать, теперь все в одном табличном документе выводится.

UPD 2020_03 : исправлено для 3.0.76.67
Подсистема работы с веб-сервисами 1C: Предприятие 8.2

Краткое описание

Подсистема позволяет универсально работать со сторонними опубликованными веб-сервисами (т.е. не переделывать каждый раз методы, если поменялись аргументы, их тип, состав, порядок), позволяет читать устройство веб-сервиса вплоть до структуры конкретных XDTO-объектов, наглядно просматривать входные и выходные параметры, обрабатывать результатные выборки. Можно использовать и для работы в роли провайдера. Предусмотрено несколько наиболее распространённых способов авторизации (уже на уровне установленного сеанса и прокси). Предложена универсальная кодификация ошибок и показ диагностики обмена. В общих модулях - множество "полезняшек" для работы с веб-сервисами, xml и xdto. Большинство функций, процедур и объектов снабжено описаниями. Весь интерфейс на УФ, рассчитанных на тонкий клиент 8.2.19.

Выложено во многом потому, что обещал тут //infostart.ru/public/259849/, что выложу. Если в процессе выдирания "с мясом" нечто оказалось утеряно, пожалуйста, пишите, буду оперативно докидывать.  Дальнейшие пояснения - в ходе ответов на конкретные вопросы, т.к. вещь узкоспециальная и не очень нужная (поэтому, собсно, в Life). 

 

 
"Печать договора поставки из справочника ""Договоры контрагентов"" для УТ 11" 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма для справочника "Договоры контрагентов". Позволяет печатать договор поставки с контрагентом.

Проверил на релизе ERP 2.2.3.300, 2.4.
Конструктор спецификаций 1C: Предприятие 8.2

Краткое описание

Добавила Дату утверждения и поправила печатные формы
Проверка шаблонов ограничений (RLS для 1С 8.2-8.3) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Все вы, наверное знакомы с RLS (ограничения на уровне записей), но не многие смогут с лёгкостью написать свой шаблон и ограничения по нему, а тем более разобраться в чужих.

Эта обработка позволяет ввести текст шаблона ограничения и текст ограничения доступа для определённой таблицы и на выходе получить готовый запрос и его параметры, который в последствии легко отладить в такой обработке, как "Консоль запросов".

Эта обработка будет полезна как для программистов, для отладки собственных ограничений, так и администраторам, которым может понадобится для определения причины недоступности тех или иных данных у конкретных пользователей.

 

Исправлено:

Указывается #ИмяТекущейТаблицы, #ИмяТекущегоПраваДоступа
Выполняется инструкция СтрСодержит()

Выявленные ошибки:

Пока таковых нет
"КО-1 и КО-2 для документов " Приходный кассовый ордер"

Краткое описание

Расчетная ведомость организации + Взносы ПФР Платформа 1С v8.x (все механизмы)

Краткое описание

Внешний отчет "Расчетная ведомость организации + Взносы ПФР" в разрезе сотрудников и подразделений.

На основе типового отчета  "Расчетная ведомость организации".

Добавлен вывод в отчет начисленных взносов:


ФСС, соц.страхование
ФФОМС

ПФР на ОПС
Страховые взносы (2013)
ФСС, несчастные случаи Накопительные взносы (2013)
Валовая прибыль с выводом цен закупки, цен продажи и наценки для УТП ред. 1.2 Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет предназначен для анализа валовой прибыли , полученной при продаже товаров, за определенный период времени.

В СТАНДАРТНОМ  отчете выводится количество проданных товаров, сумма продаж, себестоимость продаж и сумма прибыли, полученной при продаже товаров.

ПОСЛЕ моих изменений  отчет формирует и выводит цену закупки, цену продажи и считает наценку. Казалось бы ерунда, но возможно кому то пригодится.
Форма ПД-4 для бухгалтерии 3.0 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма "Квитанция/Извещение ПД-4" для документов "Счет на оплату покупателей" и "Реализация товаров и услуг", поддерживается групповая печать документов.
Полезные примеры составления схемы компоновки данных 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Оглавление
Посчитать разницу с предыдущей записью
Поместить таблицу значений в ячейку табличного документа
Пронумеровать колонки
Чередование групп с выделением цветом
Остатки в разрезе характеристик. Характеристики в строку с количеством в скобках
Соединить две таблицы с ключом Строка = Число
Сортировка по строке как по числу
 
Посчитать разницу с предыдущей записью

Пример того как можно получить поля предыдущей записи в группировке и не только. Удобно для вычисления разницы значений предыдущей цены и текущей.

Автор данного вопроса хотел посчитать отклонение текущей цены от предыдущей. Мое решение выглядит так:

Суть решения заключается в использовании функции языка выражений СКД ВычислитьВыражение() в добавленном вычисляемом поле, которое я назвал Дельта. У функции следующие параметры:

Параметры:

Выражение. Тип Строка;
Группировка. Тип Строка;
ТипРасчета. Тип Строка;
Начало. Строка, содержащая одно из вариантов;
Конец. Строка, содержащая одно из вариантов;
Сортировка. Строка;
ИерархическаяСортировка;
ОбработкаОдинаковыхЗначенийПорядка

Нас интересует 4 и 5 параметр (Начало и Конец). Выражение будет выглядеть следующим образом:

isNULL((ВЫЧИСЛИТЬВЫРАЖЕНИЕ("Цена", , , "Предыдущая", "Предыдущая") - Цена), 0)

- здесь вычисляем предыдущее значение поля Цена и из него вычитаем текущее значение поля Цена. Естественно, для первой записи предыдущее значение не будет вычислено и результат вычитания со значением текущего поля будет Null, поэтому что бы все было «чисто» используем функцию isNULL(естьNull), чтобы преобразовать Null в число ноль.

 
Поместить таблицу значений в ячейку табличного документа

Иногда бывает необходимо поместить табличную часть документа или данные, которые представляют собой строки табличной части в одну ячейку табличного документа, например так:

 

Для этого необходимо воспользоваться функцией: ВычислитьВыражениеСГруппировкойТаблицаЗначений(), у которой есть параметры:

Выражение - выражение, которое нужно вычислить. Тип Строка. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: "Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж".
ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь";
ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".

Для этого создаем вычисляемое поле, в которое будем выводить получившуюся таблицу, затем помещаем это поле в ресурсы с выражением

ВычислитьВыражениеСГруппировкойТаблицаЗначений("Номенклатура, Количество")

 
Пронумеровать колонки

Пример того как можно пронумеровать колонки в СКД.

Обсуждалось здесь: http://forum.infostart.ru/forum26/topic88579/

Суть решения:

Создаем запрос, в котором нумеруем строки результата запроса в пределах определенного подчинения
Выводим результат в кросс-таблицу

ВАЖНО!

После того как строки в запросе пронумерованы их необходимо поместить в ВТ и потом из этой ВТ выбирать, иначе СКД сделает все по-своему и в группировку попадут не те поля

 

Для того чтобы получить результат необходимо создать:

Изменение границы последовательности документов УПП 1.3 без перепроведения документов. 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Для пользователя 1С: Управление производственным предприятием, редакция
"Отчет ""Анализ состояния налогового учета по УСН"" с расшифровкой услуг сторонних организаций по документам расчетов" 1С: Предприятие 8.3

Краткое описание

Внешний отчет, Управляемые формы.

Для того, чтобы появилась расшифровка. Необходимо открыть раздел "Услуги сторонних организаций", далее открыть форму настройки схемы.

В ней поставить галочку над строкой группировки "Регистратор".

Нажать "ОК".

Чтобы настройка вступила в силу, необходимо переоткрыть "Услуги сторонних организаций".

Подробности на картинках.
Специалист по Платформе 8.3 - билеты на интерфейсе Такси 1С: Предприятие 8.3

Краткое описание

Согласно информационному письму №18017 от 1
Распаковка регламентированной отчетности 1с 7.7 Платформа 1С v7.7 (все механизмы)

Краткое описание

Позволяет одним кликом, из поставляемого фирмой 1с дистрибутива регламентированной отчетности, получить готовую папку отчетности (без использования самой платформы 1с 7.7)

В папку дистрибутива регламентированной отчетности копируем и запускаем скрипт следующего содержания:

BUH.EXE
del *.ert
del *.tif
dir /B *.exe > exe.txt
@FOR /F %%i in (exe.txt) do del RPLIST.TXT & %%i
del *.exe
del exe.txt

Скрипт распаковывает файлы отчетности и удаляет исходники. В результате получаем готовую папку регламентированной отчетности которую переименовываем по шаблону RpГГqК.grp (ГГ-две последние цифры года, К-цифра квартала) и помещаем в ExtForms базы 1c. Экономит много времени, т.к распаковывает буквально за пару секунд. Публикуемый файл скрипта run.cmd
Уведомления о событиях для пользователей и партнеров (1.2.1) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Директ Маркетинг Базовая поставка 3 мес.  3 мес.  2.3.1 

7788 руб.
6620 руб.
Директ Маркетинг Проф (включен сервис сбора статистики) 3 мес.  3 мес.  2.3.1 

20388 руб.
17330 руб.
Директ Маркетинг Расширенная поставка (включена настройка 3 рассылок по сценариям Заказчика) 3 мес.  3 мес.  2.3.1 

29988 руб.
25490 руб.
Настройка 3 рассылок 1 неделя 

9990 руб.
Итого:
0 руб
"Внешняя печатная форма ТТН для БП 3.0 Управляемая приложение (Товарно-транспортная накладная (1-Т) Транспортная накладная (Приложение № 4). Сохранение Водителей. Заполнение возможных реквизитов."

Краткое описание

Загрузка данных из табличного документа (управляемые формы) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Описание:

Загрузка данных из табличного документа для управляемых форм.

Создана на основе стандартной обработки для толстого клиента.

Возможности все те же, за исключением сохранения настроек в базе - настройки можно сохранить только в файл.

Писал для себя, но может ещё кому поможет.

3
Доплаты за фактически отработанное время 1C: Предприятие 8.2

Краткое описание

Данная обработка позволяет рассчитывать сумму различных доплат за фактически отработанное время. 

Отработанное время можно указывать как в часах, так и в днях. Расчет по часам выполняется по стандартной формуле:

                Результат = Отраб. часы * Оклад /Норма часов * Процент * Коэфф. повышения + доплата за выслугу;

Расчет по дням выполняется по аналогичной формуле:

                Результат = Оклад/Норма дней * Отраб. дней * Процент * Коэфф. повышения+ доплата за выслугу;

Если колонку Процент не заполнять, то по умолчанию в ней значение = 100%, а Коэффициент = 1; Процент за выслугу определяется автоматически по Шкале стажа.

Суть этого Калькулятора заключается в том, что кроме расчета суммы доплат, есть возможность сразу же загрузить результаты расчета в Документ "Регистрация разовых начислений".

Эта обработка может работать как в Бюджетной зарплате, так и в ЗУП 2.5

P.S. Если не устраивают формулы расчета или еще что-либо, код обработки открыт и можно подкорректировать под себя.
UE: Copy/Paste через буфер обмена Windows справочников, документов и др. ссылочных объектов между идентичными конфигурациями Платформа 1С v8.x (все механизмы)

Краткое описание

ДОБАВИЛ БЕЗЛИМИТНУЮ ЛИЦЕНЗИЮ
Новая версия UE дает возможность использовать буфер обмена по вашему усмотрению.

В новой версии UE (3.1) реализована работа с буфером обмена Windows. Для этого реализовано 2 метода

ПоместитьДанныеВБуферОбмена(Данные, ФорматДанных)
ПолучитьДанныеИзБуфераОбмена(ФорматДанных)

Процедура ПоместитьДанныеВБуферОбмена принимает 2 параметра:

Данные (тип строка) - данные для помещения в буфер обмена.
ФорматДанных (тип строка) - произвольный строковый идентификатор имени формата данных. Используется для того, чтобы в последствии получить помещенные данные из буфера.
Функция ПолучитьДанныеИзБуфераОбмена принимает один параметр - ФорматДанных (тип строка). Используется для получения из буфера данных, помещенных в него предыдущим методом.
 
Оба этих метода определены в форме UE. Доступ к ним из расширения осуществляется ч/з переменную "ВладелецФормы".
Пример:
ВладелецФормы.ПоместитьДанныеВБуферОбмена(ПолучитьСерелизованныйМассивXMLДанныхОбъектов(ВыделенныеСтроки),"XML_Data (Серелиз массив)");
XML_Data = ВладелецФормы.ПолучитьДанныеИзБуфераОбмена("XML_Data (Серелиз массив)"); 
 
В примере показано, как данные (строковые данные) помещаются в буфер, и как их из буфера получить.
 
Если UE не нашел данных в буфере запрашиваемого формата, то функция возвращает пустую строку.
 
Функционал представленного расширения

В архиве лежит обработка Universal Extensions v3.1, изначатьный состав которой (описан в главной статье) расширен новым Расширением Расширение_БуферОбменаWin.

В нем реализовано 2 команды:

Copy

 

 

Данная команда помещает выделенные объекты в ввиде XML в буфер обмена

Paste (после вставки надо немного подождать, чтоб данные внеслись в базу, и обновить список :-) )

 

 

Копирование в буфер возможно как из списка объектов, в котором в ВыделенныеСтроки находятся ссылки, так и непосредственно из открытой формы объекта (копирование одиночного объекта).

Реализация очень простая. Заняла не более 1 часа.

Жду Ваших комментариев и предложений.

PS: на примере копирование происходит в УТ11 на платформе 8.2, а вставка на копии этой базы (до добавления 2-х новых заказов), но уже на платформе 8.3 
Автоматическая установка себестоимости номенклатуры для конфигурации Розница 2.0 (2.1) +Бонус, исправляем ошибки при настройке расписания запуска для внешних обработок в Рознице 2.0 1C: Предприятие 8.2

Краткое описание

Идея по созданию обработки возникла после того, как клиент попросил разобраться с нулевой себестоимостью в отчете Оценка валовой прибыли.
Себестоимость номенклатуры в конфигурации Розница 2.0 (2.1) хранится в регистре сведений Себестоимость номенклатуры, регистраторами данного регистра являются следующие виды документов:
1) ВводНачальныхОстатковУзла
2) КорректировкаРегистров
3) ПоступлениеТоваров
4) УстановкаСебестоимости


Суть проблемы: Товар А поступает в Магазин А, через некоторое время по причине плохих продаж или ряда других причин Товар А перемещают в Магазин Б, при этом количество по регистрам остатков двигается верно, но себестоимость не передается из Магазина А в Магазин Б. В случае, если Товар А никогда ранее не поступал в Магазин Б (документом Поступление товаров, либо себестоимость не регистрировалась одниим из видов регистраторов указаных выше)  себестоимость для данного товара будет равна нулю при формирования отчета Оценка валовой прибыли. Та же проблема возникает в случае инвентаризации, когда оприходуют товар.

Принцип работы обработки: Анализируются продажи на наличие нулевой себестоимости по алгоритму взятому из отчета Оценка валовой прибыли. Если найдена продажа по нулевой себестоимости, то ищется ближайший к ней документ поступления на другой магазин и в случае нахождения такового создаются документы Установка себестоимости и помещаются в начало дня документа продажи.

Обработка содержит 3 команды:
1) Установить себестоимость. Позволяет задать расписание выполнения команды. При выполнении данной команды анализ продаж формируется за текущий день. Важно! Если у вас типовая конфигурация и вы не желаете снимать ее с поддержки, то работать по расписанию внешнюю обработку заставить не удастся, до момента выхода обновления конфигурации. Возможно, в Розница 2.1 это исправлено. Если только программно создать регламентное задание...
2) Установить себестоимость (без открытия формы обработки).  Команда может быть открыта пользователям для ручного запуска формирования себестоимости. При выполнении данной команды анализ продаж формируется за текущий день
3) Установить себестоимость (открыть форму обработки). Команда открывает форму обработки, где можно указать произвольный период анализа продаж.

Сделал я обработку, в интерактивном режиме все работает, но радоваться было рано. Пытаюсь настроить расписание работы. Сохраняю обработку, открываю ее, а расписание не сохраняется и соответственно регламентное задание не создается. Пришлось взять конфигурацию БСП версии 2.
Установка скидки для БП 2.0 1C: Предприятие 8.2

Краткое описание

Обработка "Установка скидки для БП 2.0"

Писалась под конкретнгого клиента, поэтому есть некоторые нюансы в реализации (например, ограниченный диапазон указания % скидки). Корректно работает в конфигурации "Бухгалтерия предприятия ред. 2.0". Учитывает все типы валют, все варианты учета НДС (например, когда Сумма вкл. НДС).

Обработку можно подключить к конфигурации через стандартный механизм внешних обработок.

Принцип работы:

Правила обмена ТиС 9.2 --> БП 3.0 1С:Оперативный учет 7.7, 1С: Предприятие 8.3

Краткое описание

Удалил несуществующие объекты метаданных, процедура ПолучитьСуммуДокументаСНДС была перенесена в другой модуль, везде заменил наименование модуля. В стандартных правилах обмена неправильно вызываются процедуры заполнения счетов в документах или используются несуществующие процедуры в БП 3.0 (например глЗначениеПеременной).

Файл, как обычно, нужно поместить в каталог \ExtForms информационной базы.
Шаблон отчета на СКД для обычных и управляемых форм 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Шаблон отчета на СКД для обычных и управляемых форм, с расширенным функционалом.

Скомпонован с использованием решений, опубликованных на Инфостарте.

Как база было взято решение //infostart.ru/public/137460/, за механизм отображения/скрытия параметров, отбора, заголовка.

Дополнительно добавлено (с небольшой оптимизацией - проверки и т.д.)

Печать заголовков колонок на каждой странице отчета. Спасибо //infostart.ru/public/148387/
Выбор из стандартных предустановленных вариантов компоновки отчета.

Эта кнопка открывает сформированный отчет (табличный документ) в Microsoft Office Excel или Open Office Calc, т.е. в программе, которая ассоциирована для файлов с расширением .xls. Спасибо //infostart.ru/public/103905/

Группа кнопок для управления Периодом. "Выбор периода...", "Предыдущий месяц", "Текущий месяц" и "Следующий месяц". Спасибо //infostart.ru/public/103905/
Добавил нормальное сохранение-восстановление
Суммирование ячеек в отчете, скрин 7
Доработал таки управляемую форму, скрин 8
Доработал регистрацию
Сменил пример запроса для совместимости со всеми конфигурациями
Исправил замеченные шероховатости при скрыть-показать в отчете, поменял вывод кнопок на УФ, сменил версию
Исправил замечания о выборе периода на УФ (не модально), добавил примеры работы с параметрами
В примере добавил работу с таблицей значений
В управляемой форме добавил примеры вызова как встроенного, так и внешнего (искать ВыводОтчета)
Исправил замеченные шероховатости
В УФ появились таки кнопки управления уровнями группировки, полностью по аналогии с обычным приложением, по этому поводу переделал пример запроса и компоновки

Для использования шаблона, вставьте свой макет СКД и назначьте его основным (или поменяйте запрос и настройку компоновки).

Для того чтобы, для различных отчетов созданных на основании данного шаблона, настройки были независимы и не путались - необходимо скопировать - вставить основную форму отчета, назначить новую основной,  старую удалить, убрать 1 в имени.
Данные действия изменят внутренний ID формы. Сохраненные настройки привязываются к отчету по данному ID.
Универсальный обмен данными в формате XML 8.3 (2.1.8) с отбором по организации Платформа 1С v8.x (все механизмы)

Краткое описание

Проставить часы для выслуги лет в РСВ-1( с 2014 года) для ЗКБУ 8 и ЗУП 8 1C: Предприятие 8.2

Краткое описание

Обработка табличной части проставляет часы выслуги лет для стажа для отчетности РСВ-
Удобное хранение форматированного текста Платформа 1С v8.x (все механизмы)

Краткое описание

Введение

Данная статья описывает хранение форматированного текста с картинками в обычном текстовом поле.

1С учетная система построенная на таблицах, в которых удобно хранить текст и числа, но не очень удобно хранить форматированное описание.

Мы для учета задач реализовали удобное хранение описания в 1С в формате HTML. В платформе есть объект Форматированный документ, но хранить его можно только в поле хранилище значений. Также мы внедрим картинки в HTML. Для внедрения картинок воспользуемся кодированием данных в base64 и внедрением их в текст HTML http://ru.wikipedia.org/wiki/Data:_URL

Дальнейшее описание актуально для управляемых форм.

Создаем структуру данных.

В базе для хранения описания добавляем текстовое поле неограниченной длины.В нём описание в формате HTML. Для примера назовём его ОписаниеHTML.

Настраиваем форму

На форме добавляем реквизит ФорматированныйДокумент с типом ФорматированныйДокумент. Хотя хранение и подразумевается в формате HTML, но редактировать удобнее в специализированной форме.

У реквизита ФорматированныйДокумент устанавиваем флаг “Сохраняемые данные” - чтобы платформа при закрытии предлагала сохранить изменения.

Добавляем элемент формы связанный с реквизитом ФорматированныйДокумент

Добавляем командную панель и связываем её с ФорматированнымДокументом

Пишем код

Для ФорматированногоДокумента пропишем процедуру “ПриИзменении” - нам нужно сохранить все изменения в текстовое поле. Кроме того - нам нужно встроить картинки в HTML.

&НаКлиенте
Процедура ФорматированныйДокументПриИзменении(Элемент)

лкТекстHTML = "";
лкВложения = Новый Структура;

ФорматированныйДокумент.ПолучитьHTML(лкТекстHTML, лкВложения);
Для каждого лкВложение Из лкВложения Цикл

лкТекстHTML = СтрЗаменить(лкТекстHTML, "
"

КонецЦикла;

Объект.ОписаниеHTML = лкТекстHTML;

КонецПроцедуры


Для загрузки в форматированный документ данных при открытии из HTML напишем процедуру

&НаСервере
Процедура УстановитьHTMLвФорматированныйДокумент(Знач пТекстHTML)

лкВложения = Новый Структура;
лкПрефикс = "


Пока Найти(пТекстHTML, лкПрефикс) > 0 Цикл

лкНачалоКартинки = Найти(пТекстHTML, лкПрефикс) + СтрДлина(лкПрефикс);
лкBase64ДанныеКартинки = Сред(пТекстHTML, лкНачалоКартинки);
лкBase64ДанныеКартинки = Лев(лкBase64ДанныеКартинки, Найти(лкBase64ДанныеКартинки, "'") - 1);

лкКодСоответствия = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
лкКартинка = Новый Картинка(Base64Значение(лкBase64ДанныеКартинки));
лкВложения.Вставить(лкКодСоответствия, лкКартинка);

пТекстHTML = СтрЗаменить(пТекстHTML, лкПрефикс + лкBase64ДанныеКартинки + "'",
"


КонецЦикла;

ФорматированныйДокумент.УстановитьHTML(пТекстHTML, лкВложения);

КонецПроцедуры


 

И вызов процедуры ПриСозданииНаСервере

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьHTMLвФорматированныйДокумент(Объект.ОписаниеHTML);
КонецПроцедуры


 

Известные баги

Вывод в поле HTML документа в windows осуществляется через Internet Explorer, который официально не поддерживает вставку изображений более 80 кб. По факту работает.

Метод ПолучитьHTML добавляет в стили overflow:hidden. Что приводит к невозможности прокрутить данные в поле HTML документа. Лечится просто - СтрЗаменить(ОписаниеHTML,”overflow:hidden”, “”). В 8.3 это исправлено.

Таблиц нет.

Оформление вложенных списков ломается при вызове УстановитьHTML

Картинки из буфера обмена не вставляются.

Вопросы производительности

В нашей базе данный механизм используется для хранения задач и загрузки писем из почты по техподдержке. Форма с 20 скриншотами работает быстро. Можно дополнительно обсуждать вопрос занимаемого места, но при нашем количестве данных перенос вложенных изображений в отдельное хранилище не имеет смысла.

Итак, что у нас получилось

В поле ОписаниеHTML у нас хранится как форматированное описание, так и картинка, при этом если нам нужен только просмотр - нам даже нет необходимости загружать данные в форматированный документ - достаточно просто для поля ОписаниеHTML на управляемой форме указать вид - Поле HTML документа. Также при необходимости можно легко сохранить данные в HTML и передать в другую систему.

Что можно сделать ещё

Ещё к этому можно добавить систему комментирования с отображением комментариев единым списком.

А ещё можно сделать вставки JavaScript в 1С.

 
Специалист по Платформе 8.2. Все решенные задачи сборника+ все решенные билеты Платформа 1С v8.x (все механизмы)

Краткое описание

Подготовка к экзамену 1С Специалист по платформе 8.x очень тяжелый процесс. Поэтому,чтобы сэкономить хоть немного времени - любая информация является бесценной. У самого подготовка заняла 4 месяца. 

В архиве:
Решения 166 задач из сборника + решения 15 Билетов(которые выложены на сайте Павла Чистова).

Оперативный учет:
Внешняя печатная форма счет-фактура для Бухгалтерия Предприятия 3.0.33 Бухгалтерский учет

Краткое описание

скачивал другие - работают только при печати из документа счет - фактура. пришлось немного переделать для печати из документа "Реализация товаров и услуг" Стандартная.
Торг-12 за поставщика для 1С Бухгалтерия 3.0 1С: Предприятие 8.3

Краткое описание

Добавлено заполнение полей фамилий директора и главного бухгалтера из дополнительных строковых реквизитов контрагента (ФИОДиректора и ФИОБухгалтера).
Товарный отчет для Розницы 2 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Рабочий Товарный отчет для Розницы 2.0 Учитывает установку цен в магазине.
Выгрузка в перечень льготных профессий 2014 Платформа 1С v8.x (все механизмы)

Краткое описание

Сделал на основании обработки "Выгрузка в перечень льготных профессий версии
"БП 3.0 Заполнение документа ""Требование-накладная"" остатками ТМЦ на выбранном складе" 1С: Предприятие 8.3

Краткое описание

Заполнение документа "Требование-накладная" остатками ТМЦ а так же заполнение по счетам на выбранном складе переделано в виде расширения,
обновлена под новый релиз конфигурации 3.0.65.x
+ – Ответить
Сводный Акт инвентаризации расчетов контрагентов для 1С8.3 Бухгалтерия 3.0 1С: Предприятие 8.3

Краткое описание

Данная обработка формирует дебиторскую и кредиторскую задолженность, на основании документа "Акт инвентаризации расчетов" в сводном виде. Очень удобно, когда по одному контрагенту висит дебиторская и кредиторская задолженность.
Проверки и исправления учета для правильного формирования книги покупок и книги продаж для Бухгалтерии 3.0 и Бухгалтерии 2.0 1С: Предприятие 8.3

Краткое описание

Проверки и исправления учета.

Рекомендуется использовать ПЕРЕД закрытием периода и ПЕРЕД формированием НДС с авансов полученных. Проверку для НДС с авансов выполненных автоматизировать «затруднительно», т.к. не со всех выданных авансов можно взять НДС к вычету (необходимо, чтобы с поставщиком был соответствующий договор, получить счет-фактуру и т.д.).

Обработка предназначена для проверки и исправления (путем перепроведения проблемных документов) оборотов и остатков по счетам 60 и 62, корректность начисления и вычета НДС с авансов полученных, а также соответствие оборотов книги покупок/продаж счету 68.02.

Можно проверить наличие не помеченных на удаление непроведенных документов (Закладка"Непроведенные реализации"). Документы просто выводятся в отчет, автоматического проведения не предусмотрено.

В обработке реализовано семь видов проверок:

Остатки отпусков по рабочим годам с детализацией по месяцу и году регистрации (ЗУП 2.5, УПП 1.3) 1C: Предприятие 8.2

Краткое описание

План-фактный анализ продаж Платформа 1С v8.x (все механизмы)

Краткое описание

Вверху указывается базовый период и его продолжительность. Внизу указывается:

1) Период планирования

2) Эталонный (базовый) период

3) Сравниваемый период

Позволяет проводить анализ за произвольный период, например за неделю (необходимо указать соответствующий интервал и периодичность = 7).
StartManager 1.4 - Развитие альтернативного стартера 1C:Предприятие 7.7, 1C:Предприятие 8

Краткое описание

Кратко о назначении

Основное назначение StartManager
Отчет по продажам для конфигурации Альфа-Авто: Автосалон+Автосервис+Автозапчасти 5 1C: Предприятие 8.2

Краткое описание

Данный отчет строится за определенный период времени с возможностью выбора подразделения организации и  вида операции по реализации запасных частей.

 

Запасные части в конфигурации Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5 могут быть реализованы  с помощью документа "Чек", документа "Реализация товаров" и могут быть переданы в производство с помошью документа "Заказ-наряд".В связи с этим в отчете есть возможность отфильтровать выводимые  данные по какому - либо виду операции. Для этого в поле "Вид оперции" задаем нужный параметр, если же нужно увидеть данные по всем операциям, оставляем поле незаплненным.

Далее формируем отчет:

Отчет выводится в свернутом по подразделениям виде. Для просмотра данных по реализации конкретных запасных частей разворачиваем группировки:

Небольшое уточнение по типам цен: "Цена продажи" - это цена, за которую фактически был продан товар.

"Розничная цена" - предопределенный элемент справочика "Типы цен", в конфигураторе "ОсновнойТипЦенПродажи". Значение цены зависит от того, в какой момент времени был продан товар.

Графа "Отклонение" показывает, насколько цена, по которой фактически был продан товар отличается от розничной цены, установленной на данный товар в момент его продажи. Если отклонение обусловлено наличем скидки, то в ячейке по отклонению появляется примечание с указанием размера скидки.

Расшифровка ячеек колонок "Количество (Продажа)", "Сумма (Продажи)" "Цена продажи" открывает документ, по которому товар был реализован. Расшифровка ячеек колонок "Себестоимость (Сумма)" и "Себестоимость за еденицу" откроет документ поступления данного товара. Расшифровка ячеек колонки "Розничная цена" открывает таблицу цен товара на момент его реализации".

 Таким образом, отчет дает возможность проанализировать маржинальность продаж, отклонение от установленных розничных цен, наличие скидок при продажах в разрезе производимых операций (Ремонт автомобилей, розничные продажи запасных частей, оптовые продажи запасных частей
[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С:Предприятие с возможностью чтения таблиц Платформа 1С v8.x (все механизмы)

Краткое описание

Предупреждения, отказ от ответственности:
Разработчик данной обработки не может нести и не несет ответственность за любой ущерб, полученный при использовании данного программного продукта. Рекомендуется использование этого программного продукта на копиях баз.

Сначала благодарности:

В первую очередь выражаю огромную благодарность Валерию Агееву (awa) - автору статей о формате файлов 1CD и утилиты Tool_1CD.

Также выражаю благодарность andrewks за статьи о восстановлении работоспособности файловой базы, которые помогли глубже разобраться со структурой файлов 1CD.

Благодарю Алексея Ермилова (Alex_E) за помощь в создании обработки.

Также благодарю Андрея Лукина за внешнюю компоненту для работы с deflate.

 

Функционал:

Просмотр базы 1CD из любой другой конфигурации на управляемых формах (работает в "Такси")
Поддержка форматов 8.2.14.0 и 8.3.8.0.
Просмотр общей информации о таблицах базы (описание, размер записи, данные, BLOB, индексы и т.д.)
Просмотр общей информации о полях таблицы (тип, длина, NULL и т.д.)
Просмотр записей таблиц
Работа с полями BLOB:
просмотр в 16-ричном виде
просмотр в виде текста (используется ВК для распаковки deflate)
сохранение значения поля BLOB в файл
Возможность выгружать файлы таблицы: Файл данных, Файл BLOB, Файл индексов
16-ричный вьюер страниц базы
Консоль кода 1С (КК) для вывода любой необходимой информации
Для записи в базу можно использовать скрипты на языке 1С в консоли кода. Для этого есть функция постраничной записи База1С_ЗаписатьСтраницыПоНомеру(...)

Для чего можно использовать:

Изучение физического представления базы
Выгрузка данных на низком уровне
Навигация по поврежденным базам (с ограничениями) для выявления повреждений. С помощью этой обработки были выявлены дефекты 3 "битых" баз, 2 из них полностью восстановлены. Для выявления дефектов писались скрипты для консоли кода, исправления вносились через сторонний 16-ричный редактор.
Можно рассматривать как пример работы с бинарными данными (функции обработки можно использовать для любых других файлов, например, для графических или звуковых)

Особенности работы:
Само двоичное чтение осуществляет ActiveX "SAPI.spFileStream", установленный практически в любой Windows, дальше идет работа средствами языка 1С через COMSafeArray. Кому интересно, простой пример работы из 1С с этим ActiveX - http://forum330.com/forum/86/all Документация - http://msdn.microsoft.com/en-us/library/ms722561%28v=vs.85%29.aspx

Интерфейс:
Почти весь функционал этой обработки был написан в рамках рабочей задачи, которая не требовала интерфейса. В итоге для этой обработки интерфейс был просто "прикручен" и дописано немного функций, а чтобы не изобретать велосипед, интерфейс был сделан похожим на интерфейс утилиты Tool_1C, автором которой является awa, без поддержки функций записи в базу из интерфейса.

 

Информация о таблице:

Информация о полях таблицы:

Операции над файлами таблицы:


Просмотр записей таблиц:

 При чтении данных таблицы добавляются поля, начинающиеся с префикса "B1C_". В поле "B1CD_Deleted" записывается признак удаленной записи (для записи, помещенной в таблице на удаление, устанавливается ИСТИНА).

Для полей типа BINARY выводится строка вида #BLOB,<Тип>,<БЛОКНАЧАЛА>,<РАЗМЕР>. Например, #BLOB,I,1,19024.




 

 

16-ричный просмотр страниц базы:

Консоль кода (КК):

Обработка содержит примеры скриптов. Вот, например, простой скрипт для получения DBNames из таблицы PARAMS:


лДатаС = ТекущаяДата();
лИмяТаблицы = "PARAMS";
лТекТаб = КК_ПолучитьСтруктуруТвблицыПоИмени (лИмяТаблицы);

мсЗаписи = Х1С_Б1СД_ПолучитьЗаписиТаблицы (лИмяТаблицы,,,,,3,Истина);
лСтрокаБлоб = "";
Для Каждого цЗапись Из мсЗаписи Цикл
Если цЗапись["FILENAME"] = "DBNames" Тогда
лСтрокаБлоб = цЗапись["BINARYDATA"];
Прервать;
КонецЕсли;
КонецЦикла;

стрБлоб = База1С_ПолучитьСтруктуруBLOBИзСтроки (лСтрокаБлоб);
хБуфер = База1С_ПолучитьДанныеБлоб (лТекТаб.ФайлБлоб, стрБлоб.НомерБлока, стрБлоб.Размер);

лТекст = База1С_РаспаковатьБуфер (хБуфер);
КонсольКода_ОкноОтладки = лТекст;

лСекунд = ТекущаяДата() - лДатаС;
Сообщить("Выполнено за (сек): "+лСекунд);


 

 

Ограничения и работоспособность:

Версии до 2.0 тестировались на Windows 8 (32 bit) и на релизе платформы 8.3.5.1119.

Версия 2.0 тестировалась на Windows 10 Home (64 bit) и на релизе платформы 8.3.14.1630.

На данный момент не на все варианты повреждений файла 1CD есть проверка, этот функционал планируется доработать в будущем.

Планы по развитию функционала:

Сделать возможность редактирования страниц базы в 16-ричном режиме;

Для чтения двоичных данных использовать БуферДвоичныхДанных вместо компонент ActiveX;

Автоматическое выявление некоторых повреждений баз;

Работа с базой в "Режиме поврежденной базы";

Запись в базу ранее выгруженных и измененных данных;

Жду содержательных комментариев и замечаний по обработке.

История версий:

0.0.2.8a от 02.10.2014 Первая публичная версия (альфа)

0.0.3.0a от 24.0
Внешняя обработка TRANSFER7782U Версия 2.07 Перенос данных из 1C Предприятие 7.7 в 1С Предприятие 8.2 (8.3) (Обычное и управляемое приложение) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Доступны следующие виды переноса:

перенос элементов и групп справочников или документов или значений перечислений 1С Предприятие 7.7 в справочники 1С Предприятие 8.2/8.3 с сохранением иерархии и подчиненности;
перенос документов 1С Предприятие 7.7 в документы 1С Предприятие 8.2/8.3 с возможностью переноса проводок из документа 1С Предприятие 7.7  и создания движений по регистрам сведений и накопления на основании реквизитов документов;
перенос констант 1С Предприятие 7.7 в константы 1С Предприятие 8.2/8.3; 
перенос периодических констант и периодических реквизитов справочников 1С Предприятие 7.7 в регистры сведений 1С Предприятие 8.2/8.3; 
перенос остатков и оборотов регистров оперативного учета 1С Предприятие 7.7 в регистры накопления 1С Предприятие 8.2/8.3; 
перенос бухгалтерских остатков и проводок бухгалтерского учета 1С Предприятие 7.7 в регистры бухгалтерии 1С Предприятие 8.2/8.3.
перенос записей журнала расчетов 1С Предприятие 7.7 в регистры расчета 1С Предприятие 8.2/8.3.  

Правила переноса определяются интерактивно. В правилах переноса доступно использование выражений, содержащих значения реквизитов 1С Предприятие 7.7. Выражения строятся по правилам 1С Предприятия 8.2/8.3. В них могут быть использованы функции общих модулей 1С Предприятия 8.2/8.3, доступные на клиенте или на сервере соответственно выбранному виду выражения. Реализовано преобразование разных типов значений 1С Предприятие 7.7 в разные типы значений 1С Предприятие 8.2/8.3, например, строковый реквизит документа Предприятие1С 7.7 может быть преобразован в реквизит с типом "Перечисление" 1С Предприятие 8.2/8.3. Для 1С Предприятие 8.2 поддерживаются реквизиты следующих типов: строка, число, булево, счет плана счетов, справочник, документ, перечисление.

Настройки и правила переноса могут быть сохранены в хранилище или выгружены в файл.
Openconf upd. 2014 Платформа 1С v7.7 (все механизмы), OpenConf, Оперативный учет 7.7, Бухгалтерский учет 7.7, Расчет 7.7

Краткое описание

Сборка основана на публикации OpenConf Light Pack.
Основные источники: 
Форум 1С++
Серый форум
Гугл, инфостарт и конечно-же миста =)

! Для корректной работы может потребоваться обновление Windows Script Host. Например для устаревших версий ОС (Windows 2000; Windows 98; Windows ME; Windows NT).

Список изменений: 
Все скрипты/плагины/ВК перебрал, для каждого искал новую версию. Перечень скриптов занес в xls-файл, где указал версию, дату изменения, автора и краткое описание. Файл лежит в каталоге openconf, в папке "DOC". Я заметил что не все скрипты присутствуют в ночных сборках (это же касается и плагинов), поэтому подумал что неплохо будет выложить подобный список: если кто-то увидит, что есть версия старше - скажите, перезалью. 
В скриншотах, приложенных к публикации находятся перечни ВК (папка "dll"), плагинов и скриптов с датами изменения и номерами версий. Скриншот с скриптами, чтобы был читаемый пришлось обрезать: оставил только те, у которых в описании указан номер версии.
 
Немного переработал состав als-файлов: все, что касалось 1С++ объединил в один файл, и удалил те, которые генерировались автоматически (кому надо будет - сам сгенерит). Список рубрик, которые дополнительно появились в СП :



 
Сделал то, до чего руки не доходили два года =) TLS-файл с подсказками для бух. итогов и операций. Делал с помощью программы xml2tls.exe и скрипта als2xml.js. Теперь работа с этими объектами выглядит вот так:






 
Еще по-мелочи:
 - В процессе "сборки сборки" все readme, которые я находил, скидывал в папку "DOC";
 - Добавлен скрипт "SQL intellicense", для любителей прямых запросов. Скрипт не срабатывает после точки, я повесил его на хоткей Alt+Q;
 - Добавлен плагин Visual 1C++
 - Удален HistoryPlugin - конфликтовал либо с KbdProcs, либо с FdSubst - было год назад, не вспомню. Вылетал конфигуратор.
 - Есть косяк c вот этим очень удобным скриптом (хоткей Alt+F7): выбор типа не работает при разработке интерфейса (им. в виду редактирование меню/панелей инструментов ) - выходит ошибка, после этого перестают работать все скрипты, приходится перезапускать конфигуратор, для любых других элементов диалога все нормально. 

Файл "Установка.doc" - незначительно переписан с учетом изменений. Обновлены разделы про установку, плагины, скрипты и хоткеи.
Приятной работы =)

upd. 16.05.2018: чтобы не повторилась история с удалением архива антивирусом, я поставил на него пароль "123". Перед помещением проверил касперским - вирусов нет.
"Выгрузка и загрузка справочника ""Физические лица"" из ЗБУ 1С 8 в БГУ 1" 1C:Предприятие 8

Краткое описание

В информационной базе ЗБУ открываем обработку "Выгрузка сотрудников". Указываем файл, в который сохраним данные.

В БГУ открываем обработку "Загрузка сотрудников". Указываем путь к файлу выгрузки, а также папки в справочнике Сотрудники и Контрагенты, куда хотим записать новые элементы (если ничего не указано, то загрузятся данные в корневой каталог).

Данные обработки можно запускать с некоторой периодичностью. В больших организациях это достаточно актуально, поскольку бухгалтер материальной группы, готовя инвентаризацию, может не знать, что подотчетное лицо перевели на другую должность, в другое подразделение и т.д. С помощью данных обработок в БГУ всегда будет актуальная информация.
Универсальная загрузка табличных данных из файла Microsoft Excel 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Благодаря этой обработке процедура загрузки из файла .xls прайс-листа в справочник «Номенклатура» в УТ 11 или заполнение дней рождения сотрудников в ЗУП 3 становится по зубам даже абсолютному новичку в 1С!

Природа не терпит пустоты - когда в информационной базе 1С есть незаполненные справочники, а в Excel-евских таблицах хранятся полезные данные, последние так и просятся быть импортированными в 1С. Большей конкретики с данной обработкой вам не понадобится. Никаких больше «Написать обработку загрузки хитровывернутого реестра из Excel в 1С»! Пусть пользователь сам обозначит область, откуда брать, укажет место, куда грузить, и в качестве конечного результата получит набор данных в своей базе.

Внешняя обработка «Загрузка табличных данных из файла Microsoft Excel» осуществляет чтение произвольного набора данных с любого листа книги Excel, сопоставляет его с данными любого объекта метаданных информационной базы 1С вида «Справочник» или «Документ», и создаёт на его основе новые элементы или обновляет существующие. Также, в качестве бонуса, реализована функция пакетного извлечения изображений, хранящихся в файле Excel.

Программные требования:
• 1C: Предприятие 8 (Управляемый режим)
• Microsoft Office 2003

 

Попробуем загрузить официальный прайс-лист 1С в демонстрационную базу «Управление торговлей 11».

Первым делом добавим обработку в список Дополнительных отчетов и обработок (раздел Администрирование).

Работа начинается с выбора файла PRICE_1C.XLS.

Выбираем лист, с которого необходимо загрузить данные. Если потребуются данные нескольких листов, загрузить их можно будет поочередно, сперва пройдя все этапы для одного листа, а потом вернувшись к началу и выбрав следующий лист.

Программа автоматически определила, что полезная информация на выбранном листе начинается с 5-й строки, и отметила за пользователя галочками, какие именно колонки следует загрузить. Если она ошиблась, пользователь должен самостоятельно задать номер строки, содержащей шапку таблицы.

Выбираем объект базы данных, куда будем загружать данные (по умолчанию это справочник Номенклатура), и заводим соответствия: из колонки Код данные грузить в реквизит Код, из Наименование – в Наименование, и т.д. В качестве недокументированного бонуса в программе реализована загрузка цен номенклатуры для УТ 1
"Правила обмена ТиС 9.2 (7.70.977) -> БП 3.0 (3.0.30.16)"

Краткое описание

"Подбор номенклатуры (Бухгалтерия 3.0 3.х

Краткое описание

"Изучаем 1С Предприятие 8.3 на примере построения простой конфигурации (или как ""айтишник"" 1С осваивал). Часть 1." 1С: Предприятие 8.3

Краткое описание

Построена простая конфигурация учета движения картриджей для лазерной техники в организации с использованием платформы 1С Предприятие 8.3 и интерфейса "Такси". Учитывается движение каждого картриджа (покупка, заправка, восстановление, ремонт, установка в принтер и пр.) и расход средств по каждому картриджу. Основная цель - освоить разработку приложений на базе платформы 1С Предприятие 8.3 на примере построения работоспособного и полезного приложения.

     Я программист со стажем, но 1С серьезно раньше не занимался . Чтобы совместить приятное (знакомство с  1С Предприятие 8.3 ) с полезным  (работу никто не отменял)  попробуем  построить работоспособную  конфигурацию  с использованием  возможностей новой версии . Может быть процесс разработки конфигурации будет для кого-то полезным и поможет начинающим  освоить  1С.

      Работаю в отделе IT  крупной организации с большим количеством лазерных принтеров и МФУ.  Учет движения картриджей для них является актуальной задачей и требованием руководства. 

 Постановка задачи.

 Заправка тонером, восстановление, ремонт  картриджей осуществляется сторонней организацией.  Необходимо  учитывать движение каждого картриджа , то есть покупку, заправку тонером ,  восстановление, ремонт, установку в конкретный принтер (МФУ), текущее местоположение, списание и пр.  Кроме того надо учитывать затраты по каждому картриджу (расходы на покупку , заправку тонером и пр. в разрезе поставщиков).  

Понятное дело - нужны какие-то  отчеты . Само собой для юзеров все должно быть как можно проще  и  понятней.

План  реализации.

Используем платформу 1С Предприятие 8.3  как самую современную на текущий момент.

Для освоения платформы постараемся использовать как можно больше  различных объектов конфигурации и , естественно, новый интерфейс «Такси» . Постараемся давать объектам понятные и близкие к функциональному назначению имена. Не будем пока касаться «тонких» моментов работы  1С , как-то оптимизация клиент-серверного взаимодействия, распределения ролей и пр.

Предположим для начала, что в нашей  конфигурации будут следующие объекты :

Справочники :

         НоменклатураКартриджей

         Картриджи

         НоменклатураКартриджейЦены

         Принтеры

         Номенклатура Принтеров

         Поставщики

Документы :

         ПоступлениеКартриджей

         ЗаменаКартриджа

         СписаниеКартриджей

Перечисления:

         ДаНет

         СостояниеКартриджей

         ПричиныЗаменыКартриджей

Регистры сведений :

         КартриджиЗамена

Регистры накоплений :

         КартриджиОплата

 

Алгоритм работы.

Основным  «действующим лицом» является список имеющихся картриджей (Справочник Картриджи).  Изначально список заполняется документом  ПоступлениеКартриджей. Тип картриджей определяется по справочнику НоменклатураКартриджей.  При покупке картриджа значение реквизит Состояние в документе выбирается как Новый. Цена покупки определяется по справочнику НоменклатураКартриджейЦены на текущую дату .   Уникальность картриджа определяется его серийным номером (реквизит СерийныйНомер). Реквизит Местоположение определяется как «Склад».

Учет заправок, восстановления, ремонта и пр.  существующих уже картриджей осуществляется   также документом    ПоступлениеКартриджей.  Тип картриджей определяется по справочнику НоменклатураКартриджей.  Состояние картриджа определяется из перечисления СостояниеКартриджей. Цена работы (заправка, восстановление) определяется по справочнику НоменклатураКартриджейЦены. Уникальность картриджа определяется его серийным номером (реквизит СерийныйНомер).

При проведении документа ПоступлениеКартриджей  в табличную часть ЗаменаКартриджей справочника Картриджи  добавляется строка с реквизитами текущего документа и у соответствующих картриджей (с  серийным номером из документа) в справочнике Картриджи меняется значение реквизитов  Состояние и Местоположение.

Кроме того, в регистр накоплений  КартриджиОплата заносится движение по данному документу.

 Учет замены  картриджа в конкретном принтере (справочник Принтеры) осуществляется   документом ЗаменаКартриджа. В документе указывается текущий принтер. Уникальность принтера определяется реквизитом СерийныйНомер. Указывается  устанавливаемый и заменяемый картридж (серийные номера картриджей).

При проведении документа ЗаменаКартриджа в табличной части справочника Принтеры у текущего принтера добавляется строка с реквизитами документа  и изменяется реквизит Картридж.  В справочнике Картриджи у текущих картриджей меняется значение реквизитов Состояние и Местоположение. Для установленного картриджа в реквизите Местоположение прописывается текущий принтер, а у снятого картриджа  - «Склад».

Кроме того, в регистр КартриджиЗамена  заносится движение по данному документу.

Списание картриджей осуществляется отдельным документом СписаниеКартриджей.

Таким образом , в текущий момент времени в справочнике Картриджи каждый картридж имеет вполне определенное состояние (новый, заправленный, пустой и пр.)  и  определенное местоположение («Склад» или конкретный принтер), что путем несложных отчетов позволяет оценить наличие  картриджей  с заданным состоянием и сделать вывод о необходимости покупки, заправки и пр. Ну и учесть расходы естественно.

Реализация.

Приступим собственно к конфигурированию.

Создадим пустую базу в конфигураторе, назовем ее гордо «Айтишник» и организуем подсистему Учет картриджей.  Не буду описывать по шагам, как это сделать, поскольку по данному вопросу книг  хватает. 

Сначала добавим перечисления : ДаНет, СостояниеКартриджей и ПричиныЗаменыКартриджей , которые нам понадобятся в дальнейшем.  Состав перечислений виден на Рис.2

Сконфигурируем  простые справочники  НоменклатураКартриджей  и НоменклатураПринтеров.

Реквизиту ТипКартриджа в справочнике НоменклатураПринтеров присвоим тип ссылка на справочник НоменклатураКартриджей ( Рис.3 ).  Не забываем, что все сформированные нами объекты конфигурации надо включить в состав подсистемы УчетКартриджей.

 Далее заведем  справочник Поставщики (Рис.4)  и справочник Принтеры (Рис.5). Отметим, что справочник Принтеры кроме реквизитов имеет еще и табличную часть ЗаменаКартриджей.

 В справочнике Принтеры  несколько реквизитов имеют тип ссылки :

ТипКартриджа  –  СправочникСсылка.НоменклатураКартриджей

Поставщик – СправочникСсылка.Поставщики

Состояние  - ПеречислениеСсылка.СостояниеКартриджей.

 Далее заведем справочник НоменклатураКартриджейЦены  и собственно  основной наш справочник Картриджи (Рис.6).

Для дальнейшего тестирования программы заполним в режиме Предприятие по нескольку строк в открытых нами справочниках. Естественно, сначала заполняем простые справочники, потом – справочники с реквизитами ссылками. В дальнейшем загрузку  полных реальных данных предприятия предполагается осуществить с помощью обработки Загрузка табличных документов из таблиц Excel.

Теперь настала пора добавления в конфигурацию документов.  Сконфигурируем в дереве объектов конфигурации объект документ ПоступлениеКартриджей с реквизитами и табличной частью НоменклатураДокумента .  Регистров накопления у нас в конфигурации пока нет – закладка Движение  для документа остается пустой.  Поскольку нам надо будет писать свою обработку документа , а пишется программный код в модуле формы документа, то и создадим эту самую форму (Рис.9). Делаем все по умолчанию, как написано в книжках (Форма – Добавить – ФормаДокумента).

Использовать данный документ будем при поступлении на склад как новых , так и заправленных (восстановленных, отремонтированных) картриджей.

 Наконец, для учета поступления картриджей заводим регистр накопления КартриджиОплата  с измерениями, ресурсами и реквизитами (Рис.10).

В закладке Регистраторы указываем наш документ ПоступлениеКартриджей. Сохраняем конфигурацию.

Возвращаемся  по дереву объектов в документ ПоступлениеКартриджей. На закладке Движение выбираем регистр КартриджиОплата,  запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа (Рис.11).

Жмем  ОК и попадаем в Модуль объекта документа , где и видим уже созданный Конструктором движения регистров  программный код  (Рис.12).

Теперь самое интересное – надо добавить  в Модуль объекта  программный код, для обеспечения следующего функционала при проведении документа ПоступлениеКартриджей. 

При поступлении нового картриджа (покупка) в справочнике  Картриджи должна добавляться строка с уникальным номером картриджа и соответствующими (из документа) реквизитами. При этом реквизит СостояниеКартриджа будет иметь значение «Новый» , а реквизит Местоположение – значение «Склад». Табличная часть справочника Картриджи при этом не заполняется.

По алгоритму работы программы изначально надо занести каждый картридж со своим уникальным номером в справочник Картриджи документом ПоступлениеКартриджей.

При поступлении заправленного тонером  (восстановленного, отремонтированного и пр.)  картриджа считается , что картридж  с таким номером уже есть в справочнике Картриджи, и в этом случае при проведении документа ПоступлениеКартриджей, добавляется строка в Табличную часть Заправки и меняются значения реквизитов Местонахождение и Состояние у текущего картриджа.  Добавленный в Модуль объекта код показан на Рис.13.

Теперь можно провести первую пробу работоспособности программы.  В Предприятие создаем документ ПоступлениеКартриджей (Рис.14).   Нажимаем кнопку Провести и закрыть.  Переходим в справочник Картриджи и видим , что в нем появилась строчка с реквизитами купленного картриджа  с пустой табличной частью(Рис.15).

 Откроем регистр КартриджиОплата  (пункт в меню Регистр оплаты картриджей) и увидим там аналогичную строку. 

Создаем и проводим второй документ ПоступлениеКартриджей с тем же картриджем, но заправленным (Рис.16).

 Переходим в справочник Картриджи и видим , что у заведенного нами картриджа добавилась строчка в табличной части Заправки и изменился реквизит Состояние  (Рис.17).

 Ура! Программа работает!  

Конечно функциональность документа ПоступлениеКартриджей  надо доработать, например, хотелось бы, чтобы автоматически подставлялась последняя по дате цена услуги в поле Стоимость документа из справочника НоменклатураКартриджейЦены при выборе поставщика и для данного типа картриджа.

Это будет позднее, а сейчас займемся заменой картриджей – создадим документ ЗаменаКартриджа и соответствующий регистр сведений  КартриджиЗамена.  

Реквизиты и табличная часть документа НоменклатураДокумента показаны на Рис.18.  Подходящих регистров накопления и сведений  у нас в конфигурации пока нет , в закладка Движение  для документа не будем ничего отмечать.  Поскольку нам надо будет писать свою обработку документа , то создаем ФормуДокумента по умолчанию.

Для учета замены  картриджей заводим для разнообразия регистр сведений (не регистр накоплений) КартриджиЗамена  с измерениями  и  реквизитами (Рис.19).  Получилось пока без ресурсов как-то. 

В закладке Регистраторы указываем наш документ ЗаменаКартриджа .

Сохраняем конфигурацию. Возвращаемся  по дереву объектов в документ ЗаменаКартриджа. На закладке Движение выбираем регистр КартриджиЗамена,  запускаем Конструктор движений и заполняем поле Выражение значениями реквизитов документа. Жмем  ОК и попадаем в Модуль объекта документа , где и видим уже созданный Конструктором движения регистров  программный код  (Рис.20).

 Теперь добавляем  в Модуль объекта  программный код, для обеспечения следующего функционала при проведении документа ЗаменаКартриджа. В справочнике Принтеры для принтера , у которого заменяется картридж  должна добавиться строка в табличной части ЗаменаКартриджей  со  значениями реквизитов  из документа  и изменится значение реквизита НомерКартриджаСейчас. В справочнике Картриджи у снятого и установленного картриджей изменятся значения  реквизитов Местоположение и Состояние .  Доработанная процедура обработки проведения документа ЗаменаКартриджа показана ниже.

 Процедура ОбработкаПроведения(Отказ, Режим)

// используемые справочники          

       Принтеры = Справочники.Принтеры;

       Картриджи = Справочники.Картриджи;

// конец вставки используемые справочники

       // регистр КартриджиЗамена

       Движения.КартриджиЗамена.Записывать = Истина;

       Для Каждого ТекСтрокаНоменклатураДокумента Из НоменклатураДокумента Цикл

            Движение = Движения.КартриджиЗамена.Добавить();

            Движение.НоменклатураКартриджей = НоменклатураКартриджа;

            Движение.СнятКартриджНомер = ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

            Движение.УстановленКартриджНомер=                                                                       

                                                    ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

            Движение.МодельПринтера = МодельПринтера;

            Движение.ПринтерСерийныйНомер = ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер;

            Движение.ПринтерИнвентарныйНомер =

                                            ТекСтрокаНоменклатураДокумента.ПринтерИнвентарныйНомер;

            Движение.ТипКартриджа = ТекСтрокаНоменклатураДокумента.ТипКартриджа;

            Движение.ЗаменаКтоДелал = ЗаменаКтоДелал;

            Движение.ПричинаЗамены = ТекСтрокаНоменклатураДокумента.ПричинаЗамены;

// изменяем справочник Принтеры   

            СтрокаНаименования = ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер;

            НайденнаяСсылка = Принтеры.НайтиПоРеквизиту("СерийныйНомер",СтрокаНаименования);

            Если НЕ НайденнаяСсылка = Принтеры.ПустаяСсылка()

                  Тогда  ТекущийОбъект = 

                            Принтеры.НайтиПоРеквизиту("СерийныйНомер",СтрокаНаименования).ПолучитьОбъект();

                            ТекущийОбъект.НомерКартриджаСейчас =    

                                                 ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

                               НоваяСтрока = ТекущийОбъект.ЗаменаКартриджей.Добавить();

                               НоваяСтрока.ДатаЗамены = Дата;

                               НоваяСтрока.ВидКартриджа = ТекСтрокаНоменклатураДокумента.ТипКартриджа;

                               НоваяСтрока.НомерУстановленногоКартриджа = 

                                                                         ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

                               НоваяСтрока.НомерСнятогоКартриджа = 

                                                                                   ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

                               НоваяСтрока.КтоЗаменил = ЗаменаКтоДелал;

                               НоваяСтрока.ПричинаЗамены = ТекСтрокаНоменклатураДокумента.ПричинаЗамены;

                               ТекущийОбъект.Записать();

                   КонецЕсли;      

// изменяем справочник Картриджи  - установленный картридж       

                   СтрокаНаименования = ТекСтрокаНоменклатураДокумента.УстановленКартриджНомер;

                   НайденнаяСсылка = Картриджи.НайтиПоРеквизиту("Номер",СтрокаНаименования);

                      Если НЕ НайденнаяСсылка = Картриджи.ПустаяСсылка()

                               тогда   ТекущийОбъект =                   

                                                  Картриджи.НайтиПоРеквизиту("Номер",СтрокаНаименования).ПолучитьОбъект();

                                          Строка = " ";

                                          Строка = Строка + МодельПринтера +  "  "  +

                                                         ТекСтрокаНоменклатураДокумента.ПринтерСерийныйНомер + "  " +

                                                         ТекСтрокаНоменклатураДокумента.ПринтерИнвентарныйНомер;

                                           ТекущийОбъект.МестоНахождения = Строка;

                                           ТекущийОбъект.Записать();

                      КонецЕсли;   

// снятый картридж 

                   СтрокаНаименования = ТекСтрокаНоменклатураДокумента.СнятКартриджНомер;

                   НайденнаяСсылка = Картриджи.НайтиПоРеквизиту("Номер",СтрокаНаименования);

                      Если НЕ НайденнаяСсылка = Картриджи.ПустаяСсылка()

                               тогда   ТекущийОбъект =             

                                                  Картриджи.НайтиПоРеквизиту("Номер",СтрокаНаименования).ПолучитьОбъект();

                                                 ТекущийОбъект.МестоНахождения = "Склад";

                                                 ТекущийОбъект.Состояние = Перечисления.СостояниеКартриджа.Пустой;

                                                 ТекущийОбъект.Записать();

                      КонецЕсли;   

// конец изменения справочников    

       КонецЦикла;

КонецПроцедуры;

 

Для проверки заполняем и проводим  документ ЗаменаКартриджа (Рис.21)  . Заходим в справочник Принтеры и видим , что у выбранного принтера добавилась строка в табличную часть Заправки с реквизитами  проведенного нами документа  и реквизит НомерКартриджаСейчас  принял значение номера установленного картриджа (Рис.22).

 В справочнике Картриджи у картриджа , установленного в принтер,  в реквизит  Местоположение записались данные текущего принтера (Рис.23) . И кроме того в регистр сведений КартриджиЗамена записалось движение по документу (Рис.24)

Таким образом на данный момент получилась конфигурация по учету движения картриджей для лазерной техники, которую в принципе уже можно использовать в работе.

С точки зрения «идеологии» 1С  наверно неправильно изменять реквизиты справочников  проведением документов, использовать справочник для хранения текущих цен  - тут сказывается предыдущий опыт работы с таблицами автора статьи, а чем справочник не таблица?

Естественно требуется доработка функциональности, добавление отчетов, исправление  ошибок и отладка .  Об этом в следующей части статьи.

Полная версия статьи приведена в файле Часть
Удаление помеченных объектов для 8.3 без монопольного режима Платформа 1С v8.x (все механизмы)

Краткое описание

Конструктор результата системы компоновки данных. 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Загрузка...



Зачем нужен файл ОтладкаПереводаСКДнаУправляемоеПриложение.erf?

Примечание. Нижеследующие ответы перенесены из обсуждения.
Ответ_
1С 8.3 БП 3.0 Расчет процентов по кредитам и займам 1С: Предприятие 8.3

Краткое описание

Сделана на основе обработки ula_karr //infostart.ru/public/241719/. Учтено увеличение суммы кредита (займа) в отчетном месяце. Добавлена возможность перед созданием операции посмотреть расчет.

При запуске по умолчанию выбирается организация, установленная основной. При ведении учета более одной организации выбирается нужная. Конец периода по умолчанию конец текущего месяца. Первая табличная часть автоматически заполняется остатками по 66.01, 66.03, 67.01, 67.03, данные по первоначальной сумме на начало и конец расчетного периода устанавливаются автоматически, процент указывается вручную в табличной части. При нажатии кнопки Рассчитать во вторую табличную часть выводится расчет по выбранному договору. При нажатии кнопки Выполнить записывается Операция.
Консоль запросов для платформы 8.3.5 (управляемое приложение) работает в тонком и веб клиенте Платформа 1С v8.x (все механизмы)

Краткое описание

Понадобилась мне консоль запросов работающая в веб клиенте, но нужной мне обработки я тут не нашел.

Тут как раз вышла новая платформа 8.3.5. В ней сделали возможность запускать консоль запросов не только в толстом клиенте, но и тонком и веб клиенте.

За основу взял консоль запросов для управляемого приложения с диска ИТС и доработал, руководствуясь вот этой инструкцией.

Подобных обработок тут много, но все они работают только в толстом клиенте.

Если это необходимо, то могу тут сделать ссылки на эти публикации, но проще воспользоваться поиском по сайту.

 

Обновление обработки от 29.05.2014:

Исправил ошибку: при редактировании запроса и нажатии кнопки "Отмена" происходила очистка текста запроса.

Обновление обработки от 30.05.2014:

Исправил ошибку: в параметрах запроса не работал "Список значений".
Заявления на прием, увольнение, перевод и отпуск для ЗУП 2.5 Платформа 1С v8.x (все механизмы)

Краткое описание

Чтобы не загружать сотрудников написанием заявлений, попросили реализовать в программе печатные формы заявлений. Они простые, но, может, кому пригодятся
Правила обмена для объединения нескольких баз ЗУП в одну. Платформа 1С v8.x (все механизмы)

Краткое описание

Правила обмена, позволяющие объединить данные из нескольких баз ЗУП в одну общую. Правила использовались при слиянии нескольких организаций в одну ("Общая организация"), с выделением бывших организаций в подразделения (обособленные). При этом осуществляется свертка данных на дату, указанную при выгрузке. Кадровые документы ("Прием на работу в организацию", "Кадровое перемещение организации", "Увольнение из организации", "Отпуска организаций", "Командировки организаций", "График отпусков организаций", "Отпуск по уходу за ребенком до 1,5 лет") не сворачиваются, а переносятся полностью.

Для того, чтобы не дублировались табельные номера сотрудников, при объединении к табельным номерам добавляется префикс бывшей организации.

Для физических лиц устанавливается группа доступа (соответствует организации из старой базы, т.е. для объединяемой в общую базу Организации 1 будет создана и установлена группа доступа физ.лиц "Организация 1").

22.1
Сравнение строк с выводом различий Платформа 1С v8.x (все механизмы)

Краткое описание

Работая над обработкой сравнения документа с присланной версией печатной формы заказа в xls, столкнулся с необходимостью сообщать не только сам факт отличия в названиях товаров, но и информации о том, что конкретно отличается. Беглое знакомство с материалами Инфостарта не помогло - не нашел подходящего решения. Пришлось самому придумывать алгоритм. Получившийся инструмент показался мне полезным - потому решил поделиться ним.

Алгоритм: находим наибольшую общую подстроку двух строк (с помощью суффиксных автоматов http://e-maxx.ru/algo/suffix_automata) - получается что каждая строка разбита на 3 части: левая (еще не обработанная), средняя (это наибольшая общая подстрока) и правая (не обработанная). Левую и правую части обрабатываем таким же образом до тех пор, пока не сможем получить общую подстроку - в таком случае подстроки различны. В итоге получаем чередование совпадающих и не совпадающих подстрок.
Алгоритм выполнен без рекурсии - т.е. подходит для обработки больших строк.

Дополнительно для увеличения наглядности добавил вывод в html.

PS: если снова изобрел велосипед - прошу прощения за невнимательность.
Незачтенные авансы (сальдо одновременно по 60.01/62.01 и 60.02/62.02) Платформа 1С v8.x (все механизмы)

Краткое описание

Позволяет выявить незачтенные авансы на счетах взаиморасчетов (60 и 62). 

Рекомендуется формировать данный отчет перед регистрацией счетов-фактур на аванс.

Отчет для УПП, а также формировался и на учебной базе 1С Бухгалтерия 8.3. Построен на СКД по регистрам бухгалтерии. 

Первый файл в формате .xml. Второй файл как внешний отчет. Требуется обязательное заполнение параметров: даты и организации.











Распределение счета 109.81 на 109.61 процентом (для БГУ 1.0) 1C: Предприятие 8.2

Краткое описание

Обработка внешняя, доработки типового функционала не требуется.

Сначала задается дата распределения и организация. При заполнении этих реквизитов будет заполнена табличная часть остатками по счету 109.81 с разбивкой по КФО, КБК, ИФО и КЭК. В случае необходимости можно задать отборы (рис. 1).

 

Распределять процентом можно двумя способами: общим процентов и по каждой строке остатков счет 109.8
Запуск перепроведения документов Бух 3.0 (по расписанию) Платформа 1С v8.x (все механизмы)

Краткое описание

Загрузка номенклатуры с изображениями из многоуровневых файлов Excel 1C: Предприятие 8.1

Краткое описание

В сети много разговоров о том, как загружать данные из многоуровневого листа экселя.

Самое тяжелое определить родителя, ибо в экселе в группировке нет родителя как такового

Во всяком случае, програмно его не получить. Можно получить только уровень элемента, а при неоднородной иерархии, когда родители и подпаки скачут как попало, обычным перебором не определить родителя текущего элемента, т.к. он может быть на несколько строк выше.

Нет смысла писать о всех возможных вариациях группировки в экселе.

У Евгения в Мегапрайсе есть некая функция определения родительской папки.

Как я понимаю, она работает так.
Цититую автора с его же слов
http://www.forum.mista.ru/topic.php?id=566936

делаешь ТЗ для заполнения
Две колонки Группа, Уровень С\читываем файл
Пока Стр для Каждого ляляля Следующий
Если Ляляля проблелов = 1 Тогда
ТЗ.Группа = Стр.Значение ТЗ. Уровень = 1
ИначеЕсли Пробелов ляляля = 2 Тогда
ТЗ.Группа = Стр.Значение ТЗ.Уровень = 2 и т.д.
КонецЦИкла.

ВерхняяГруппа = "";
Для Каждого Стр из ТЗ ЦИкл
Если Стр.Уровень = 1 Тогда ляляля найтигруппа

Не нашли создали
ВерхняяГруппа = СОзданнаяИлиНайденнаяГруппа
Если Уровень = 2 Тогда
лояляля - ищем.создаем
НайденнаяГруппа.РОдитель = ВерхняяГруппа;
ВерхняяГруппа = Найденнаягруппа.Ссылка;

и т.д. и т.п.

Но я, видимо, вконец непонятливый: единственное, что понял - то, что уровни надо указывать явно, а это не есть хорошо, т.к. заранее количество уровней вложенности нам неизвестно.

Поэтому пришлось написать свой алгоритм чтения многоуровневой иерархии из экселя с определением родителей.

Далее  стоял вопрос, как считать из файла картинки, и тут, я, ни секунды не колеблясь, прибегнул к помощи Александра Шкураева
//infostart.ru/public/73687/
http://shkuraev.ru/?p=476
Его алгоритм позиционирования в таблице по координатам Shape-в очень интересен.
Ну и dll-ка его, с помощью которой можно энти Shape-ы (картинки) сохранить на диске.


После считывания картинок их надо сохранить в хранилище и тут я снова, не колеблясь ))) прибег к коду от Поручик-а
//infostart.ru/public/19932/
Хотя, положа руку на сердце, больше всего в разработке Поручика понравилось, как он dll-ку сохранил в виде двоичных данных в макете и при необходимости распаковывал в нужную папку.

Многое, конечно же, пришлось кодить самому и с нуля (особенно долго пришлось повозиться с определением родителя в экселевской группировке). Но, конечно же, если бы не "подсказки" вышеуказанных коллег, то работы было бы гораздо больше.
Поэтому, спасибо, друзья!


Итак,  с гордостью представляю Вам моего франкенштейна, склепанного из моего кода с вкраплениями кода Саши Шкураева и Поручика.

Во вложенном архиве сама обработка, образец многоуровневого файла-прайса с картинками и внешняя компонента 1CGClipboard.dll (в сущности, она не нужна, т.к. лежит в обработке в макете).

Работа с обработкой очень проста.
Размер таблиц информационной базы 1С 8.2 - 8.3 на SQL сервере Платформа 1С v8.x (все механизмы)

Краткое описание

Показывает информацию о размерах таблиц базы данных на SQL (количество строк и занимаемое место в Кб) в связке с метаданными базы данных 1С в виде таблицы.

Позволяет анализировать базу данных на предмет "толстых мест".

Выводимые данные:

        Зарезервировано, Кб
        Данные, Кб
        Индекс, Кб
        Неиспользовано, Кб
        КоличествоСтрок

Идея взята из публикации //infostart.ru/public/179281/. Изменен запрос (показываются верные данные о размерах таблиц).

Представление результата через схему компоновки данных, возможность менять представления через конструктро СКД.

Работает с платформой 8.2, 8.3 (обычное и управляемое приложение, толстый клиент, тонкий клиент), SQL 2005-2008.

 

Версия
Ведомость по партиям товаров на складах с дополнительными колонками 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет "Ведомость по партиям товаров на складах" с дополнительными колонками выводит информацию по количеству мест, весу, объему. Сделано так: из единицы измерения мест берется вес, объем и в соответствии с коэффициентом пересчитывается по количеству. Например: Ботинки - 5 шт. Единица измерения мест коробка, коэффициент коробки 5, вес 2,5, объем 0,3 м3, значит Количество мест = 1 (5 шт / 5 (коэф)), вес = 1(количество мест) * 2,5 = 2,5 , объем = 1(количество мест) * 0,3 = 0,3.

Очень удобно использовать отчет при желании узнать сколько коробок товара на складе, или какой суммарный вес/объем они занимают.
У меня отчет внедрен непосредственно в полный интерфейс, в меню отчеты.
П-4 и П-4 (НЗ) для ЗУП 2.5 и УПП с отбором по подразделению и КПП 1C: Предприятие 8.2

Краткое описание

На Инфостарте уже есть несколько подобных публикаций. К сожалению, ни одна опубликованная форма нашей организации не подошла: где-то не учтены последние изменения, где-то нет отбора по подразделению, где-то просто выводятся некорректные цифры. 

Для формы П-4 за основу была взята публикация //infostart.ru/public/178777/. Основные отличия моей формы:

есть отбор по подразделению.
средняя численность берется из встроенного в конфигурацию типового отчета. Считает медленно, зато верно )
не включаемые в фонд ЗП начисления и соцвыплаты вынесены из кода в пользовательсткую настройку (закладка Настройки). Важно! после подбора начислений в настройках нужно сохранить настройки формы, иначе после закрытия формы введенные изменения будут утеряны.
Для формы П-4 (НЗ) взята публикация //infostart.ru/public/251995/. Фактически от нее остался только костяк, алгоритмы заполнения были полностью переписаны.


Также в моих формах есть заполнение по первым символам КПП. Сделано было для специфического учета в нашей организации: у каждого подразделения есть КПП, причем внутри одного подразделения, скажем, московского с КПП 77... есть обособленное в СПБ с КПП 78... и наоборот, а статистику нужно сдавать "по площадке", то есть собирать москвичей в одну форму, а питерцев - в другую. Если у вас КПП для каких-то подразделений не прописан, то в отчет с отбором по КПП они не попадут! В этом случае не используйте отбор по КПП.


Реализовано заполнение только последних форм (начиная с 2014 года), заполнение предыдущих форм не поддерживается.


UPD 0
Быстрый ввод контрагентов и организаций по данным ФНС 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка предназначена для быстрого создания карточки контрагента/организации по данным ЕГРЮЛ/ЕГРИП.

Автоматически в карточке контрагента/организации будут заполнены: ИНН, КПП, ОКПО (при использовании ресурса Контур-Фокус), Полное наименование (Точное соответствие записи в ЕГРЮЛ), Наименование, ЮрФизЛицо, Юридический адрес (Точное соответствие записи в ЕГРЮЛ), ОГРН.

Плюсы моего варианта обработки по экспресс-регистрации контрагентов/организаций:

- бесплатно

- не загружаются главные страницы с сайтов источников информации о контрагентах (egrul.nalog.ru/ и https://focus.kontur.ru/). соответсвенно меньше трафик, выше производительность

- автоматическая загрузка новых версий обработки (отклонено модератором infostart)

- возможно получение данных с сайта http://www.fedresurs.ru/

Минусы:

- нет преобразования адресов к формату КЛАДР

 
Статистика. Форма П-4 для ЗиК 8. Приказ Росстат №379 от 02.08.2016. Платформа 1С v8.x (все механизмы)

Краткое описание

Порядок автозаполнения.

По кнопке "Заполнить" производится автозаполнение формы по данным информационной базы в целом по выбранной организации за месяц.

По кнопке "Заполнить с начала года" производится автозаполнение формы по данным информационной базы в целом по выбранной организации за месяц.

Сведения о численности заполняются аналогично встроенному в конфигурацию отчета "Средняя численность работников организаций".

Сведения о начислениях заполняются по зарегистрированным основным и дополнительным начислениям в выбранном периоде. при этом учитывается период регистрации начисления, т.е. перерасчеты за прошлые периоды учитываются по месяцу начисления (период в котором выполнен перерасчет).

Для корректного заполнения начислений необходимо настроить учет начислений для форм статистического наблюдений.

При заполнении учитываются только начисления для которых указан порядок на закладке "Статистика":

Фонд заработной платы работников списочного и несписочного состава;
Фонд заработной платы работников несписочного состава;
Выплаты социального характера.

Выплаты социального характера всегда отражаются в отдельной колонке и выводятся поквартально так же как и человеко-часы.

Выплаты, для которых указан порядок учета в формах статистического наблюдения "не учитывать" не учитываются при заполнении начислений в форме.

Практически для всех ячеек предусмотрена расшифровка. Для вывода расшифровки необходимо установить курсов на требуемую ячейку и нажать на кнопку "Расшифровать".

Так же для удобства в отчет встроена выдержка из приказа Росстата от 28.10.2013 N 428 (ред. от 18.12.2013) Об утверждении Указаний по заполнению форм федерального статистического наблюдения N П-1 Сведения о производстве и отгрузке товаров и услуг, N П-2 Сведения об инвестициях в нефинансовые активы, N П-3 Сведения о финансовом состоянии организации, N П-4 Сведения о численности и заработной плате работников, N П-5(м) Основные сведения о деятельности организации.(в ред. Приказа Росстата от 18.12.2013 N 485).

Вызвать данное описание можно по кнопке "Порядок заполнения".

Порядок подключения.

Перейти в "Регламентированные и финансовые отчеты". Меню "Расчет зарплаты" - "Отчеты" - "Регламентироанные отчеты" или на рабочем столе программы перейти на закладку "Налоги" и выбрать "Регламентированные отчеты".

Перейти в "Справочник отчетов". Добавить новый элемент справочника (или изменить, если отчет уже есть в базе и мы хотим загрузить новую версию). В открывшейся форме указать, что необходимо использовать "Файл" и выбрать файл отчета.

Изменения в версиях

Версия
Взаиморасчеты с контрагентами (с номенклатурой) Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет для УТ 10.3 на СКД по взаиморасчетам с контрагентами с выводом номенклатуры из документов движения. Позволит отобрать продажи конкретных номенклатур и посмотреть взаиморасчеты с контрагентами.

   Другие публикации автора
Расширение: Быстрые отборы через буфер [Alt+C] Копировать, [Alt+V] Вставить Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации клавиш [Alt+C] Копировать, [Alt+V] Вставить.
Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.
Гарантированное проведение документов (подключаемое расширение) Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки.
Ускорим проведение в 1С:Управление холдингом В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.
Динамическая кнопка VS Комбинация клавиш Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму).
Параметризация печатных форм под контрагентов (подключаемое расширение) Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь //infostart.ru/1c/articles/1510459/
Просмотр объектов очереди сообщений в 1С:Документооборот В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта.
Поддержка пользователей [Alt+S] (подключаемое расширение) Расширение, подключаемое к базе 1С для решения задач поддержки пользователей. Позволяет быстро (по кнопке или комбинации клавиш Alt+S), не выходя из программы 1С из любой формы, создать обращение к консультантам и программистам со скринами, файлами, в привязке к проблемному объекту (документу, справочнику, отчету, обработке и т.п.). Вести переписку по обращениям, отслеживать их выполнение с трудозатратами и уведомлять участников через механизмы: Telegram, Обсуждения 1С и Электронную почту. Код открыт и расширение может развиваться и быть доработано под индивидуальные потребности.
Интерактивная справка [Alt+I] (подключаемое расширение) Дополнительная справка, подключаемая к базе 1С. Содержит дерево разделов и статьи. Позволяет создавать статьи с картинками, прикреплять к ним файлы и видео, а также связывать статьи с объектами 1С (документам, справочникам, отчетам). Вызывается на динамически создаваемую кнопку панели либо быстрой комбинацией клавиш Alt+I.
Защита объектов от изменения обменом Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.
Доп. панель Alt+Z Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.
Создание стартовой базы Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.
Групповое добавление и удаление ролей из списка профилей Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.
Интерактивная справка по объектам 1С (автономное расширение) База знаний, подключаемая к объектам основной базы. Ведётся интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
Значения по умолчанию для пользователей (Расширение) При заполнении документов и справочников пользователи часто сталкиваются с необходимостью ввода одних и тех же реквизитов. Заполнение в документах некоторых из них, таких как: Организация, Склад и т.п. - выполняется реализованным в 1С механизмом подстановки значения из последних 3-5 введенных документов. Если же вы хотите заполнять все реквизиты шапки (и даты, и флажки, и другие поля, включая дополнительные реквизиты), то вам поможет данный механизм.
Контекст любого объекта конструкцией #Если Фамилия Тогда Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.
Отключение Монитора ИТС и Проверки наличия обновления (расширение) Некоторые интернет-сервисы базы 1С у пользователей вызывают замедления работы и клиенту не нужны. Их можно отключить через расширения.
Памятка работ по проекту 1С Схема работ по проекту внедрения 1С освежает в голове и визуализирует общую картину мероприятий. Будет полезно как для Заказчика так и для Исполнителя при подготовке проекта и проведении совещаний по ходу проекта.
Использование Стека вызовов в качестве условия оператора Если [...] Тогда Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.
Уведомление пользователей об изменениях в объектах (расширение) Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.
Права доступа к объектам с гибкими отборами (расширение) Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.
Памятка работ по задаче 1С Памятка выполняемых работ по решению длительных задач по 1С
Применение программистом таблицы рисков для оценки технического задания Я как программист часто получаю технические задания, по которым от меня хотят услышать оценку. Привожу описание метода оценки задания, заимствованный из проектной технологии, по которому я оцениваю тех. задания
Добрый великан Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.
Настройка ограничений входа пользователей в базу (расширение) Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).
Переход с партий и производства версии 2.1 на режимы 2.2 в 1С:ERP в середине года В данной статье рассказано о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2) после начала года, доработки изменения.
БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов Расширение конфигурации, отключающее ошибки прошлых периодов, которые блокируют закрытие текущего месяца. Например, "Нарушена последовательность регламентных операций" и т.д.
Проводим по БУ "на лету" В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.
Административная панель #расширение объекта Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.


Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)



Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #
Универсальный отчет по метаданным для управляемого приложения на платформе 8.3 Платформа 1С v8.x (все механизмы)

Краткое описание

За основу взят отчет типовой конфигурации БП 3.0 и адаптирован для любых конфигураций на платформе 8.3 (тестировался на УНФ
Акт сверки с УПД Платформа 1С v8.x (все механизмы)

Краткое описание

Для тех, кто начал использовать Универсальный передаточный документ УПД.

Как обычно заполняем Акт сверки взаиморасчетов, видим документы реализации.

Покупателям мы посылаем (выставляем) печатную форму УПД. Для сверки вместо реализации товаров и услуг в данный акт сверки пишем номер и дату УПД (т.е наш номер счет-фактуры), что значительно облегчит сверку.

// Если счет-фактуры нет, сумме браться неоткуда, УПД нет, печатная форма не формируется и выдается ошибка. Следите внимательно, ведь не зря эта обработка называется "Акт сверки с УПД "!

Делала для УТ 10. Обычное приложени
Создание и расчет данных для создания Перечня охраняемых объектов вневедомственной охраны 1C: Предприятие 8.2

Краткое описание

Если Вам необходимо автоматизировать создание и расчет данных для составления перечня охраняемых объектов, то эта разработка для Вас.

Что здесь реализовано:

Печать ценников БП 3.0 1С: Предприятие 8.3

Краткое описание

Есть подбор, заполнение из документов (Авансовый, Поступление, Перемещение, Реализация, Установка цен).

Размер ценников формируется путем подбора количества столбцов и строк и включения автомасштаба.
Выгрузка - загрузка данных в XML с отбором по организации 1С: Предприятие 8.3

Краткое описание

Обработка сделана на базе типовой на УФ. Разница в том, что здесь можно сделать отбор по организации.
Диаграмма Ганта на СКД (График отпусков организации) 1C: Предприятие 8.2

Краткое описание

Отчет является аналогом типового отчета "Отчет по отпускам" (График отпусков организации).

Интервал отчета  - в пределах года.

Фактический отпуск выводится синим цветом.

Плановый отпуск выводится оранжевым цветом.

Данные группируются по месяцам.

 


Отчет может быть полезен новичкам, и покажет, что используя только СКД, можно проделывать различные фокусы с колонками, и, задействуя различные отборы и дополнительные переменные строить весьма сложные отчеты.
Также в отчете присутствует работа с табличным документом из кода – дополнение отчета своими шапкой и подвалом с заполнением параметров из отбора компоновки, объединение и выравнивание колонок.

 

Спасибо за удобный шаблон  - //infostart.ru/public/272681/
Отчет по журналу регистрации (статистика работы пользователей) (на СКД) 1C: Предприятие 8.2

Краткое описание

Журнал регистрации выгружается в xml-файл стандартным методом 1С, далее файл обрабатывается и помещается в таблицу. Таблица передается в СКД. Можно настроить разное представление данных. Отчет написан для обычного приложения 1С. Удобный интерфейс настройки параметров отчета.

За основу взят отчет пользователя wowik:  //infostart.ru/public/87773/

Основные отличия:

Изменен интерфейс отчета (мне так больше нравится...  );
Немного переписан получение фильтра для выгрузки журнала;
Теперь фильтр по метаданным - обязателен и фильтрует по 4 веткам:
Справочники;
Документы;
План видов характеристик;
План счетов;
В случае, если не указан фильтр по Событиям, то фильтрация обязательно по 5 событиям:
Добавление;
Изменение;
Проведение;
Отмена проведения;
Удаление;
В фильтр по Событиям добавлен фильтр "Отмена проведения"
Добавлены 3 поля журнала:
Приложение;
Представление приложения;
Комментарий;
За счет добавления полей и фильтров удалось добиться правильной группировки.
Добавлена небольшая справка по работе с отчетом.
Подбор слагаемых для нужной суммы Платформа 1С v8.x (все механизмы)

Краткое описание

Столкнулся с такой проблемой:

Клиенты оформляют в магазине кредиты, через некоторое время кредитное учреждение перечисляет нам деньги по нескольким кредитам одной суммой, за вычетом процентов. !!! И без уведомления по каким кредитам была оплата !!! 

Пришлость написать функцию, которая из всех непогашенных сумм, выбирает нужные. С учетом того, что кредитная организация может округлять эти суммы, одной ей известным способом.

Для демонстрации функции, приделал небольшую форму.

Думаю, что найдется еще много подобных случаев, где эта функция может пригодиться.

Ну например (почерпнуто из интернета):

 мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
У нас есть несколько рулонов стали (линолеума, бумаги...), из которых надо подобрать под заказ те, что дадут заданную длину.
Внешняя печатная форма «МБ-8» для документа «Требование-накладная», Бухгалтерия 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

Внешняя печатная форма «МБ-8» для документа «Требование-накладная», Бухгалтерия 3.0

Форму необходимо зарегистрировать через "Администрирование" -> "Дополнительные отчеты и обработки".

 
Загрузка данных из табличного документа в справочники, документы, в движения документов, поточная загрузка документов (EXCEL, управляемые формы, универсальная) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка имеет логику настройки, сходную с логикой обработки "Загрузка данных из табличного документа" с диска ИТС (на мой взгляд, она очень удобна).

Позволяет загружать:

В справочники (в том числе и подчиненные, например, при загрузке номенклатуры можно сразу загружать и характеристики).
В табличную часть документа (можно сразу в несколько).
В не подчиненные регистратору регистры сведений.
В движения документа (с поддержкой вида движения для регистров накопления, можно загружать сразу в несколько движений документа).
Поточно загружать документы и справочники (как с табличными частями, так и без, можно сразу загружать в несколько табличных частей документа).
Одновременно загружать в справочники, являющиеся реквизитами загружаемых объектов, с полноценной настройкой.

Подключается к конфигурациям с БСП в двух режимах (на форме есть кнопка, облегчающая регистрацию): 

Как универсальная загрузка из табличного документа.
Как обработка заполнения табличной части (Обработка будет открыта в режиме: Загрузка в табличную часть и ссылкой на объект откуда она была вызвана (без возможности изменения данных настроек).

Как происходит загрузка:

Выбираете режим загрузки
Выбираете объект загрузки (табличную часть/регистр при необходимости)
Настраиваете правила загрузки на закладке "Настройка" (и на закладке "Настройка шапки" при поточной загрузке в табличные части. При поточной загрузке новые элементы создаются, при изменении полей поиска)
Выбираете табличный документ (в настройках обработки можно указать, что требуется предпросмотр табличного документа, в этом случае на форму будет выведо поле табличного документа).
Нажимаете кнопку "Получить таблицу данных". При этом будет создана таблица значений, в которой согласно настройкам будет преобразован в данные 1С "табличный документ". Эту таблицу значений можно откорректировать, или вернуться к настройкам.
Нажать кнопку "Загрузить", после чего данные будут загружены в 1С.

 Плюсы данной обработки:

Можно настроить загрузку любой сложности.
Позволяет загружать в справочники, являющиеся реквизитами объекта.
Загружает в движения документов.
Обладает уникальным функционалом поточной загрузки.

Минусы:

Не загружает изображения
Не работает с группировками в табличных документах.

Известные особенности:

По умолчанию существующие объекты не перезаписываются. Если вам это требуется то включите настройку "Замещать существующие записи".
Если у вас выходит ошибка индекса при получении таблицы данных, значить у вас настроенных колонок для загрузки больше, чем колонок с данными в табличном документе, или для какой то настройки указан номер колонки за пределами колонок табличного документа.
В событиях и в режиме "Вычислять" при обращение в строке текущих данных к реквизитам дополнительных настроек требуется добавлять префикс: "ДополнительнаяНастройка_" плюс номер настройки.
"<Новый>" в колонках "Объект", в полученной "Таблице подготовленных данных", означает, что загружаемое значение, не найдено в текущей базе. При загрузке оно будет добавленно в базу.
Если значение загружается с помощью дополнительной настройки, то режим должен быть: "Устанавливать", и нужно в столбце "Значение по умолчанию" выбрать "По настройке: X: Название настройки". .
Если в описании типов реквизита несколько значений, то обработка пытается получить значение по первому типу, исключением является получение данных для реквизта, для которого настроена связь по типу, но при этом, если у плана видов характеристик несколько типов, то будет попытка привести значение к первому типу из плана видов характеристики.
После изменения настроек (при включеннной автонумерации колонок), номера колонок могут измениться, поэтому требуется обновить табличный документ, что бы понять, из каких именно колонок будут браться значения.
Если не заполнены ключевые реквизиты для объекта, то объект не будет создаваться.
Если у вас при нажатии на "Получить таблицу данных" возникает ошибка "Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции)", значить вы настроили получение из колонки  которой нет в табличном документе. Решение: обновите шапку табличного документа, что бы посмотреть как должны располагаться колонки или отключите автонумерацию колонок и настройте номера как в вашем табличном документе.

 

   Описание изменений

UPD v 3.0.4.6 (03.08.2023):

Добавлена возможность добавления в обработку предопределенного макета, для передачи пользователям. При этом обработка открывается в упрощенном интерфейсе без настроек. Включается в макете "ИнформацияОбОбработке". Сохраненные настройки необходимо поместить в макет "ПростыеНастройки_МакетНастроек"
Исправлена ошибка "Значение не является значением объектного типа (Синоним)" при открытии обработки в режиме заполнения табличной части.
Код обработки адаптирован для конфигураций на основе БСП 3.
Заполнение контрагента одним кликом данными ЕГРЮЛ по ИНН 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Счет-фактура и ТОРГ-12 из Заказа клиента УТ 11 Платформа 1С v8.x (все механизмы)

Краткое описание

ВПФ были скачаны здесь на сайте (для старых релизов), в них исправлены ошибки и доработан вывод подписей.

Тестировались на релизе 1
"УПД для документа ""Поступление товаров и услуг"" (за Поставщика) БП 2.0" 1C: Предприятие 8.2

Краткое описание

Внешняя печатная форма Универсального передаточного документа за Поставщика для "Поступления Товаров и Услуг" для конфигурации Бухгалтерия Предприятия 2.0. Выдернуты все необходимые функции для формирование печатной формы. В самом макете поменены местами Организация и Контрагент и вся их информация.
Отчет по продажам для Бухгалтерии 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

Данный отчет показывает список клиентов, по которым была продажа в данный период. Выводится контактная информация (адрес, телефон), список договоров, даты покупок, список номенклатуры, сумма покупок. Также есть расшифровка по документам (при нажатии на контрагента открываются все документы продажи, а также возвраты за данный период)
Флажки (галочки) в списках документов обычных форм в 1С Предприятии 8.2, 8.3 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Вот основной блок кода, для тех, кому не терпится узнать как это работает или нужен только принцип работы.

Перем СписокДокументовДляОбработки;

Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)

Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
ОформлениеСтроки.Ячейки.Флажок
Счетчик всех процессов 1С в Терминале Не имеет значения

Краткое описание

Программа раз в секунду переобновляет список всех процессов на терминале (всех пользователей) и ведет подсчет запущенных процессов 1CV7 и 1CV8.

При запуске программа помещает свою иконку в трей, результат подсчета отображается на хинте иконки.

Закрыть программу: правая кнопка на иконке - "Выход"

Тестировалась на Windows Server 2008 R2 Standard х 64 и Windows Server Standard SP2 x 64
Поиск и замена значений 8.3 1С: Предприятие 8.3

Краткое описание

Обработка с диска ИТС, изменена для работы в управляемом приложении.
"Изучаем 1С Предприятие 8.3 на примере построения простой конфигурации (или как ""айтишник"" 1С осваивал). Часть 2." 1С: Предприятие 8.3

Краткое описание

В первой части статьи начато построение  конфигурация по учету движения картриджей для лазерной техники на платформе 1С Предприятие 8.3 (ссылка на Часть.1) с использованием интерфейса «Такси». Созданы основные объекты конфигурации для предполагаемого алгоритма работы программы: справочники Картриджи, Принтеры, Поставщики, регистр накоплений КартриджиОплата , регистр сведений  КартриджиЗамена и документы ПоступлениеКартриджей , ЗаменаКартриджа. Добавлен некоторый код для обработки проведения документов. Проведена успешная проверка программы на работоспособность.

Остались вопросы доработка функциональности, добавление отчетов, исправление  ошибок и отладка .  Этим и займемся. Для удобства работы  добавим справочник Сотрудники (Рис . 25).

   

Теперь можно исправить тип соответствующих реквизитов в справочнике Принтеры (ВладелецТехники) и в документе ЗаменаКартриджа (ЗаменаКтоДелал) поставив в реквизитах ссылку на заведенный справочник.

Добавим в конфигурацию новый документ СписаниеКартриджа (Рис.26).  

Для заполнения поля документа ПричинаСписания добавим в конфигурацию еще одно перечисление ПричинаСписанияКартриджа (Устарел,Сломан,Прочее). Движение по документу для порядка будем записывать в регистр накопления КартриджиОплата (хотя это и не оплата!). В справочник Картриджи добавим еще один реквизит ДатаСписания.

В процедуре обработки проведения документа (в модуле объекта) допишем код для изменения состояния текущего картриджа в справочнике Картриджи :

Процедура ОбработкаПроведения(Отказ, Режим)

        Картриджи = Справочники.Картриджи;

// регистр КартриджиОплата Расход

         Движения.КартриджиОплата.Записывать = Истина;

         Движение = Движения.КартриджиОплата.Добавить();

         Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

         Движение.Период = Дата;

         Движение.НоменклатураКартриджей = НоменклатураКартриджа;

         Движение.НомерКартриджа = НомерКартриджа;

         Движение.СостояниеКартриджа = ПричинаСписания;

         Движение.СчетДата = ДатаСписания;

//  меняем состояние текущего картриджа

        СтрокаНомерКартриджа = НомерКартриджа;

         НайденнаяСсылка =   Картриджи.НайтиПоРеквизиту("Номер",СтрокаНомерКартриджа);

         Если НЕ НайденнаяСсылка = Картриджи.ПустаяСсылка()

         тогда     ТекущийОбъект =             

                       Картриджи.НайтиПоРеквизиту("Номер", СтрокаНомерКартриджа).ПолучитьОбъект();

                         ТекущийОбъект.МестоНахождения = "Списан";

                         ТекущийОбъект.Состояние = "Списан";

                         ТекущийОбъект.ДатаСписания = ДатаСписания;

                         ТекущийОбъект.Записать();

            КонецЕсли;      

КонецПроцедуры

 

Доработаем документ ПоступлениеКартриджей.  Напомню, что этим документом , осуществляется как покупка картриджей, так и прием на склад заправленных, восстановленных и отремонтированных картриджей (поскольку все работы выполняет сторонняя организация (поставщик)).

Во-первых, исправим в табличной части НоменклатураДокумента наименование реквизита СостояниеКартриджа на ВидРабот (что более понятно по смыслу) и установим тип этого реквизита       в ссылку на новое перечисление ВидРабот (Покупка,Заправка,Восстановление,Ремонт,Списание).

Во-вторых,сделаем так,  чтобы в документе автоматически выбиралась последняя по дате цена (покупки, заправки и пр.) при заполнении поля Поставщик (при заполненном поле ТипКартриджа и ВидРабот).  Ранее для хранения цен был создан справочник НоменклатураКартриджейЦены, однако , с точки зрения 1С , хранить цены в справочниках некорректно. Поэтому этот справочник из нашей конфигурации удалим, а создадим регистр сведений с тем же именем НоменклатураКартриджейЦены с измерениями, ресурсами и реквизитами как показано на (Рис.27). 

Выберем Независимый режим записи в регистр.  Поскольку метод ПолучитьПоследнее() , который мы собираемся использовать, работает только для периодических регистров, параметр Периодичность регистра установим В пределах секунды.     

 В режиме Предприятие занесем в этот регистр вручную несколько строк для разных поставщиков и типов картриджей (ну как-то так, как на Рис.28). 

В конфигураторе заходим в форму документа   ПоступлениеКартриджей (а форма у нас создана) и для поля формы НоменклатураДокументаВидРабот в его свойствах создадим обработку для события ПриИзменении (Рис.29_1) . 

 В модуле формы документа появится шаблон процедуры НоменклатураДокументаВидРаботПриИзменении().  Наполним эту процедуру содержанием -  добавим следующий   код  (Рис.29): 

В такой конфигурации при проведении документа выбираются последние цены по виду работы и типу картриджа для выбранного поставщика.

 Доработаем справочник Картриджи – сделаем его удобным для работы и покрасивее.

В конфигураторе сделаем справочник иерархическим. В режиме Предприятия в форме справочника выбираем пункт Настроить список и в режиме условного оформления раскрашиваем строки в зависимости от значения реквизитов Состояние и МестоНахождение. В пункте формы Изменить форму убираем видимость у поля Код. Вот что получилось (Рис.30) 

Следует отметить, что данные настройки списка сохраняются только для текущего пользователя   (а ролей то у нас пока и нет).

Попробуем сделать простенький отчет о наличии и состоянии картриджей. Что нам надо –  это вывести список картриджей с группировкой по типу и указанием состояния и местоположения каждого картриджа на текущую дату.  Дату отчета естественно надо указать в заголовке. Будем использовать СКД (систему компоновки данных) стандартным образом, то есть сделаем всё с помощью конструктора  без написания какого-либо кода (Рис.31) 

Вот что получилось (Рис.32).  

Отвлечемся пока от картриджей и попробуем немного «оживить» программу. При этом одновременно потренируемся в написании программного кода. 

Пусть при запуске программа напоминает нам о предстоящих днях рождения сотрудников! Будем использовать значение реквизита ДатаРождения справочника Сотрудники  и сравнивать это значение с текущей датой при запуске программы. Создадим в дереве конфигурации общий модуль и назовем его РаботаСДатами. В свойствах модуля поставим галку Клиент (управляемое приложение). В модуле напишем экспортную процедуру ДниРожденияСотрудников :

 

Процедура ДниРожденияСотрудников () Экспорт

         ТекстДР = "";

         ТекстДРЗавтра = "";

         ТекстДРПослезавтра = "";

         ТекущийСправочник = Справочники.Сотрудники;

         ДатаЗавтра =  РаботаСДатами.ДатаЗавтра();

         ДатаПослеЗавтра =  РаботаСДатами.ДатаПослеЗавтра();

         Именинники = Новый СписокЗначений;

         ИменинникиЗавтра = Новый СписокЗначений;

         ИменинникиПослеЗавтра = Новый СписокЗначений;

         Выборка = ТекущийСправочник.Выбрать();

         Пока Выборка.Следующий()

                         Цикл  ТекЭлем = Выборка.ПолучитьОбъект();

                                         // Сегодня

                                         Если       ( (День(ТекЭлем.ДатаРождения) = День(ТекущаяДата()))

                                                        И (Месяц(ТекЭлем.ДатаРождения) = Месяц(ТекущаяДата())))

                                              Тогда    Именинники.Добавить(ТекЭлем);

                                         КонецЕсли;

                                         // Завтра

                                         Если       ( (День(ТекЭлем.ДатаРождения) = День(ДатаЗавтра))

                                                        И (Месяц(ТекЭлем.ДатаРождения) = Месяц(ДатаЗавтра)))

                                            Тогда    ИменинникиЗавтра.Добавить(ТекЭлем);

                                         КонецЕсли;

                                         // ПослеЗавтра

                                         Если       ( (День(ТекЭлем.ДатаРождения) = День(ДатаПослеЗавтра))

                                                        И (Месяц(ТекЭлем.ДатаРождения) = Месяц(ДатаПослеЗавтра)))

                                            Тогда ИменинникиПослеЗавтра.Добавить(ТекЭлем);

                                         КонецЕсли;

                         КонецЦикла;

         // Сегодня         

         Если       Именинники.Количество() > 0

            Тогда  Для Каждого ЭлементСписка Из Именинники

                         Цикл      Коллега = ЭлементСписка.Значение;

                                         ТекстДР = ТекстДР + "Сегодня наш коллега " + Коллега +

                                                             "  отмечает свой День Рождения ! "  + Символы.ПС;

                         КонецЦикла;

          Иначе     ТекстДР = "Сегодня ИМЕНИННИКОВ НЕТ !!!!";

         КонецЕсли;

         Сообщить(ТекстДР);

         // Завтра             

         Если       ИменинникиЗавтра.Количество() > 0

            Тогда   Для Каждого ЭлементСписка Из ИменинникиЗавтра

                         Цикл      Коллега = ЭлементСписка.Значение;

                                         ТекстДРЗавтра = ТекстДРЗавтра + "Завтра наш коллега " + Коллега +

                                                                         "  будет отмечать свой День Рождения ! "   + Символы.ПС;

                         КонецЦикла;

          Иначе   ТекстДРЗавтра = "Завтра ИМЕНИННИКОВ НЕТ !!!!";

         КонецЕсли;

         Сообщить(ТекстДРЗавтра);

         // Послезавтра  

         Если       ИменинникиПослеЗавтра.Количество()     > 0

             Тогда  Для Каждого ЭлементСписка Из ИменинникиПослеЗавтра

                         Цикл      Коллега = ЭлементСписка.Значение;

                                         ТекстДРПослеЗавтра = ТекстДРПослеЗавтра + "Послезавтра наш коллега " + Коллега +

                                         "  будет отмечать свой День Рождения ! "    + Символы.ПС;

                         КонецЦикла;

          Иначе   ТекстДРПослеЗавтра = "Послезавтра ИМЕНИННИКОВ НЕТ !!!!";

         КонецЕсли;

         Сообщить(ТекстДРПослеЗавтра);

КонецПроцедуры   

 

Функция ДатаЗавтра() Экспорт

    Завтра = ТекущаяДата()+ 60*60*24;                

    ВОЗВРАТ Завтра;     

КонецФункции

 

Функция ДатаПослеЗавтра() Экспорт

    ПослеЗавтра = ТекущаяДата()+ 2*60*60*24;               

   ВОЗВРАТ ПослеЗавтра;          

КонецФункции

 

Чтобы это все работало надо открыть  в дереве конфигурации модуль управляемого приложения и в нем прописать написанную нами  процедуру:

&НаКлиенте

Процедура ПриНачалеРаботыСистемы ()

         ПерейтиПоНавигационнойСсылке("e1cib/list/Справочник.Картриджи");

         Сообщить("Вы работаете в программе Учет картриджей !!!", СтатусСообщения.Важное);

         РаботаСДатами.ДниРожденияСотрудников();

КонецПроцедуры

 

Первая строчка в процедуре открывает на рабочем столе справочник Картриджи при запуске программы. Сообщения выводятся внизу рабочего стола. Вот как выглядит теперь рабочий стол программы при запуске ( Рис.33) 

Проведем еще одну доработку справочника Картриджи – а именно, поработаем с формой списка картриджей и добавим на неё кнопку, при нажатии на которую будет фильтроваться список и выбираться только новые картриджи (у которых реквизит Состояние имеет значение «Новый»). Назовем кнопку ТолькоНовые, разместим ее в Командной панели формы. Предварительно в панели команд формы добавим команду ОтборНовых и в свойствах кнопки в поле ИмяКоманды пропишем эту команду (Рис.34)

В модуле формы списка заполним процедуру ОтборНовых следующим кодом (Рис.35): 

В режиме Предприятия смотрим получившийся вид списка – при нажатии на кнопку Только новые отбираются только новые картриджи (Рис.36):

 Сделаем еще один простой отчет для подсчета расходов на покупку, заправку и прочие работы по картриджам. Опять же будем использовать СКД стандартным способом. В качестве Набора данных возмем  регистр  накоплений КартриджиОплата, вид отчета – Запрос  (Рис.37). 

Используем группировку по полям  НоменклатураКартриджей и ВидРабот. В закладке Ресурсы укажем Сумму()  по полю Сумма. В «детальных записях» будем отбирать записи по виду работ и периоду (Рис.38). 

Добавим возможность пользователю выбирать начальную и конечную даты периода оплаты работ.

Для этого введем два параметра : ПериодНачало и ПериодКонец. Будут отбираться документы , оплаченные в даты , попадающие в данный диапазон. Результат работы отчета показан на рисунке (Рис.39):

На этом пока закончим и приступим к использованию разработанной конфигурации.

 

Заключение.

В процессе изучения платформы 1С Предприятие 8.3 с интерфейсом «Такси» на управляемых формах построена рабочая конфигурация приложения для учета движения картриджей для лазерной техники на предприятии или в организации. Использованы основные стандартные объекты конфигурации. В приложении учитывается движение каждого картриджа – покупка, заправка тонером, восстановление, ремонт , списание. Определяется местонахождения и состояние картриджа в конкретный момент времени. Кроме того учитываются затраты по каждому картриджу (покупка, заправка и пр.) в разрезе поставщиков услуг. Простые отчеты позволяют оценить наличие и состояние картриджей на дату, учесть расходы  и сделать вывод о необходимости покупки картриджей, заправки и пр. 

Проверка конфигурации показала ее работоспособность и возможность практического использования в организации.

Разработанная конфигурация и полная версия статьи доступны для загрузки.

Буду благодарен за любые замечания , пожелания , исправление ошибок, которые несомненно есть.
Внешняя печатная форма Акт об оказании услуг для БП 3.0 1C: Предприятие 8.2

Краткое описание

Сфера использования:

Как шаблон для создания своей внешней печатной формы
Если нужно добавить логотип и подписи в типовой акт  об оказании услуг

Инструкция по подключению:

В разделе администрирование найдите пункт "Дополнительные отчеты и обработки".
Создайте в списке новый элемент и выберите файл внешней печатной формы
Задайте настройки по необходимости и сохраните
В документе "Реализация товаров и услуг" в команде "Печать"  появится пункт "(ВПФ) Акт об оказании услуг"

Смотрите так же:

Реестр договоров для 1С:Бухгалтерии 3.0
Поиск контрагентов по параметрам
Внешняя печатная форма Счет на оплату покупателю для БП 3.0
"Форма ПД-4 для Бухгалтерии 3.0 для документа " Платежное поручение"

Краткое описание

Печать ТОРГ-12 для УТ11 по непроведенному документу реализации товаров и услуг 1C: Предприятие 8.2

Краткое описание

Печатная форма ТОРГ-12 полностью аналогична встроенной, но не выполняет проверку на проведенность документа Реализация товаров и услуг. Не требует редактирования конфигурации или добавления дополнительных ролей. Разработана для версии УТ 1
Выгрузка в YML Платформа 1С v8.x (все механизмы)

Краткое описание

Пример простой выгрузки товаров в Яндекс.Маркет (market.yandex.ru) из Управление торглмлей 11 (УТ11) в yml.xml

 

Внешняя обработка - все параметры сохраняются ,

никаких изменений в конфигурации делать не нужно,

подключается через дополнительные обработки,

можно поставить Запуск по расписанию,

фотографии может складывать на FTP.

сделана была для интеграции с агрегатором Агора(agorab2b)
ВК для работы с файлами FilesNative.dll Платформа 1С v8.x (все механизмы)

Краткое описание

Компонента выполнена по технологии Native, не требует регистрации в реестре и, соответственно, особых прав пользователя.
Компонента реализует некоторые методы работы с файлами (архивами).
Поддерживаемые форматы распаковки архивов:
ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA,
7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZЗагрузка компоненты (пример загрузки в модуле обычного приложения)

Перем Файлы Экспорт;

Функция КаталогИБ() Экспорт
КаталогИБ = СтрокаСоединенияИнформационнойБазы();
КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8) + "\";
Возврат КаталогИБ;
КонецФункции

Процедура ПриНачалеРаботыСистемы()
ФайлВК=КаталогИБ()+"FilesNative.dll";
ПодключитьВнешнююКомпоненту(ФайлВК,"FilesNative",AddInType.Native);
Файлы = Новый("AddIn.FilesNative.Files"); // переменная класса
КонецПроцедуры

Методы компоненты (класса Files):

РаспаковатьАрхив(ПолноеИмяАрхивногоФайла,ПапкаКуда)

Распаковывает указанный архивный файл в указанную папку.
Распаковка ведется "до последнего", т.е. если внутри архивного файла
содержатся другие архивные файлы такого же или другого формата (а внутри их, возможно, и ещё),
в указанную папку распакуется всё.
ПапкаКуда - необязательный, по умолчанию = "c:\temp\"
Если указанная папка не существет, она будет создана.

Пример:

Архив="c:\СервисМ\TEST\TTT.RAR";
ПапкаКуда="c:\555\";
Файлы.РаспаковатьАрхив(Архив,ПапкаКуда);

УпаковатьПапку(ПолноеИмяПапки,ПолноеИмяФайлаРезультата,Тип);
Упаковывает указанную папку со всем содержимым в архивный файл формата 7Z или ZIP
Тип - строка вида ".7Z" или ".ZIP", необязательный, по умолчанию = ".7Z"
Пример:

Папка="c:\СервисМ\Taxi\";
Тип=".7Z";
ФайлРезультат="c:\Taxi"+Тип;
Файлы.УпаковатьПапку(Папка,ФайлРезультат,Тип);

УпаковатьФайл(ПолноеИмяФайла,ПолноеИмяФайлаРезультата,Тип)
Практически аналогичен предыдущему, но для отдельного файла.
Пример:

Тип=".7Z";
Файл="c:\СервисМ\1Cv8.1CD";
ФайлРезультат="c:\1Cv8_1CD"+Тип;
Файлы.УпаковатьФайл(Файл,ФайлРезультат,Тип)

ШифроватьФайл(ПолноеИмяИсходногоФайла,ПолноеИмяШифрованногоФайла,Пароль)
Шифрует указанный файл побайтно и создает результирущий зашифрованный файл.
Пароль - строка, необязательный, по умолчанию внутренний пароль компоненты.

Пример:

Пароль="{EC8F1BED-19BB-401B-B448-8EF2150C6FF4}";
ФайлИсх="c:\СервисМ\Поддерживаемые форматы.txt";
ФайлШифр="c:\СервисМ\Поддерживаемые форматы_шифр.txt";
Файлы.ШифроватьФайл(ФайлИсх,ФайлШифр,Пароль);

ДешифроватьФайл(ПолноеИмяИсходногоФайла,ПолноеИмяДешифрованногоФайла,Пароль)
Противоположен предыдущему.
Пример:

Пароль="{EC8F1BED-19BB-401B-B448-8EF2150C6FF4}";
ФайлШифр="c:\СервисМ\Поддерживаемые форматы_шифр.txt";
ФайлДеШифр="c:\СервисМ\Поддерживаемые форматы_дешифр.txt";
Файлы.ДешифроватьФайл(ФайлШифр,ФайлДеШифр,Пароль);

MD5(ПолноеИмяФайла)
Подсчитывает MD5-хеш содержимого указанного файла.
(удобно для отслеживания факта изменения)
Пример:

MD5=Файлы.MD5("c:\СервисМ\NativeFiles\FilesNative.dll");

ВерсияФайла(ПолноеИмяФайла)
Возвращает строку вида Версия;Производитель;ДатаВремяФайла,
например:
Перенос кадровых данных из ЗУП в БП для Украины (8.2) 1C: Предприятие 8.2

Краткое описание

Публикация по сути дублирует публикацию Перенос кадровых данных из ЗУП 2.5 в БП 2.0 автора v_den_v

Что было сделано с типовой обработкой "ВыгрузкаДанныхВБП" из типовой ЗУП для Украины 2.
Отладка шаблонов ограничения доступа RLS 1С: Предприятие 8.3

Краткое описание

В дополнение к статической системе разделения прав доступа (на основании ролей) в системе 1С действует вторая система прав доступа — динамическая (RLS). В этой системе права доступа высчитываются динамических способом, в зависимости от заданных параметров, в процессе работы.

Правила распределения прав доступа в системе RLS описываются в шаблонах, которые описываются на языке запросов 1С с использованием специального расширенного синтаксиса. При этом текст шаблона может быть весьма сложным для понимания и отладки.

Мы столкнулись с необходимостью добиться правильной работы шаблона ограничений прав в конфигурации "Бухгалтерия предприятия, редакция 3.0". Проблема заключалась в том, что разделение прав по организациям для штатных ролей конфигурации работало правильно, а для тех ролей, которые добавили мы - не работало вовсе.

Мы попробовали воспользоваться обработкой //infostart.ru/public/264989/ , однако с нашим шаблоном она не справилась - некоторые синтаксические конструкции не поддерживались. В исследуемом шаблоне было:

52 параметра;
встроенные предопределённые шаблоны;
параметры сеанса;
функциональные опции;
многочисленные инструкции препроцессора, в том числе вложенные;
просто около 3000 строк.

В результате ограничение прав доступа было абсолютно нечитабельно, понять, что именно на рабочей базе было настроено не так, как настроено на тестовой, где всё работало, не удавалось.

Возникла идея написать обработку, которая организует препроцессинг ограничения прав доступа, показывая запрос, который в конце концов применяет 1С. В ограничениях прав доступа могут быть:

подстрока ## - для вставки в текст одного символа #;
подстрока #ТекущаяТаблица - для вставки в текст псевдонима текущей таблицы;
подстрока #ИмяТекущейТаблицы, #CurrentTableName - для вставки в текст полного имени таблицы;
подстрока #ИмяТекущегоПраваДоступа, #CurrentAccessRightName - для вставки в текст имени права доступа;
подстроки #ЕСЛИ #ИНАЧЕЕСЛИ #ИНАЧЕ #ТОГДА #КОНЕЦЕСЛИ #IF #ELSIF #ELSE #ENDIF - для использования препроцессора;
использование сложных условных выражений с операциями И, ИЛИ, НЕ, <, >, <=, >=, =, <> и функции СтрСодержит для использования препроцессора;
использование значений параметров сеанса и функциональных опций через синтаксис &Параметр;
вызов шаблонов ограничений с передачей неограниченного числа параметров. При этом тексты шаблонов ограничений могут содержать всё от пункта 1) до 7), плюс вызов вложенных шаблонов ограничений и подстрок #Параметр(номер параметра).

Для использования реализованной обработки необходимо:

Выгрузить файлы конфигурации. (Конфигуратор -> Главное меню -> Конфигурация -> Выгрузить файлы конфигурации...)
Запустить обработку в режиме предприятия.
Последовательно указать: Файл прав (Файл сохранённой роли), Объект прав (Полное имя таблицы или реквизита), Имя права (Обычно чтение).
Проверить настройки: Имя текущей таблицы, имя текущего права доступа, текущая таблицы. Они должны заполниться автоматически.
Нажать кнопку "Выполнить".
После выполнения пункта 5) должна заполниться таблица параметров. Если в ограничении прав доступа использовались подстроки &Параметр, то они должны появиться в таблице Параметры.
В теории 1С допускает наличие отдельного ограничения доступа для каждого реквизита (поля). Поэтому результат будет показан в виде списка полей. При активации элемента списка автоматически заполняется текстовый документ - результатируещей строкой запроса.
Обработка позволяет менять значения параметров и настроек. После этого можно снова нажимать кнопку "Выполнить".

В результате получаем гораздо более читабельный текст, который можно использовать в конструкторе запросов ограничения доступа или, с минимальными довольно очевидными изменениями, его можно выполнить в консоли запросов.

 
Программа для бекапа и восстановления файлов Фронтола и FireBird Не имеет значения

Краткое описание

РАботает только с базами FireBird в среде Фронтол
Фронтол самостятельно не восстанавливает свои базы

Порядок работы

при запуске программы пытается остановить процесс FrontolSErvice
после завершения работы пытается востановить процесс

******** БЕКАП
- указываем каталог где находится база (имя базы должно быть main.gdb)
- нажимаем кнопку BACKUP получаем бекап в папке архив с именем дата время .gbk

********* Восстановление
- выбираем файл для восстановления
- нажимаем кнопку RESTORE получаем бекап в папке архив с именем дата время .gbk

Остальные кнопки интуитивно понятны.
"Собственные ""Заказы"" для УТ11" 1С: Предприятие 8.3

Краткое описание

В связи с производственной необходимостью возникла потребность заполнять документ "ЗаказКлиента" с мобильного телефона. После двух вечеров тестирования решения 1С "Мобильные заказы" понял, что лучше костляво, но напишу сам под собственные нужды маленькое приложение.

Обмен происходит по средствам WEB-сервисов и плана обмена.

В конфигурацию-приемник нужно будет внести новые объекты.

Для работу сначала нужно будет заполнить настройки приложения как на клиенте, так и в центральной базе.

На клиенте: ip-адрес сервера, имя опубликованной базы на сервере, имя пользователя, пароль, код узла обмена клиента.

На Сервере: на форме плана обмена клиентского узла задать пользователя (рекомендую имя пользователя использовать на англиской раскладке), имя плана обмена (рекомендую назвать как пользователя), и вид цен, которые будут выгружаться на телефон. Код узла сервера обязательно оставить "ЦБ", иначе телефон не сможет его найти.

 

В обмен попадают: Номенклатура, Контрагенты, Партнеры, ВидыЦен, ЕдиницыИзмерения и документ "ЗаказКлиента"

Весь результат получился благодаря курсам по разработке мобильных приложений: Ссылка

P.S.

Особо не ругайте, так как первый опыт в этой стезе, однако за критику буду благодарен.
Альтернативный быстрый поиск. 1C 8.3 управляемое приложение. 1С: Предприятие 8.3

Краткое описание

Маленькая преамбула... Заказчик захотел исключить из списка найденного элементы справочника, которые помечены на удаление. Стандартный механизм быстрого поиска не предусматривает вмешательства извне, поэтому пришлось придумывать что-то свое.

Используется, конечно же, стандартное событие модуля менеджера справочника

ОбработкаПолученияДанныхВыбора(...)


В представленной тестовой базе показана возможность реализации собственного быстрого поиска, который расширяет возможности по сравнению со стандартным.

Основные преимущества:

Улучшена визуализация найденных ссылок. Сюда входит отображение типа найденной ссылки (элемент или группа), а так же состояние объекта (помечен на удаление или нет)
Возможность поиска по практически любым реквизитам, в т.ч. по неиндексированным и строкам неограниченной длины.
Возможность настройки параметров поиска на свое усмотрение.
Возможность настройки длины размера списка отображаемых найденных элементов.
Возможность настройки предоставления информации для пользователя в любом виде.
и т.п.

 Как недостаток:

Наверное бОльшая ресурсоемкость (меньшая скорострельность), нежели у стандартного. Хотя пользователь этого даже не почувствует.

Из нерешенных проблем:

При выборе помеченного на удаление элемента система не переспрашивает: "А действительно ли выбирать помеченный?" (решено)

 Так же, параллельно с представленным механизмом осталась возможность использования стандартного поиска. Для этого достаточно в любом месте редактируемого поля набрать например "//" (две косые)

В текущей базе есть только два справочника: Номенклатура и Клиенты. В справочнике Номенклатура помеченные на удаление элементы из поиска полностью исключены. В Клиентах помеченные на удаление в поиск попадают, но при этом отображаются как "помеченные". В номенклатуре возможен поиск по артикулу и по любому из наименований.

В клиентах -- по любому из наименований и по ОКПО.

Представленный механизм не претендует на абсолютную универсальность. Хотя встроить его можно для любого справочника с минимальными доработками / изменениями.

Если еще немного поколдовать над ним, то на основе этого возможно сделать и универсальный механизм, который смог бы определять, например, на основе метаданных, по каким реквизитам требуется производить поиск + в простом виде указание имен дополнительных реквизитов, по которым нужно искать.

 

 
Валовая прибыль по оплате для УТ, УТП, УПП (Продолжение) 1C:Предприятие 8

Краткое описание

"Отчет ""Выпуск готовой продукции"" по датам выпуска для конфигурации Управление торговлей 11" 1C:Предприятие 8

Краткое описание

Регистрация отчета через "Администрирование - Печатные формы, отчеты и обработки"
Проверка данных. Теперь за стартмани и с отслеживанием срабатывания 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Качество данных, попадающих в учетную систему на платформе 1С - один из важных факторов эффективного использования системы. Как обеспечить это качество за разумные средства?

 

Отчасти эту задачу решает сама система. Например, Управление производственным предприятием не позволит вам купить услугу на склад - спасибо ему за это. Но легко позволит отнести товар, например, на бухгалтерский счет 69.06.3 "Взносы в ФОМС" - как и на любой другой балансовый счет. 

А дело тут вот в чем.

Во-первых, большинство программ 1С - очень доверчивые. И чем больше и сложнее программа, тем больше она доверяет пользователю. 

Во-вторых, почти все внутренние проверки конфигураций предназначены для грубой, черновой проверки данных, и правильность анализируется с точки зрения разработчика, а не с точки зрения методиста или заведующего учетом предприятия-клиента. Цель таких проверок, в основном - чтобы программа работала, а не чтобы учет корректный был.

В-третьих, в конфигурациях нет единого механизма контроля качества данных. Есть небольшие, локальные "проверяльщики" с непохожими друг на друга механизмами настройки.

 

Работа пользователей реального предприятия в учетной системе требует принципиально иного подхода к контролю качества данных. Одна из главных особенностей такого контроля - он должен работать к данным системы.

Например:

Если мы продаем со счета 10.01, то счет доходов должен быть 9
Call Pack - многофункциональная АТС для платформы 1С 8.2 на базе Asterisk 12 1C: Предприятие 8.2

Краткое описание

Система построена на технологии Asterisk Realtime, что позволяет добавлять и редактировать основные объекты (внутренние номера, пользователи, планы обработки вызовов) без перезапуска конфигурации АТС - не мешая работе пользователей. Создание планов обработки вызовов (dialplan) полностью автоматизировано.

Основные свойства и функционал:

встроенный SIP телефон с дополнительными функциями
простое создание и редактирование голосовых меню любого уровня сложности
календарь-расписание для установки правил в зависимости от временнЫх условий - время, день недели, дата, месяц
можно использовать неограниченное количество операторов связи, что позволит экономить на исходящей связи
создание Колл-центров с помощью инструмента Группы обработки вызовов
подробный журнал вызовов, группировка по инициатору в случаях трансферов и парковок
запись разговоров и прослушивание их в журнале вызовов
функция прямой канал - для качественной и бесплатной связи с другими пользователями Call Pack в любой точке планеты
функция Прямой контакт избавит постоянных клиентов и партнеров от прослушивания голосового меню
быстрая установка и отмена переадресации для пользователей добавленных в базу
мониторинг активности позволяет видеть занят ли нужный абонент а также кто и с кем сейчас общается
удобная работа с аудиофайлами - добавление, удаление, прослушивание в интерфейсе 1С
подключение к разговору других абонентов для прослушивания разговора с участием или без него
мониторинг состояния машины АТС - файловая система, модули памяти, процессоры
пользовательская обработка исключений - нет ответа, абонент занят, абонент недоступен и др.
удобная работа с группами вызова и перехвата
для администратора инструмент Доступность форм, типовые инструменты 1С для разделения прав также доступны
голосовая почта и отправка уведомлений о новых сообщениях на голосовую почту на эл. почту пользователя
управление машиной АТС из 1С, перезапуск Atsreisk, смена пароля АТС, перезапуск и выключение машины АТС
редактирование комбинаций вызова сервисов АТС
при необходимости имеются инструменты для тонкой настройки каналов связи SIP, IAX2, DAHDI

Предлагаемая версия является бесплатной без каких либо ограничений. Система состоит из АТС на предустановленной виртуальной машине Oracle VM для Windows (включено в дистрибутив) и управляющей базы 1С. Файл виртуальной машины имеет фиксированный размер (2ГБ, свобдно ~300M), при интенсивной работе необходимо контролировать остаток места на диске.

Архив дистрибутива разбит на 3 части из-за ограничения на размер файла загрузки на infostart.ru в 256 М.


Изменение режима компактности форм ТАКСИ Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка позволяет переключить настройку режма компактности форм с режма "АВТО" (который идет по умолчанию) в режим "Компактный". Ну и обратно можно переключиться если что.. 

Обработка подключается в дополнительные внешние отчеты и обработки в типовую Бухгалтерию 3.0.

Ползволяет индивидуально каждому пользователю без вмешательства в конфигуратор установить тот режим компактности который соответствует его предпочтениям и возможностям его монитора. 
E-Market MailBot 1С: Предприятие 8.3

Краткое описание

Данная обработка полностью использует штатные средства 1С: Управление торговлей 10.3.
На основе данных, полученных с помощью штатного почтового клиента, обработка выгружает прайс-листы из писем, перемещает их в указанную папку и присваивает желаемое имя.

Так же есть возможность для каждого прайса настройть свой почтовый ящик, для этого нужно снять галочку "Внутренний почтовый клиент" и заполнить форму в поле "Данные клиента".

Самостоятельно производит распаковку архивов.
Так же имеется возможность задать автоматическую работу обработки с заданным интервалом.
Код обработки открыт для доработок)
02.04.2014
обновленная версия обработки, далее будет добавлена возможность грузить прайс-листы с сайтов поставщиков

Примечание:

Для ящиков с SSL защитой, лучше всего использовать платформу 8.3


Обновление принятых денежных обязательств (БГУ 8, ред. 1.0) 1C:Предприятие 8

Краткое описание

Обработка предназначена для конфигурации "Бухгалтерия государственного учреждения 8, ред.
Размещение PDF в Поле HTML управляемой формы для просмотра веб-клиентом 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Объекты ActiveX недоступны для размещения в управляемых формах, как было ранее в обычных, при этом необходимость размещения таких объектов востребована. 
Покопался на форумах, мне нужно было разместить файл PDF в управляемой форме, чтобы доступ был в веб-клиенте. В тонком клиенте получилось (не как в обычной форме, но довольно просто), а в веб-клиенте потребовалось покопаться. Привожу описание как сделал размещение файла PDF.  

Сразу замечу, что у Вас уже должен быть установлен веб-сервер и база 1С опубликована на нем.
Моя ситуация: веб-сервер IIS, база 1С 8.3 в клиент-серверном варианте.
В качестве примера создаю простую обработку с управляемой формой.

1) В начале нам необходимо разместить на форме объект, который будет визуально отображать наш файл.
Для этого:
- Добавим реквизит формы "Реквизит1" с типом "Строка"
- Разместим реквизит на управляемой форме
- Изменим для реквизита на форме свойство "Вид", установив его в "Поле HTML документа"



 
 
2) ВАРИАНТ для Тонкий клиент, Толстый клиент:

Открытие файла осуществляется простым присваиванием реквизиту формы "Реквизит1" пути к файлу.



Примечание: Здесь, например, можно организовать диалог выбора файла и отображать конкретный файл. 
Если же, например, файлы хранятся в базе, то предварительно сохранить файл в предопределенный каталог.  


3) ВАРИАНТ для Веб-клиент:

Документ HTML в веб-клиенте приобретает тип "ВнешнийОбъект", в тонком клиенте он имеет тип "COM-объект". Исходя из этой ограничивающей особенности режима веб-клиента "Реквизит1" необходимо определять ещё на сервере тегами HTML.



data = "путь к опубликованному на веб-сервере файлу"
type = "тип приложения для открытия"
width = "ширина окна"
height = "высота окна"

ВНИМАНИЕ: Чтобы опубликовать файл на веб-сервере его достаточно поместить в корневую папку веб-сервера. Для IIS положить в папку: "...\inetpub\wwwroot" (у меня был путь "C:\inetpub\wwwroot").
Т.е. в данном примере файл лежал в C:\inetpub\wwwroot\Example_file.pdf  (в теге это текст data = "http://localhost/Example_file.pdf")

 В итоге имеем:



 
Примечание: В тексте data = "http://localhost/Example_file.pdf", localhost - это условное обозначение веб-сервера на локальном компьютере. Здесь вам нужно будет указывать либо localhost, либо ip адрес веб-сервера внутрисетевой data = "http://192.168.10.174/Example_file.pdf" или внешний адрес data = "http://195.04.04.04/Example_file.pdf" (возможно с указанием порта).
 

   Другие публикации автора
Расширение: Быстрые отборы через буфер [Alt+C] Копировать, [Alt+V] Вставить Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации клавиш [Alt+C] Копировать, [Alt+V] Вставить.
Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.
Гарантированное проведение документов (подключаемое расширение) Гарантированное проведение указанного в регистре сведений списка документов. Регистрируем документы к проведению с помощью произвольных отборов СКД в регистре сведений, далее запускаем фоновое проведение в нескольких потоках. Проведенные документы удаляются из регистра, по непроведенным регистрируются ошибки.
Ускорим проведение в 1С:Управление холдингом В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.
Динамическая кнопка VS Комбинация клавиш Часто требуется ко всем формам или к списку форм привязать новые действия. Но как это сделать не меняя каждую форму и в идеале не меняя конфигурацию? Ниже будет описано, как запрограммировать новые действия через расширение (т.е. не меняя конфигурации) и сделать это универсально (не меняя каждую форму).
Параметризация печатных форм под контрагентов (подключаемое расширение) Расширение добавляет возможности параметризации печати для контрагентов. Подробнее описано здесь //infostart.ru/1c/articles/1510459/
Просмотр объектов очереди сообщений в 1С:Документооборот В базах с бесшовной интеграцией с 1С:Документооборот есть Регистр сведений "Очередь сообщений в 1С:Документооборот". Для пользователя он мало информативен. Расширение позволяет просматривать сообщение в человеческом виде. И понимать проблему до объекта.
Поддержка пользователей [Alt+S] (подключаемое расширение) Расширение, подключаемое к базе 1С для решения задач поддержки пользователей. Позволяет быстро (по кнопке или комбинации клавиш Alt+S), не выходя из программы 1С из любой формы, создать обращение к консультантам и программистам со скринами, файлами, в привязке к проблемному объекту (документу, справочнику, отчету, обработке и т.п.). Вести переписку по обращениям, отслеживать их выполнение с трудозатратами и уведомлять участников через механизмы: Telegram, Обсуждения 1С и Электронную почту. Код открыт и расширение может развиваться и быть доработано под индивидуальные потребности.
Интерактивная справка [Alt+I] (подключаемое расширение) Дополнительная справка, подключаемая к базе 1С. Содержит дерево разделов и статьи. Позволяет создавать статьи с картинками, прикреплять к ним файлы и видео, а также связывать статьи с объектами 1С (документам, справочникам, отчетам). Вызывается на динамически создаваемую кнопку панели либо быстрой комбинацией клавиш Alt+I.
Защита объектов от изменения обменом Расширение позволяет пользователю заблокировать объект 1С (документ, справочник) от изменения последующими загрузками данных или обменами.
Доп. панель Alt+Z Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.
Создание стартовой базы Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.
Групповое добавление и удаление ролей из списка профилей Подключаемая обработка. Помогает при конструировании профилей доступа пользователей (настройке прав пользователей), экономит время на добавлении/удалении одной и той же роли сразу в нескольких профилях.
Интерактивная справка по объектам 1С (автономное расширение) База знаний, подключаемая к объектам основной базы. Ведётся интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
Значения по умолчанию для пользователей (Расширение) При заполнении документов и справочников пользователи часто сталкиваются с необходимостью ввода одних и тех же реквизитов. Заполнение в документах некоторых из них, таких как: Организация, Склад и т.п. - выполняется реализованным в 1С механизмом подстановки значения из последних 3-5 введенных документов. Если же вы хотите заполнять все реквизиты шапки (и даты, и флажки, и другие поля, включая дополнительные реквизиты), то вам поможет данный механизм.
Контекст любого объекта конструкцией #Если Фамилия Тогда Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.
Отключение Монитора ИТС и Проверки наличия обновления (расширение) Некоторые интернет-сервисы базы 1С у пользователей вызывают замедления работы и клиенту не нужны. Их можно отключить через расширения.
Памятка работ по проекту 1С Схема работ по проекту внедрения 1С освежает в голове и визуализирует общую картину мероприятий. Будет полезно как для Заказчика так и для Исполнителя при подготовке проекта и проведении совещаний по ходу проекта.
Использование Стека вызовов в качестве условия оператора Если [...] Тогда Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.
Уведомление пользователей об изменениях в объектах (расширение) Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.
Права доступа к объектам с гибкими отборами (расширение) Возможность без доработок конкретизировать пользователям права Просмотра и Изменения объектов базы 1С, установив ограничения с помощью отборов системы компоновки данных.
Памятка работ по задаче 1С Памятка выполняемых работ по решению длительных задач по 1С
Применение программистом таблицы рисков для оценки технического задания Я как программист часто получаю технические задания, по которым от меня хотят услышать оценку. Привожу описание метода оценки задания, заимствованный из проектной технологии, по которому я оцениваю тех. задания
Добрый великан Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.
Настройка ограничений входа пользователей в базу (расширение) Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).
Переход с партий и производства версии 2.1 на режимы 2.2 в 1С:ERP в середине года В данной статье рассказано о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2) после начала года, доработки изменения.
БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов Расширение конфигурации, отключающее ошибки прошлых периодов, которые блокируют закрытие текущего месяца. Например, "Нарушена последовательность регламентных операций" и т.д.
Проводим по БУ "на лету" В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.
Административная панель #расширение объекта Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.


Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)



Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #
Загрузка из Гранд-Смета 1C:Предприятие 8

Краткое описание

Обработка разрабатывалась для не типовой конфигурации 1С. 
Выполняет загрузку локальной сметы или акта выполненных работ (КС-2) из файла .xml в в соответствующие табличные части обработки. Полученные данные можно адаптировать для выгрузки в табличную часть документа типовой конфигурации 1С.
При загрузке учитывается большая часть коэффициентов применяемых к материалам или видам работ в гранд-смете.
В результате будет получена расшифровка трудозатрат, материалов, механизмов, лимитированных затрат, накладных расходов и сметной прибыли с указанием количества и суммы, а так же все коэффициенты которые применялись для расчета конкретной позиции сметы. 
Для загрузки сметы нужно нажать на кнопку "ФайлСметы". После выбора файла данные по смете загружаются в соответствующие табличные части обработки. Если загружается "Акт выполненных работ", то будет предложен диалог выбора одного из актов в составе файла сметы. После загрузки можно сформировать сводную печатную форму по загруженным данным.
Описание формата есть на сайте гранд сметы http://www.grandsmeta.ru/download/ftp_documentor/f_3525.
Описание формата и пример сметы могу выслать на электронную почту.



E-Market Blocking IP Не имеет значения

Краткое описание

Разработку данной программы навеяли мне постоянные атаки на сервер, который находится под моим присмотром. Я не являюсь системным администратором, поэтому методы защиты сервера мне плохо известны. Но все же почитав форумы и поговорив с людьми, пришел к тому, что можно настроить штатный файервол для блокировки IP адресов, с которых пытаются залезть на сервер. Несколько дней, отслеживая журнал событий и наполняя бан-лист файервола, я пришел к тому, что можно автоматизировать данный процесс, благо опыта в программировании куча. Пошерстив интернет в поисках нужных классов реализации работы была написана программа.
Суть ее работы проста, берется журнал за период 1 день и проверяются сообщения с кодом 4625. Если данное сообщение возникало больше 5 раз с одного ip адреса, при этом имя пользователя не задано в учетных записях сервера, то такой ip автоматически добавляется в бан-лист.
Бан-лист формируется автоматически, так же по мере необходимости дополняется.
Для автоматизации процесса сканирования можно в планировщике заданий создать задачу с любым интервалом запуска, таким образом зациклить процесс проверки
Выгрузка маршрута в навигационную программу Navitel 1C: Предприятие 8.0, 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Процедура создает текстовый файл содержащий маршрут (формата OziExplorer), загрузку которого поддерживает навигационная программа Навител.

В процедуру ВыгрузитьМаршрут(ТЗТочек,Файл) в качестве параметров передаётся таблица значений с точками маршрута (в колонках: Точка,Широта,Долгота) и путь к создаваемому файлу.

Для того, чтобы загрузить полученный маршрут, необходимо сделать следующее:

В программе Навител перейти в: Меню->Маршрут->Импорт

Выбрать тип файла и указать файл полученный из 1С и нажать кнопку <ок>

Для демонстрации работы процедуры используется немного модифицированная обработка //infostart.ru/public/167919/ за разработку которой автору огромное спасибо!
Счет на оплату для Розница 2.1 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Счет на оплату покупателю для 1С Розница 2.1, подключается как внешняя печатная форма к документу "Реализация товаров".
Подключение:

КонЗап - консоль запросов с улучшенным интерфейсом и дополнительными функциями Платформа 1С v8.x (все механизмы)

Краткое описание

Отличия от стандартной консоли запросов (расшифровка к скриншоту №2):

Расчет налога на имущество 1С: Предприятие 8.3

Краткое описание

Показывает ОС в разрезе групп ОС с суммами для расчета налога на имущество. С разделением на облагаемые и не облагаемые ОС.

Версия
Замена пароля пользователя в 1c 8.2 под SQL 1C: Предприятие 8.2

Краткое описание


Была ли у вас такая ситуация: клиент говорит что у него что то не работает, а вы заходите под своим пользователем и все работает, нужно зайти под ним и проверить, а пароль просить неудобно, можно конечно сменить его но тогда нужно сообщать ему новый и есть такие привередливые пользователи, которые потом еще и жаловаться пойдут начальству. Эта обработка позволяет сменить ему пароль на новый зайти под ним и тут же вернуть все на место, не узнавая его пароль. Т.е. для пользователя все произойдет абсолютно прозрачно. Работает если у вас на предприятии используется авторизация 1с, а не привязка к домену.
Сразу предупрежу, никакого взлома тут нет, работать будет только если у вас есть пароль для учетной записи с доступом непосредственно в SQL сервер, а если такой доступ есть то вы мягко говоря можете ВСЕ. 


Загрузка Поступлений товаров из Excel в УТ 10.3 1C: Предприятие 8.2

Краткое описание

Обработка предназначена для загрузки приходных накладных от поставщика по сумме документа! (Важное  замечание сумма в накладной  не пересчитывается при загрузке из документа, а берется именно та что указана поставщиком)
 Загрузка накладной  осуществляется в 2(по желанию в 3) шага изображенных на скриншоте (картинка -  инструкция)


Загрузка данных их Excel (Торг-12) 1С: Предприятие 8.3

Краткое описание

Обработка создаёт документ "Поступление товаров и услуг" из ТОРГ-12 сохраненного в формат Excel. Так же обработка создает документ "Реализация товаров и услуг" из простой таблицы Excel (номенклатура, количество, цена)...
Поиск в справочнике номенклатура осуществляется по полю "Артикул".
Код достаточно простой и можно легко "заточить" под себя)))
Проверка соответствия заполнения реквизитов справочников и документов 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Сравнивать можно объекты по-разному, но тут просится механизм «Сравнить файлы», доступный через меню «Файл» - «Сравнить файлы»:

Доступный как в обычном, так и в управляемом приложении, а так же есть возможность сделать это программно:

, но есть одна «пакость» - для тонкого клиента этот метод не работает, а запускать управляемое приложение «толстым клиентом» не всегда удобно. Тут как обычно помог «звонок другу». Сравнение в тонком клиенте управляемого приложения сделал Гусев Н.А.(профиль на ИС //infostart.ru/profile/18469/), за что ему огромное человеческое спасибо!!! За подробностями реализации все вопросы к нему, т.к для разных ОС на разных компьютерах и конфигурациях может работать с использованием разных вариантов сравнения. Если коротко – то сравнение запускается «программным» нажатием кнопок, отсюда и варианты*.

 Т.к. «Сравнить файлы» сравнивает только файлы, и не может сравнить объекты ссылочного типа:

вариантов немного - надо создать два табличных документа по метаданным и сравнить их.

Получилось вот так – управляемое приложение:

 

обычное приложение:

Результат сравнения в обычном приложении:

управляемое для тонкого клиента:

Управляемое для толстого клиента:

 

Подключение для управляемого приложения:

Кнопка «Создать» - «Загрузить из файла» потом:

Для обычного просто добавить в дополнительные обработки. 

В любом режиме можно просто использовать через «Файл» - «Открыть».




* - от Гусева Н.А.

=================================

Поскольку в тонком клиенте объект «СравнениеФайлов» не доступен из встроенного языка 1С, а сравнение файлов доступно только в режиме «1С:Предприятие», оно реализовано через форму сравнения файлов 1С:Предприятия путем эмуляции нажатия клавиш. Эмуляция нажатия клавиш реализована через скриптовый язык AutoHotKey (AHK, http://www.autohotkey.com/, на русском - http://www.script-coding.info). Скрипт и сам AHK находятся в обработке, поэтому никаких дополнительных установок для работы не требуется.

==================================

 

 
"Правила обмена данными ""УТ"" (10.3.35.2) -> ""БП 3.0"" (3.0.43.124) через ""Универсальный обмен данными в формате XML""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Правила конвертации данных для выгрузки из конфигурации "Управление торговлей, редакция 10.3" (10.3.72.2) и загрузки в конфигурацию "Бухгалтерия предприятия, редакция 3.0" (3.0.106.14) через обработку "Универсальный обмен данными в формате XML". Это простая выгрузка документов из "торговли" в "бухгалтерию" за выбранный период, а также всех необходимых справочников, связанных с выгружаемыми документами (настройка обмена НЕ ТРЕБУЕТСЯ). Правила обмена данными созданы на основе стандартных правил обмена, но адаптированы для использования вместе с обработкой "Универсальный обмен данными в формате XML".  Добавлен фильтр по Организации и загружаемые документы имеют статус НЕ проведен.

Проверен импорт/экспорт следующих объектов:

 Документы
 Документ: Авансовый отчет
 Документ: Аккредитив перенный
 Документ: Аккредитив полученный
 Документ: Возврат товаров от покупателя
 Документ: Возврат товаров поставщику
 Документ: Возврат товаров поставщику из НТТ
 Документ: ГТД по импорту
 Документ: Доверенность
 Документ: Инвентаризация товаров на складе
 Документ: Инкассовое поручение перенное
 Документ: Инкассовое поручение полученное
 Документ: Оприходование товаров
 Документ: Отчет комиссионера о прожах
 Документ: Отчет комитенту о прожах товаров
 Документ: Отчет о розничных прожах
 Документ: Платежное поручение входящее
 Документ: Платежное поручение исходящее
 Документ: Платежное требование полученное
 Документ: Платежный ордер: поступление денежных средств
 Документ: Платежный ордер: списание денежных средств
 Документ: Поступление доп. расходов
 Документ: Поступление товаров и услуг
 Документ: Поступление товаров и услуг в НТТ
 Документ: Приходный кассовый ордер
 Документ: Расходный кассовый ордер
 Документ: Реализация товаров и услуг
 Документ: Списание товаров
 Документ: Счет-фактура вынный
 Документ: Счет-фактура полученный
 Документ: Требование-накладная
 Документ: Перемещение товаров
 Документ: Комплектация номенклатуры
 Документ: Корректировка долга
 Документ: Платежное требование выставленное
 Документ: Переоценка товаров в рознице
 Документ: Счет на оплату покупателю
 Документ: Заказ покупателя
 СчетНаОплатуПоставщика
 ДокументРасчетовСКонтрагентом
 КорректировкаРеализации
 КорректировкаПоступления
 Справочники
 Справочник: Адресные сокращения
 Справочник: Банки
 Справочник: Банковские счета
 Справочник: Валюты
 Справочник: Виды контактной информации
 Справочник: Договоры контрагентов
 Справочник: Документы удостоверяющие личность
 Справочник: Должности организаций
 Справочник: Классификатор единиц измерения
 Справочник: Классификатор стран мира
 Справочник: Контактные лица
 Справочник: Контрагенты
 Справочник: Номенклатура
 Справочник: Номенклатурные группы
 Справочник: Номера ГТД
 Справочник: Организации
 Справочник: Пользователи
 Справочник: Роли контактных лиц
 Справочник: Склады (места хранения)
 Справочник: Статьи движения денежных средств
 Справочник: Статьи затрат
 Справочник: Типы цен номенклатуры
 Справочник: Физические лица
 Справочник: Контактные лица контрагентов
 Справочник: Виды оплат чека ККМ
 Справочник: Виды взаиморасчетов
 Регистры сведений
 Регистр сведений: Контактная информация
 Регистр сведений: Курсы валют
 Регистр сведений: Паспортные нные физического лица
 Регистр сведений: Фамилия, имя, отчество физического лица
 Регистр сведений: Ответственные лица организации
Генератор Штрих-кода CODE128 на основе шрифта CODE128.ttf 1C:Предприятие 8

Краткое описание

Шрифт встроен в шаблон, в обработке присутствует код авторегистрации шрифта в windows при открытии обработки.

Обработка предназначена для демонстрации и последующего встраивания кода в конфигурации или печатные формы:

Как протестировать:

В поле "ВХОДЯЩИЕ СИМВОЛЫ ШК" - вводим символы, которые хотим закодировать
Нажимаем кнопку "Сформировать CODE128"
На форме обработки появится изображение штрих-кода

Если вдруг у Вас не появилось изображение штрих-кода, следовательно, у вас не зарегистрировался шрифт:

Возможные пути решения:

Запустить программу 1С под административными правами и перезагрузить Операционную систему
Вручную сохранить файл из шаблона (находясь в Конфигураторе) и далее мышкой перетянуть сохраненный в папку "...Windows\Font" - запустится установщик шрифтов 
//////
22.03.2021 - Перезалил обработку - в макете действительно был нерабочий шрифт.
Выгрузка и загрузка данных XML 8.3 с отбором Платформа 1С v8.x (все механизмы)

Краткое описание

Разработчики поленились добавить возможность отбора в эту полезную обработку, поэтому пришлось сделать самому.
Обработку можно добавить как внешнюю в типовые конфигурации.
Выгрузка документов в Бухгалтерию предприятия (2.0, 3.0) из Управления торговлей (10, 11), Комплексная автоматизация, Управление производственным предприятием 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Загрузка - выгрузка документов в Бухгалтерия предприятия 3.0 из Управление торговлей 10 (проф. версия) 6 мес.  6 мес. 
Правила переноса данных из ЗУП в УПП 1C: Предприятие 8.2

Краткое описание

Публикация представляет правила переноса данных из конфигурации "1С:Зарплата и Управление персоналом, редакция 2.5" в конфигурацию "1С:Управление производственным предприятием, редакция
Загрузка банковских выписок из Сбербанк Бизнес-Онлайн Платформа 1С v7.7 (все механизмы)

Краткое описание

Немного предистории: поступил заказ от моей бухгалтерии на загрузку выписок из КБ Сбербанка. поискав в интернете и на дисках итс бесплатных готовых решений мною обнаружено не было.  В наличии у меня была готовая обработка, только для работы с DBF форматом. Было решено переделать её для работы с форматом TXT 1CClientBankExchange (
"Делаем из Бухгалтерии 3.0 Бухгалтерию 2.0 или " Назад в будущее"

Краткое описание

Запросник на управляемых формах 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Итак, что сделано:

- Дерево запросов

- Вывод результата в таблицу и дерево

- Параметры с установкой момента времени, границы, списков, таблицы значений

- Просмотр и отладка временных таблиц

- Версионирование запросов - при каждом выполнении оно запоминается, что там было

- Сохранение в файлы и всё такое

- Обход запроса с помощью настраиваемой выборки

- Конструктор в тонком клиенте при использовании 8.3.5

- Выполнение алгоритмов над результатом запроса

- Возможность отлаживать запрос, формируемый в консоли системы компоновки данных с диска ИТС

- Получение плана запроса, сформированного СУБД

- Получение текста запроса СУБД

- Отладка запроса в модуле

На последнем пункте остановлюсь подробнее, так как суть работы его поменялась.

В далёкие и прекрасные времена, когда использовались ОФ, мы могли с чистой совестью открывать любые формы из отладчика, вызывать всё это модально и вообще играться как дети.

Эта прекрасная возможность и использовалась Запросником - пишем в модуле объекта функцию с открытием формы и установкой запроса и всё работает.

Суровая реальность УФ заставила поменять подход.

Мы теперь не открываем форму обработки с передачей запроса, но мы точно также специальной строкой в отладчике делаем "дамп" запроса со всеми параметрами и временными таблицами. "дамп" сохраняется в недрах сервера и ждёт, пока его кто-нибудь подберёт.

Подбирается он нажатием одной кнопки "Загрузить дамп" - всё, что завалялось из сохранённого для текущей конфигурации тут же подгружается в деревья запросов со всеми потрохами.

Таким образом, отладка происходитв 2 этапа - вычислить выражение в отладчике вида ВнешниеОбработки.Создать(путь,Ложь).Дамп(Запрос), после чего, можно отпустить исполнение кода дальше и нажать кнопку в обработке (обычный режим), или исполнение кода не отпускать и запустить обработку во втором сеансе (модальный режим).
Строка для вычисления выражения в отладчике доступна в обработке в окне "Отладка запроса в модуле", она генерируется с учетом серверного-файлового режима, в случае серверного файл передаётся на сервер во временную папку.
Проверено на клиент-серверном и файловом вариантах, платформа 8.2, 8.3

// update 2.0.3 08.08.2014
- Добавлена отладка запросов, генерируемых стандартной консолью СКД с ИТС

Решил не присобачивать сюда еще и консоль СКД, т.к. это всё-таки другой инструмент, но я сделал интеграцию между ними.
Как это работает: в Запроснике справа сверху есть подменю с командой "Получить запрос из схемы компоновки", после нажатия вам будет предложено указать, какое из открытых сейчас окон - консоль СКД. При выборе окна запросник выбирает из него схему, настройки, генерирует макет и добавляет получившийся запрос в дерево запросов со всеми параметрами.

// update 2.0.4 08.08.2014
- Добавлена совместимость с платформой 8.2

// update 2.0.5 08.08.2014
- Исправлена ошибка открытия списка версий запросов на платформе 8.3 и ошибка открытия конструктора запросов на 8.3.5
- Добавлена возможность перетаскивать мышкой структуру запроса и параметры в текст запроса при выполении алгоритма
- Добавлено отображение версии запросника в главном окне
// update 2.0.6 16.08.2014
- Исправлена ошибка при выполнении запроса второй раз с установленным флажком "Показывать служебные колонки результата"
- Исправлена ошибка при выполнении запросов, содержащих временные таблицы, когда первая попытка выполнения закончилась ошибкой из-за
неверного синтаксиса запроса
- Произведен рефакторинг участка работы с временными таблицами. Улучшена производительность в операциях сохранения значений ВТ
для последующего отображения.
- Исправлена ошибка сохранения дампа запроса, когда сразу за именем ВТ следовал символ ";"
// update 2.0.7 19.08.2014
Улучшения производительности:
- Несколько улучшена производительность вывода результатов запроса, содержащих большое количество строк
- Уменьшены задержки при навигации по дереву запросов, когда на форме содержиться очень большая таблица результатов запроса
- Произведен рефакторинг процесса работы с алгоритмами запроса. Результат теперь не переходит в другую форму, что
  значительно уменьшает время открытия формы работы с алгоритмами
// update 2.0.8 28.08.2014
- Исправлена ошибка в формируемой в файловой версии строки сохранения дампа - там не было кавычек к пути файла
- Добавлена возможность просматривать тексты запроса СУБД и план запроса СУБД

// update 2.0.9 03.09.2014
- Исправлена ошибка при формировании пакетного запроса в случае, когда включен режим получения плана запроса
- Добавлена совместимость с 8.2.16 и ниже, предположительно до 8.2.14
- Добавлена возможность формировать текст запроса для модуля
- Убрано сообщение об ошибке при открытии конструктора запросов в толстом клиенте
- Произведена некоторая оптимизация для получения плана запроса в клиент-серверном варианте

// update 2.0.10 13.09.2014
- Исправлены ошибки с параметрами дата, которые не содержали время
- Исправлена ошибка при работе с версиями запроса, после работы с которыми терялись параметр "список значений"
- Исправлена ошибка, из-за которой под платформой 8.2 не работало получение запроса из схемы СКД
- Добавлена возможность получать тексты запросов СУБД с представлениями полей 1С.
- Убраны ограничения интерактивного редактирования таблиц результата запроса
В 

//update 2.0.11 18.09.2014
- Исправлен печальный баг, который загонял отладчик в бесконечный цикл при сохранении дампа запроса с >4 таблицами
- Исправлены ошибки, из-за которых некоторые ВТ не сохранялись в дамп
- Исправлена ошибка с параметром даты в составе границы
- Интерфейс в такси переведен на компактный режим
- Исправлена ошибка, когда ВТ могли задваиваться в форме, если вызывать их несколько раз с разным синтаксисом

//update 2.0.12 03.10.2014

- Улучшен парсинг запросов при получении дампа - временная таблица теперь корректно обнаруживается внутри вложенного запроса

//update 2.0.13 19.12.2014
- Для возможности нормальной отладки запросов ЗУП добавлено замещение значений NULL на неопределено во временных таблицах
- Исправлена ошибка при выполнении запроса, в котором ВТ используется несколько раз и написана в разном регистре
- Исправлена ситуация, когда иногда могли не отображаться отрицательные числа из-за бага платформы

//update 2.0.14 24.02.2015
- Реализована поддержка отладки сохраненных дампов временных таблиц, у которых есть колонки со значением "Тип"
(используется в ERP 2.0 в запросах на отражение документов в рег. учете)
- Изменен приоритет конструкторов запроса - если доступен конструктор для толстого клиента, то вызывается он.

//update 2.0.15 02.03.2015

- Исправлена ошибка в заполнении колонок таблицы значений-параметра, когда при отмене редактирования выполнялась проверка на тип колонки
- Значения полей типа "Тип" и "Момент времени" в результате запроса теперь отображают представление данных, а не просто строки "Тип" и "Момент времени"
- Реализована интерактивная работа с полями типа "Хранилище значений", "Результат запроса", "Двоичные данные"

//update 2.0.16 12.05.2015

- Добавлено выделение места в тексте запроса, в котором конструктор видит синтаксическую ошибку
- Добавлено предупреждение при попытке выхода из обработки с несохраненными изменениями
- Переработан процесс выбора типов в параметрах запроса и в списке значений с целью повышения удобства
- Исправлена ошибка при использовании команды "Удалить неиспользуемые параметры"
- Добавлена возможность удалять сохраненные версии запроса

 

//update 2.0.17 14.05.2015
- Добавлен новый выбор типа при настройке колонок таблицы значений
- Добавлен новый выбор типа при работе стандартной команды "Подбор" списка значений
- Исправлены некоторые ошибки с отсутствием модифицированности формы

//update 2.0.18 2
Внешняя печатная форма Расходная накладная для УПП и КА 1C: Предприятие 8.2

Краткое описание

Внешняя печатная форма Расходная накладная для УПП и КА. Документ Реализация товаров и услуг. Печатная форма без доработки и изменений типовой печатной формы конфигурации УПП и КА.

RLS для полных прав 1C:Предприятие 8

Краткое описание

Данная разработка универсальная для любых платформ 1С 8.Х и конфигураций. Внедрять ее можно в конфигурации  в которых менять что-то в ролях и правах уже достаточно проблематично или за запутанности или уже давно пользователи привыкли к работе в полных правах. Разработка позволяет администратору или программисту, внедрив принцип данной конфигурации в свою, гибко назначать просмотр, добавление изменение и просмотр отчетов в разрезе организаций, подразделений и контрагентов только тех, которые разрешены пользователям. Руководители же и Вы, господа программисты можете видеть все и не будет больше обращения к Вам юзеров по поводу: "У меня нет прав на справочник, Я не вижу номенклатуру или А почему я все не могу, я же ..." дальше без комментариев... :-)/ Конфигурация заполнена, поэтому Вы сможете наглядно на примере просмотреть, пощупать, понять или кое-кто научиться некоторым вещам в программировании на 1С 8.X.

Для настройки программы используется Обработка Настройка РЛС, где выбираются пользователи и задаются конкретные Организации, Подразделения и Контрагенты, проводиться и пользователь может работать, в настройках пользователя необходимо назначить роль Полные права Ограничение на уровне записи. Пользователь может создавать и проводить документы работая только со своими настройками.

Разработка является плодом долгих раздумий и решений в одной организации, где теперь довольны все, и не нарушена текущая работа предприятия.

Так же разработка бесплатно, но если Вы решите вдруг отблагодарить, то буду рад некоторому вознаграждению :-) 4405 6620 5120 0996
Прайс-лист для УТ 11 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Прайс-лист для УТ 11 в более наглядной и упрощенной форме.

Имеется возможность выбрать, какие типы цен и наличие товаров по каким складам выводить в прайс-лист, в какой форме выводить остатки: в виде звезд (*<=5, **<=10,***>10) или цифр.
Работает отбор по группам номенклатуры и по видам номенклатуры.
Можно выводить в прайс-лист только те товары, по которым есть остатки на выбранных складах.
Добавлена колонка Заказ, для тех клиентов, кто оформляет заказы по прайс-листам.

Сформированный прайс-лист можно отправить клиентам на электронную почту в различных форматах.

Оставляйте комментарии, предложения, пожелания по улучшению прайс-листа.

ВНИМАНИЕ! Требуется платформа 1С версии 8.3, конфигурация УТ 1
Рассылка страховых взносов ПФР сотрудникам Платформа 1С v8.x (все механизмы)

Краткое описание

Для чего нужно
Согласно статье 15 Закона от 0
Универсальный контроль реквизитов документов. Без изменения типовых объектов. 1C: Предприятие 8.2

Краткое описание

Публикация представлена cf файлом. Он содержит:

 

1 общий модуль.

1 подписку

1 регистр сведений

Для теста и демонстрации создано 2 справочника и 1 документ

Общий модуль содержит универсальную процедуру перебора реквизитов документа. И выявление контролируемых реквизитов.

Функцию заточенную под конкретное применение - контроль реквизитов документа на соответствие Организации. В регистре сведений указываем, какая группа справочника соответствует какой организации. И сообщаем - если в документе выбрали элемент справочника не из той группы.

К подписке можно привязывать документы содержащие в шапке реквизит "Организация". Контролируются реквизиты из шапки и табличных частей.

Можно контролировать сразу несколько типов справочников. Для этого указываем их в реквизите "Справочник" регистра сведений.

В дальнейшем планирую переделать под УФ для 8.3
Универсальный передаточный документ. Внешняя печатная форма. Бухгалтерский учет, редакция 4.5 Бухгалтерский учет 7.7

Краткое описание

Универсальный передаточный документ (УПД) для бухгалтерии, сделана на основе 7.70.579, тестировалась на 7.70.539.
Закомментирован код, связанный с КонтрагентЯвляетсяОбособленнымПодразделением (реквизита нет в Счет-фактуре)

Создание произвольной таблицы значений на форме в управляемом приложении программным способом 1C: Предприятие 8.2

Краткое описание

Приветствую всех читателям infostart’a. Данная статья будет посвящена вопросу создания произвольной таблицы значений на форме управляемого приложения программным способом.

Особенности задачи.

Каждый, кто программировал в обычном приложении, часто сталкивался с задачей получения произвольной таблицы значений на форме. Под произвольной таблицей значений понимается таблица, количество и тип колонок которой наперед не известно. То есть колонок может быть 3, а может 6, а может 8. В обычном приложении все просто: можно было на форме обработки разместить элемент «ТаблицаЗначений»,и затем передать в этот элемент созданную таблицу значений программным способом. Потом простой командой:

ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();






получить готовую таблицу значений на форме. Казалось бы, что может быть проще.

Это все было в обычном приложении. В управляемом приложении все изменилось. Так просто произвольную таблицу не создать. Теперь нужно либо жестко параметризировать таблицу значений на форме, либо создавать ее программным способом (описывать,ну, в этом, собственно, и суть самого управляемого приложения). Это мы и попробуем сделать: программными средствами создать произвольную таблицу значений на управляемой форме.

Решение задачи.

Первое, что мы должны сделать, это определить, как таблица появится на форме. Главное, что никакого элемента формы в обработке создавать не нужно. Мы его создадим программным способом, как и всю таблицу. То есть таблица будет описана, и создаваться в момент открытия формы или с помощью кнопки – это кому как нужно.




Создание таблицы на форме происходит через описание таблицы значений как реквизита:



МассивТипаВыбора = Новый Массив;


МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений"));


ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора);


МассивРеквизитов = Новый Массив;


МассивРеквизитов.Добавить(Новый РеквизитФормы("ТаблицаРасписания", ОписаниеТипаВыбора, "", "ТЗН"));

Теперь мы должны создать программную таблицу значений, которая содержит данные. Если таблица значений будет получена из запроса, то все более - менее порядок. Если таблица создается вручную, то значение колонок, которые будут содержать числа или даты могут быть созданы через «ОписаниеТипов». Суть в том, что колонки в таблице значений обязательно должны иметь какой-то тип. Если, например,предполагается, что пользователь будет заполнять данные в этих колонках интерактивно, то нельзя добавлять колонку таблицы значений просто с именем, она должна иметь тип. Имейте ввиду – это очень важно т.к. эти типы мы передадим в таблицу на форме.


Создаем таблицу, которая содержит несколько колонок:



КД = Новый КвалификаторыДаты(ЧастиДаты.Время);            



МассивКД = Новый Массив;


МассивКД.Добавить(Тип("Дата"));


ОписаниеТиповВремя = Новый ОписаниеТипов(МассивКД, , ,КД);




ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("С", ОписаниеТиповВремя);
ТЗ.Колонки.Добавить("До", ОписаниеТиповВремя);
ТЗ.Колонки.Добавить("ФИО");
ТЗ.Колонки.Добавить("Примечание");//ФИО и Примечание - строки



Далее мы заполним нашу программную таблицу ТЗ нужными данными. Получаем таблицу ТЗ, которая содержит необходимые значения и готова к передаче в созданный реквизит формы.


Для Каждого Колонка Из ТЗ.Колонки Цикл



МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения,"ТаблицаРасписания"));


КонецЦикла;
ИзменитьРеквизиты(МассивРеквизитов);      
ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы"));
ТаблицаПолейВыбора.ПутьКДанным = "ТаблицаРасписания";
ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список;



Вот такая нехитрая комбинация и наша таблица готова.


Далее укажем путь к данным и, например, можем установить ширину колонок:

Для Каждого Колонка Из ТЗ.Колонки Цикл



НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора);       
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "ТаблицаРасписания." + Колонка.Имя;
НовыйЭлемент.Ширина = 10;


КонецЦикла;



Условное оформление, если нам нужно мы также пишем вручную,командное меню – вручную. Обработчики таблицы также пишутся руками. Например,что бы добавить обработчик события таблицы «Выбор»:

ТаблицаПолейВыбора.УстановитьДействие("Выбор","ТЗНВыбор");



Для обработки данного события в форме процедуры прописывается отдельная процедура:

&НаКлиенте
Процедура ТЗНВыбор(ТЗ, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
//команды обработчика



КонецПроцедуры



Обратите внимание, что обработчики таблицы срабатывают на клиенте и поэтому должны иметь команду указатель компилятора

&НаКлиенте



Ну, и последнее что хотелось добавить, что после всех этих действий обязательно не забываем передать готовую таблицу в реквизит формы:

ЗначениеВРеквизитФормы(ТЗ, "ТаблицаРасписания");



Вот что имеем в результате:

А вот обработка события "Выбор":




Послесловие.

Надеюсь, статья окажет помощь тем программистам 1С, которые начинают создавать таблицы на форме программным способом.

Вы можете скачать обработку, которая программным способом создает таблицу значения и выводит на управляемую форму с комментариями,которые помогут Вам создавать свои таблицы.
Список НФА закрепленных за ЦМО 1C: Предприятие 8.2

Краткое описание

Список НФА закрепленных за ЦМО для БГУ
Сравнение документов любых конфигураций 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Обработка позволяет сравнить документы в двух базах, с любыми конфигурациями (например УТ-БП), при этом сравниваются только найденные реквизиты.

Поиск идет по уникальному идентификатору, если кому не подойдет, можете переделать на поиск по номеру (изменить придется 2-3 строки).

Обработка создавалась для проверки обмена и пресечения редактирования документов после выгрузки. Сравнивает любые документы, реквизиты и табличные части.

Работает с 8.1 - 8.2 в режиме обычного приложения. Можно выбрать как список видов документов для сравнения, так и конкретный вид документа, тогда появляется возможность настройки полей для отбора (реквизитов документа и ТЧ).

Работает быстро (Сравнивал на 10 тыс. документов, отрабатывала примерно 5 минут). 
Мини-Эверест: Native ВК для 8.х Платформа 1С v8.x (все механизмы)

Краткое описание

ВК выполнена по технологии Native, т.е. не требует особых прав и регистрации в реестре.

Пример загрузки ВК:

Перем Инфо Экспорт;
Функция КаталогИБ() Экспорт
КаталогИБ = СтрокаСоединенияИнформационнойБазы();
КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8) + "\";
Возврат КаталогИБ;
КонецФункции


Процедура ПриНачалеРаботыСистемы()
ПутьDLL=КаталогИБ()+"NativeCompInfo.dll";
Файл=Новый Файл(ПутьDLL);
Если Не Файл.Существует() Тогда
Сообщить("Не обнаружен файл ""NativeCompInfo"", библиотека не загружена",СтатусСообщения.Внимание);
Возврат;
КонецЕсли;
//--- подключение компоненты--------
ПодключитьВнешнююКомпоненту(ПутьDLL,"NativeCompInfo",AddInType.Native);
//--- создание объекта класса------
Инфо = Новый("AddIn.NativeCompInfo.CompInfo");
КонецПроцедуры



Методы:
Диски() - возвращает многострочную строку жестких дисков.
Каждая строка имеет вид: Имя;Интерфейс;Модель;ЧислоРазделов;Объем(ГБ)
Процессоры() - возвращает многострочную строку процессоров.
Каждая строка имеет вид: Имя;Идентификатор;ЧастотаВнешнегоГенератора;ЧислоЯдер;ЧилоЛогическихПроцессоров
ОЗУ() - возвращает многострочную строку планок памяти. 
Каждая строка имеет вид: Идентификатор;СерийныйНомер;Разрядность;Частота;Объем
Процессы() - возвращает многострочную строку запущенных процессов (на терминале - всех пользователей).
Каждая строка имеет вид: Имя;Идентификатор(Handle);ИдентификаторТерминальнойСессии;ДатаСозданияПроцесса;ЗанимаемаяПамять(МБ)
Сервисы()- возвращает многострочную строку установленных сервисов
Каждая строка имеет вид: ОтображаемоеИмя;Идентификатор(Handle);Состояние;Статус
Пользователи() - возвращает многострочную строку зарегистрированных пользователей
Каждая строка имеет вид: Имя;Домен;SID(уникальный идентификатор пользователя);Статус
БИОС() - возвращает строку информации о BIOS примерно такого вида: BIOS Date: 09/30/09 12:52:30 Ver: 08.00.10 [Intel Corp.]
УбитьПроцесс(PID), где PID - число, идентификатор (handle) процесса

Примечание 1: разделитель во всех строках - точка с запятой
Примечание 2: в архиве файл 1CV8.1CD тестовой базы и файл ВК NativeCompInfo.dll. Пароль на архив: 123
Примечание 3: тестовые обработки включены в состав конфигурации (Операции-Обработка...)
Примечание 4: тестировалось на Windows XP, Windows Server 2008, Windows Server 2003

Версия
Загрузка картинок номенклатуры для УТ 11 по артикулу 1C: Предприятие 8.2

Краткое описание

Обработка позволяет автоматизировать процесс внесения изображения товара для УТ11 по артикулу. Название картинок должно совпадать с артикулом номенклатуры и быть в формате jpg.
Обработка работает следующим образом.
Создается папка, куда скидываются изображения товара. Необходимо будет, чтобы название картинок совпадало с артикулом товара.  При нажатии кнопки "Загрузка" обработка предложит выбрать папку, где находятся изображения товара. Далее программа произведет поиск товара по названию изображения, по реквизиту артикул и установит изображение как основное.

Маршруты в GoogleMaps для типовых конфигураций 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

"Данное решение встраивается в типовую конфигурацию на управляемых формах в качестве дополнительной печатной формы (наличие БСП, а также хранение КИ в табличной части "КонтактнаяИнформация" объекта). Назначение обработки определяется автоматически: выбираются все документы, содержащие реквизиты "Контрагент" и "Организация". После этого среди дополнительных печатных форм документов вы сможете найти команду "Проложить маршрут". Маршрут прокладывается от фактического адреса организации до фактического адреса контрагента, указанных в документе. Помимо всего прочего выводится информация о маршруте (промежуточных точках, длине маршруте и времени пребывания в пути).

Как это работает?

Работа ведется с API от GoogleMaps. Маршрут выводится на форму в поле HTML-документа, описание которого находится в макете обработки. Помимо прокладки маршрута можно также ставить/убирать вспомогательные отметки на карте.

Обновление от 22 августа 2014 г.

- исправлена проблема с формированием маршрута при открытии;
- добавлена кнопка "Открыть в браузере" для просмотра маршрутов на сайте GoogleMaps;
- добавлена возможность выбора способов перемещения;
- доработано дерево информации о маршруте;
- добавлена возможность сохранения маршрута в текстовом виде с координатами промежуточных точек.



 


Обновление от 26 августа 2014 г.

В архиве к публикации вы теперь можете найти 2 обработки. "GoogleMapsExtPrint" - интегрируется как внешняя печатная форма, ее описание приводилось выше; "GoogleMapsService" - добавляется в качестве внешней обработки, ее можно вызвать из меню "Сервис-Дополнительные обработки", открывается с пустой (без маршрутов) картой для дальнейшей прокладки маршрутов. Начальное центрирование (г. Москва) вы можете изменить в обработчике "ПриСозданииНаСервере" (строка 18 основной формы обработки).

 

Обновление от 14 июля 2016 г.

Исправлена проблема с выполнением скриптов. Для исправления ошибки необходимо в макетах (на вкладке "Текст") обработок "gm_GoogleMaps" строку 15



изменить на



Вместо "ТутВашКлюч" по умолчанию стоит мой ключ разработчика с ограничениями на количество запросов в день. Для получения собственного ключа вам необходимо перейти по ссылке: https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ru.

После получения ключа вам необходимо подставить его в строке 15 в макете "gm_GoogleMaps"

 

Обновление от 15 июля 2016 г.

Добавлена возможность сохранять маршрут в формате GPX

Обновление от 14 ноября 2017 г.

Изменен вызов JS-скриптов из 1С (вместо eval теперь вызывается событие убран функционал для установки отметки на карте
Отчет о движении ТМЦ в местах хранения (унифицированная форма МХ-20) 1C:Предприятие 8

Краткое описание

Отчет представляет собой сводную таблицу по оборотам ТМЦ на счетах 10.х, МЦ.02, МЦ.04 за указанный период, с отбором по МОЛ и складу. Форма МХ-20 унифицирована. Незаменим при большом количестве подразделений (и соответственно мест хранения). Есть возможность вывода отчета без детализации по номенклатуре, возможность непосредственного сохранения в Excel. Печать из 1С настроена, каждая страничка выводится со своим итогом и полями для подписи. Очень удобна для бухгалтера, не требует дополнительной настройки со стороны пользователя.
Работа с DropBox из 1С 1C: Предприятие 8.2

Краткое описание

Для чего это нужно.

Таким образом можно организовать автоматический обмен различными файлами между различными базами данных / приложениями, если нет желания/возможностей установить обычное приложение dropbox.

Что внутри.

В качестве примера такой работы представлена конфигурация, в которой реализовано следующее:

Авторизация приложения на сервисе dropbox. Авторизация производится один раз, дальше можно работать без ввода логинов/паролей.
Получение дерева каталогов и их содержимого для вашей учетной записи.
Загрузка файла в dropbox.
Скачивание файла из dropbox.
Удаление файла с сервера dropbox.

Фактически, эта конфигурация - это приложение, которое разработано в соответствие с документацией dropbox по разработке клиентских приложений.

Использованная документация

DropBox Core API
Using OAuth in "PLAINTEXT" mode
Dropbox for HTTP Developers
Dropbox OAuth guide

P.S.

Для создания своего собственного приложения нужно использовать Developer App Console.

--
Обновлено 18.09.2014: добавлена функция удаления файла с сервера

Обновлено 04.04.2017: небольшие доработки, связанные с изменениями в самом Dropbox

Обновлено 27.04.2017: добавлена конфигурация, в которой используется Dropbox API v. 2, функции и интерфейс аналогичны первой версии. Конфигурация разрабатывалась и тестировалась на версии платформы 8.3.9.2233, в основном всё реализовано средствами платформы, т.о., на других релизах платформы что-то может пойти не так.
API v. 1 будет отключен разработчиками Dropbox 28.09.2017
Просмотр SQL-таблиц из 1С. Возможность очистки таблиц Платформа 1С v8.x (все механизмы)

Краткое описание

Кнопка "Соединить/СписокБД" - соединяет с SQL-сервером (для SQL-авторизации), автоматически заполняет список баз на сервере.
После выбора конкретной базы автоматически заполняется список таблиц данной базы.
Кнопка "Просмотр" - выводит выбранную таблицу на просмотр в табличное поле формы.
Примечание: для больших таблиц может понадобиться относительно продолжительное время
Кнопка "Очистить" - полностью очищает (удаляет все записи) выбранную таблицу методом SQL delete from
Примечание: учитывая необратимость метода, дважды запрашивает подтверждение.
Кнопка "Таблицы" - выводит имена таблиц, соответствующие объектам конфигурации базы, в которой запущена обработка.

Примечание: облегченная версия обработки для 7.7 //infostart.ru/public/14600/


Линейка для вёрстки табличных макетов Платформа 1С v8.x (все механизмы)

Краткое описание

Собственно, всё просто: открываем макет из mxl-файла или вставляем из буфера обмена и включаем нужные линейки: "H"-горизонтальная, "V"-вертикальная. Задаём параметры - длина шкалы в миллиметрах и цена деления шкалы. После того как макет отредактирован его можно скопировать в буфер или сохранить в mxl-файл. Перед сохранением макета или копированием в буфер не забудьте отключить линейки, иначе сохранится/скопируется вместе с ними.
Линейки перерисовываюстя при каждом изменении табличного документа, поэтому может подтормаживать при использовании длинных линеек с малой ценой деления.

Подбор номенклатуры. Розница 2.1 1С: Предприятие 8.3

Краткое описание

В типовой конфигурации нет возможности выбора видов цен и не совсем понятно, как работает поиск, поэтому пришлось разработать дополнительную обработку!!!
Загрузка данных из Табличного Документа + загрузка в Движения Документа с синхронизацией по GUID(ГУИД) 1C: Предприятие 8.2

Краткое описание


За основу взята доработка //infostart.ru/public/21890/
Добавлена возможность синхронизации справочников по GUID(ГУИД).
Можно загружать данные в документы КорректировкаЗаписейРегистров(Накопления) и ПереносДанных.
Необходима, например, при загрузке регистров с реквизитом сотрудник, если имеется несколько сотрудников с одинаковым наименованием(например увольнялся/принимался несколько раз, есть полные однофамильцы и т.п.) и в других случаях, при переносе из копии базы, либо после переноса баз с помощью Конвертации данных.

Так же дописано заполнение стандартных полей для регистров накопления (Период, ВидДвижения); регистра расчета "Основные начисления сотрудников(организации)" (ПериодРегистрации, ПериодДействия, БазовыйПериодНачало, БазовыйПериодКонец, ПериодДействияНачало, ДатаНачалаСобытия, ПериодДействияКонец).  Но это писал под конкретную ситуацию и заполнение прописывал в модуле. Смотреть со строки 1151(комментарий //АС_БС).

P.S.
Данные из базы источника выводил с помощью Консоли запросов из Мобильных "Инструментов разработчика" //infostart.ru/public/15126/, хотя и недолго написать отчет.

Текст запроса(что-то вроде этого):
ВЫБРАТЬ ПЕРВЫЕ 10
    *
ИЗ
    РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
ГДЕ
    ПлановыеНачисленияРаботниковОрганизаций.Регистратор = &Регистратор
УПОРЯДОЧИТЬ ПО
    ПлановыеНачисленияРаботниковОрганизаций.НомерСтроки

Текст обработки результата:
ТЗ = мРезультатЗапроса.Выгрузить();
ТЗ.Колонки.Вставить(ТЗ.Колонки.Индекс(ТЗ.Колонки.Сотрудник)+1,"Сотр",Новый ОписаниеТипов("Строка",, Новый КвалификаторыСтроки(36)));
Для Каждого Стр из ТЗ Цикл
    ГУИДССЫЛКИ    = Стр.Сотрудник.УникальныйИдентификатор();
    Стр.Сотр = ГУИДССЫЛКИ;
КонецЦикла;
Постр=новый ПостроительОтчета;
Постр.ИсточникДанных=новый ОписаниеИсточникаДанных(ТЗ);
Постр.ЗаполнитьНастройки();
ТД=новый ТабличныйДокумент;
Постр.вывести(ТД);
ТД.показать();

Материальный отчет для БП 2.0, 3.0 (Все модули открыты) 1С: Предприятие 8.3

Краткое описание

Отчет "Материальный отчет" для конфигурации "Бухгалтерия предприятия ред. 2.0, 3.0" включает в себя:

1) "Титульный лист"

2) "Оборотная ведомость за период" показывает остатки и движения материалов за период с указанием их цены.

3) "Бухгалтерская справка": расшифровывает расходную часть оборотной ведомости.

4) "Акт на списание материалов"
Торговля и Склад + Frontol = ... 1C:Предприятие 7.7

Краткое описание

Обмен данными между конфигурацией Торговля И Склад и Кассовой программой Frontol  давно уже придуман, но при работе возникают проблемы.
Основная проблема - это актуализация остатков.
Например у меня было такое. Автоматизировал два магазина, которые постоянно перемещают товар между собой. Или приход товара осуществляется в один магазин, где сидит оператор на 1С, потом этот оператор перемещает товар во второй магазин. Все это происходит в течении рабочего дня, когда кассы торгуют. Нужно было сделать так, чтобы при проведении документа "Перемещение ТМЦ" Остатки с одной кассы списывались и приходовались в кассу второго магазина причем в реальном времени. Данную функцию я реализовал, но останавливаться на достигнутом не стал при сделал выгрузку и из других документов. 
1) Оприходование ТМЦ
2) Списание ТМЦ
3) Поступление ТМЦ
4) Переоценка ТМЦ
Во фронтоле настроил автоматическую загрузку и выгрузку и установил файл флаг загрузки.

В общем может быть кому пригодится.
Если есть какие-то пожелания и рекомендации, выслушаю с удовольствием.




Конструктор HTTP-запросов в 1С Платформа 1С v8.x (все механизмы)

Краткое описание

Запуск приложения мобильного устройства - что это? 1С: Предприятие 8.3

Краткое описание

Добрый день.

Наконец у меня дошли руки до разбора нового функционала по мобильной платформе.

В частности, как вы поняли из заголовка статьи – речь пойдет о таком новом объекте, как ЗапускПриложенияМобильногоУстройства.

К сожалению, я не смогу в статье поделиться абсолютно всеми вещами, и добиться понимания читателем всей информации, так как тут будет слишком много специфики по Андроиду.

Но в любом случае попробую донести основную идею.

Итак, что это за такой интересный объект, вокруг которого крутится столько вопросов в инете, и нет ответов, а только догадки.

В двух словах – этот объект позволяет вызвать другое приложение из андроида, и получить ответ от него.

Например, вы можете открыть почту и передать в нее все нужные данные.

Давайте начнем с чего-то малого, но не менее интересного. К примеру – попробуем просканировать штрих-код при помощи камеры телефона, но не средствами 1С, а вызовем специальную программу.

Для этого необходимо установить на телефон программу вот эту.

Далее – создаем кнопку в 1С с вот такой функцией:

Процедура ПроверитьВзаимодействие(Команда)
НовВз=Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие="com.google.zxing.client.android.SCAN";
Сообщить(НовВз.Запустить(Истина));
ДляКаждогоСтрИзНовВз.ДополнительныеДанныеЦикл
Сообщить(Стр.Ключ+" - "+Стр.Значение);
КонецЦикла;
КонецПроцедуры




Обновляем конфигурацию и нажимаем кнопку. У меня отображается вот такое окно:

Выбираем Сканер штрих-кодов и сканируем что-то, и видим ответ:

 

В ответ мы получили результат работы, тот что «-1», и получили результаты сканирования, а именно – штрих-код и тип штрих-кода.

Ну как? Интересно? Если да, то давайте будем копать глубже.

Тут нам однозначно поможет справка 1С, или не поможет?

ЗапускПриложенияМобильногоУстройства (MobileDeviceApplicationRun)

Свойства:

Данные (Data)
Действие (Action)
ДополнительныеДанные (AdditionalData)
ИмяКласса (ClassName)
Категория (Category)
Приложение (Package)
Тип (Type)

Методы:

Запустить (Run)

Описание:

Предназначен для запуска внешних приложений.
В отличие от метода ЗапуститьПриложение позволяет передать в приложение параметры.
Доступен только на устройствах под управлением операционной системы Android.

Из справки, нам стало понятно, что работает это все только на Андроид, ну в принципе ничего странного.

Идем дальше. У нас есть определенные свойства и есть один метод.

Давайте разберем некоторые свойства:

Данные – это URIссылка, помните, мы ранее уже говорили про это в вот этой статье. Т.е. если мы хотим запустить браузер, тот тут мы передаем адрес страницы.

Действие – тут мы с вами описывали то, что мы хотим от мобильной платформы. В справке 1С очень скромно про это написали. Но мы вернемся чуть позже.

Категория – это уточняющая информация для описания действия. Например, если это приложение может делать много чего, то вы указываете конкретно что вы хотите. Либо можно запустить приложение по умолчанию, если оно назначено.

На основании этих трех данных система будет искать – что бы запустить для нас. Можно и не заполнять некоторые из них, тогда просто будет выдаваться больше программ для работы с нашим действием.

 

Приложение - тут мы можем указать какое именно приложение (его идентификатор) мы хотим использовать для наших действий, например - "com.google.android.gm", в этом случае откроется Gmail.

ИмяКласса - указывается в паре с приложением, выудить его можно при декомпиляции программы в манифесте, ну или в мануале, если есть, в случае Gmail - "com.google.android.gm.ComposeActivityGmail".

Если казать только приложение или только имя класса - ничего не произойдет. Их есть смысл указывать только в том случае, если вы понимаете о чем идет речь :) При этом можно не указывать Категорию.

В версии 8.3.5.79 исправлен баг (№30010918):

Описание:

В мобильной платформе у обьекта ЗапускПриложенияМобильногоУстройства при вызове метода Запустить игнорируется свойство Приложение, если не установлено свойство ИмяКласса.
 

ДополнительныеДанные – это (типо) структура, в которой мы описываем все параметры для передачи нашему приложению. И в ЭТУ ЖЕ структуру возвращается ответ. Тут не стоит забывать про третий параметр, это тип данных, например, в случае работы с фото, или прикрепляя к письму вложения - мы должны указать Uri представление, так как 1С не значет что это такое, то мы указываем путь и третьим параметром указываем тип, например - "Uri".



Тип – тут следует указать MIMEтип, например, для отправки почты вам надо указать "message/rfc822", а если хотите открыть контакт, то должны указать тип контакта, и т.д.

Метод Запустить – на самом деле тут два метода. Если передаете в параметр Истина, то приложение может вернуть некий код своей работы. Вот как в браузере, если страница не найдена – возвращает код ошибки 404. Если же его переключить в режим Ложь, то он будет работать как индикатор успешного выполнения приложения, т.е. вернет Истину, если же была ошибка, то вернет Ложь.




Что же это все за данные и откуда их брать?

Если в двух словах, то программы на Андроиде могут создавать Намерения (Intent) и обрабатывать их.

Т.е., когда программа написана специальным образом, то при установке она создает ассоциации с некоторыми событиями и их обработкой. В 1С есть хороший аналог – Оповестить() и ОбработкаОповещения(), но только в случае 1С – это локально, а в случае Андроид – глобально.

И ясное дело, что должны быть соответствующие инструкции по работе с ними.

Идем на сайт разработчиков и читаем - https://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

Вот это определение доступных режимов. Например, можете попробовать вызвать вот такой экшн (действие) :

"com.google.zxing.client.android.SHARE"

Посмотрите, что будет.

Теперь давайте отправим почту, за основу я взял первую попавшуюся статью:

Первое на что я смотрю:

IntentemailIntent = newIntent(Intent.ACTION_SEND);


Теперь тут надо быть внимательней. Так как вот это Intent.ACTION_SEND сокращение от android.Intent.action.SEND, а 1С не понимает сокращений, так что не попадайтесь на такие детские ошибки.

Поэтому пишет вот так и тестируем.

Процедура ПроверитьВзаимодействие(Команда)
НовВз=Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие="android.Intent.action.SEND";
Сообщить(НовВз.Запустить(Истина));
КонецПроцедуры




В ответ мы получим «0», и ничего не произойдет. Почему? Ну так все же очевидно, видь должно быть написано не:

android.Intent.action.SEND

а:

android.intent.action.SEND

Разве не понятно? J

Меняем регистр букв, и, о чудо – у нас открылась куча приложений, которые могут отработать это событие. Давайте уточним поиск, для этого укажем тип, но не тот, который в статье той, так как количество приложений не уменьшится, а вот такой:

НовВз.Тип="message/rfc822";


Теперь нажав кнопку – у нас откроется значительно меньше приложений.

Ну и можем выбрать Gmail.

Теперь давайте заполним что-то, ну, например, тему и тело письма. В том примере это делается вот так:

emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject of email");

emailIntent.putExtra(Intent.EXTRA_TEXT   , "body of email");

А вставить эти данные нам надо в ДополнительныеДанные. А это по сути массив структуры, где есть ключ и значение. И обратите внимание опять на сокращения.

Мы же должны написать вот так:

    НовВз.ДополнительныеДанные.Добавить("android.intent.extra.SUBJECT","Тема письма");  

    НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","Текст письма");

В итоге – открыв Gmail, там заполнятся эти поля. Кроме этого, если у вас установлен скайп, то можете попробовать это же выполнить с ним.

Итог

1С дала очень мощный механизм работы с ее продуктом. Это по сути реализация намерений из андроида, и пока, увы, 1С может выступать только как инициатор, но начало положено! Делать можно много чего при помощи этих функций, я указал лишь самые простые вещи, что бы показать суть, показав это вашему андроид программисту, вы сможете сэкономить часы, если не дни нахождения общего языка.

Дополнение

Как же без какого-то бонуса. А в качестве бонуса, я предлагаю вам поэкспериментировать с вот такой вот программкой, которую мой товарищ накатал за два часа. Делает она следующее – выводит сообщение, или делает пуш сообщение.

При чем в отличии от вот этой утилиты, которую мы написали ранее, когда еще не было этих функций в 1С, вам не надо запускать никакие сервисы, и вообще этой утилиты видно не будет, только в приложениях, так как она не имеет интерфейса.

Работать с ней вот так:

Процедура ПроверитьВзаимодействие(Команда)
НовВз=Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие="com.ditrix.ownaction.SHOW_TOAST"
НовВз.ДополнительныеДанные.Добавить("com.ditrix.ownaction.EXTRAS_MESSAGE","Данные");

Сообщить(НовВз.Запустить(Истина));

Для Каждого Стр ИзНовВз.ДополнительныеДанные Цикл
Сообщить(Стр.Ключ+" - "+Стр.Значение);
КонецЦикла;
КонецПроцедуры




Это для простого сообщения, а вот это действие для пуша:

"com.ditrix.ownaction.SHOW_NOTIFICATION"

При этом вам вернется ответ в виде 3 данных разных типов.

Удачи!

 

Фабрика знаний

Тут будут писаться примеры реализации тех или иных механизмов.




Как сделать фото (видео) в любом качестве?


Учтите - работает не везде, зависит от приложения, при помощи которого делается фото. У меня на Cyan прошивке - все отрабатывало нормально.

//Тут указываем путь, при чем путь должен быть доступен всем программам, так что временные файлы 1С не подйут
ФайлКартинки = "file:///sdcard/Download/FotoTestFrom1C.bmp";
НовВз = Новый ЗапускПриложенияМобильногоУстройства("android.media.action.IMAGE_CAPTURE");

//Обязательно указываем этот параметр, если его не указать, тогда вам вернется привью файла в низком качестве и находится он будет в параметрах с ключем data.
НовВз.ДополнительныеДанные.Добавить("output",ФайлКартинки,"Uri");

//Если фото не сделано, то ответ будет "0"
Если НовВз.Запустить(Истина) 0 Тогда

//ну а тут уже готовое фото, так что все что хотим, то и делаем.
ЗапуститьПриложение(ФайлКартинки);
Иначе
Сообщить("Фото не сделано!");
КонецЕсли;


Как отправить файл в разные программы? Спасибо Снежане

НовВз = Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие = "android.intent.action.SENDTO";
НовВз.Данные = "mailto:test@test.ru";
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.STREAM","file:///storage/emulated/0/Снежана/CDAInfo.txt","Uri");
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.SUBJECT","Тема письма");
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","Теекст-текст-текст");
НовВз.Запустить(Истина);




Как отправить файл только по почте? Спасибо Снежане

Должен быть установлен клиент Gmail

НовВз = Новый ЗапускПриложенияМобильногоУстройства();
НовВз.Действие = "android.intent.action.SEND";
НовВз.Данные = "test@test.ru";
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.STREAM","file:///storage/sdcard0/DCIM/Camera/20140829_115820.jpg","Uri");
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.SUBJECT","Тема письма");
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","Теекст-текст-текст");
НовВз.Тип = "text/plain";
//чтобы сразу Gmail открывался
НовВз.Приложение = "com.google.android.gm";
НовВз.ИмяКласса = "com.google.android.gm.ComposeActivityGmail";
//
НовВз.Запустить(Истина);


Пример работы с Viber'ом. Спасибо Снежане

//Открывает вайбер
НовВз.Действие = "com.viber.voip.action.CONVERSATION";
//или
НовВз.Действие = "com.viber.voip.action.MESSAGES";


//Открывает список контактов в вайбере
НовВз.Действие = "android.intent.action.CALL_BUTTON";


//открывает диалог с конкретным человеком в вайбере
НовВз.Действие = "android.intent.action.SENDTO";
НовВз.Данные = "smsto:+380965336452";
НовВз.Приложение = "com.viber.voip";
НовВз.ИмяКласса = "com.viber.voip.SystemDialogActivityPublic";
//Отправить текст по вайберу, предлагает выбрать, кому отправлять, потом сразу отправляет
НовВз.Действие = "android.intent.action.SEND";
НовВз.Приложение = "com.viber.voip";
НовВз.ИмяКласса = "com.viber.voip.WelcomeShareActivity";
НовВз.Тип = "text/plain";
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.TEXT","ТЕКСТ: Теекст-текст-текст");


//Отправить фото по вайберу, предлагает выбрать, кому отправлять
НовВз.Действие = "android.intent.action.SEND";
НовВз.Приложение = "com.viber.voip";
НовВз.ИмяКласса = "com.viber.voip.WelcomeShareActivity";
НовВз.Тип = "image/jpeg";
НовВз.ДополнительныеДанные.Добавить("android.intent.extra.STREAM","file:///storage/emulated/0/DCIM/100ANDRO/DSC_000
Поиск и замена значений для 8.3 с фильтром поиска 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка сделана на основе обработки уважаемого Goobin (Поиск и замена значений 8.3), но еще добавлен фильтр поиска ссылок.



При фильтре, который показан на рисунке выше 

получаем результат:



ВНИМАНИЕ: ИСПОЛЬЗУЕТЕ НА СВОЙ СТРАХ И РИСК !!!!!!!!!!!!!!!!!!!!!!!!!!!


Проверка контрагентов по ИНН и КПП через веб-сервис ФНС Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка проверяет контрагентов по ИНН и КПП через веб-сервис ФНС на наличие регистрации в ЕГРН.
Может выполнятся в любых типовых конфигурациях, при наличии справочника "Контрагенты" и реквизитов "ИНН" и "КПП".
Унифицированная форма № Т-2 (ВУР) для ред.2.5.83.1 Платформа 1С v8.x (все механизмы)

Краткое описание

Внешняя печатная форма ТОРГ-12 для БП 2.0 1C: Предприятие 8.2

Краткое описание

Типовая форма ТОРГ-12 для дальнейшего редактирования. Не нашел на инфостарте типовую ТОРГ12 для БП 2.0! Поэтому выкладываю, может кому и пригодится
[УТ11] Внешняя печатная форма для печати Договора из справочника Договоры с контрагентами 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

На сайте к сожалению не нашел похожей обработки печати договора из справочника договоры контрагентов в форме обычного табличного документа.

Некоторые параметры берутся из дополнительных реквизитов, которые предварительно нужно добавить:

Для объекта Договор с контрагентом:
Отсрочка платежа
Тип: Число
Длина: 2
Точность: 0
Неотрицательный: Истина
Сумма закупки

Тип: Число
Длина: 6
Точность: 2
Неотрицательный: Истина


Для объекта Физическое лицо:
Доверенность
Тип: Строка

Длина: 50
Должность
Тип: Строка
Длина: 100
 
Далее - подключить в дополнительных отчетах и обработка
Удобный просмотрщик макета РАУЗа 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Чтобы что-то найти в макете РАУЗа надо много мотать вверх-вниз и вправо-влево. Однажды мне это надоело и я написал эту обработку.
Она берет текущий макет и разбирает на части по секциям. Документы показываются в левой части списком, а галочками внизу можно показывать только нужные разделы учета. Удобно, когда надо разобраться в свойствах аналитик, что откуда берется, особенно сравнивая несколько документов.

Для просмотра макета документа надо двойным щелчком ткнуть на документе слева в списке.
Внешняя обработка: Рабочее место кассира для УТ 11 с возможностью печати чека на нефискальный windows принтер Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка заменяет стандартное рабочее место кассира в УТ 11 и позволяет печатать чеки ККМ на нефискальном windows принтере чеков. 

В обработку встроены печатные формы чека ККМ и товарного чека.

Если у вас стоит обычная ККМ, то обработку можно использовать в качестве заготовки для решения ваших задач (без внесения изменений в конфигурацию)

Для работы с нефискальным windows принтером чеков нужно сделать следующие настройки в УТ

[ТАКСИ] Шаблон внешней обработки...и не только 1С: Предприятие 8.3

Краткое описание

 22.08.2014 - Изменены запросы динамического списка и заполнения остальных таблиц, теперь используется только справочник "Номенклатура", т.к. в УТ 11 структура справочников "Контрагенты" и "Договоры контрагентов" отличается от БП 3.0, на которой была написана обработка. Надеюсь уж номенклатура то в других конфигурациях на ТАКСИ... Пока писал, вспомнил ЗУП 3.0 :-). В общем не буду заморачиваться, для любой конфигурации поменять эти запросы несложно, не в них суть.
25.09.2014 - Добавлены новые примеры (чтение из макета или из файла mxl, заполнение таблица и подменю), регистрация обработки с проверкой версии. Изменен вывод программный вывод таблицы значений на форму. Изменения подробнее в файле описания описания.
28.09.2014 - Изменено изменение режима компактности, отключение предупреждений в ""Облегчить" старт программы", добавлено программное добавление дерева значений на форму.
06.10.2014 - Версия
Универсальная загрузка из Excel для 1С8.2 1C: Предприятие 8.2

Краткое описание

Обработка позволять загружать из произвольного Excel файла данные в любые документы Вашей базы. Достаточно выбрать тип документа (если сам документ не выбран, то будет создан новый), «Имя ТЧ», указать файл для загрузки и прописать номера колонок на странице “Excel (настройки)”. После нажатия кнопки «Загрузить» (наверху), на вкладке ТЧ в(в таблице) появятся загруженные данные. Если все загрузилось удачно, то при нажатии кнопки «Выполнить» (внизу), будет создан документ или перезаполнится существующий (зависит о заполнения поля «Документ»). Для разработчиков есть возможность написать обработки «После добавления строки» (например , можно использовать для проставления счетов в строках документа и подсчета сумм по строке)  и «Перед открытием документа».

Новое в версии 2.0


Реализована возможность загружать данные в справочники. Если в поле "Справочник" (на закладке "Справочник") выбрана группа, то все элементы будут грузиться в нее.

Так же есть возможность указать поисковые поля (например, чтобы производить загрузку в номенклатуру по артикулам).  Это сделано для того, что бы не создавать дубликаты.

Был задан вопрос про загрузку картинок. Привожу рабочий код для загрузки из каталога D:\Темп1 картинок. Имя файлов создается из артикула и присвоения к нему расширения jpg. Работает на конфигурации «УПП». Этот текст нужно вставить: вкладка "Справочник" -> вкладка "Обработчики событий" -> "Перед записью".

Объект.Записать();

Если Объект.ОсновноеИзображение = Неопределено Или Объект.ОсновноеИзображение.Пустая() Тогда
К = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
К.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
К.Объект = Объект.Ссылка;
К.ИмяФайла = "D:\\Темп1\\" + ТекущаяСтрока.Артикул + ".jpg";
Иначе
К = Объект.ОсновноеИзображение.ПолучитьОбъект();
КонецЕсли;

ВыбранноеФото = Новый Картинка(К.ИмяФайла,Ложь);
К.Хранилище = Новый ХранилищеЗначения(ВыбранноеФото, Новый СжатиеДанных());

Попытка
К.Записать();
Исключение
КонецПопытки;

Объект.ОсновноеИзображение = К.Ссылка;


Для разработчиков.



Обработчик: "После доб. стр." - возникает после добавления строки на вкладку "ТЧ" или "Данны" (документов свой обработчик, а у справочника свой).


Входные данны:
            ТекущаяСтрока = текуща строка "ТЧ" или "Данные";
            ТекущийНомерСтрокиИсточник = текущий номер строки в excel файле;
            ТекущийЛист = текущий excel лист;


Обработчик: "После отк. док." - срабатывает перед открытием формы документа.


Входные данны:
            Объект = ДокументОбъект;



Обработчик: "Перед записью" - срабатывает перед записью справочника.

Входные данны:
            Объект = СправочникОбъект;
            Отказ = если Ложь то элемент загружен не будет.
            ТекущаяСтрока = текуща строка "Данные";
"Внешняя печатная форма " Расходная накладная"

Краткое описание

Запрет входа некоторым пользователям 1С: Предприятие 8.3

Краткое описание

У нас две базы одна поиграться, а другая постепенно заполняется реальными данными, но пользователи одни и те же и их много. Возникла проблема как массово запретить почти всем входить в рабочую базу. В итоге была написана обработка в которой можно было проставить глачки пользователям или их группам, которая убирала галочку вход в аутентификация 1С:Предприяти
Внешняя печатная форма заказа покупателя УТ 10.3 1C:Предприятие 8

Краткое описание

Внешняя печатная форма для документа "Заказ покупателя" УТ 10.3
Можно использовать для доработки типовой формы.
Добавлено:

Количество наименований прописью
Элегантное чтение больших XML файлов 1C:Предприятие 8

Краткое описание

Введение.

При необходимости прочитать XML файл можно применять один из подходов: полная загрузка в DOM и последовательное чтение. Полная загрузка XML файла в DOM реализована в 1C c помощью объекта ДокументDOM. DOM - это классно, но говорить о нем сегодня не буду, так как речь идет об относительно больших файлах XML, и тут DOM не подходит. Последовательное чтение XML файлов реализовано в 1С с помощью такого объекта как ЧтениеXML. Есть и другие объекты в 1С для работы с XML, но сегодня, опять же, не о них.

Объект ЧтениеXML - яркий представитель подхода последовательного чтения XML файла. Я уверен, что вы представляете как выглядит код с использованием объекта ЧтениеXML. В нем есть циклы и много условий на сравнение типа и имени узла. Мне не нравится такой код и я не люблю его писать. Если вы не представляете как выглядит такой код, то решите описанную ниже демонстрационную задачу с использованием объекта ЧтениеXML и вам станет понятнее о чем я говорю.

Я же хочу показать как можно читать XML файл элегантно. А пока сформулирую демонстрационную задачу.

Демонстрационная задача

На входе файл Контрагенты.xml следующей структуры и содержания:

Выгрузка/загрузка данных в идентичную конфигурацию с синхронизацией справочников по наименованию 1C:Предприятие 8

Краткое описание

Стандартная обработка загрузка/выгрузка в идентичную конфигурацию.

Отличие от стандартной в том, что при загрузке ссылки на справочники ищутся не по уникальному GUID, а по наименованию. В реквизитах документов ссылки на справочники также ищутся по наименованию, а не по GUID. 

Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или
частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью.

Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и т. д.
Использование этой обработки возможно, например, для создания полной или частичной резервной копии данных, осуществления обмена данными между информационными базами, а также как вспомогательный инструмент при восстановлении сбойных информационных баз.

Обработка поддерживает выгрузку данных с ограничениями и проверку объектов на наличие недопустимых символов при обмене через XML.
Дерево объектной модели схемы запроса (декомпиляция текста запроса). 1С: Предприятие 8.3

Краткое описание

Обработка предназначена для удобного ориентирования в схеме запроса и формирования команд модификации запроса. Отображает объекты и коллекции, используемые в объектной модели. Полезна и для реальной работы и просто для понимания объектной модели схемы запроса.

 

О работе со схемой запроса можно почитать на сайте 1С Управляемый конструктор запроса и объектная модель схемы запроса

Отдельная моя статья о преимуществах модификации запроса через схему запроса  "Объектная модель запроса "Схема запроса" - теория и примеры использования"

Также на инфостарте есть Справочная схема "Объектная модель запроса"

 Порядок работы с обработкой:

Внешняя печатная форма акта списания товаров в Microsoft Word (с использованием БСП) БП 3.0, УТ11 1С: Предприятие 8.3

Краткое описание

ВПФ должна использовать метод «ВызовКлиентскогоМетода», т. к. полученный документ необходимо открывать на клиенте, а не на сервере. В экспортной процедуре печати в форме обработки следует указать тип макета «DOC». Секции макета ограничены тегами {V8 Область.ИмяОбласти}   {/V8 Область.ИмяОбласти}.  Параметры замены обозначаются  {V8 ИмяПараметра}. Системе необходимо указать тип секции. Всего применяется пять типов:ВерхнийКолонтитул, НижнийКолонтитул,Общая, СтрокаТаблицы, Список.  ВерхнийКолонтитул и  НижнийКолонтитул вносятся в соответствующие колонтитулы шаблона и не ограничиваются тегами. Шапку и подвал таблицы следует реализовывать  в шаблоне таблицей и определять как СтрокаТаблицы. Для практического применения можно выгрузить макет в файл с расширением doc, преобразовать его к нужному виду и загрузить обратно.  Затем следует подправить процедуры «ПолучитьДанныеОбъекта» и «ПолучитьОписаниеОбластейШаблона».

Проверил на релизе БП 3.0.36.14 и УТ 1
Правила переноса данных из БП 2.0 в УПП 1.3 1C: Предприятие 8.2

Краткое описание

Правила переноса данных из Бухгалтерия предприятия 2.0 в Управление производственным предприятием
Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) 1С: Предприятие 8.3

Краткое описание

Простая обработка для работы с предопределенными значениями.

Позволяет сопоставить элементы ИБ с предопределенными в конфигурации элементами.

Позволяет проверить вцелом по конфигурации наличие задублированных (нескольких элементов ИБ, привязанных к одному предопределенному элементу - ошибка "Предопределенный элемент не уникален") и пропущенных элементов (предопределенные элементы, которым не сопоставлены элементы ИБ - ошибка  "Предопределенный элемент отсутствует в данных"). Такие элементы могли возникнуть при обменах или сбоях и приводят ошибкам в работе конфигурации.  

Можно просто просмотреть текущие значения, можно сделать любые необходимые изменения.

Порядок работы:

Товарно-транспортная накладная. Форма СП-31 Платформа 1С v8.x (все механизмы)

Краткое описание

Печатная форма для Бухгалтерии предприятия 3.0.

Форму необходимо регистрировать во внешних печатных формах к документу "Реализация товаров и услуг"

Реквизиты берутся из дополнительных сведений

МаркаАвто

НомерАвто

Перевозчик

Водитель

ПунктРазгрузки

ПрицепНомер

Брутто

Тар
Товары на складах с возможностью отбора по типу документа-регистратора для УПП 1.3 1C: Предприятие 8.2

Краткое описание

Отчет является аналогом отчета "товары на складах" с отбором по типу документа регистратора. 

По каждому виду документов можно сформировать отчет по отдельности.

Отчет модернизировал, сделал СКД, добавил больше вариантов отбора по типу регистратора. Сгруппировал выходные данные по расходу и приходу, т.е. расход, из него сколько было израсходовано реализацией, списанием товаров.

Начальный и конечный остатки формируются независимо от выбранного типа регистратора.

У отчета есть три варианта с сохраненными предустановками. 
Разбор XML в соответствие или структуру (8.3) 1С: Предприятие 8.3

Краткое описание

После открытия формы, выбираем xml файл и начинаем на него смотреть, с разных сторон.

Мой файл выглядит примерно так:

Нагляднее всего будет выглядеть структура:

Но структура имеет массу неприятных ограничений на имена свойств. А вот XML этих неприятностей лищён. Для большей совместимости с исходным форматом данных можно испольщовать соответствие:

Это конечно более громоздко, по сравнению со структурой, но позволяет работать с "внезапными" XML файлами. Составители которых не знают о наших проблемах, вызываемых именем тега начинающегося с цифры, или содержащего пробел.
Управление торговлей 11.1 Интеркомпани. (Создание межфирменных документов) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработку можно встроить в конфигурацию и запускать как регламентное задание

Принцип работы обработки:

- если указаны реквизиты, тооформляются документы с фильтром по реквизитам

Если не указаны, то по всем организациям и складам

- если указана дата, то обработка начнет выполнение от (указанной даты-7 дней) до (указанной даты-1 день) 

Если не указана - от (текущей даты-7 дней) до (текущей-1 день) 

- Записывает даже при ошибках. В случае ошибки запишет документ без проведения (для ручного исправления)

- Указать дату начала (если необходим больший диапазон, чем 7 дней)

 

1) Счетный цикл листает даты

  2) Формируется запрос (Есть ли к оформлению Продажа)

    3) Если есть ранее созданный документ, то изменяем его

      4) Заполняем/Изменяем таблицу документа

        5) Устанавливаем цены

          6) Проводим/Записываем документ

  7) Формируется запрос (Есть ли к оформлению Возврат)

    8) действия 3-6

9) Выводим В таблицу события в ТаблицуЗначений и записываем в файл




Сначала обработка оформляла для раздельного учета по налогообложению, позже эта необходимость отпала, но в запросе оставил на всякий случай




Для собственного удобства отслеживания изменений для оформления сделал отчет, который показывает, на какие даты необходимо создать/изменить документы передачи

В случае изменения данных в периодах, где уже были созданы документы, обработка корректирует сами документы
Ведомость по расчетам с контрагентами для Бухгалтерии 3.0 1С: Предприятие 8.3

Краткое описание

Отчет Ведомость по расчетам с контрагентами для 1С: Бухгалтерия редакция 3.0, в разрезе документов, без сумм зачета авансов (только сумма сумма самого документа).

Аналог ведомости по контрагентам в торговой конфигурации.
Преобразование обычного запроса в схему запроса и наоборот 1С: Предприятие 8.3

Краткое описание

Новая версия
Краткое описание создания XML файла по XSD схеме на примере создания выгрузки Статистической отчетности для ФТС 1C:Предприятие 8

Краткое описание

 Итак, зарегистрировавшись на сайте ФТС, стало понятно, что для создания документов Статистической отчетности по экспорту требуется выгрузка данных из документов Реализация товаров и услуг Управления торговлей и создания файла для загрузки.

Там возможно два варианта загрузки.

Первый: загрузка табличной части с Товарами из файла Excel (этот вариант и был выбран как рабочий, т.к. имел те плюсы, что не надо было возиться с обработкой "Шапки" документа, а можно было просто копировать предыдущий, изменив в "Шапке" то, что требовалось).

Второй: создание XML файла по схеме скачаной с сайта ФТС в виде "Альбома форматов электронных форм документов". Альбом представляет из себя достаточно большое количество XSD схем. В них была найдена схема "Статистической формы учета перемещения товара" и дополнительные файлы с описаниями типов для нее. Схемы прилагаются к статье в архиве с обработкой.

Для просмотра XSD схем использовался бесплатный Майкрософтовский XML Notepad 2007.

На изображении показан основной файл со схемой XSD "Статистическая форма учета перемещения товара". На изображении выделены основные блоки XSD схемы, требуемые нам для ее понимания.

Из схемы видно, что нам надо получить XML файл, заполненый структурой, указанной в ветке "xs:element" типа StaticFormType.

Структура может быть достаточно сложной (как и в нашем случае). С описаниями типов, присутствующими непосредственно в ветке, вынесенными в отдельную ветку или даже находящимися в другом файле.

Данная структура имеет тип StaticFormType, который в свою очередь, состоит из базового типа BaseDocType, набора объектов разных типов и текстовых аттрибутов.

 

Базовый тип BaseDocStyle описывается в другом файле (и пространстве имен).

Этот файл содержит в себе еще массу типов, которые не используются в нашем случае. 

  

Теперь перейдем к работе в 1С. В двух словах, то что нам надо сделать сводится к следующему:

Удаление помеченных объектов (для больших баз) 1C: Предприятие 8.2

Краткое описание

Обработка выстрадана после попыток удаления помеченных объектов в большой базе, когда обычная обработка с ИТС не справляется.
(сделано под обычные формы толстого клиента)

 

Возможности:

- отбор документов за период

- отметка элементов "с N1 по N2"

- если на объект при контроле найдены ссылки, можно их тут же "добавить к удалению" и повторить контроль (см.скрин)

- удалением периодами (кнопка "Запуск робота" )

 

Обычная работа:

1) выбираем период

2) жмем "Найти помеченные на удаление" - выбираем объекты метаданных - ОК

3) отмечаем нужные объекты кнопочками сверху (можно играться периодом)

4) жмем "Контроль"

 

Кнопка "Запуск робота":

- жмем "Запуск робота"

- выбираем объекты метаданных

- вводим общий период 

- вводим - по сколько дней обрабатывать

- обработка сама будет заполнять список по документам за период, делать контроль с удалением и переходить к следующему периоду

Например, с 0
Динамика изменения цен номенклатуры 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

 

СКД + управляемая форма.

За базовую таблицу берется виртуальная таблица "Срез последних", периоды - сгруппированные в соответсвии с выбранной периодичностью даты установок цен номенклатуры. Как следствие, очень быстро обрабатываются даже очень большие объемы данных.

Плюсом по сравнению с подобными отчетами является расчет среза последних, начиная с самой первой установки цен на позицию. Т.е. если в выбранном периоде отчета не было установок цен на эту номенклатуру, но цена была установлена в более раннем периоде, отчет ее выведет и начнет рассчитывать динамику именно с нее.

В этом варианте:

- добавлена поддержка зарегистрированных нулевых цен;
- добавлена поддержка характеристик номенклатуры;
- добавлена версия для УТ-1
Преобразование 1С->JSON->1С для обменов, Web-сервисов 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

За основу брались функции преобразования из JSON и UnJSON в 1С

Добавлена поддержка любых XML-сериализуемых типов (ссылочных типов 1С, дат, перечислений, двоичных данных, хранилище значений и др)  + объектов 1С (справочников, документов, ПВХ, ПВР). При передачи объектов полное соответствие структур баз отправителя и получателя не обязательно. Совпадающие реквизиты заполняются, не совпадающие игнорируются. Если объект в базе приемнике найден, то он перезаполняется, иначе создается новый.

Преобразование простым обходом коллекций и обратное преобразование разбором строки. Возможно, для 8.3.6 можно будет переписать разбор через встроенные функции по работе с JSON для более быстрой работы.

Работа аналогична исходной обработке. Есть 2 функции: преобразование из строки в JSON и обратное из JSON в строку.
Форма Т-13 с отправкой на E-mail сотруднику 1C: Предприятие 8.2

Краткое описание

Сделан на основе стандартного отчета в ЗУП. Добавлено поле выбора сотрудника организации с автозаполнением его почтового адреса. И кнопка "Отправить" с соответствующей функцией
Универсальная выгрузка/загрузка данных для отличающихся конфигураций (JSON, Такси+ОФ) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Универсальная выгрузка любых объектов 1С в текстовый файл и загрузка в любую другую базу 1С. Либо просто перенос через буфер обмена.

Переносит данные между любыми ИБ на любых конфигурациях, интерфейсах и платформах 8.2, 8.3 (в том числе в режиме совместимости с 8.1). Не требует никаких настроек.

На скриншотах пример переноса документов и справочников из ERP Такси 8.3 в БП
Наряд-Заказ для БП 3.0 1С: Предприятие 8.3

Краткое описание

Здравствуйте. Вот возникла необходимость без больших затрат автоматизировать автосервис на первое время, пока не заработают на программу. Пришлось пошарить в интернете, и нашлась форма, но для БП 2.0. На основании её и формы заказчика пришлось сделать для БП 3.0 

Для подключения в БП необходимо подключить во внешние печатные формы.

Работа обработки требует дополнительного заполнения справочника номенклатуры, в номенклатуре "услуга" должно быть заполнено поле "комментарий" в формате (например 0,4 или 1,8), это будет значение норма/час за 1 единицу (условную)

В самом документе необходимо вводить общее кол-во норм/ч за услугу. При выводе на печать происходит перерасчет кол-ва оказанных услуг от обратного (если Вы оказали услугу-работу в общем кол-ве 6.3 норм/ч, а за единицу положено 2,1, то в форме мы получим кол-во оказанных услуг 3 (расчет 6,3/2,1=3)

p.s. Значение поля Автомобиль: заполняется из поля комментарий документа реализация товаров и услуг. 
Документооборот КОРП. Внедрение функции «Автоматическое заполнение таблиц в шаблоне odt по данным табличной части справочника» Платформа 1С v8.x (все механизмы)

Краткое описание

Документооборот КОРП. Внедрение функции «Автоматическое заполнение таблиц документа по данным табличной части»

Общее

Программа 1С:Документооборот КОРП до сих пор не умеет вставлять табличные данные из справочников и документов в таблицы шаблонов. Попытаемся это исправить. Для этого требуется внести изменения как в текст 1С, так и специальным образом доработать шаблон для программы LibreOffice Writer. Порядок действий:

А) внесение изменений в 1С (модули АвтозаполнениеШаблоновФайловКлиентСервер, АвтозаполнениеШаблоновФайловСервер, справочник ПравилаАвтозаполненияФайлов)

Б) доработка шаблона в программе LibreOffice Writer

В) доработка шаблона путем изменения файла contents.xml  в архиве шаблона

Г) настройка совместимости шаблона и таблиц в программе LibreOffice Writer

Важное замечание: в представленной версии программа работает с таблицами (табличными частями), добавленными в Справочник Внутренние документы. Универсальность заполнения – в разработке.

 

Внесение изменений в 1С. Тексты модулей даются по конфигурации «Документооборот 8 КОРП, редакция
Поиск, восстановление битой ссылки, 8.3, v 0.1 1С: Предприятие 8.3

Краткое описание

Использованы материалы публикации Расшифровка представления битой ссылки. Как перевернуть ГУИД. UUID to GUID и обратно... 

v 0.2 - добавил установку ТекущейДаты() для документов
Расстановка документов по времени. Документы будут иметь ту же дату, изменено будет только время документа. 1C: Предприятие 8.2

Краткое описание

При закрытии месяца у бухгалтерии моей компании появилась необходимость сделать так, чтобы все документы одного типа имели одинаковое время дня. Например, чтобы все документы "Поступление товаров и услуг" были бы в 9:00, документы "Реализация товаров и услуг" в 10:00 и т.д. Для этого и была написана эта обработка. Надеюсь, что она будет полезна кому-нибудь еще.

Обработка изменяет время в дате документа, дата остается неизменной. Для ускорения обработки, после изменения времени документ не перепроводится, а изменяется поле "Период" записей по бухгалтерским регистрам и регистрам накопления.

После выполнения обработки рекомендуется выполнить процедуру восстановления последовательностей.

Изменения:

[28/03/2016] Обработка теперь работает в режиме обычного приложения для конфигурации "1С:Бухгалтерия предприятия, редакция 3.0"
Дебиторская задолженность для БП 3.0 СКД 1C:Предприятие 8

Краткое описание

Отчет о просроченной дебиторской задолженности с разбивкой по периодам просрочки, написан на СКД, для конфигурации БП 3.0.

Код открыт, в отчете используются данные берутся запросом из регистра бухгалтерии хозрасчётный.

UPD.
Выгрузка данных из УТ 10.3 в БП 3.0 (своими руками) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка была собрана на скорую руку из старой завалявшейся выгрузки из УТ 10.3 в БП
Создание распределенной базы данных, установка главного узла плана обмена, очистка номеров сообщенийв узлах плана обмена, замена кодов узлов плана обмена 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка позволяет:

- создание распределенной базы данных (для этого надо в рабочей базе данных добавить узел распределенной плана обмена, сделать копию рабочей базы, на копии открыть обработку, выбрать на тот момент главный и подчиненный узел плана обмена, установить все галочки, кроме удаления узла, и... enjoy)

- установка главного узла плана обмена;

- очистка номеров сообщений в узлах плана обмена;

- замена кодов узлов плана обмена;

- удаление узлов плана обмена.
Быстрое заполнение реквизитов табличной части v2 (с вызовом событий ОбработкаВыбора и ПриИзменении) 1C:Предприятие 8

Краткое описание

 

Пример работы (анимация):
[БП 3.0] Четыре простых отчета по документам реализации в одном (для менеджеров в бухгалтерии) Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет, точнее 4 отчета в одном.

Предназначены для менеджера по продажам, работающего в бухгалтерии.

По номенклатуре - отчет по документам реализации (не помеченным на удаление, в отчет попадают как проведенные, так и не проведенные документы). Показывает проданную номенклатуру, с отбором по выбранному покупателю (группе покупателей) и выбранной номенклатуре (группе номенклатуры) за выбранный период, по выбранной организации.

По контрагенту - таблица покупателей с документами реализации и товарамив реализациях, с отбором, аналогичным отбору по номенклатуре.

Акт сверки - Сверка взаиморасчетов, по документам и счетам-фактурам по контрагенту или группе контрагентов. Сделан по просьбам менеджеров, т.к. "пользоваться ОСВ неудобно".

Сводная таблица - таблица проданных товаров с адресом доставки. Товары в колонках, по каждой накладной выводится вес. Служит для распределения товара по автомобилям.

Этот отчет будет работать только с случае, если в номенклатуре заданы дополнительные реквизиты:

 

Название ДР Тип Длина Точность
НомерКолонки Число 5
Упаковка ЕдиницаИзмерения
Упаковка количество базовых единиц Число 15 3
Упаковка вес Число 15 3

Настроить ДР* можно руками, используя приведенные в таблице параметры, или воспользоваться обработкой настройки БДРС (поставляется отдельно). Настройки ДР с помощью обработки БДРС:

ДР НомерКолонки используется для задания порядка следования товаров с колонках отчета.

Если дополнительные реквизиты для номенклатуры не заданы - товар в отчет выводиться не будет.

*ДР - дополнительный реквизит.
Рисование векторных картинок в формате WMF средствами 1С8 без внешних компонент 1C: Предприятие 8.0, 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Данная обработка содержит набор методов для создания векторных картинок в формате WMF.

WMF - векторный формат, состоящий из команд, практически повторяющих Windows GDI API. Векторное изображение для простых рисунков занимает меньше места по сравнению с растровым, отображается быстрее и отлично масштабируется.

Данная реализация содержит не все команды. Я не включал команды работы с палитрой (за неактуальностью) и с регионами (из-за определенной бедности и муторности по сравнению с WinAPI). Некоторые команды или параметры команд не поддерживаются приложениями. В частности, мне не удалось указать межсимвольный интервал или задать поворот символов относительно оси рисования. При желании можно добавить любую команду, вооружившись описанием формата - официальное описание тут: http://msdn.microsoft.com/en-us/library/cc250370.aspx
Стоит учитывать что почти все параметры задаются 16-разрядными словами.

 Сразу предупреждаю - не следует полагаться на "умолчания" - тестовая картинка в 1С, ACDSee и WinWord выглядела по-разному пока все возможные параметры не были уточнены.

Система координат по умолчанию - влево и вниз. Создаваемая картинка предполагает что отсчет начинается с 0,0. Единицы измерения достаточно условны, особенно с учетом что картинка может масштабироваться. В создаваемой картинке я указываю рекомендуемую плотность 1440 точек на дюйм (стандартное разрешение), что при стандартном отношении 96 точек/дюйм для экрана даст 15 WMF-точек на пиксель.

Для рисования требуется создавать объекты PEN ("ручка","карандаш") - для линий, BRUSH ("кисть") - для закрашивания, FONT - шрифт. При создании ручки и кисти указывается их цвет и узор. Для описания шрифта я использую стандартный объект "Шрифт". Свойство "Размер" указывает на высоту шрифта в условных единицах. Можно заранее создать несколько кистей и других объектов, по мере необходимости подключая нужную функцией SelectObject(). Функции создания объектов возвращают номер, который требуется использовать в функции ВекторнаяКартинкаSelectObject()

Все замкнутые фигуры рисуют границу стилем PEN и заливаются стилем BRUSH. Если выбран стиль кисти Штриховка, то указывается СтильШтриховки. Следует ли затирать то что находится под текстом или штриховой заливкой и как, регулируется функциями фона: SETBKMODE, SETBKCOLOR.

Текст выводится в кодировке Win-1251, перекодирую из строки автоматически. Так же для TEXTOUT можно указать в качестве параметра "текст" массив байт-кодов символов.

Основные используемые константы я вынес в Структуры: СтильКарандаш для создания PEN, СтильКисть и СтильШтриховки для создания BRUSH, ВыводТекста, ВыравниваниеТекста и ВыводФона для отображения текста.

Для указания цветов я использую объект Цвет, заданный цветовыми компонентами (Абсолютный)

Можно вставить растровую картинку с изменением пропорций (последняя функция).

Для начала работы требуется создать объект с указанием планируемой ширины и высоты в условных единицах функцией
Функция СоздатьВекторнуюКартинку(Ширина,Высота) Экспорт

После формирования картинки её можно вывести в ДвоичныйПоток:
Функция ВекторнаяКартинкаСохранитьВДанные(картинка) Экспорт
В файл:
Процедура ВекторнаяКартинкаСохранитьВФайл(картинка,ИмяФайла) Экспорт
Для получения системного объекта Картинка требуется:
поток=ВекторнаяКартинкаСохранитьВДанные(к);
Картинка1=Новый Картинка(поток);

Создание объектов:

//Создать объект PEN для рисования линий
Функция ВекторнаяКартинкаCREATEPENINDIRECT(картинка,Стиль,Толщина,Цвет) Экспорт
//Создать объект BRUSH для заливки
Функция ВекторнаяКартинкаCREATEBRUSHINDIRECT(картинка,Стиль,знач Цвет=Неопределено,знач Штриховка=0) Экспорт
//Создание объекта "Шрифт" в картинке
//@шрифт - объект Шрифт
//@Ширина - подбор ширины символов, 0 - авто
//@Поворот - угол наклона шрифта в градусах
//@ПоворотЗнаков - угол наклона символов. По умолчанию совпадает с наклоном шрифта
//@Кодировка - значение CharSet из стандарта WMF. 0 - Ansi, 1 - по умолчанию, 204 - русский
//@Подбор - значение OutPrecision Enumeration
//@ПодборОбрезания - значение ClipPrecision Flags
//@Качество - значение FontQuality Enumeration
//@Семейство - значение PitchAndFamily = FamilyFont + PitchFont*64
Функция ВекторнаяКартинкаCREATEFONTINDIRECT(картинка,шрифт,Ширина=0,Поворот=0,знач ПоворотЗнаков=Неопределено,Кодировка=1,Подбор=0,ПодборОбрезания=0,Качество=0,Семейство=0) Экспорт

Функции рисования:


//Рисование прямоугольника с заливкой
Процедура ВекторнаяКартинкаRECTANGLE(картинка,х1,у1,х2,у2) Экспорт
//Рисование прямоугольника с заливкой с закругленными краями, ширина и высота задают степень скругления
Процедура ВекторнаяКартинкаROUNDRECT(картинка,х1,у1,х2,у2,ширина,высота) Экспорт
//Рисует дугу эллипса выбранным PEN, дуга задается пересечением эллипса,
//заданного описанным прямоугольником (ПрХ1,ПрУ1)-(ПрХ2,ПрУ2)
//и пересекающими его отрезками из центра к точкам (ОХ1,ОУ1) и (ОХ2,ОУ2)
Процедура ВекторнаяКартинкаARC(картинка,ПрХ1,ПрУ1,ПрХ2,ПрУ2,ОХ1,ОУ1,ОХ2,ОУ2) Экспорт
//Рисует усеченный эллипс с заливкой, дуга задается пересечением эллипса,
//заданного описанным прямоугольником (ПрХ1,ПрУ1)-(ПрХ2,ПрУ2)
//и пересекающими его отрезками из центра к точкам (ОХ1,ОУ1) и (ОХ2,ОУ2)
Процедура ВекторнаяКартинкаCHORD(картинка,ПрХ1,ПрУ1,ПрХ2,ПрУ2,ОХ1,ОУ1,ОХ2,ОУ2) Экспорт
//Рисует сектор эллипса, дуга задается пересечением эллипса,
//заданного описанным прямоугольником (ПрХ1,ПрУ1)-(ПрХ2,ПрУ2)
//и пересекающими его отрезками из центра к точкам (ОХ1,ОУ1) и (ОХ2,ОУ2)
Процедура ВекторнаяКартинкаPIE(картинка,ПрХ1,ПрУ1,ПрХ2,ПрУ2,ОХ1,ОУ1,ОХ2,ОУ2) Экспорт
//Рисует эллипс выбранным PEN с заливкой BRUSH,
//заданный описанным прямоугольником (ПрХ1,ПрУ1)-(ПрХ2,ПрУ2)
Процедура ВекторнаяКартинкаELLIPSE(картинка,ПрХ1,ПрУ1,ПрХ2,ПрУ2) Экспорт
//Закрашивает область выбранной BRUSH,
//Указываются координаты начала заливки, цвет и режим - 0 - до цвета границы, 1 - область указанного цвета
Процедура ВекторнаяКартинкаEXTFLOODFILL(картинка,Х,У,цвет,режим=0) Экспорт
//Перемещение текущей точки
Процедура ВекторнаяКартинкаMOVETO(картинка,х,у) Экспорт
//Рисование отрезка от текущей точки до указанных координат
Процедура ВекторнаяКартинкаLINETO(картинка,х,у) Экспорт
//Рисование ломаной, параметр "точки" - двумерный массив[][2] точек
Процедура ВекторнаяКартинкаPOLYLINE(картинка,точки) Экспорт
//Рисование многоугольника, параметр "точки" - двумерный массив[][2] точек
Процедура ВекторнаяКартинкаPOLYGON(картинка,точки) Экспорт
//Установить пиксель по заданным координатам
Процедура ВекторнаяКартинкаSETPIXEL(картинка,Х,У,цвет) Экспорт

Вывод текста:
//Вывод текста
Процедура ВекторнаяКартинкаTEXTOUT(картинка,х,у,текст) Экспорт
//Вывод текста с возможностью обрезки и указания межсимвольных отступов
Процедура ВекторнаяКартинкаEXTTEXTOUT(картинка,х,у,текст,опции=0,ПрХ1=0,ПрУ1=0,ПрХ2=0,ПрУ2=0,отступы=Неопределено) Экспорт
//Установить фоновый цвет
Процедура ВекторнаяКартинкаSETBKCOLOR(картинка,цвет) Экспорт
//Установить режим фона из ВыводФона
Процедура ВекторнаяКартинкаSETBKMODE(картинка,режим) Экспорт
//Установить режим выравнивания текста из ВыравниваниеТекста
Процедура ВекторнаяКартинкаSETTEXTALIGN(картинка,режим) Экспорт
//Установить цвет текста
Процедура ВекторнаяКартинкаSETTEXTCOLOR(картинка,цвет) Экспорт

//Отобразить растровую картинку с возможным сжатием/увеличением
//@ИсходнаяКартинка - системный объект Картинка формата BMP/JPG/PNG/GIF/TIFF/Icon
Процедура ВекторнаяКартинкаSTRETCHDIB(картинка,ИсходнаяКартинка,ИсхХ,ИсхУ,знач ИсхШирина=0,знач ИсхВысота=0,ЦельХ,ЦельУ,ЦельШирина,ЦельВысота) Экспорт

Картинка в заголовке сформирована следующей процедурой:

    к=СоздатьВекторнуюКартинку(15*400,15*200);
    Белый=Новый Цвет(255,255,255);
    Черный=Новый Цвет(0,0,0);
    Красный=Новый Цвет(255,0,0);
    Зеленый=Новый Цвет(0,255,0);
    Голубой=Новый Цвет(128,128,255);
    Синий=Новый Цвет(0,0,255);
    Желтый=Новый Цвет(255,255,0);
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEFONTINDIRECT(к,Новый Шрифт("Arial",15*25,Ложь,Истина,Истина,Ложь),15*6,0));
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEPENINDIRECT(к,СтильКарандаш.Невидимый,0,Белый));
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEBRUSHINDIRECT(к,СтильКисть.Сплошной,Голубой));
    ВекторнаяКартинкаRECTANGLE(к,0,0,15*400-1,15*200-1);
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEBRUSHINDIRECT(к,СтильКисть.Сплошной,Зеленый));
    ВекторнаяКартинкаRECTANGLE(к,0,15*100,15*400-1,15*200-1);
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEBRUSHINDIRECT(к,СтильКисть.Сплошной,Желтый));
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEPENINDIRECT(к,СтильКарандаш.Сплошной,15*2,Желтый));
    ВекторнаяКартинкаELLIPSE(к,15*300,15*30,15*370,15*70);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*335,15*10);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*335,15*90);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*310,15*15);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*360,15*15);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*310,15*85);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*360,15*85);
    ВекторнаяКартинкаMOVETO(к,15*335,15*55);
    ВекторнаяКартинкаLINETO(к,15*310,15*15);
    ВекторнаяКартинкаARC(к,15*270,15*40,15*300,15*60,15*300,15*50,0,0);
    ВекторнаяКартинкаARC(к,15*370,15*40,15*400,15*60,15*400,15*40,15*370,15*50);
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEBRUSHINDIRECT(к,СтильКисть.Штриховка,Красный,СтильШтриховки.КосойКрест));
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEPENINDIRECT(к,СтильКарандаш.Сплошной,0,Синий));
    ВекторнаяКартинкаSETBKCOLOR(к,Синий);
    ВекторнаяКартинкаCHORD(к,15*10,15*10,15*40,15*40,15*35,15*50,15*35,15*0);
    ВекторнаяКартинкаPIE(к,15*50,15*10,15*80,15*40,15*80,15*10,15*80,15*40);
    точки1=Новый Массив(5,2);
    Pi = 3.1415926535897932;
    Для н=0 по 4 цикл
        точки1[н][0]=Окр(Cos((360/5*н-90)/180*pi)*15*10)+15*100;
        точки1[н][1]=Окр(Sin((360/5*н-90)/180*pi)*15*10)+15*20;
    КонецЦикла;
    точки2=Новый Массив(6,2);
    Для Н=0 по 5 цикл
        точки2[н][0]=Окр(Cos((360/5*н*2-90)/180*pi)*15*10)+15*100;
        точки2[н][1]=Окр(Sin((360/5*н*2-90)/180*pi)*15*10)+15*40;
    КонецЦикла;
    ВекторнаяКартинкаPOLYGON(к,точки1);
    ВекторнаяКартинкаPOLYLINE(к,точки2);
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEBRUSHINDIRECT(к,СтильКисть.Сплошной,Голубой));
    ВекторнаяКартинкаSelectObject(к,ВекторнаяКартинкаCREATEPENINDIRECT(к,СтильКарандаш.Штрих,15*2,Новый Цвет(190,128,255)));
    ВекторнаяКартинкаRECTANGLE(к,15*30,15*110,15*100,15*140);
    ВекторнаяКартинкаROUNDRECT(к,15*330,15*150,15*380,15*180,15*10,15*10);
    ВекторнаяКартинкаSETBKMODE(к,ВыводФона.Прозрачный);
    ВекторнаяКартинкаSETTEXTALIGN(к,ВыравниваниеТекста.ПравоНиз);
    ВекторнаяКартинкаSETTEXTCOLOR(к,Красный);
    ВекторнаяКартинкаTEXTOUT(к,15*390,15*190,"Автор Pasha1st");
    поток=ВекторнаяКартинкаСохранитьВДанные(к);
    //поток.Записать("E:\2.wmf");
    ЭтаФорма.ЭлементыФормы.ПолеКартинки
Меняем дату запрета документа и выкидываем пользователей из SQL базы 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Была поставлена задача для смены даты запрета редактирования документов с последующим прекращением сеансов пользователей находящихся в группе пользователей. Скразу скажу, что код по выбросу пользователей взял на просторах нашего сайта и немного допилил под наши хотелки, что она делает:

Универсальная накладная (обработка) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Redmine - библиотека для интеграции с 1с Платформа 1С v8.x (все механизмы)

Краткое описание

Наша небольшая команда в качестве трекера для работы с клиентами использует бесплатный достаточно популярный трекер Redmine. Почему  Redmine? - Потому что для нас проще было разместить трекер в сети, чем организовывать доступ к нашей инфраструктуре и использовать что-нибудь на основе 1с. Для синхронизации данных Redmine и 1с была написана эта обработка.

Все общение с Redmine идет через REST API, подробное описание которого можно найти по адресу http://www.redmine.org/projects/redmine/wiki/Rest_api. Общение идет через xml файлы. Разбор и формирование xml файлов реализовано с помощью XDTO пакетов. Пакет XDTO лежит в макете и при запуске обработки загружается, так что ничего добавлять в конфигурацию не придется. В архиве я прилагаю xsd схему, для тех, кому это будет интересно, и кто захочет внести в нее изменения. Я рекомендую для просмотра и редактирования xsd использовать  Liquid XML Studio.

Работу с обработки можно описать следующей схемой:

В самой обработке есть управляемая форма где можно посмотреть примеры работы.

 

Подключение к Redmine

 

Для того чтобы подключится к Redmine, на необходимо включить использование Rest. Это можно сделать на закладке Администрирование - > Настройки - >закладка Аутентификация -> галочка веб сервис REST:

 

Затем получить ключ текущего пользователя, под которым вы зашли. Заходите в пункт "Моя учетная запись". В правой панели смотрите ваш API Ключ.

 

Данные о ключе и сервере прописываете в реквизиты обработки.

 

После инициализации этих переменных, можно делать запросы к Redmine.

 

Пример получения данных

 

Для примера получим описание задачи. В примере в форме обработки это делается кодом:

У меня в переменных формы НомерЗадачи, содержится "41", это идентификатор задачи в базе Redmine. В параметрах, я указал что хочу получать присоединенные файлы, по умолчанию они не выдаются. На выходе получаем структуру:

 

Как обрабатывать эту структуры мы решаем в зависимости от того что мы делаем в нашей 1с конфигурации.

 
Нестандартная загрузка из Excel 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Достаточно хорошо известны различные способы загрузки данных из MS Excel 97-2010, а именно - COM-соединение, ADO, COMSafeArray и прочие извраты; но почти все их реализации для 1С совпадают в одном. Из 1С указывается, какой файл и лист(ы) интересуют пользователя, после чего выполняется некий явный или скрытый вызов, обращение, читающее данные в 1С. В ряде случаев уже на стороне 1С предполагается разбирательство с прочитанными данными, их дальнейшая обработка и анализ.

Но что, если пользователю сложно/неинтересно копаться в наворотах обработки-загрузчика на стороне 1С? Или если у вас нет времени делать такие навороты с прочитанными данными, а пользователь прекрасно владеет экселем, умеет сам ставить там нужные отборы? Если пользователь в принципе хочет определить множество данных, подлежащих загрузке в 1С, на стороне экселя и чисто его средствами?

Оговорюсь, речь не идёт о копипасте простой области в mxl, откуда уже можно прочитать. Там, знаете ли, и формулы могут оказаться, и жуткие объединённые ячейки, и вообще размер области иной раз такой, что копипастится десятки минут.

Предоставим такую возможность "по месту открытия файла". В самом деле, гораздо проще в экселе выяснить, что надо грузить, чем долго извращаться, вырезать в отдельные файлы, копипастить или всяко фильтровать в 1С. Пусть пользователь так или иначе выделит область, которая ему нужна, прочитает в 1С и повторит эту итерацию сколько надо раз подряд. В итоге на стороне 1С получится или таблица, состоящая только из нужных кусков-выделений (так сделано в приложенной обработке), или несколько таблиц, по одной на каждую выделенную область (это уже вопрос реализации на 1С и оставляется на откуп коллегам). Принцип прост - вместо того, чтобы закупить весь ассортимент магазина и дома разбираться, что из этого надо, идите и купите только нужное вам.

Важно: вы можете использовать любой отбор, отфильтровать данные и просто выделить их. Отбор по значению, цвету, шрифту - всё к вашим услугам. Потом выделяете получившееся, мышкой или клавиатурой, и нажимаете спецкнопку - и все данные уже в 1С именно согласно отбору. См. картинки с 4 по 7.

Обновление: добавлена возможность указать конкретные колонки-приёмники в 1С, и сопоставить им столбцы в экселе. Если задействован этот режим (указана хоть одна колонка), читаются только данные из сопоставленных столбцов (т.е. Select F
ТОРГ-12 для БП 3.0. Внешняя Печатная форма Платформа 1С v8.x (все механизмы)

Краткое описание

Поключить данную форму можно в режиме Предприятия (Администрирование - Дополнительные отчеты и обработки).

При добавлении ПФ в строке "Назначение" можно определить состав объектов, с которыми будет работать данная ПФ (будут доступны команды ПФ). 

Проверено на БП 3.0 Релиз: 3.0.50.19
Корректировка движений документов универсальная. Типовые конфигурации 1C: Предприятие 8.2

Краткое описание

Выбираем документ, появляются все его движения в закладках (интерфейс как в документе корректировка записей регистров). В каждой закладке есть кнопка "Записать" для записи изменений отдельной таблицы движений.
"Обработка заполнения табличной части документа ""Кассовое поступление"" для БГУ 1.0" 1C: Предприятие 8.2

Краткое описание

После загрузки документов нужно проставить контрагента и договор. Затем закрыть документ. После чего открыть обработку, выбрать период за который необходимо обработать документы и нажать кнопку "Выполнить".

Обработка делалась под конкретного клиента, по этому в коде использовался поиск по наименованию. Если в договоре указано направление деятельности "Возмещение ком.услуг арендаторами", то подставляется 180 КЭК, если значение не заполнено, то 120 КЭК, во всех остальных случаях заполняется 130 КЭК. Если документ помечен на удаление, проведен либо в нем не заполнен договор, то документ не обрабатывается
Заявление на выдачу денежных средств под отчет (БП 3.0) (Все модули открыты) 1С: Предприятие 8.3

Краткое описание

Для выдачи ДС под отчет необходимо составление заявления от подотчетника на имя руководителя предприятия.

Данная печатная форма формирует заявление по конкретному РКО с видом операции "Выдача подотчетнику" или Платежному поручению.
Динамическое дополнение/изменение форм в интерфейсе Такси и Управляемых формах v8.3 (8.2). Изменяем формы в режиме 1С:Предприятие... 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Если сравнение модулей на данный момент можно считать довольно удобным, то сравнение форм остается весьма трудоемким, хотя с появлением управляемых форм и в этом направлении появилась бОльшая информативность. Но влиять на объединение реквизитов форм почему-то все равно нельзя (см. пример скрина).

Отличие данной реализации от других (например, //infostart.ru/public/171514/)  в более удобной, на мой взгляд, подготовке самого "ТЗ" на изменения. В данном решении заполнение происходит в режиме 1С:Предприятие. Система предлагает в выпадающем списке возможные значения. Можно более-менее заполнить все интерактивно, по кнопке "Проверить редактируемую форму" посмотреть что получается.

Кроме создания новых элементов можно перегруппировывать существующие для лучшей компоновки формы с учетом новых элементов, т.е. можно перенести в другую группу, передвинуть, удалить, изменить свойства.

Организован простой перенос настроек между базами (из тестовой базы в рабочую, например). Возможно это банальность, но все равно удобно.

 

На сравнение с уже опубликованными решениями не претендую, т.к. в них, как правило, больше функциональности.

Так же должен отметить, что решение не является конечным решением, а больше является шаблоном/инструментом, который можно улучшить при необходимости. Свойств у элементов очень много, я вынес в настройки только основные (необходимые мне).

Для динамического формирования формы необходимо добавить вызов одного метода в процедуру при создании формы и необходимые обработчики событий, и обращайте внимание на тумблер Настройка/Работа. Для режима Настройка форма изменяться не будет.

В версии 006 описан механизм работы с кнопками. Т.е. можно динамически добавить кнопку, команда создастся, если ее не было. Метод определяющий действие команды должен быть в модуле.
Изменен один параметр в вызове метода. Теперь передается сама форма, а не ее имя, см. ниже

Вызов, который нужно добавить в процедуру ПриСозданииНаСервере:

// ВНИМАНИЕ, ЗДЕСЬ ОСУЩЕСТВЛЯЕТСЯ ИЗМЕНЕНИЕ ВНЕШНЕГО ВИДА ФОРМЫ
// для актуальной версии 006

крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма, Элементы, Параметры.ДополнительныеПараметры); 

// для версии 005
// крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма.ИмяФормы, Элементы, Параметры.ДополнительныеПараметры); 




Применимо к управляемым формам. Делалось на 8.3 для Бухгалтерии 3.0

 

Ограничения (что проверял, что нет).

По факту проверял только Поле ввода (на форме и в таблице), Обычную группу, Группу колонок. В большинстве случаев этого достаточно.

 

Механизм выложен в качестве конфигурации с одной подсистемой и без ненужных объектов, т.е. можно просто объединить ее со своей конфигурацией, дать права на подсистему и добавить вызов 
Быстрое сворачивание 1С 77 ТиС (от 10 до 40 минут) независимо от размера ИБ. 1С:Оперативный учет 7.7

Краткое описание

Предисловие:

Прежде чем делать свертку обязательно снимите архив ИБ. Не забудьте сделать ТИИБ, чтобы не возникло неприятностей на следующих шагах. Не стоит напоминать что все последующие шаги надо делать от имени пользователя с установленной ролью "Полные полномочия" (настраивается в справочнике "Пользователи")

Содержимое архива:

Хранение и печать данных доверенности покупателя в ТОРГ-12 в УТ11 1С: Предприятие 8.3

Краткое описание

Если товар отгружается покупателю по доверенности с длительным сроком действия, в текущем релизе 1
Печать бланка заказ-наряда в формате Microsoft Word (Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5) 1C: Предприятие 8.2

Краткое описание

Внешняя печатная формабланка заказ-наряда в формате Microsoft Word для конфигурации Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5. Бланк заполняется данными из 1С и открывается в Microsoft Word с возможностью дальнейшей правки
Моя домашняя бухгалтерия + мобильное приложение 1С: Предприятие 8.3

Краткое описание

 

 

Возможности программы:

Учет прихода, расхода, перемещения денег по кошельками и видам расходов.
Учет долгов/займов.
Ведения плановых задач с автоматически создаваемыми задачами.
Учет в мобильном приложении и обмен с основной базой, через веб-сервис.

Иструкция по настройке обмена с мобильным приложением:

В основной базе настраиваете узлы в плане обмена. Называете основной узел, и создаете узел для мобильного приложения.
Ставите префикс базы в настройках синхронизации: Администрирование- Настройки синхронизации данных - Префикс этой информационной базы
Публикуете веб-сервис Exchange на веб сервере.
В мобильном приложении настраиваете параметы синхронизации: выставляете адрес веб-сервера, пользователь и пароль для основной базы данных. Настраиваете узлы плана обмена, и выбираете узел основной базы. Устанавливаете префикс для мобильного приложения.\

 

 

Обновление
Загрузка весов с печатью этикеток из 1С:Розница 2.х через драйвер АТОЛ 8 1С: Предприятие 8.3

Краткое описание

Не требует настроек офф-лайн оборудования. Просто открываешь и работает.

Должны быть установлены драйвера АТОЛ: Весы с печатью этикеток 8 (наверное будет работать и на ред 6)

Для работы надо настроить логические устройства Драйвера - если весов несколько.

После открытия обработки - выставляем параметры отбора номенклатуры. Самый простой способ - это поставить галочку что отобрать только товар Весовой (да).

 По желанию у нас пользователи выгружают в разные весы - разные группы товаров.

Далее нажимаем кнопку Заполнить - в нижней табличке появятся товары для обработки. Товары у которых нет SKU будут выделены ярко желтым цветом. Новые SKU можно тут же проставить нажатием кнопки Заполнить SKU.

После того как на экране убедились что все SKU проставлены, цены розничные есть - можно нажать две кнопки

ПЕЧАТЬ СПИСКА ПЛУ - выдает печатную форму три колонки КОД SKU, НАИМЕНОВАНИЕ, ЦЕНА

или кнопку

В ВЕСЫ - драйвер отправит товары в весы.

Кнопка Выбрать Весы - открывает страницу свойств драйвера на котором можно выбрать логическое устроство (нужные весы). Кнопка по умолчанию добавляет к своему названию - название текущего логического устройства.
ТОРГ-12 с заполнением данных по Дополнительным сведениям Платформа 1С v8.x (все механизмы)

Краткое описание

Внешняя печатная форма ТОРГ-12 с выводом дополнительных сведений. В дополнительных сведениях добавлены данные, в них можно вносить дополнительную информацию к отгрузке, которую необходимо отображать в печатной форме.
План-фактный анализ за год по статьям бюджета 1C: Предприятие 8.2

Краткое описание

Отчет формирует движения по статьям бюджетов, статьям ДДС, денежным потокам. Показывает остатки денежных средств на на начало и конец месяца по данным сценария и по фактическим данным. Всё в разрезе года с сортировкой по месяцам, колонки:

План,

Факт,

Расхождение.

Процент расхождения.

Нарастающий итог План

Нарастающий итог факт

Нарастающее отклонение(количественно и в процентах)

Сделан на СКД.

Выбор года, бюджета и сценария.
Парсинг сайта без использования встроенного браузера для начинающих 1C:Предприятие 8

Краткое описание

Задача: научиться парсить сайт на конкретном примере

Будем парсить сайт brass.ru - крупного поставщика фурнитуры

Способ парсинга аналогичен тому, что указан в публикации //infostart.ru/public/88106/ , но имеет другой подход.

Далее следует большое полотно текста вперемешку с кодом, если нет желания читать – внизу можно скачать обработку и сразу разбираться в коде – он прокомментирован.

Следует сразу понять, что не существует универсальных парсеров сайтов, подходящих для всех. Большинство сайтов различаются своей структурой, поэтому для каждого из них существует свой алгоритм вытаскивания информации.

Поехали!

Парсить будем не с помощью элемента ДокументHTML на форме, а с помощью ЧтениеHTML (класс для загрузки html-документа) и ПостроительDOM (класс, загружающий в себя всю структуру и информацию документа). Суть этого метода заключается в том, что нам нужно подключиться к серверу, получить необходимую нам html-страницу (только html-код) и разобрать ее, а не загружать всё содержимое страницы на форму и потом рендерить его.

Практический любой сайт строится таким образом, что он состоит из блоков, которые содержат другие блоки, которые содержат другие блоки и так может повторяться огромное количество раз. Поэтому нам придется заранее узнать имена элементов, которые содержат необходимые нам данные.

Я использовал для этого Google Chrome.

Теоритическая часть

Миграционный учет 1C: Предприятие 8.2

Краткое описание

Версия
Скидки для Бухгалтерии 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

Данная внешняя обработка для документа реализации товаров и услуг позволяет делать скидки в конфигурации 1С:Бухгалтерии 3.0 (в том числе в базовой версии). Скидки работают только для товаров. Если кому нужны услуги, то в коде это легко меняется. После регистрации обработки ее нужно сначала настроить. Для этого открывается любой записанный документ с пустой табличной частью товары. Сама кнопка скидки изначально находится на коммандной панели формы в меню еще, подменю Заполнить.

На первой вкладке настраиваются вид скидок и период. С периодом, я думаю, все понятно. Вид скидок это информация на основании которой будет предоставляться скидка. Можно выбрать по сумме продаж или по количеству. Сами настройки хранятся в %LOCALAPPDATA%\PriceFor1C\Settings\.

На вкладке границы скидок заполняется сама таблица скидок. Действует условие НижнаяяГраница>=ТекущееНакопление<ВерхняяГраница.

На вкладке номенклатура действия скидок заполняются группы номенклатуры для которых будет действовать скидка. 

После проведения настроек нажимам кнопку сохранить настройки. Теперь можно пользоваться скидками. На следующем скриншоте пример применения скидок. Настройка формы изменена и кнопка скидки выведена перед кнопкой провести и закрыть. После нажатия на кнопку происходит применения скидок. Если документ проведен, то он тоже будет участвовать в накоплении скидок, поэтому документ не должен быть проведенным. Если скидка применилась, то в комментарии документа появляется об этом информация. Если нажать кнопку повторно, то появляется сообщение об попытки повторного использования скидки и скидка не применяется. Если нужно сделать ее еще раз, то необходимо удалить комментарий и изменить цены на первоначальные (без скидок).
Складской учет (Мини-Склад). Программа учета складских остатков. 1С: Предприятие 8.3

Краткое описание

Конфигурация для 1С 8.3, гарантированно работает на платформе 1С:Предприятие 8.3 (8.3.5.1248).

Возможности:

Учет поступления и отгрузки товаров (№ вх/исх, номенклатура, ед.измерения, кол-во).
Отгрузка товаров на основании приходной накладной (автозаполнение).
Ведение входящих/исходящих номеров документов.
Четыре вида операций документов (без маркировки, Аренда, Ремонт, Инвентаризация).
Инвентаризация с функцией автозаполнения остатков.
Списание/оприходование на основании инвентаризации.
Регистрация создателя (автора) документа.
Справочник номенклатуры с возможностью ведения подкатегорий (папок). Проверка на дубли.
Ведение нескольких складов (без возможности перемещения между складами).
Ввод своих единиц измерения.
Отчет остатков на складе с указанием периода отчета.
Отчет по движению товаров/товара с указанием периода отчета.
Режим администратора и режим кладовщика

В общем программа для складского учета без заморочек на цены, без ввода контрагентов, без заявок, резервов и прочих сложностей.

Пришел товар -> ввели накладную на приход

Отгрузили товар ->  сделали расходную накладную

Если это арендуемый товар или ремонтный, то ставим соответствующую метку.

Проводим инвентаризацию, автоматом заполняем остатки по базе, вручную вводим фактическое кол-во. На основании этого разницу списываем/приходуем с пометкой "Инвентаризация" (чтобы в отчете можно было отследить).

Отчет остатков показывает общее кол-во товаров на складе с учетом Аренды, Ремонта, Инвентаризации и простых продаж (без метки).

Отчет по движению - детализированно показывает что происходило с той или иной номенклатурой в определенный период времени.

Пароль Кладовщика: 000

Пароль Администратора: 123
Универсальный реестр документов для 1С 8.3 1С: Предприятие 8.3

Краткое описание

Универсальный реестр документов для 1С 8.3. Испытано в Рознице, УТ, Бух, Управление сервисом, УНФ. За счет других конфигурации я ничего сказать не могу. Прошу писать, если у вас заработало в других конфигурациях.

Как работать с ним?

1С + Font Awesome. Добавляем новые возможности интерфейса Не имеет значения

Краткое описание

Хочу поделиться тем, как разнообразить зачастую суровый и очень текстовый интерфейс 1С и добавить в него немного красок жизни. Дальше, будет много скриншотов, ведь статья про интерфейс. А как можно рассказать про интерфейс без скриншотов?

Начало

Понятно, что при использовании управляемых форм платформа стремится к унификации, т.к. работает с целой кучей 1С-клиентов - тонкими, толстыми, веб-клиентами, мобильными. С другой стороны, не всем пользователям нравится «суровый челябинский интерфейс», порой на 99% состоящий из текста. Многим хочется чтобы было хотя бы не хуже, чем в браузере.

Конечно, никто не запрещает нам вставлять в интерфейс картинки, но при использовании картинок, мы имеем накладные расходы:

хранение в библиотеке,
загрузку картинки в форму,
передачу на сторону клиента.

А накладных расходов нам не хочется, тормозов в 1С и без этого хватает. Поэтому, мы в Simplit-е подумали... В то время, когда космические корабли бороздят весь цивилизованный мир давно использует иконочные шрифты почему бы и в 1С их не использовать? В общем, подумали и решили реализовать.

Установка Font Awesome

Мы давно и успешно используем Bootstrap + Font Awesome, соответственно, начали мы именно с интеграции 1С + Font Awesome. Устанавливается Font Awesome просто:

скачиваем архив c официального сайта,
распаковываем архив,
копируем файл fonts/fontawesome-webfont.ttf в каталог Windows/Fonts

С этого момента, мы уже можем использовать иконочный шрифт Font Awesome в 1С.

Работа со шрифтом

Мочь-то мы можем, но без сервисных функций работать с Font Awesome из 1С-а неудобно. Браузер знает о всех символах шрифта из CSS, поэтому использовать шрифт в браузере просто:

 


Чтобы из кода 1С было удобно работать с Font Awesome, мы сделали карту символов (character map) + другие сервисные функции и закинули все это в общий модуль "Шрифты" Теперь, мы можем использовать в коде 1С следующие конструкции:

// получаем структуру с символами шрифта
fa=Шрифты.ПолучитьСимволыШрифта();

// задаем заголовок кнопки на форме
Элементы.Play.Заголовок=fa.play;

// указываем шрифт
Элементы.Play.Шрифт=Новый Шрифт("FontAwesome");



Три строчки кода и в результате, теперь наша кнопка выглядит так (Такси-интерфейс):

Обратите внимание на удобный способ, которым мы обращаемся к иконке: fa.play. То есть, теперь работать с иконками даже проще, чем в браузере.

Что мы с этого можем поиметь?
не надо "париться" с картинками - рисовать, хранить, и т.д.
можно вставить иконки даже там, где обычную картинку никак не вставишь (поясню чуть ниже)
накладные расходы платформы при использовании шрифтовых иконок стремятся к нулю, т.к. для платформы иконка - это просто текстовый символ
можно "на лету" манипулировать цветом, подчеркиванием, зачеркиванием - т.е. всеми доступными для манипуляции параметрами шрифта
Печеньки для Таблицы Формы

Теперь, используя иконочный шрифт можно перестать создавать коллекции картинок для строк таблицы - по сути иконочный шрифт и есть коллекция картинок. Достаточно вставить символ из шрифта в строку таблицы. Даже в пределах одной колонки можно иметь столько иконок, сколько позволяет фантазия. Например, как-то так:

В реальном приложении, столько пиктограмм конечно же не нужно. Например, в таблице внутренних номеров решения "v3.Панель телефонии" мы используем только 2 колонки с иконками и выглядит это так:

Иконки кнопок

Пример использования иконок в кнопках. Дешево и сердито. Можно быстро создать кнопки плеера:

Группы

Теперь можно вставить иконку даже туда, куда ее вставить обычными средствами невозможно. Например, в заголовок группы. Кстати, у группы напрочь отсутствует свойство "Картинка", поэтому по-другому иконку туда никак не вставишь.

Декорации

Теперь, изменение иконки текстовой декорации сводится к простому изменению заголовка. Пример:

Поле ввода

Сюда мы тоже можем вставлять иконки в бесчисленном количестве:

Конвертер на случай обновления Font Awesome

А обновление точно будет - проект развивается. На сайте проекта есть Character map, который они назвали CheatSheet (http://fontawesome.io/cheatsheet/), где указаны коды символов в формате HTML Hexadecimal. В обработке, которая приложена к статье, есть конвертер из Hexadecimal в Decimal. При выходе новой версии шрифта, нужно просто добавить код новых иконок в карту шрифта. Пример создания карты шрифта есть в обработке, и общем модуле архива статьи.

Развитие

Font Awesome - вещь хорошая и очень популярная, но не единственная. Тем, кому 479 иконок недостаточно, может использовать и другие иконочные шрифты. Ниже, неполный список подобных проектов:

Ionicons
Entypo
Meteocons - хороший набор, заточенный под метеорологию
Typicons

Комбинировать шрифты можно с помощью "ножниц" - Fontello

Общий модуль "Шрифты" и примеры в виде внешних обработок мы в ближайшее время выложим в репозитарий Simplit на GitHub-е. Планируем добавить еще несколько интересных шрифтов.
Очистка кэша 1С 8.1 - 8.2 - 8.3 (удаление кэша для ВСЕХ пользователей терминального сервера) + запуск с ключом. 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Версия 0.77

Удаление кэша помогает побороть некоторые странные ошибки в работе.

Что умеет утилита:

-Удаляет кэш1С 8.1, 8.2, 8.3.
-Возможность выбирать: удалять только кэш или все настройки.
-Возможность удалять кэш или все настройки всех пользователей терминального сервера.

Утилита написана на C#. Для ее работы нужно, чтобы был установлен Framework НЕ ниже 4.1 версии. 

Утилита была проверена на: Windows7, Windows Server 2008 R2.

Существуют также такие методы запуска из командной строки:

/? - список команд командной строки

/81ClearCache --очистить кэш всех баз 1C_8.1
/82ClearCache --очистить кэш всех баз 1C_8.2
/83ClearCache --очистить кэш всех баз 1C_8.3

/81ClearAll --очистить кэш + настройки всех баз 1C_8.1
/82ClearAll --очистить кэш + настройки всех баз 1C_8.2
/83ClearAll --очистить кэш + настройки всех баз 1C_8.3

/81ClearCacheHide --очистить кэш всех баз 1C_8.1 без вывода окна
/82ClearCacheHide --очистить кэш всех баз 1C_8.2 без вывода окна
/83ClearCacheHide --очистить кэш всех баз 1C_8.3 без вывода окна

/81ClearAllHide --очистить кэш+настройки всех баз 1C_8.1 без вывода окна
/82ClearAllHide --очистить кэш+настройки всех баз 1C_8.2 без вывода окна
/83ClearAllHide --очистить кэш+настройки всех баз 1C_8.3 без вывода окна

Версия 0.78

Исправлена грамматика ClearCashe -> ClearCache 

Исправлена грамматика ClearCasheHide -> ClearCacheHide 
Печать этикеток из внешних шаблонов для Розницы, ред. 2 1С: Предприятие 8.3

Краткое описание

Замена GUID для объектов 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

При использовании распределенных БД часто возникает проблема «Задвоения» элементов или наоборот, «Объект не найден».

Данная обработка позволит вам установить произвольный GUID для существующих объектов.

При замене GUID объекта обработка изменяет GUID по ссылкам во всех связанных объектах.

 

Принцип работы с обработкой:

1) В поле «Элемент» указываем объект базы, у которого мы хотим поменять GUID.

Поле «Тек ГУИД» заполняется GUID-ом выбранного элемента.

2) В поле «Нов ГУИД» вводим GUID который мы хотим задать для этого элемента.

3) Указываем строку подключения для базы данных.

Важно!!! Поскольку обработка происходит на сервере, то строки подключения различаются для х64 и х32 сервера приложений.

Для х64

Provider=SQLOLEDB.1;Server=[Сервер];UID=[Пользователь];pwd=[Пароль];Database=[БазаДанных];

Для х32

Driver={SQL Server};Server=[Сервер];UID=[Пользователь];pwd=[Пароль];Database=[БазаДанных];

4) Тип алгоритма:

 

"Медленная" замена, с отображением таблиц – При поиске на каждый подходящий реквизит выполняется 3 запроса к MS SQL серверу, при этом выводится информация о таблицах и количествах замены.

 

Быстрая замена – замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу, однако таблицы для замены определяются при помощи «НайтиПоСсылкам». (Быстрее первого способа, но минимум информации)

 

Быстрая замена, везде, включая движения документа– замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу. В процессе замены мы пытаемся заменить ссылку в любом подходящем по типу поле в БД. Таким образом, ссылки будут замещаться и в движениях документов и в итогах.

Самый опасный способ! Но мы ведь смелые, без бэкапов ощущения не те (сарказм).

В этом случае желательно сделать тестирование и полный пересчет итогов. А в случае режима «слияния» объектов пересчет вообще обязателен.

5) Для современных релизов платформы у пользователя, под которым осуществляется запуск обработки, необходимо в конфигураторе снять галочку "Защита от опасных действий" в противном случае 1с отказывается полноценно работать с COM-объектами.

Возможен режим «Слияния» объектов.

Предположим, у нас есть 2 элемента справочника с одинаковыми наименованиями и мы хотим, что бы это стал 1 элемент. Можно запустить обработку с поиском и заменой значений, а можно запустить мою обработку.

Выбираем 1 из элементов, «Нов GUID» делаем равным GUID-у второго элемента, отмечаем галочку «Не менять ссылку».

Таким образом во всех вхождениях первого элемента будет изменена ссылка на второй элемент, а у самого элемента GUID не поменяется после этого, помечаем к удалению первый элемент за ненадобностью.

 
Подключение фискального регистратора MG808TL (на базе Toshiba) и MG-P800TL (на базе POSNET) Платформа 1С v8.x (все механизмы)

Краткое описание

Решил поделиться с миром наработкой в 1С для фискального принтера (РРО) (ЭККА).
Не судите строго, выполнено в виде консоли для подключения и демонстрации работы с 1С.

Добавил обработку  для подключения торгового оборудования через ДОБАВИТЬ драйвер в разделе торговое оборудовние.

Интерфейс собрал в себя все необходимые функции для повседневной работы с фискальным аппаратом и рекомендуется для более быстрого и удачного согласования с 1С 8.2 (8.3) или 7.7 в Ваших проектах или на базе существующего.

Для регистрации драйвера в системе необходимо скопировать исполняющий exe файл в любое удобное место на компьютере, где ожидается запуск 1С. После чего он доступен для вызова под именем MGT808TL.FiscalPrinter


Кроме всего прочего позволяет печатать:

- штрих код чека EAN-128,

- штрих-код в чеке EAN-13,

- произвольный штрихкод в чеке EAN-13,

-  штрихкод товара в чеке EAN-13,

- загружать в аппарат логотип (только Ч/Б монохромный .BMP)

Добавили возможность запрашивать время до блокировки аппарата. (см. скрин)

Как известно аппарат должен работать без передачи данных в налоговую не более 72 часов, иначе должен заблокироваться! 

Для этого необходимо обновить и драйвер MGT808TL Driver for 1C !

С 9.02.2016 добавлен новый версии
Источники запроса и права доступа 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Приложенная обработка показывает таблицы базы данных, которые участвуют в запросе.

Для регистров собирает и выводит документы-регистраторы.

Можно задать пользователя конфигурации или роль, по которым будут показаны права (сортировка по праву на просмотр).

 

PS. Исправлена ошибка - перетащил функцию РазложитьСтрокуПоТочкамИСлэшам из общего модуля БСП в тело обработки.

Обработка годится только для платформ 8.3.5. Так как есть типы данных не существующие в 8.2.х 
Обработка содержит только управляемую форму
Универсальная загрузка документов из v7 в v8 1C:Предприятие 8

Краткое описание

Выгрузка осуществляется на основе «схемы загрузки».  «Схему загрузки» можно создать в текстовом формате либо в MS Excel (формат см.ниже, примеры прилагаются) с последующим сохранением в файл типа “CSV”.

Загрузка объектов осуществляется про помощи внешнего соединения COMОбъект("V77.Application") запросом. Запрос строится на основании «схемы загрузки». В схеме можно использовать любые значения (источникПоле) согласно правилам языка генерации запроса v7 при описания переменной.

 

Согласования значений источника с получателем:

для перечислений осуществляется путем поиска совпадений по наименование или по синониму. Если совпадений не найдено, из значения источника убираются пробелы и повторно осуществляется поиск возможных совпадения.

Для справочников согласно «схеме согласования», если определен, поиск по наименованию, либо создаётся новый согласно алгоритму настроек «схемы загрузки».

Также есть возможность заменять значения источника на фиксированное значение, определенное в «схемы загрузки».

                Загружать одновременно можно несколько видов документов с индивидуальными настройками для каждого вида.

 

Вновь созданные документы создаются со статусом «записан». Для дополнительной обработки есть возможность просмотреть реестр документов источника, вновь созданных документов получателя, вновь созданных элементов справочников и ошибок загрузки.

 

Удобно для нестандартных разовых загрузок, а также для постоянных схем консолидации данных на местах пользователей из одно фирменных БД.

 

 

Правила заполнения «схемы загрузки» (см.картинку)

файл shema.csv располагается в каталоге где лежит обработка

восемь колонок, разделение «;»

  

первый уровень –

необходимо заполнить первую, третью и четвертую колонку

вид документа источника, служебная равна значению первой, вид документа получателя

 

второй уровень

определение «шапки документа» и «табличной части»

участвует вторая и четвертая колонка

для второй колонки используются значения «Шапка» и «ТабличнаяЧасть» для определения первого поля

для четвертой колонки имя табличной части документа получателя

 

третий уровень

участвует вторая, третья, шестая, седьмая и восьмая колонки

вторая колонка - определяет группировки запроса

третья колонка - имена полей документов источника в соответствие с описанием переменных запросов

шестая колонка - имена полей документов получателя

седьмая колонка -строчное фиксированные значение для получателя

восьмая колонка - создавать\не создавать новый элемент, при любом не пустом значении («1», «да» и тд.) будет создавать новый элемент, иначе не создается, и поле документа получателя остается пустым.

 

 

 

Правила заполнения «схемы согласования» (см.картинку)

файл sprmatch.csv располагается в каталоге, где лежит обработка

три колонки, разделенные «;»

первая колонка - значение поля документа источника

вторая колонка - имя справочника в получателе

третья колонка - значение поля документа получателя

  

Без пароля, под файловую версию

 

Ограничения:

Элементы справочников, у которых есть владелец, не создаются и отражаются в реестре ошибок. Необходимо создавать заранее или указывать фиксированные значения.

Для многотабличных документов возможно загружать только одну таблицу по выбору в схеме.

 

Универсальная загрузка документов из v7 в v8 (управляемые формы) 

файл: ЗагрузкаДокументов_v7v8(управляемые формы)

 

Еще одна вариация на тему загрузки из v7 в v8 с возможностью поиска элементов справочников по наименованию, по реквизитам с одинаковыми названиями в источнике и получателе. Схемы загрузки можно сохранять для дальнейшего использования для каждого вида источник, получателя и для каждой табличной части получателя в отдельности.

Выгрузка осуществляется на основе «схемы загрузки».  «Схему загрузки» создается на форме обработки с возможность последующего сохранения.

Загрузка объектов осуществляется про помощи внешнего соединения COMОбъект("V77.Application") путем выборки.

Согласования значений источника с получателем:

для перечислений осуществляется путем поиска совпадений по наименование или по синониму. Если совпадений не найдено, из значения источника убираются пробелы и повторно осуществляется поиск возможных совпадения.

Для справочников согласно «схеме согласования», если определен, поиск по наименованию или из списка выбора, либо создаётся новый согласно алгоритму настроек «схемы загрузки».

Также есть возможность заменять значения источника на фиксированное значение, определенное в «схемы загрузки».

Загружать одновременно можно только один вид документа.

Вновь созданные документы создаются со статусом «записан». Для дополнительной обработки есть возможность просмотреть реестр документов источника, вновь созданных документов получателя.

Удобно для нестандартных разовых загрузок, а также для постоянных схем консолидации данных на местах пользователей из одно фирменных БД.

 

Без пароля, под файловую и серверную версии.

Ограничения:

Нет возможности загружать документы по условию, проведение загруженных документов списком отключена.

 
Редактирование Свойств документа, закрытый период 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Разработчики типовой конфигурации ограничили возможность редактировать Свойства документа, если документ попадает установку даты запрета редактирования.

Это не всегда удобно. Как пример: на свойства добавляют информацию, вернулся бумажный документ или нет. 

Данная обрабтка это позволяет сделать.

Обработка сделана как внешняя печатная форма.

 

Добавляется в дополнительные печатные формы.

Автозаполнение сделано для шести видов документов, другие можно добавлять самому.
Групповое присвоение штрих-кодов по формату кода номенклатуры 1С: Предприятие 8.3

Краткое описание

Обработка написана во время перехода с 1С 7.7 Торговля и Склад 9.2 на 1С 8.3 Управление торговлей 1
Печать Конвертов 1С:8 (MS Office 2013) Платформа 1С v8.x (все механизмы)

Краткое описание

После установки нового MS Office 2013 стандартная обработка вываливается в ошибки (MS Word 2013 не работает при слиянии с dbf файлами).

Поэтому пришлось срочно все исправлять:

1) Файл с адресами формируется в формате Excel.

2) Так как есть несколько видов адресов (юридический, фактический, почтовый), но не всегда они заполнены, то сделала такой механизм:

     а) сначала ищем вид адреса, который выбран на форме,

     б) если не находим, ищем почтовый,

     в) потом фактический,

     г) а затем юридический.

Кстати, у меня в конфигурации виды адресов это предопределенные элементы справочника, поэтому к ним очень легко обращаться.

3) Был усовершенствован механизм удаления пустых листов в документе Word.

 

Обработка печатает конверты по списку контрагентов (выбранному в форме)

Обработка работает как в УТ, так и в 1С: "Бухгалтерия предприятия".

Есть одно неудобство: при слиянии документа Word с Excel требуется выбрать лист, с которого брать список адресов. Окно выбора  появляется в свернутом виде и его приходится искать с помощью Alt+Tab. Если у Вас будут предложения, как убрать данный вопрос, буду очень признательна.
Загрузка документов из M.E.Doc IS в 1С Платформа 1С v8.x (все механизмы)

Краткое описание

С 01 декабря 2014 года в Украине вводится принудительный электронный обмен налоговыми документами.

Само по себе это не плохо, если бы не было так спешно, сыро и неотработано. Сейчас хочу представить вашему вниманию не нашу авторскую разработку, а модуль обмена от "1С MEDOC". Не обошлось, конечно, и без доработки, благо, код процедуры открыт.


Итак, что может обработка: автоматически формировать документы "Регистрация входящего налогового документа" по данным из программы M.E.Doc IS

Преимущества: уменшение ручного ввода и количества ошибок

Что доделано: расширена идентификация контрагента. В оригинале - только по ИНН, в представленном варианте - если есть несколько контрагентов с данным ИНН, начинается поиск по ЕДРПОУ. Также, добавлен "/" для кодов филиалов. Все это важно для филиальных структур.

Как пользоваться: оригинальная инструкция во вложении

Комментарий: к сожалению, у нас отсутствуют описание  методов и атрибутов объекта MEDOC.ZApplication.

Буда благодарен за любую информацию по этому поводу. Обработку еще есть куда улучшать.


Расчет максимального количества выпуска при текущих остатках по спецификации, расчет потребностей в сырье на выпуск по спецификации с учетом остатков 1С: Предприятие 8.3

Краткое описание

Данный отчет позволяет рассчитать, какое количество продукции можно выпустить по спецификации при текущих остатках на счетах (10,21,43).

Также производиться расчет сырья, которого не хватает на определенное количество выпуска с учетом уже имеющихся остатков.
"Выгрузка и загрузка данных XML 8.2 (2.1.2) в режиме ""Обычного приложения""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью.

Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и т. д.
Использование этой обработки возможно, например, для создания полной или частичной резервной копии данных, осуществления обмена данными между информационными базами, а также как вспомогательный инструмент при восстановлении сбойных информационных баз.

Обработка поддерживает выгрузку данных с ограничениями и проверку объектов на наличие недопустимых символов при обмене через XML.
Библиотека универсальных функций и процедур (v 1.3) 1С: Предприятие 8.3

Краткое описание

Все функции писал сам (может быть, пару функций где-то позаимствовал, но сейчас уже не вспомню, где и когда). Не буду претендовать на оригинальность, возможно, ряду функций существует достаточно аналогов, в т.ч. на данном сайте.

Надеюсь, кому-нибудь они будут полезны.

#Область РаботаСПримитивнымиТипами

#Область РаботаСоСтроками

Функция ЦифровыеСимволы() Экспорт
Возврат "0123456789";
КонецФункции // ()

Функция ПустойУИД() Экспорт

Возврат "00000000-0000-0000-0000-000000000000";

КонецФункции // ()

Функция ИнвертироватьСтроку(Знач Строка) Экспорт

НоваяСтрока = "";

Если Строка <> "" Тогда
ДлинаСтроки = СтрДлина(Строка);

Для Индекс = 0 По ДлинаСтроки-1 Цикл

НоваяСтрока = НоваяСтрока+Сред(Строка,ДлинаСтроки-Индекс,1)

КонецЦикла;

КонецЕсли;

Возврат НоваяСтрока;

КонецФункции // ()

Функция СтрОбрезатьСправа(Знач Строка,ЧислоСимволов) Экспорт

Возврат Лев(Строка,СтрДлина(Строка)-ЧислоСимволов);

КонецФункции

Функция СтрОбрезатьСлева(Знач Строка,ЧислоСимволов) Экспорт

Возврат Прав(Строка,СтрДлина(Строка)-ЧислоСимволов);

КонецФункции

Функция СтрЗаменитьСправа(Знач Строка,ЧислоСимволов,СтрокаЗамены) Экспорт

Возврат СтрОбрезатьСправа(Строка,ЧислоСимволов)+СтрокаЗамены;

КонецФункции

Функция СтрЗаменитьСлева(Знач Строка,ЧислоСимволов,СтрокаЗамены) Экспорт

Возврат СтрокаЗамены+СтрОбрезатьСлева(Строка,ЧислоСимволов);

КонецФункции

Функция СобратьПредставлениеЗначений(МассивЗначений,Разделитель = " ",ФорматнаяСтрока = "") Экспорт

МассивСоединения = Новый Массив;
Форматировать = не ПустаяСтрока(ФорматнаяСтрока);

Если Форматировать Тогда
ФорматныйТип = Новый ОписаниеТипов("Число,Дата,Булево");
Иначе
ФорматныйТип = Неопределено;
КонецЕсли;

Для каждого ЭлементМассива Из МассивЗначений Цикл

Если Форматировать и ФорматныйТип.СодержитТип(ТипЗнч(ЭлементМассива)) Тогда
МассивСоединения.Добавить(Формат(ЭлементМассива,ФорматнаяСтрока));
Иначе
МассивСоединения.Добавить(Строка(ЭлементМассива));
КонецЕсли;

КонецЦикла;

Возврат СтрСоединить(МассивСоединения,Разделитель);

КонецФункции // ()

Процедура ДобавитьСтрокуТекста(Текст,Строка) Экспорт

Если не ПустаяСтрока(Строка) Тогда
Текст = Текст+?(ПустаяСтрока(Текст),"","
|")+Строка;
КонецЕсли;

КонецПроцедуры

Функция СтрУбратьНедопустимыеСимволы(Знач Строка,ДопустимыеСимволы) Экспорт
НоваяСтрока = "";
ЧислоСимволов = СтрДлина(Строка);

Для Индекс = 1 По ЧислоСимволов Цикл
Символ = Сред(Строка,Индекс,1);
Если Найти(ДопустимыеСимволы,Символ) > 0 Тогда
НоваяСтрока = НоваяСтрока+Символ;
КонецЕсли;
КонецЦикла;

Возврат НоваяСтрока;
КонецФункции // ()

Функция ПолучитьВхожденияПодстроки(Знач Строка,ПодстрокаПоиска) Экспорт
СтрокаВхождений = Строка;
МассивВхождений = Новый Массив;
ДлинаПодстроки = СтрДлина(ПодстрокаПоиска);
Обрезано = 0;

Пока Истина Цикл
Поиск = Найти(СтрокаВхождений,ПодстрокаПоиска);

Если Поиск > 0 Тогда
МассивВхождений.Добавить(Обрезано+Поиск);
СтрокаВхождений = СтрОбрезатьСлева(СтрокаВхождений,Поиск+ДлинаПодстроки-1);
Обрезано = Обрезано+Поиск+ДлинаПодстроки-1;
Иначе
Прервать;
КонецЕсли;

Если СтрДлина(СтрокаВхождений) < ДлинаПодстроки Тогда
Прервать;
КонецЕсли;

КонецЦикла;

Возврат МассивВхождений;
КонецФункции

Процедура СтрГрупповаяЗамена(Строка,СоответствиеЗамен) Экспорт
Для каждого ЭлементСоответствия Из СоответствиеЗамен Цикл
Строка = СтрЗаменить(Строка,ЭлементСоответствия.Ключ,ЭлементСоответствия.Значение);
КонецЦикла;
КонецПроцедуры

Процедура СтрУбратьПодрядидущиеСимволы(Строка,СтрокаЗамены) Экспорт

Для Индекс = 1 По СтрДлина(СтрокаЗамены) Цикл
СимволЗамены = Сред(СтрокаЗамены,Индекс,1);

Пока Истина Цикл
ПодстрокаЗамены = СимволЗамены+СимволЗамены;

Если Найти(Строка,ПодстрокаЗамены) > 0 Тогда
Строка = СтрЗаменить(Строка,ПодстрокаЗамены,СимволЗамены);
Иначе
Прервать;
КонецЕсли;

КонецЦикла;

КонецЦикла;

КонецПроцедуры

Функция ПолучитьЧислоИзСтроки(Знач Строка,ВернутьЧисло = Ложь) Экспорт

Ошибка = ПустаяСтрока(Строка);

Если Ошибка Тогда
Возврат ?(ВернутьЧисло,0,Неопределено);
КонецЕсли;

ЕстьРазделитель = Ложь;
Строка = СтрЗаменить(СокрЛП(Строка)," ","");
Отрицательное = Лев(Строка,1) = "-";
ЦифровойРяд = ЦифровыеСимволы();

Если Отрицательное Тогда
Строка = СтрОбрезатьСлева(Строка,1);
КонецЕсли;

Для Индекс = 1 По СтрДлина(Строка) Цикл
Знак = Сред(Строка,Индекс,1);

Если Знак = "," или Знак = "." Тогда

Если ЕстьРазделитель Тогда
Ошибка = Истина;
Прервать;
Иначе
ЕстьРазделитель = Истина;
КонецЕсли;

ИначеЕсли Найти(ЦифровойРяд,Знак) = 0 Тогда
Ошибка = Истина;
Прервать;
КонецЕсли;

КонецЦикла;

Если Отрицательное Тогда
Строка = "-"+Строка;
КонецЕсли;

Возврат ?(Ошибка,?(ВернутьЧисло,0,Неопределено),Число(Строка));

КонецФункции

#КонецОбласти

Функция _Число(Значение) Экспорт
Если Значение = Неопределено Тогда
Возврат 0;
Иначе
Возврат Значение;
КонецЕсли;
КонецФункции

Функция ПроверкаДеления(Делимое,Делитель) Экспорт
Возврат ?(Делитель = 0,0,Делимое/Делитель);
КонецФункции

Функция ЗначенияЗаполнены(МассивЗначений) Экспорт

Результат = Истина;

Для каждого ЭлементМассива Из МассивЗначений Цикл
Результат = Мин(Результат,ЗначениеЗаполнено(ЭлементМассива));
КонецЦикла;

Возврат Результат;

КонецФункции

Функция ДатыРавны(Дата1,Дата2) Экспорт
Возврат НачалоДня(Дата1) = НачалоДня(Дата2);
КонецФункции // ()

#КонецОбласти

#Область РаботаСМассивом

Функция СоздатьМассив(Элемент1 = Неопределено,
Элемент2 = Неопределено,
Элемент3 = Неопределено,
Элемент4 = Неопределено,
Элемент5 = Неопределено,
Элемент6 = Неопределено,
Элемент7 = Неопределено,
Элемент8 = Неопределено) Экспорт

МассивЭлементов = Новый Массив;
ДобавитьЭлементВМассив(МассивЭлементов,Элемент1);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент2);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент3);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент4);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент5);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент6);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент7);
ДобавитьЭлементВМассив(МассивЭлементов,Элемент8);
Возврат МассивЭлементов;

КонецФункции

Процедура ДобавитьЭлементВМассив(Массив,Элемент) Экспорт

Если Элемент <> Неопределено Тогда
Массив.Добавить(Элемент);
КонецЕсли;

КонецПроцедуры

Функция ПолучитьМассивЗначенийКлючей(Знач Источник,Знач СтрокаКлючей,Разделитель = ",") Экспорт

МассивКлючей = СтрРазделить(СтрокаКлючей,Разделитель);
МассивЗначений = Новый Массив;

Для каждого ЭлементМассива Из МассивКлючей Цикл
МассивЗначений.Добавить(Источник[ЭлементМассива]);
КонецЦикла;

Возврат МассивЗначений;

КонецФункции // ()

#КонецОбласти

#Область РаботаССоответствием

Процедура ВставитьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей,Значение) Экспорт

ТекущееСоответствие = Соответствие;
ЧислоКлючей = МассивКлючей.Количество();

Если ЧислоКлючей > 1 Тогда

Для Индекс = 0 По ЧислоКлючей-2 Цикл
Элемент = МассивКлючей[Индекс];
ДанныеСоответствия = ТекущееСоответствие[Элемент];

Если ДанныеСоответствия = Неопределено Тогда
ТекущееСоответствие.Вставить(Элемент,Новый Соответствие);
КонецЕсли;

ТекущееСоответствие = ТекущееСоответствие[Элемент];
КонецЦикла;

КонецЕсли;

ТекущееСоответствие.Вставить(МассивКлючей[ЧислоКлючей-1],Значение);

КонецПроцедуры

Функция ПолучитьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей) Экспорт

ТекущееСоответствие = Соответствие;

Для каждого Элемент Из МассивКлючей Цикл

ДанныеСоответствия = ТекущееСоответствие[Элемент];

Если ДанныеСоответствия = Неопределено Тогда
Возврат Неопределено;
Прервать;
КонецЕсли;

ТекущееСоответствие = ДанныеСоответствия;

КонецЦикла;

Возврат ДанныеСоответствия;

КонецФункции

Процедура АгрегироватьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей,Значение) Экспорт

ТекущееЗначение = ПолучитьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей);

Если ТипЗнч(ТекущееЗначение) = Тип("Число") Тогда
ВставитьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей,ТекущееЗначение+Значение);
Иначе
ВставитьЗначениеВложенногоСоответствия(Соответствие,МассивКлючей,Значение);
КонецЕсли;

КонецПроцедуры

Функция СоздатьСоответствиеТаблицы(МенеджерТаблицы,ИмяРеквизита) Экспорт

СоответствиеТаблицы = Новый Соответствие;
Выборка = МенеджерТаблицы.Выбрать();

Пока Выборка.Следующий() Цикл
СоответствиеТаблицы.Вставить(Выборка.Ссылка,Выборка[ИмяРеквизита]);
КонецЦикла;

Возврат СоответствиеТаблицы;

КонецФункции

#КонецОбласти

#Область РаботаСоСтруктурой

Функция ПолучитьСтруктуруПоКлючам(СтрокаКлючей,ДанныеЗаполнения = Неопределено,МассивЗначений = Неопределено,БазоваяСтруктура = Неопределено) Экспорт

СтруктураПараметров = Новый Структура(СтрокаКлючей);

Если ДанныеЗаполнения <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(СтруктураПараметров,ДанныеЗаполнения);
КонецЕсли;

Если МассивЗначений <> Неопределено Тогда
Индекс = 0;
Количество = МассивЗначений.Количество();

Для каждого ЭлементСтруктуры Из СтруктураПараметров Цикл

Если Индекс >= Количество Тогда
Прервать;
КонецЕсли;

СтруктураПараметров[ЭлементСтруктуры.Ключ] = МассивЗначений[Индекс];
Индекс = Индекс+1;
КонецЦикла;

КонецЕсли;

Если БазоваяСтруктура <> Неопределено Тогда
Для каждого ЭлементСтруктуры Из СтруктураПараметров Цикл
БазоваяСтруктура.Вставить(ЭлементСтруктуры.Ключ,ЭлементСтруктуры.Значение);
КонецЦикла;
КонецЕсли;

Возврат СтруктураПараметров;

КонецФункции // ()

Функция СравнитьЗначенияКлючей(СтрокаКлючей,Источник1,Источник2) Экспорт

МассивКлючей = СтрРазделить(СтрокаКлючей,",");
Равны = Истина;

Для каждого ЭлементМассива Из МассивКлючей Цикл
Если Источник1[ЭлементМассива] <> Источник2[ЭлементМассива] Тогда
Равны = Ложь;
Прервать;
КонецЕсли;
КонецЦикла;

Возврат Равны;

КонецФункции // ()

#КонецОбласти

#Если не (ТонкийКлиент или ВебКлиент) Тогда

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Работа со списком значений
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Функция ВыгрузитьСписокЗначенийВТаблицуЗначений(Знач Источник,ОписаниеТиповЗначения) Экспорт

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Значение",ОписаниеТиповЗначения);
ТЗ.Колонки.Добавить("Пометка",Новый ОписаниеТипов("Булево"));
ТЗ.Колонки.Добавить("Представление",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(256)));

Для каждого ЭлементСписка Из Источник Цикл
Строка = ТЗ.Добавить();
ЗаполнитьЗначенияСвойств(Строка,ЭлементСписка);
КонецЦикла;

Возврат ТЗ;

КонецФункции // ()

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Работа с таблицей значений
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Процедура ДобавитьСтрокиТаблицыЗначений(ТаблицаПриемник,Знач Источник) Экспорт

Для каждого Строка Из Источник Цикл
НоваяСтрока = ТаблицаПриемник.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока,Строка);
КонецЦикла;

КонецПроцедуры

Процедура УдалитьСтрокиТаблицыЗначений(Таблица,СтруктураПоиска = Неопределено,МассивЭлементов = Неопределено) Экспорт

Если СтруктураПоиска <> Неопределено Тогда
МассивЭлементов = Таблица.НайтиСтроки(СтруктураПоиска);
ИначеЕсли МассивЭлементов = Неопределено Тогда
МассивЭлементов = Новый Массив;
КонецЕсли;

Для каждого ЭлементМассива Из МассивЭлементов Цикл
Таблица.Удалить(ЭлементМассива);
КонецЦикла;

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Работа с деревом значений
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Функция ВыгрузитьДеревоЗначенийВТаблицуЗначений(Дерево, Таблица = Неопределено) Экспорт

Если Таблица = Неопределено Тогда
Таблица = Новый ТаблицаЗначений;

Для Каждого Колонка Из Дерево.Колонки Цикл
Таблица.Колонки.Добавить(Колонка.Имя, Колонка.ТипЗначения);
КонецЦикла;

КонецЕсли;

Для Каждого СтрокаДерева Из Дерево.Строки Цикл
ЗаполнитьЗначенияСвойств(Таблица.Добавить(), СтрокаДерева);
ВыгрузитьДеревоЗначенийВТаблицуЗначений(СтрокаДерева, Таблица);
КонецЦикла;

Возврат Таблица;

КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Запросы
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Функция ПолучитьРеквизитыПоСсылкам(Знач МассивСсылок,Знач СтрокаРеквизитов,Знач СтрокаРеквизитов1 = Неопределено) Экспорт

ОдинРеквизит = Неопределено;
РеквизитИсточник = Неопределено;
ОднаСсылка = Неопределено;
ВторойУровень = Ложь;
МассивРеквизитов = СтрРазделить(СтрокаРеквизитов,",");

Если МассивРеквизитов.Количество() = 1 и СтрокаРеквизитов1 <> Неопределено Тогда
РеквизитИсточник = МассивРеквизитов[0];
МассивРеквизитов = СтрРазделить(СтрокаРеквизитов1,",");
ВторойУровень = Истина;
КонецЕсли;

Если ТипЗнч(МассивСсылок) <> Тип("Массив") Тогда
ОднаСсылка = МассивСсылок;
МассивСсылок = СоздатьМассив(МассивСсылок);
КонецЕсли;

Запрос = Новый Запрос;
ТекстЗапроса = "";
Номер = 0;

Для каждого Ссылка Из МассивСсылок Цикл
Номер = Номер+1;
ИмяТаблицы = Ссылка.Метаданные().ПолноеИмя();
ТекстЗапроса = ТекстЗапроса+"
|ВЫБРАТЬ ПЕРВЫЕ 1
| Таблица.Ссылка,";

Для каждого Реквизит Из МассивРеквизитов Цикл
ТекстЗапроса = ТекстЗапроса+"
| Таблица."+?(ВторойУровень,РеквизитИсточник+"."+Реквизит,Реквизит)+" КАК "+Реквизит+",";
КонецЦикла;

ТекстЗапроса = СтрОбрезатьСправа(ТекстЗапроса,1);
ТекстЗапроса = ТекстЗапроса+"
|ИЗ "+ИмяТаблицы+" КАК Таблица
|ГДЕ
| Таблица.Ссылка = &Ссылка"+Номер+";";
Запрос.УстановитьПараметр("Ссылка"+Номер,Ссылка);
КонецЦикла;

Запрос.Текст = ТекстЗапроса;
РезультатПакета = Запрос.ВыполнитьПакет();
СоответствиеРезультатов = Новый Соответствие;

Если МассивРеквизитов.Количество() = 1 Тогда
ОдинРеквизит = МассивРеквизитов[0];
КонецЕсли;

Для Индекс = 0 По Номер-1 Цикл
Выборка = РезультатПакета[Индекс].Выбрать();

Если Выборка.Следующий() Тогда
СоответствиеРезультатов.Вставить(Выборка.Ссылка,
?(ОдинРеквизит = Неопределено,ПолучитьСтруктуруПоКлючам(
?(СтрокаРеквизитов1 = Неопределено,СтрокаРеквизитов,СтрокаРеквизитов1),Выборка),Выборка[ОдинРеквизит]));
КонецЕсли;

КонецЦикла;

Если ОднаСсылка <> Неопределено Тогда
Возврат СоответствиеРезультатов[ОднаСсылка];
Иначе
Возврат СоответствиеРезультатов;
КонецЕсли;

КонецФункции

Функция ПолучитьЗаписиТаблицы(ПутьТаблицы,СтруктураОтбора,СтрокаРеквизитов = "Ссылка",КоличествоЗаписей = 0) Экспорт

Запрос = Новый Запрос;
ИмяТаблицы = СтрЗаменить(ПутьТаблицы,".","");
МассивРеквизитов = СтрРазделить(СтрокаРеквизитов,",");
БезРеквизитов = МассивРеквизитов.Количество() = 1;

ТекстЗапроса =
"ВЫБРАТЬ"+?(КоличествоЗаписей = 0,""," ПЕРВЫЕ "+Формат(КоличествоЗаписей,"ЧГ=0"));

Для каждого ЭлементМассива Из МассивРеквизитов Цикл
ТекстЗапроса = ТекстЗапроса+"
| "+ИмяТаблицы+"."+ЭлементМассива+",";
КонецЦикла;

ТекстЗапроса = СтрОбрезатьСправа(ТекстЗапроса,1);
ТекстЗапроса = ТекстЗапроса+"
|ИЗ "+ПутьТаблицы+" КАК "+ИмяТаблицы+"
|ГДЕ
| ИСТИНА";

Для каждого ЭлементСтруктуры Из СтруктураОтбора Цикл
Запрос.УстановитьПараметр(ЭлементСтруктуры.Ключ,ЭлементСтруктуры.Значение);
ТекстЗапроса = ТекстЗапроса+"
| И "+ИмяТаблицы+"."+ЭлементСтруктуры.Ключ+" В (&"+ЭлементСтруктуры.Ключ+")";
КонецЦикла;

Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();

Если КоличествоЗаписей = 1 Тогда
Выборка = Результат.Выбрать();

Если Выборка.Следующий() Тогда
Если БезРеквизитов Тогда
Возврат Выборка[МассивРеквизитов[0]]; //значение
Иначе
Возврат Выборка; //элемент выборки
КонецЕсли;
КонецЕсли;

ИначеЕсли БезРеквизитов Тогда
Возврат Результат.Выгрузить().ВыгрузитьКолонку(МассивРеквизитов[0]); //массив
Иначе
Возврат Результат.Выбрать(); //выборка
КонецЕсли;

КонецФункции // ()

#Область РаботаСОтчетами

Процедура СкомпоноватьОтчет(Объект,НаборДанных,ДокументРезультат,ДанныеРасшифровки) Экспорт
Настройки=Объект.КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки=КомпоновщикМакета.Выполнить(Объект.СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);
ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,НаборДанных,ДанныеРасшифровки);
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры

Процедура УстановитьПараметрОтчета(Настройки,ИмяПараметра,Значение) Экспорт
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра(ИмяПараметра,Значение);
КонецПроцедуры

Процедура ПолучитьПараметрОтчета(Настройки,ИмяПараметра) Экспорт
Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра));
КонецПроцедуры

#КонецОбласти

#КонецЕсли

#Область РаботаСПроизвольнымиКоллекциями

Функция ПолучитьЗначениеПоКлючу(Источник,Ключ,ТипЗначения = Неопределено) Экспорт

Значение = Неопределено;

Если Источник <> Неопределено Тогда
Приемник = Новый Структура(Ключ);
ЗаполнитьЗначенияСвойств(Приемник,Источник);
Значение = Приемник[Ключ];
КонецЕсли;

Если ТипЗначения <> Неопределено Тогда
ОписаниеТипов = Новый ОписаниеТипов(СоздатьМассив(ТипЗначения));
Значение = ОписаниеТипов.ПривестиЗначение(Значение);
КонецЕсли;

Возврат Значение;

КонецФункции

Процедура УстановитьЗначениеПоКлючу(Источник,Ключ,Значение) Экспорт

Если Источник <> Неопределено Тогда
Приемник = Новый Структура(Ключ);
ЗаполнитьЗначенияСвойств(Приемник,Источник);

Если Приемник[Ключ] <> Неопределено Тогда
Источник[Ключ] = Значение;
КонецЕсли;

КонецЕсли;

КонецПроцедуры

Функция ПроверитьЗаполнениеРеквизитов(Источник,СтрокаРеквизитов,
ПолнаяПроверка = Истина,
ФормироватьСообщение = Истина,
ВыводитьСообщение = Истина,
ВызовИсключения = Ложь) Экспорт

СтруктураВозврата = Новый Структура;
МассивОшибок = Новый Массив;
МассивКлючей = СтрРазделить(СтрокаРеквизитов,",",Ложь);
ТекстСообщения = "";

Для каждого Ключ Из МассивКлючей Цикл
Если не ЗначениеЗаполнено(Источник[Ключ]) Тогда
МассивОшибок.Добавить(Ключ);

Если не ПолнаяПроверка Тогда
Прервать;
КонецЕсли;

КонецЕсли;
КонецЦикла;

Если МассивОшибок.Количество() > 0 Тогда

Если ФормироватьСообщение Тогда
ТекстСообщения = "Ошибка! Не заполнены значения реквизитов: "+СтрСоединить(МассивОшибок,", ")+".";

Если ВыводитьСообщение и не ВызовИсключения Тогда
Сообщить(ТекстСообщения);
КонецЕсли;

КонецЕсли;

Если ВызовИсключения Тогда
ВызватьИсключение ТекстСообщения;
КонецЕсли;

КонецЕсли;

СтруктураВозврата.Вставить("МассивОшибок",МассивОшибок);
СтруктураВозврата.Вставить("ТекстСообщения",ТекстСообщения);
СтруктураВозврата.Вставить("РезультатПроверки",МассивОшибок.Количество() = 0);

Возврат СтруктураВозврата;

КонецФункции

Процедура ЗаполнитьЗначенияРеквизитов(Источник,СтрокаРеквизитов,Заполненные = Истина,Значение = Неопределено) Экспорт

МассивКлючей = СтрРазделить(СтрокаРеквизитов,",");

Для каждого Ключ Из МассивКлючей Цикл
Если не Заполненные или ЗначениеЗаполнено(Источник[Ключ]) Тогда
Источник[Ключ] = Значение;
КонецЕсли;
КонецЦикла;

КонецПроцедуры

#Если не (ТонкийКлиент или ВебКлиент) Тогда

Функция СоздатьКопиюОбъекта(Источник) Экспорт
Возврат ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Источник));
КонецФункции

Функция ИмяЭлементаПеречисления(ЭлементПеречисления) Экспорт

ИмяПеречисления = ЭлементПеречисления.Метаданные().Имя;
Возврат Метаданные.Перечисления[ИмяПеречисления].ЗначенияПеречисления[Перечисления[ИмяПеречисления].Индекс(ЭлементПеречисления)].Имя;

КонецФункции

#КонецЕсли

#КонецОбласти

#Если не (ТонкийКлиент или ВебКлиент) Тогда

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Работа с транзакциями
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Процедура ЗафиксироватьАктивнуюТранзакцию() Экспорт
Если ТранзакцияАктивна() Тогда
ЗафиксироватьТранзакцию();
КонецЕсли;
КонецПроцедуры

Процедура ОтменитьАктивнуюТранзакцию() Экспорт
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
КонецПроцедуры

Процедура ЗавершитьАктивнуюТранзакцию(Отказ) Экспорт

Если Отказ Тогда
ОтменитьАктивнуюТранзакцию();
Иначе
ЗафиксироватьАктивнуюТранзакцию();
КонецЕсли;

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Шифрование
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Функция ПолучитьЗашифрованныеДанные(ИдентификаторДанных,ДанныеШифрования,КлючШифрования) Экспорт

Попытка

Путь = КаталогВременныхФайлов()+"\"+ИдентификаторДанных;
ПутьФайла = Путь+".txt";
ПутьАрхива = Путь+".zip";
ЗаписьТекста = Новый ЗаписьТекста(ПутьФайла);
ЗаписьТекста.Записать(ДанныеШифрования);
ЗаписьТекста.Закрыть();
ЗаписьАрхива = Новый ЗаписьZipФайла(ПутьАрхива,КлючШифрования,,,,МетодШифрованияZIP.AES256);
ЗаписьАрхива.Добавить(ПутьФайла);
ЗаписьАрхива.Записать();
ДвоичныеДанные = Новый ДвоичныеДанные(ПутьАрхива);
Возврат Новый ХранилищеЗначения(ДвоичныеДанные,Новый СжатиеДанных(9));

Исключение
Возврат Неопределено;
КонецПопытки;

КонецФункции

Функция ПолучитьРасшифрованныеДанные(ИдентификаторДанных,ХранилищеДанных,КлючШифрования) Экспорт

Попытка
КаталогСохранения = КаталогВременныхФайлов();
Путь = КаталогСохранения+"\"+ИдентификаторДанных;
ПутьАрхива = Путь+".zip";
ХранилищеДанных.Получить().Записать(ПутьАрхива);
ЧтениеАрхива = Новый ЧтениеZipФайла(ПутьАрхива,КлючШифрования);
ЭлементАрхива = ЧтениеАрхива.Элементы[0];
ЧтениеАрхива.Извлечь(ЭлементАрхива,КаталогСохранения);
ЧтениеАрхива.Закрыть();
ЧтениеТекста = Новый ЧтениеТекста(КаталогСохранения+"\"+ЭлементАрхива.Имя);
Данные = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
Возврат Данные;

Исключение
Возврат Неопределено;
КонецПопытки;

КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Прочее
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Функция ПопыткаЗаписиОбъекта(Объект,ТекстОшибки = "",
ВключатьОписаниеОшибки = Ложь,
ВыводитьСообщение = Ложь,
Статус = Неопределено,
ПредставлениеМетода = Неопределено,
ТекстОшибок = Неопределено,
Отказ = Ложь) Экспорт

Если не ЗначениеЗаполнено(ПредставлениеМетода) Тогда
ПредставлениеМетода = "Записать()";
КонецЕсли;

Попытка

Выполнить("Объект."+ПредставлениеМетода);

Исключение
Отказ = Истина;
ТекстСообщения = ТекстОшибки+?(ВключатьОписаниеОшибки," "+ОписаниеОшибки(),"");

Если ВыводитьСообщение Тогда
Сообщить(ТекстСообщения,Статус);
КонецЕсли;

Если ТекстОшибок <> Неопределено Тогда
ДобавитьСтрокуТекста(ТекстОшибок,ТекстСообщения);
КонецЕсли;

Возврат ТекстСообщения;
КонецПопытки;

КонецФункции

Функция ИнициализироватьCOMОбъект(Имя) Экспорт

Попытка
COMОбъект = Новый COMОбъект(Имя);
Возврат COMОбъект;
Исключение
Сообщить("Произошла ошибка инициализации "+Имя);
КонецПопытки;

КонецФункции // ()

#КонецЕсли


Библиотека математических функций 1.1 1C:Предприятие 8

Краткое описание

Все функции писал сам. Надеюсь, кому-нибудь они будут полезны.

//кумулятивная функция нормального распределения
Функция NormCDF(x) Экспорт
Base = 1/2+1/Sqrt(6.283185)*(x-Pow(x,3)/6+Pow(x,5)/40-Pow(x,7)/336+Pow(x,9)/3456-Pow(x,11)/42240);
Если x < 0 Тогда
Возврат 1-Base;
Иначе
Возврат Base;
КонецЕсли;
КонецФункции

//факториал числа
Функция Factor(x) Экспорт
Result = 1;
Для Индекс = 1 По x Цикл
Result = Result*Индекс;
КонецЦикла;
Возврат Result;
КонецФункции

//транспонирование матрицы
Функция TransMatrix(Знач х) Экспорт
r1 = х.Количество();
r2 = х[0].Количество();
Result = Новый Массив(r2,r1);
Для Индекс1 = 0 По r1-1 Цикл
row = х[Индекс1];
Для Индекс2 = 0 По r2-1 Цикл
Result[Индекс2][Индекс1] = row[Индекс2];
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//произведение матриц
Функция ProdMatrix(Знач х,Знач у) Экспорт
кх1 = х.Количество();
кх2 = х[0].Количество();
ку1 = у.Количество();
ку2 = у[0].Количество();
Result = Новый Массив(кх1,ку2);
Для Индекс1 = 0 По кх1-1 Цикл
rowResult = Result[Индекс1];
Для Индекс2 = 0 По ку2-1 Цикл
rowResult[Индекс2] = 0;
Для Индекс3 = 0 По кх2-1 Цикл
rowResult[Индекс2] = rowResult[Индекс2]+х[Индекс1][Индекс3]*у[Индекс3][Индекс2];
КонецЦикла;
rowResult[Индекс2] = Окр(rowResult[Индекс2],12);
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//обратная матрица
Функция InverseMatrix(Знач у) Экспорт
х = CopyMatrix(у);
Ранг = х.Количество();
Result = IdentityMatrix(Ранг);
Для Индекс = 0 По Ранг-1 Цикл
Коэффициент = х[Индекс][Индекс];
Если Коэффициент = 0 Тогда
Поиск1 = Неопределено;
Поиск2 = Неопределено;
Для Индекс1 = Индекс По Ранг-1 Цикл
Для Индекс2 = Индекс По Ранг-1 Цикл
Если х[Индекс2][Индекс1] <> 0 Тогда
Поиск1 = Индекс2;
Поиск2 = Индекс1;
Прервать;
КонецЕсли;
КонецЦикла;
Если Поиск1 <> Неопределено Тогда
Прервать;
КонецЕсли;
КонецЦикла;
Если Поиск1 = Неопределено Тогда
ВызватьИсключение "Матрица вырождена";
КонецЕсли;
х = MatrixPermutation(х,Индекс,Индекс,Поиск1,Поиск2);
Result = MatrixPermutation(Result,Индекс,Индекс,Поиск1,Поиск2);
КонецЕсли;
rowResult = Result[Индекс];
Для Индекс3 = 0 По Индекс Цикл
rowResult[Индекс3] = Окр(rowResult[Индекс3]/Коэффициент,12);
КонецЦикла;
row = х[Индекс];
Для Индекс3 = Индекс По Ранг-1 Цикл
row[Индекс3] = Окр(row[Индекс3]/Коэффициент,12);
КонецЦикла;
Для Индекс4 = 0 По Ранг-1 Цикл
Если Индекс4 <> Индекс Тогда
Коэффициент = х[Индекс4][Индекс];
Для Индекс5 = 0 По Индекс Цикл
Result[Индекс4][Индекс5] = Окр(Result[Индекс4][Индекс5]-rowResult[Индекс5]*Коэффициент,12);
КонецЦикла;
Для Индекс5 = Индекс По Ранг-1 Цикл
х[Индекс4][Индекс5] = Окр(х[Индекс4][Индекс5]-row[Индекс5]*Коэффициент,12);
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//единичная матрица
Функция IdentityMatrix(Знач х) Экспорт
Result = Новый Массив(х,х);
Для Индекс1 = 0 По х-1 Цикл
row=Result[Индекс1];
Для Индекс2 = 0 По х-1 Цикл
row[Индекс2] = ?(Индекс1 = Индекс2,1,0);
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//перемещение строк и колонок внутри матрицы
Функция MatrixPermutation(Знач х,Строка0,Столбец0,Строка1,Столбец1) Экспорт
Result = CopyMatrix(х);
кх1 = х.Количество();
кх2 = х[0].Количество();
Для Индекс1 = 0 По кх1-1 Цикл
Для Индекс2 = 0 По кх2-1 Цикл
Строка = Индекс1;
Столбец = Индекс2;
Если Строка = Строка0 Тогда
Строка = Строка1;
ИначеЕсли Строка = Строка1 Тогда
Строка = Строка0;
КонецЕсли;
Если Столбец = Столбец0 Тогда
Столбец = Столбец1;
ИначеЕсли Столбец = Столбец1 Тогда
Столбец = Столбец0;
КонецЕсли;
Result = х[Строка][Столбец];
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//копия матрицы
Функция CopyMatrix(Знач х) Экспорт
r1 = х.Количество();
r2 = х[0].Количество();
Result = Новый Массив(r2,r1);
Для Индекс1 = 0 По r1-1 Цикл
Для Индекс2 = 0 По r2-1 Цикл
Result[Индекс2][Индекс1] = х[Индекс2][Индекс1];
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//метод наименьших квадратов
Функция MNK(Знач Matrix,Знач Value) Экспорт
Trans = TransMatrix(Matrix);
F1 = ProdMatrix(Trans,Matrix);
F2 = InverseMatrix(F1);
F3 = ProdMatrix(F2,Trans);
Weights = ProdMatrix(F3,Value);
Отклонения = SumMatrix(ProdMatrix(Matrix,Weights),OppositeMatrix(Value));
Детерминация = 1-ProdMatrix(TransMatrix(Отклонения),Отклонения)[0][0]/ProdMatrix(TransMatrix(Value),Value)[0][0];
Возврат Новый Структура("Коэффициенты,Детерминация",Weights,Детерминация);
КонецФункции

//матрица плюс скаляр
Процедура MatrixPlusScalar(Matrix,Scalar) Экспорт
r1 = Matrix.Количество();
r2 = Matrix[0].Количество();
Для Индекс1 = 0 По r1-1 Цикл
row = Matrix[Индекс1];
Для Индекс2 = 0 По r2-1 Цикл
row[Индекс2] = row[Индекс2]+Scalar;
КонецЦикла;
КонецЦикла;
КонецПроцедуры

//минус матрица
Функция OppositeMatrix(Знач х) Экспорт
r1 = х.Количество();
r2 = х[0].Количество();
Result = Новый Массив(r1,r2);
Для Индекс1 = 0 По r1-1 Цикл
rowResult = Result[Индекс1];
row = х[Индекс1];
Для Индекс2 = 0 По r2-1 Цикл
rowResult[Индекс2] = -row[Индекс2];
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//сумма матриц
Функция SumMatrix(Знач х,Знач у) Экспорт
r1 = х.Количество();
r2 = х[0].Количество();
Result = Новый Массив(r1,r2);
Для Индекс1 = 0 По r1-1 Цикл
rowResult = Result[Индекс1];
rowх = х[Индекс1];
rowу = у[Индекс1];
Для Индекс2 = 0 По r2-1 Цикл
rowResult[Индекс2] = rowх[Индекс2]+rowу[Индекс2];
КонецЦикла;
КонецЦикла;
Возврат Result;
КонецФункции

//десятичное число в двоичное
Функция DecimalToBinary(х) Экспорт
Остаток = х;
Индекс = 0;
Результат = 0;
Пока Остаток > 0 Цикл
Знак = Остаток%2;
Остаток = (Остаток-Знак)/2;
Результат = Результат+Знак*Pow(10,Индекс);
Индекс = Индекс+1;
КонецЦикла;
Возврат Результат;
КонецФункции

//коэффициент отклонения двух чисел
Функция RelativeDeviation(х,у,Num = 4) Экспорт
Возврат Окр(?(х >= у,х/у,у/х),Num)-1;
КонецФункции

//модуль числа
Функция AbsValue(х) Экспорт
Возврат Макс(х,-х);
КонецФункции

//округление вверх
Функция RoundUp(x,Num = 1) Экспорт
z = x/Num;
res = Цел(z);
Если z <> res Тогда
z = res+1;
КонецЕсли;
Возврат z*Num;
КонецФункции















Поиск битых ссылок 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Данная обработка предназначена для поиска битых ссылок в базе и операций над ними.

Ключевые моменты:

Перенос данных из УТ 10.3 (УПП, КА) в Бух 3.0 1С: Предприятие 8.3

Краткое описание

Также есть функция сравнения уже имеющихся документов с теми, которые предполагается загрузить. 

Работает так:
Указываете период, организацию и галочками, что надо загрузить. Нажимаете кнопку "Заполнить", табличная часть заполняется, потом жмете "Загрузить", все документы с галочками в табличной части загружаются.

Не было цели создать идеальное решение, писалось на коленке, но кому надо, тот найдет для себя полезное. 

 
WYSIWYG редактор HTML CKEditor (веб клиент и тонкий клиент) Платформа 1С v8.x (все механизмы)

Краткое описание

Возможно, не самый лучший вариант, который возможно сделать... но не очень силен в веб технологиях, это буквально первые мои строчки в js.

Да и для веб клиента не нашел ничего

 

Для того что бы редактор работал в веб клиенте, необходимо создать папку ckeditor в папке веб сервера (у меня это "C:\WWW\htdocs\") и  распаковать туда содержимое zip архива (макет zip в демо базе). Прописать в константах адрес веб сервера на котором крутится база (без "http://").

 

При написании редактора возникла проблема: Как получить данные из html редактора. В тонком клиенте это легко решалось вызовом скрипта

Элементы.Редактор.Документ.parentWindow.eval("getHTML()");


где getHTML(), функция, которая возвращала нужное значение в поле редактирования.

 

Но вот в веб клиенте это уже не работало, нельзя вызвать скрипт через eval, а получить html из редактора можно только через функцию ckeditor'а getData(). Поэтому возникла необходимость добавить кнопку, которая вызывала бы этот скрипт, в сам редактор.

Можно было бы сделать обычную кнопку, но что бы было красивее, был написан маленький плагин.
Поиск и непосредственное удаление документов и справочников из базы 1C: Предприятие 8.2

Краткое описание

     Принцип работы обработки заключается в том, что она, по каждому виду документа, делает поиск помеченных на удаление документов. Потом, с помощью запросов, проверяет ссылки на эти документы из других объектов. И затем, если таких ссылок не найдено, формирует список документов, которые можно непосредственно удалить из базы.

Обработка сделана как замена стандартной 1С-вской процедуре "Удаление помеченных объектов".

Преимущества:

- не требует монопольного режима

- может работать в "горячем" режиме, параллельно работе других пользователей

- обработку можно в любой момент времени остановить

 Недостатки:

- не делает проверки подчиненных объектов на предмет удаления

- не удаляет справочники




           Порядок работы с обработкой:

устанавливаем период выборки документов. можно и без него - тогда будут выбираться все документы (выбираются только помеченные на удаление)
закладка "Список видов объектов" (основная для работы) - здесь формируется таблица со списком видов документов, количества помеченных на удаление и количества документов, которые можно удалить из базы, а так же устанавливается отметка "Проверять" - по каким видам документов делать проверку
кнопки командной панели таблицы:
"Очистить" - удаляет все строки из таблицы
"Заполнить" - по каждому виду документа получает количество объектов помеченных на удаление, и если такие есть, добавляется строка в таблицу
"Проверить" - запускает процедуру проверки выбранных (отметка "Проверять" в таблице) видов документов. проверка делается по каждому виду документа пакетами по 1000 документов (подобрал экспериментально для себя), после чего делается проверка на наличие ссылок на каждый документ, и если таковых не найдено, он (документ) помещается в таблицу на закладке "Объекты к удалению"
"Удалить" - производится непосредственное удаление документов из базы, которые были добавлены в таблицу "Объекты к удалению"
на закладке "Объекты к удалению" можно проделать все вышеназванные действия, только уже для одного вида документа, выбранного в поле "Вид объекта"
закладки "Таблица ссылок" и "Объекты поиска" - служебные. на них расположены временные таблицы используемые для работы. " Таблица ссылок" - это что типа таблицы значений которую возвращает 1С-вская функция НайтиПоСсылкам(<>). " Объекты поиска" - здесь формируется таблица объектов метаданных, по которым необходимо производить поиск.

             Из собственного опыта:

             Необходимость данной обработки возникла из-за того что после свертки базы получилось порядка полутора миллиона объектов (в основном документы) помеченных на удаление. а стандартная процедура "Удаление помеченных объектов" вешала сервак наглухо и дождаться её завершения не представлялось возможным, т.к. работа в базе ведется ежедневно. Поэтому не долго думая и не очень долго "осваивая" интернет пришлось наваять сие чудо. В итоге - после пяти дней не очень напряженной работы в базе осталось около 300 тыс. этих документов.

            Недостатки этой обработки - это скорее недоделки, т.к. меня и на этом этапе всё устроило.

            Не делается проверка подчиненных объектов, которые тоже могут быть удалены. 1С-ка это наверняка делает, поэтому у неё и проверка ("контроль") занимает много времени. Но это, в принципе, обходится несколькими циклами работы данной обработки.

            Не удаляются справочники - просто лень было доделать.

 

04.07.15

            Доработал обработку и проверку ссылок по регистрам бухгалтерии.

(что бы не удалилось то что используется в проводках).

 

07.1
Методики и выгрузка ИБ с решениями задач из сборника для подготовки к тестированию 1С:Специалист-Консультант по прикладному решению 1С:БП ред. 3.0 1С: Предприятие 8.3

Краткое описание

Из форума Аттестация "1С:Специалист-консультант" БП :
За последние два года чаще всего встречаются задачи:
003 = 036 Имидж (В билете 036 отсутствует условие "Распределение общехозяйственных расходов осуществляется по методу «директ-костинг»") 
009 Вега - в руб. и валюте
012 Авантаж
031 Теремок
032 Квартет
039 Батый
Методики можно изображать графически, которые расположены в файле Metods.

Успешно сдал экзамен 12.12.2014.

P.S. Тексты задач намеренно не приведены. Решения и методики могут быть не совсем верными.
"Обработка ""Выгрузка конвертации"" для КД 2.1.8.2 + GCOMP + исправлена ошибка отсутствия отбора по периоду в ПВД документов со способом выборки ""Стандартная обработка""" 1C: Предприятие 8.2

Краткое описание

Ранее я уже описывал одну из ошибок в стандартных модулях выгрузки\загрузки КД для платформы 7.7, и тогда в комментариях товарищ zqzq написал об этой ошибке, но осознал и исправил ее я только сейчас.

Для полной поддержки GComp необходимо вносить изменения не только в обработку выгрузки правил, но и в другие модули\формы конфигурации, за подробностями сюда.

Основная цель публикации - предоставить готовое решение для тех пользователей, кто уже использует "наворочанную" КД с GComp + ИР, НО с исправленной досадной ошибкой разработчиков. Алсо, модуль выгрузки теперь имеет версию 2.
Сравнение документов УТ 11 и Розница 2 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Стоит база УТ, которая обменивается с Розницей, та в свою очередь с рибами.

Несмотря на "правильные" настройки синхронизации, за определенный период работы появились расхождение остатков.

Данная обработка запускается в базе УТ и подключается к рознице по сom, делает анализ некоторых документов, которые влияют на остатки склада: документы поступлении, реализации, возвратов, перемещения и отчет о розничных продажах (в моем случае этого хватило).
Обмен Розница с Frontol 1С: Предприятие 8.3

Краткое описание

Данная обработка предназначена для выгрузки списка товаров с группами в ККМ и загрузки из ККМ отчетов о продажах (формат файлов АТОЛ).
Требуется 1С Розница 2.
Инвентаризация расходов будущих периодов ИНВ-11 для БП 3.0 1С: Предприятие 8.3

Краткое описание

Краткая инструкция по подключению отчета

Чтобы подключить отчет, необходимо в разделе "Администрирование" на панели навигации воспользоваться командой "Печатные формы, отчеты и обработки" - "Дополнительные отчеты и обработки". 

Далее в форме списка дополнительных отчетов и обработок воспользоваться кнопкой "Создать". Откроется форма записи с диалогом выбора файла внешнего отчета. Выбрать файл. Затем необходимо указать разделы, в которых будет доступен отчет. В колонке «Быстрый доступ» указать пользователей, которым необходим данный отчет. И в заключение нажать кнопку "Записать и закрыть".

После записи отчет возможно будет запустить, выбрав команду <Выбранный раздел при создании отчета> - "Отчеты" - "Дополнительные отчеты". 
Проверка контрагентов по ИНН и КПП через веб-сервис ФНС (внешняя) 1C:Предприятие 8

Краткое описание

За основу взята разработка //infostart.ru/public/302629/

Добавлен функционал:
- для подключения как внешней обработки в управляемых формах,
- добавлено "Выделить все" и "Снять выделение со всех".

update

- добавлено "Поднять проблемных"(для управляемых форм) см. рис. "Проблемных в начало списка"
Весы с печатью этикеток ШТРИХ-ПРИНТ. Подключение, настройка. Доработка возможности прямого взаимодействия (получения веса, цены, кода товара и PLU) в документе чек ККМ. Выгрузка прайс-листа с базы весов. 1C:Предприятие 8

Краткое описание

Поступила задачка от заказчика. В наличии имеются весы с печатью этикеток ШТРИХ-ПРИНТ ФІ 15-2.5, весы не обходимо подключить к 1С ("Управление торговлей для Украины", редакция 2.3) для автоматизации розничных продаж. 

При детальном изучении возможностей соединения весового оборудования и УТ выяснился любопытный факт. ABBYY не предусмотрела возможности прямого получения данных с весов с печатью этикеток. Так как кнопочка в документах, отвечающая за снятия веса с электронных весов, становится видимой только в случае подключения обычных электронных весов. Получается, единственная схема работы 1С с весами ШТРИХ-ПРИНТ выглядит примерто так:

- Подключаем весы ШТРИХ-ПРИНТ.

- Заводим в УТ весовой товар, каждому присваивая код весового товара.

- Выгружаем товар с УТ в базу весов ШТРИХ-ПРИНТ. (Типовая обработка обслуживания, можно скачать на сайте 1с, добавлена в архив, прикрепленный к публикации).

- Настраиваем печать этикеток. Отключаем весы от ПК.

- При взвешивании: на весах выбираем товар, печатаем этикетку, на ней отображается ранее выгруженный в весы штрих-код.

- Приносим взвешенный товар к сканеру штрих-кодов, сканируем, товар попадает к нам в 1С (извращенные «продавцы» могут вбивать штрих-код вручную).

 

В принципе довольно таки удобный способ работы, например для супермаркета.  Но….!

Если у нас нет необходимости отключать весы от ПК, есть возможность постоянного подключения весового оборудования (длинна кабеля - позволяет =J), зачем же нам возится с штрих-кодами и этим сканером?...

В результате небольших игр с драйвером поставщика весов ШТРИХ-ПРИНТ, доработана возможность прямого снятия веса. Налажен механизм работы по такой схеме:

- Подключаем весы ШТРИХ-ПРИНТ.

- Заводим в УТ весовой товар, каждому присваивая код весового товара.

- Выгружаем товар с УТ в базу весов ШТРИХ-ПРИНТ.

- При взвешивании: выбираем товар на весах.(и все !)

- В документе нажимаем кнопку «Вес», программа сама считывает цену, вес, код товара ищет по базе подходящий и проставляет в табличную часть документа.

Также доработан механизм выгрузки прайс-листа с базы весового оборудования.  Выгружается PLU(номер товара на весах), Название номенклатуры в 1С, Название в базе весов, код весового товара, цена на весах. Извиняюсь, что нет возможности продемонстрировать скриншот прайс-листа, увы, заказчик забрал весы до момента публикации. 

Архив к публикации содержит:

- Драйвер весов ШТРИХ-ПРИНТ ФІ 15-2.5.

-Обработка обслуживания.

- Детальная  инструкция по подключению.

- Небольшая часть конфигурации, включающая доработки по прямому подключению. Детальная инструкция по внедрению доработок, со скриншотами (Модуль об приложения, созданный общий модуль, док чек ККМ).

- Доработка механизма выгрузки прайс-листа с весового оборудования.
Hasher Pro 1C 8 \ Полная очистка Кэша 1С 8.х \ Создание скрипта очистки VBS + BAT \ Дополнительные возможности 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

При очистке кэша и удалении временных файлов 1С важно понимать какие файлы за что отвечают, и не переборщить с удалением. 

В этом вам поможет Hasher Pro 1C 8

Функционал обработки разделен на три режима очистки:

Быстрая очистка - Безопасный и быстрый способ. Смело удаляйте кэш информационных баз 1С:Предприятия без последствий.
Полная очистка - Максимальная очистка кэша 1С:Предприятия и операционной системы. 
+ Очистка временных файлов пользователя и операционной системы. 
+ Обновить интерфейс - обновляет командный интерфейс, рабочий стол и открытые формы с учетом текущих значений функциональных опций.
+ Clear cache - встроенное средство 1С:Предприятия, очистка кэша клиент-серверных вызовов. Используется ключ: "\ClearCache" при завершении работы сеанса 1С:Предприятия.
Агрессивная очистка - Комплекс мер для оптимальной очистки и оптимизации работы 1С:Предприятия. Только для опытных пользователей.
+ Завершить рабочие процессы 1С:Предприятия - принудительное завершение процессов "1cv8". Полезно завершать рабочие процессы в связке с очисткой кэша текущей информационной базы или при полной очистке кэша. Позволяет освободить оперативную память от всех запущенных процессов 1С:Предприятия.
+ Перезагрузить Агент сервера 1С:Предприятия - происходит перезапуск сервера 1С:Предприятия 8.x. Запуск этого способа производится перед очисткой файлов кэша, после очистки кэша работа службы возобновляется.
+ Дедовский способ ''Очистить кэш батником'' - Создается пакетный файл "Hasher.bat" на рабочем столе пользователя со стандартными командами очистки кэша 1С:Предприятия.

 

Запуск сценария очистки возможен тремя вариантами:

 

Запустить сценарий средствами 1С Предприятия - очистка кэша производится стандартными средствами 1С, если невозможно получить доступ к файлу происходит отложенный запуск задач скриптом VBS, при этом работа 1С прекращается.
Запустить сценарий средствами Windows Script Host (.vbs) - скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows. 
Запустить сценарий средствами Командной строки (.bat) - текстовый файл, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа-интерпретатор cmd.exe читает его строка за строкой и последовательно исполняет команды. 


В программе имеется уникальная возможность создания скриптовых файлов для очистки кэша:

Инструкция создания скрипт файла:

Выбрать требуемые объекты и способы очистки;
Нажать "Создать скрипт (F12)";
Выбрать вариант скриптового файла: VBS или BAT;
Сохранить скрипт в удобном месте.
Внимательно изучите скрипт файл при помощи любого текстового редактора.
Запустите под правами администратора.
Hasher Pro 1C 8 выводит отчет о проделанной работе

 

Нажмите ""Сканировать систему (F5)"" в результате получите исчерпывающий анализ кэша на вашем компьютере:

Обратите внимание все объекты в Hasher Pro 1C 8 сопровождаются подробным описанием.

 

Для обратной связи используйте "Предложить функцию (F1)":

 

Данные статьи и комментарии к ним вдохновляли Hasher Pro 1C 8 своими функциями и идеями:

Чистка кэша 1С 8.1 - 8.2 - 8.3 (удаление кэша для ВСЕХ пользователей терминального сервера) + запуск с ключом
Чистка кэша 1С. Универсальная обработка
Очистка кэша пользователя
Очистка кэша 1С из сеанса 1С Предприятие
Удаление профайлов пользователей 1с
Очистка кэша 1С из 1С

*Обработка находится в состоянии расширения функционала. Каждый отклик важен. Желаем вам приятной очистки кэша.

Профессионалы используют Hasher Pro 1C

  04.07.2019: 

  Появилась поддержка управляемых форм:

 

Подарить Автору 75 рублей, за труды и старания:
Перенос данных из Бухгалтерии 2.0 в Бухгалтерию 3.0 1С: Предприятие 8.3

Краткое описание

Существует типовой механизм обновления "Бухгалтерии предприятия" на версию 3.0 с версии 2.0.
Но было мне дано задание сделать правила переноса xml. Наверное, пригодится для нетиповой конфигурации
БП 2.0, ну и в других случаях. Протестировано на релизе 3.0.37 с релиза 2.0.63.

 

Предназначена для выгрузки из конфигурации БП 2.0 в конфигурацию БП 3.0 без использования планов обмена. Построена на основе обработки "Универсальный обмен данными XML".

Поддерживаемые релизы (для платформs 1С Предприятия 8.3):

Бухгалтерия предприятия: от 2.0.63. Для более ранних релизов конфигурации БП корректная работа обмена не гарантирована. 

Бухгалтерия предприятия: 3.0.37. Для более ранних релизов конфигурации БП корректная работа обмена не гарантирована.


Выгрузка данных

Выгрузка данных может производиться стандартной обработкой "Универсальный обмен даннымиXML".

Выгружается основная справочная информация: сведения об организации, номенклатура, контрагенты и так далее. Также производится свертка регистров бухгалтерии, накопления и периодических регистров сведений.

Загрузка данных

Загрузка данных также производится стандартной обработкой "Универсальный обмен даннымиXML" в базе приемнике. Выбирается выгруженный файл и потом импортируются данные. Остатки по регистрам бухгалтерии, накопления и сведений загружаются в документ "ОперацияБух".

Универсальный механизм обработки событий записи объектов 1C:Предприятие 8

Краткое описание

Комплект поставки: конфигурация, содержащая:

Отчет производства за смену 1C: Предприятие 8.2

Краткое описание

Симбиоз из двух печатных форм для документа "Отчет производства за смену" МХ-18 и М-11 с расчетом учетных цен материалов
Загрузка товаров с Яндекс.Маркет 1С: Предприятие 8.3

Краткое описание

Обработка представляет собой интерфейс к базе данных товаров поставщиков.

Работа с обработкой состоит из ряда шагов, выполняемых обычно в следующей последовательности:

Загрузка в 1С, выгрузка из 1С (Excel, OpenOffice, CSV). 1С 8.2 - 8.3 (типовые и нетиповые конфигурации), управляемая форма. 1С: Предприятие 8.3

Краткое описание

Инструкция по использованию:
"Экспресс-проверка ведения учета ПБУ 18/02 для программы " 1С: БП 2.0"

Краткое описание

Автоустановка даты запрета редактирования для пользователей 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Для того, чтобы это работало, надо:

Дополнительные отчеты и обработки для конфигураций, основанных на БСП. Часть 1. Заполнение объектов. 1С: Предприятие 8.3

Краткое описание

 

"""Распил"" базы БП 3.0. Удаление организации из базы со всеми связанными данными" 1С: Предприятие 8.3

Краткое описание

Как всегда, Новый Год приносит всем, кто связан с бухгалтерией, сюрпризы. И не все они приятные.

Учет по 3 - м юридическим лицам ведется в одной базе бухгалтерия предприятия ред. 3.0. Учет, как говорится, "без особенностей", лица как лица. Конфигурация - почти типовая. Документов не очень много, база на сервере приложений, быстродействие всех устраивает... 5 гигабайт за 2 года, менее 100 тыс. документов (правда крупненьких) - сущие пустяки. А обновлять одну базу вместо трех - намного приятнее. И вот от руководства в начале декабря поступает команда: Разделить, т.е. для каждого юридического лица должна быть отдельная база. И обязательно - никаких следов присутствия ранее других организаций в каждой из баз. Обсуждению, естественно, такие приказы не подлежат...

Пришлось экспериментировать. Первый вариант - шальная идея использовать конвертацию данных. Шальная идея кончилась,  "в лоб" и быстро решить вопрос не удалось. Описание танцев с бубном на граблях заслуживает отдельной статьи, которую когда - нибудь, возможно, и напишу. Основные причины бросить это занятие - быстродействие выгрузки. Кроме того, необходимо было перенести не только справочники и документы, но много "Мусора" типа пачек ПФР, налоговой отчетности, регистров сведений с настройками и т.п. 

Следующая идея оказалась более продуктивной. С рабочей базы были сняты 3 копии, и в каждой из них начался процесс "выпиливания" 2-х лишних в этой базе юридических лиц. Опять - таки "сейчас сделаем" с использованием функции НайтиПоСсылкам() тоже вело в тупик. Во первых, искать надо рекурсивно, во - вторых, не все найденное можно удалять сразу, не разбираясь, в - третьих, не всегда можно дождаться результатов. В результате экспериментов была найдена следующая методика удаления данных по организации:

Разбираемся (руками!) с планами обмена. Предварительно надо довести все обмены до состояния, что все данные приняты и выгружены. 
Тестирование и исправление базы - обязательный этап. Обязательно с параметром при наличии ссылок на несуществующие объекты - создавать ссылки. "Битые" ссылки, которые непременно есть в базе - не дадут удалить что - ни будь в режиме контроля ссылочной целостности. На пропуске этого этапа мне "удалось" потерять пару лишних дней - берегитесь!
Выгружаем в файловый режим, если возможно. Мне это удалось - ускорение всех последующих манипуляций как минимум в полтора раза.
Перепроводим базу, сверяем с первоисточником. При наличии "косяков" показываем их бухгалтеру, и как минимум, заручаемся его поддержкой. Этот пункт по желанию.
Удаляем даты запрета изменения данных. Тоже можно "наступить". Внимательно смотрим, чтобы у текущего пользователя были полные права на удаление объектов - проще всего проверить, открыв стандартную обработку "Удаление помеченных объектов".
Запускаем обработку "ОчисткаРегистровОтБитыхСсылок". Код подсмотрен здесь - http://kb.mista.ru/article.php?id=21, я просто засунул данный код в управляемую форму. Смысл проводимой процедуры - при работе стандартных процедур обмена, в регистрах, отвечающих за учет НДС со временем накапливаются записи, регистратор которых - счет фактура, уже удалена, а одно из измерений либо реквизитов = организация. Тестирование ИБ в конфигураторе с параметром при наличии ссылок на несуществующие объекты - создавать ссылки помогает не всегда. В моем случае таких записей было около 10 в 7 регистрах. Пока они есть - удалить организацию не получится.
Запускаем обработку "ПоискИУдаление". Выбираем организацию которая удаляется (Организация удаляем) и которая остается (Организация оставляем). Нажимаем кнопку "Заменить договор". В результате в поле основной договор каждого контрагента прописывается договор Организации оставляем (если такая есть), или в договоре меняется организация (если такой нет). Конечно, это не совсем правильно с точки зрения документооборота, однако в данном конкретном случае необходимо было сохранить хоть один договор по каждому контрагенту. Чистка справочника Контрагенты в рамки поставленной задачи не входила.
Нажимаем кнопку "Найти и удалить по организации". Данная процедура обходит по метаданым все справочники, документы, и независимые регистры сведений, где есть ссылки на справочник Организации, а затем помечает объекты на удаление а записи - удаляет. Поиск не учитывает табличных частей, соответственно - выполняется быстро. При пометке удаления пришлось "Обмануть" примерно таким образом:
Если ТипСсылки = "Документ" Тогда

Для каждого НаборЗаписей Из ТекОбъект.Движения Цикл
НаборЗаписей.ОбменДанными.Загрузка = Истина;
НаборЗаписей.Очистить();
НаборЗаписей.Записать(Истина);
КонецЦикла;

ТекОбъект.ОбменДанными.Загрузка = Истина;
ТекОбъект.ПометкаУдаления = Истина;
ТекОбъект.Проведен = Ложь;
ТекОбъект.Записать(РежимЗаписиДокумента.Запись);

ИначеЕсли ТипСсылки = "Справочник" Тогда

ТекОбъект.ПометкаУдаления = Истина;
ТекОбъект.ОбменДанными.Загрузка = Истина;
ТекОбъект.Записать();

КонецЕсли;


поскольку проверки бизнес - логики не давали пометить на удаление часть объектов без предварительного удаления подчиненных. Это в первую очередь такие устойчивые консолидации документов, как ведомость по выплате зарплаты и РКО, пачки ПФР, счет - фактуры и корректировочные фактуры, документы комиссионеров и т.п.
Если необходимо удалить несколько организаций, повторяем шаги с "Запускаем обработку "ПоискИУдаление" для каждой следующей.
Нажимаем кнопку "Открыть удаление объектов" и попадаем в стандартную обработку "Удаление помеченных объектов". Автоматическое удаление всех отмеченных - удалить. Ждем. В моем случае это самая длительная операция, на win 7 x64 - i5 3.1 Ghz - SSD Intel - 8 Gb RAM удаление около 35 тыс. объектов занимает около 3 часов. 
Следующее действие - Поиск по ссылкам. Выполняется из обработки "ПоискИУдаление" кнопка поиск по ссылкам. Результат - дерево связей объектов на закладке. Поиск рекурсивный, с использованием функции НайтиПоСсылкам(МассивСсылок), но поскольку к данному моменту ссылок в базе осталось не так много, поиск происходит быстро.  Часть флажков при необходимости снимаем, т.е. разбираемся вручную. Потом нажимаем кнопку "Удаление по ссылкам", ждем. Последовательность, описанную в данном абзаце, повторяем по каждой удаляемой организации.
Снова нажимаем кнопку "Открыть удаление объектов" на нашей обработке и попадаем в стандартную обработку "Удаление помеченных объектов". Автоматическое удаление всех отмеченных - удалить. Ждем. На этот раз не долго. Руками разбираемся с не удаленными объектами - у меня это было несколько ГТД, пара фактур, с десяток пачек ПФР перенесенных еще из БП 2.0. 
Удаление успешно завершилось, переходим к следующему этапу - перепроведение документов, сверка с "непиленой" базой, поиск ошибок. У меня все кончилось благополучно, т.к. до "Распила" база регулярно перепроводилась, и почти все операции отражались документами в соответствии с рекомендациями ИТС.
Конфигуратор - Тестирование исправление - ставим галку "Сжатие таблиц информационной базы". Ждем, когда все ранее удаленные записи физически удалятся.
Всё!
P.S. Описанная методика не претендует на оригинальность, и не является единственно возможной. Возможно она будет кому - то полезной, сейчас как раз "сенокосная пора". Буду рад конструктивной критике - 1С.8 не занимался почти 2 года, что - то забыл - остальное устарело.
Манипуляции производились на Платформа: 1С:Предприятие 8.3 (8.3.5.1383) Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.37.34) (http://v8.1c.ru/buhv8/) Copyright (С) ООО "1C", 2009 - 2014. Все права защищены (http://www.1c.ru) Режим: Файловый (без сжатия) Приложение: Тонкий клиент Локализация: Информационная база: русский (Россия), Сеанс: русский Вариант интерфейса: Версия 8.2.


Перед любыми экспериментами необходимо создать резервную копию, и обязательно убедиться в ее работоспособности!
 
 

 

 
"" Упаковочный лист"

Краткое описание

Перенос ЗиК 7.7 -> ЗУП 3.0 1С:Расчет 7.7, 1С: Предприятие 8.3

Краткое описание

 

Обработка переноса из Зик 77 в ЗУП 3.0.

 

За основу взята стандартная обработка, которая хранится в конфигурации ЗУП 3.0 в общем макете "ЗарплатаКадрыПереносДанныхИзЗУП25".

 

Столкнулся с проблемой переноса, пришлось переписать. Прблема заключается в подсчете показателей ОтработаноДней, ОтработаноЧасов, ОтработаноДнейПятидневка, ОтработаноЧасовПятидневка. Которые влияют на расчет среднего заработка для отпусков и командировок. В стандартном алгоритме считается количество дней, часов из графика работы сотрудника. В измененном варианте количество дней, часов берется из результатов начислении, которые входят в группы «УчитыватьДни» и «ОсновныеНачисления» по данным журнала расчетов: листинг «Если ((ЖрнЗарплата.ВидРасч.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни) = 1) и (ЖрнЗарплата.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления) = 1)) или (ЖрнЗарплата.ВидРасч = ВидРасчета.Прогул) Тогда»

 

Изменен порядок расчета показателей ОтработаноДней, ОтработаноЧасов, ОтработаноДнейПятидневка, ОтработаноЧасовПятидневка. Для этого внесены изменения в модуль формы обработки. Добавлено 2 функции из глобального модуля кофигурации Зарплата и кадры 7.7, а также внесены изменения в эти функции.

 

Для переноса данных о времени для учета среднего заработка открыть обработку и выгрузить данные, используя стандартные правила выгрузки, поставляемые фирмой 1С (файл ЗиК23 - ЗУП30.xml).

 

После переноса почистите регистры ДанныеОВремениДляРасчетаСреднегоОбщийКорректировка и СведенияОВремениДляРасчетаСреднегоОбщий с помощью обработки, которая прилагается.

 

При переносе использованы конфигурации Зик 7.7 (348 релиз) и ЗУП 3.0 (3.0.20.45), можно 3.0.19, 3.0.20

 
Как сравнить управляемые формы (XML + XSL) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Последнее время в работе с 1С я полностью перешла на сравнение конфигураций через текстовые файлы в Гит. Это оказалось гораздо удобнее, чем стандартное сравнение через хранилище. Основная проблемы была с управляемыми формами. Обычные формы ssf замечательно сравниваются через v8reader, управляемые приходилось сравнивать как текст. Стандартная выгрузка не очень наглядна, хоть и позволяет отследить изменения. Попробовав разные варианты, в конце концов остановилась на варианте преобразования xml-файла через xsl-шаблон + специализированная внешняя утилита для сравнения ExamXML. 

Сначала о том, как это выглядит, потом как настроено.

В качестве Git-клиента у меня прижился Git Extensions. Он достаточно легкий, понятный и удобный. Для преобразования 1С-хранилища в Гит-репозиторий прижился Gitter - конфигурация с инфостарта, которая периодически проверяет новые изменения в 1с-хранилище и перекидывает их в Гит.

После синхронизации Гит-репозитория с 1С-хранилищем для сравнения конфигураций просто выбираем версии, которые хотим сравнить -> выбираем сравниваемый файл -> правый клик -> открыть в инструменте сравнения (либо просто F3). Все картинки в статье кликабельные.

 Для примера сравним форму элемента справочника "Номенклатура" в УТ1
Убираем излишне удержанный НДФЛ с помощью корректировки записей регистров (ЗУП, КА) Платформа 1С v8.x (все механизмы)

Краткое описание

Сразу скажу, что случаи бывают разные. Вполне возможно что этот излишне удержанный НДФЛ появился законно и правильно отображается в расчетном листке. Тогда, конечно, никаких обработок запускать не нужно. Но бывают такие ситуации, когда что-то исправили, на вкладке НДФЛ поменять забыли, период уже прошлый, менять там что-то опасно или вообще нельзя и надо как то выкручиваться с этим НДФЛ в текущем периоде. Для этого и есть моя обработка.

Принцип действия: В обработке задаете Организацию, Дату документа движения регистров, Месяц налогового периода (обычно месяц, когда образовался данный НДФЛ), в таблице заполняете физ. лиц со ставкой налогообложения и суммой излишне удержанного НДФЛ, который болтается в расчетном листке.

Нажимаем выполнить - обработка создает документ "Корректировка записей регистров" с движением по 3-м регистрам накопления. Сохраняем, проводим его, формируем расчетный листок - все убирается.
Групповой экспорт налоговых накладных в ЕРНН ГНАУ с обратными данными о регистрации накладных из m.e.doc. Экспорт контрагентов в m.e.doc. Бухгалтерский учет 7.7

Краткое описание

За основу была взята старенькая обработка //infostart.ru/public/104994/

Описание :

Экспорт налоговых накладных в m.e.doc (медок, medoc) в формате ХМЛ для Украины 

Данная обработка предназначена для выгрузки в ХМЛ формате Налоговых накладных, приложения №2 и Записи книги приобретения.
Содержимое архива распоковать в папку "ExtForms\ExportNN"

Исправлено :

- замененены схемы на актуальные на  0
Автоматизированное обслуживание информационных баз 1С версий 7.7 и 8.Х, тестирование, обновление, архивирование и т. д. 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

     В начале 2012 года поставил себе задачу автоматизировать процессы обновления, архивирования, тестирования, выполнения обработок (регламентные операции, обмены и т. д.) для многочисленных баз 1С на предприятии. Поиски в интернете на тот момент ничего подходящего не дали. Поэтому решил написать собственную конфигурацию. В тот же год появилась первая версия АОИБ.
     Конфигурация позволяет выполнять определённые регламентные процедуры с информационными базами в пакетном режиме, как по расписанию, так и в ручном режиме. 
     Основные возможности в пакетном режиме:
  - получение информации о доступных обновлениях на сайте 1С (кроме 7.7);
  - загрузка комплектов обновлений при наличии учетной записи на сайте 1С (кроме 7.7);
  - последовательное обновление ИБ из «*.CFU», обновление конфигурации на поддержке из «*.CF», загрузка конфигурации из «*.CF» (кроме 7.7);
  - обновление данных в ИБ после обновления конфигурации (в том числе подтверждение лицензионности);
  - резервное архивирование ИБ (ZIP и «Выгрузка»);
  - тестирование ИБ;
  - выполнение внешних обработок в обслуживаемых ИБ;
  - блокировка (завершение работы пользователей), разблокировка ИБ (кроме 7.7);
  - запуск на выполнение исполняемых файлов;
  - выполнение внешних обработок непосредственно в контексте АОИБ;
  - выполнение архивирования произвольных данных (ZIP);
  - отправка сообщений на электронную почту (наличие новой версии, отправка лога).
    Основа конфигурации справочник «Задания».
    "Задания" подразумевают последовательное выполнение определенных задач и предназначены для запуска по расписанию.
 
    В «Задание» могут входить следующие операции:
"Еще одна ""Расчетно-платежная ведомость"". Бухгалтерия для Украины, редакция 1.2" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Как у меня:

конфигурация редактируется с сохранением поддержки. Отчет добавлен в метаданные конфигурации.  Можно использовать и механизм внешних отчетов. На любителя.
Движения и остатки товаров в УТ 11.1. Отчет для ордерных складов. 1С: Предприятие 8.3

Краткое описание

Отчет для платформы 8.3. Управляемая форма. Конфигурация УТ 1
Конфигурация для автоматизации бэкапов 1C:Предприятие 8

Краткое описание

Столкнулся недавно с необходимостью администрировать сервер 1С. После того, как поднял и развернул базы, задался вопросами резервных копий. И вот здесь Инфостарт предложил просто море вариантов, но все они по тем или иным причинам не подошли... А может быть, я плохо искал и наваял очередной баян:(

В общем, SQL был не мой и в нем постоянно что-то подкручивали, писать и править скрипты тоже было проблематично. В общем, не буду распространяться про то, как тяжело ужиться двум администраторам на одном сервере, скажу лишь, что платить за готовое решение на базе 1С я не стал (и рекламировать его здесь не буду), а вместо этого сел и написал свою конфигурацию.

Почему так сложно и не ограничился простой обработкой? Хотелось гибко управлять свойствами бэкапов, расписаниями выгрузок, правилами хранения, серверами, кластерами, базами и самое главное - мимо всяких шедулеров воспользоваться фоновыми заданиями самого 1С сервера.

Писалось и отлаживалось все на 1С Сервере, но потом добавил возможность работы для файловых версий самой базы управления бэкапами и резервируемых баз.

К нстоящему времени серверная версия работает уже без малого 3 месяца, и баги достаточно придавлены. Недели 3 уже я туда не совался, а новые выгрузки исправно делаются, и старые нормально удаляются по правилам. Файловый вариант в силу его практической ненадобности я потестил денек, но боюсь, что за недостатком времени какие-то функции все-таки не дотестил и какие-то ситуации не прогнал.

Да и сама работа в файловом варианте не столь удобна, так как связана с обработчиком ожидания, а, следовательно, требует постоянно открытого клиента предприятия. С другой стороны, не серверные варианты работы все  еще популярны и потратить несколько часов свободного времени на благо файловых пользователей я счел не лишним.  Потратить времени больше не смог (не захотел и т.д.), так что не обижайтесь, если что:)

В любом случае конфигурация открыта - можете править как и что хотите. Можете заказать исправления и доработки мне. Если кто-то допишет/перепишет сам и под себя, возражать не буду. Единственное требование: при любых публикациях и размещениях продуктов, основанных на данной разработке, делать ссылку на эту статью. 

Вопросы и пожелания прошу в комменты и в личку.

UP: Вариант 8(23) проверен на совместимость с 8.2 и 8.3. Не заменил изначальную версию потому, что пришлось добавить кучу костылей, а функциональность не изменилась совершенно. Код стал сложнее и тяжелее и я не вижу смысла использовать это решение на 8.3 когда есть оптимизировання версия. Также первоначальная версия может работать в немодальном режиме. Для экономии $m и имея 2 платформы для 8.3 можно использовать вторую версию, а если у Вас 8.3 в чистом виде, то лучше первоначальная.
Поиск роли в профилях УТ 11 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Особенно в первое время у меня при назначении прав в УТ 11 часто возникал вопрос, в каком профиле есть нужная мне роль. Для быстрого поиска ответа написал эту обработку, где в окошке выбираем роль, и по нажатию на кнопку получаем список профилей, ее содержащую.
Групповая печать документов 8.3 Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка содержит несложный, понятный интерфейс, пригодится, когда срочно нужно распечатать много документов.

 

Протестировано на конфигурациях:

Управление торговлей 1
Шаблон отчета на СКД 1C: Предприятие 8.2

Краткое описание

В первую очередь в данной разработке была предпринята попытка минимизации затрат на окончательную настройку и оформление отчетов, построенных с помощью СКД. Реализован алгоритм автоматической фиксации шапки отчета.  Отчет может содержать несколько макетов СКД, в каждом из которых может быть несколько вариантов, поэтому в форме отчета реализована возможность быстрого переключения между схемами СКД и их вариантами. Заполнение и настройка элементов переключения (списки выбора "Вид отчета" и "Вариант отчета") проводится автоматически (по именам схем СКД и именам Вариантов этих схем).

Разработчику предоставляется возможность на базе готового механизма определения ссылок на объекты, выведенные в отчет, добавлять свои варианты обработки этих объектов, например, проведение, печать, ввод на основании, любой другой произвольный алгоритм. Для выполнения нужного варианта обработки Пользователю достаточно выделить в отчете ячейки, содержащие ссылки на нужные объекты, и выбрать предопределенный разработчиком вариант обработки из меню "Действия".

Пользователю предоставляется инструментарий для быстрой настройки отчета перед его выполнением: Параметры отчета, Отборы, Сортировка, Оформление (кнопка "Настройка"). Реализован механизм работы с копиями отчета: создание копий, сохранение на диск,  загрузка раннее сохраненных копий.


Замечания по работе отчета и его функционалу приветствуются:)

UsersLog.exe. Система полной отчетности об использовании рабочего времени пользователями. 1С, Word, Excel, Кино, Интернет, Одноклассники, ВКонтакте и т.д. Не только 1С, но и все активные окна Windows посекундно! 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Вы знаете, как Стаханов стал рекордсменом?

Под его логином в шахту спускались четыре бригады...

//------------------------------------------------------------------------------------------------------------------------------------

Быстрый запуск

Клиент
- В пустой каталог кладем UsersLog.exe и UsersLog.ini
- Блокнотом открываем UsersLog.ini
- Секция [CONNECT] параметр "String". Должен быть разремарен (не должно стоять точки с запятой в начале строки) только один из шаблонов и в нем должны быть указаны корректные данные.
По-умолчанию в файле настроек приведены три возможных ODBC строки подключения к базам данных. SQL, dbf и Excel. Все параметры в них указаны.
Для sql - перед использованием нужно создать базу данных и пользователя/пароль для подключения к ней. Таблицу клиент создаст сам.
Для dbf - перед использованием в строке соединения нужно вместо "Dbq=d:\" прописать корректный путь до файла базы данных. Файл клиент создаст сам.
Для excel - перед использованием в строке соединения нужно вместо "Dbq=f:\UsersLog.xls;DefaultDir=f:\" прописать имя файла и путь. Файл клиент создаст сам.
- Запускаем клиента UsersLog.exe. Должно открыться окно клиента.
- Стартуем клиента (Кнопка Start). В системном трее значок программы должен стать зеленым. Если значок в системном трее остался черным, значит что-то не так с соединением с базой данных, проверям строку ODBC соединения. Также можно включить режим логирования [MAIN]WriteLog=1, перезапустить клиента и посмотреть на ошибку в C:\Users\ИмяПользователя\AppData\Local\UsersLog\UsersLog.log.
- По-умолчанию: Клиент сканирует активное окно раз в секунду и показывает это. Один раз в 10 минут пытается скинуть эту информацию в центральную базу или запомнить локально. При этом он очищает свой кеш.
- Для масштабирования на многих пользователей делаем папку общедоступной и прописываем запуск клиента всем пользователям. При этом меняем параметр в секции[MAIN]Hide=
"Расчет зарплаты в типовых конфигурациях 1С " Бухгалтерия предприятия 2.0 и 3.0"

Краткое описание

Подготовка Справки 2-НДФЛ в ИФНС. Убираем излишне удержанный налог и ставим сумму перечислений Платформа 1С v8.x (все механизмы)

Краткое описание

Подготавливаем справки 2-НДФЛ в ИФНС. Не претендую не гениальность, обработка простая, на инфостарте видел подобные, может, кому моя пригодится.

Обработка ставит сумму перечисленного НДФЛ и удержанного равную исчисленному НДФЛ, задолженность и излишне удержанные суммы - обнуляет. 

Подключать как внешнею обработку табличных частей:

Сервис- дополнительные отчеты и обработки- дополнительные внешние обработки табличных частей, далее см. на картинке.
Программа - всплывающий клиент для оповещения и работы с 1С без интерактивного запуска самого 1С:Предприятия пользователем Не имеет значения

Краткое описание

//------------------------------------------------------------------------------------------------------------------------------------
Состав комплекта

PopUp1C.exe - Программа-клиент
PopUp1C.ini - файл настроек клиента (редактируется блокнотом). Должен иметь то же название, что и исполняемый файл клиента.
PopUp1C.html - Файл общего шаблона для всех окон программы. При выводе очередных данных в этом файле строка "PopUp1C Content" заменяется на содержание.
default.css - Файл html стилей, используемых при выводе страниц клиента.
ReadMe.html - Файл этого описания.
IMG\*.png - Картинки, используемые системой.
SCR\*.png - скриншоты клиента 
1Cv8.dt - Демонстрационная база данных 1С:Предприятие 8.2 с общим модулем PopUp1C, который наглядно демонстрирует возможности системы.

//------------------------------------------------------------------------------------------------------------------------------------
Быстрый старт

- Восстановить из 1Cv8.dt базу данных 1С:Предприятие (можно 8.2, а можно и 8.3, убрав все ограничения)
- Открыть блокнотом файл PopUp1C.ini и в нем прописать:

Путь к развернутой базе данных 1С (имя пользователя и пароль не менять):
;Строка подключения к базе данных
DB="File='F:\c++\PopUp1C\Db';usr='Иванов';pwd='';"

Тип Com, используемый в Вашей системе. Для 8.2 это будет "V82.Application". Для 8.3 это будет "V83.Application".
;COM объект
Application=V82.Application

- Запустить клиента и убедиться, что он не выдает в своем окне ошибок.

- После появления клиентсвого окна с основным меню все готово, можно попробовать различные режимы работы.

//------------------------------------------------------------------------------------------------------------------------------------
Алгоритм работы

По-умолчанию, клиент открывает и постоянно держит Com соединение с базой данных. Но, если период опроса выставить довольно большой, то можно указать, что соединяться нужно каждый раз при опросе базы данных (PermanentConnection=0)
[CONFIG]
;Сохранять постоянное соединение
PermanentConnection=1

Клиент после соединения вызывает в 1С глобальную функцию, указанную в настройках ini файла:
[INDEX]
;Первоначально вызываемая глобальная функция в 1С PopUpIndex(Параметр1="") Экспорт
IndexFunction = PopUpIndex
;В 1С глобальная функция получит это значение:
Parameter1=

Полученный из функции html код помещает в шаблон PopUp1C.html на место строки "PopUp1C Content" и получившийся результат выводит в свой экран.
Если пользователь свернул клиента в системный трей, но текст с последнего опроса этой функции изменился - окно клиента автоматически всплывает поверх всех приложений Windows.
Значок в системном трее имеет контекстное меню, которое позволяет управлять видимостью клиента. При выборе пункта "Update" окно клиента также показывается, если было скрыто.
По левой кнопке на значке клиента - просто показывается.

Во время работы пользователь может переходить по ссылкам или выполнять какие-либо действия в окне клиента, но, если при очередном запросе к базе данных html код от текущей функции изменится - окно клиента будет полностью обновлено!

//------------------------------------------------------------------------------------------------------------------------------------
Особенности работы и написания html кода для страниц клиента

Клиент помнит имя текущей глобальной функции 1С:Предприятия, у которой он запрашивает данные. Эта функция в процессе перехода по ссылкам и страницам может меняться.


Существует несколько перехватываемых клиентом управляющих ID объектов:

Home - отправляет пользователя на начальную функцию, описанную в [INDEX]IndexFunction и в дальнейшем вызывает её, пока не будет переопределения.
Update - запрашивает данные у текущей функции, не дожидаясь срабатывания таймера. Таймер [MAIN]TimeUpdate запускается сначала.
Cancel - cкрывает окно клиента, оставляя его в системном трее.
Exit - завершает работу клиента.
Page - запрашивает глобальную функцию 1С с именем FunctionName, делает её текущей и в дальнейшем вызывает её, пока не будет переопределения.
Function - запрашивает глобальную функцию 1С с именем FunctionName, делает её текущей и в дальнейшем вызывает её, пока не будет переопределения. Не отличается от предыдущего.
Procedure - вызывает глобальную процедуру 1С с именем ProcedureName (но не запоминает её) после чего обновляется, вызывая текущую функцию.
Command - выполняет командную строку системы при помощи API ShellExecuteEx. В CommandString может быть даже любой URL - откроется браузер, любое имя файла с параметрами, просто командная строка.

Объектов с одинаковыми ID на одной странице может быть сколько угодно.

//------------------------------------------------------------------------------------------------------------------------------------
Передача данных в 1С:Предприятие

При вызове ID "Page", "Function" и "Procedure" в функции и процедуры 1С передается один параметр. Этот параметр - строка из всех управляемых элементов текущей страницы клиента. В общем виде что-то типа:

ИмяЭлемента ТипЭлемента ТэгЭлемента ЗначениеЭлемента
Doc000000001 checkbox
Doc000000002 checkbox 1
Doc000000003 checkbox
accept button OK

Строки разделены символом перевода строк, а колонки - табуляцией. Всего колонок четыре. В демонстрационной базе есть функция, которая преобразует эту строку в таблицу значений:
ПараметрВТаблицу(Знач Параметр, МинимумКолонок=0) Экспорт
После чего с этими данными можно работать как угодно 
//------------------------------------------------------------------------------------------------------------------------------------
Известные проблемы

По непонятным пока причинам, при соединении с базами данных, запускаемыми в режиме управляемого приложения свойство соединения Visible установлено в TRUE, что приводит к появлению окна 1С. После установки соединения, мы его, конечно, спрятали, но на долю секунды оно все-равно появляется ;о((( Устанавливать свойство до соединения бесполезно. С обычными приложениями такого не наблюдается.

//------------------------------------------------------------------------------------------------------------------------------------

29.0
Поиск и замена значений (добавлен выбор по реквизитам) 1C: Предприятие 8.2

Краткое описание

Собственно, ничего нового, стояла задача поменять некоторые реквизиты в базе, в определенных документах и справочниках, под рукой была типовая обработка "Поиск и замена значений", но выбора по реквизитам там не было, пришлось допилить)
В обработке можно для каждого вида объекта установить свой отбор по каким-либо реквизитам.
Акт списания материальных запасов (форма 0504230). БП 3.0. Управляемое приложение. 1С: Предприятие 8.3

Краткое описание

Выбор руководителя, председателя комиссии и членов комиссии из списка физ.лиц.

Выбранные данные сохраняются при последующем открытии формы.

Возможность выбрать стандартное заключение комиссии, либо составить своё
Мульти рассылка СМС из 1С для типовых и не типовых конфигураций, на управляемых и обычных формах 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Возможности обработки
Отправка SMS для конфигураций как на обычных формах, так и управляемых;
Поддержка почти всех типовых конфигураций 1С (УТ 11, УТ 10.3, БП 3.0, ЗУП 3.0, Розница 2.0 и 2.1 и созданные на их базе, УНФ
Загрузка данных из табличного документа (управляемые формы) с иерархией справочников Платформа 1С v8.x (все механизмы)

Краткое описание

за основу была взята вот эта публикация
//infostart.ru/public/269425/
и добавлена возможность загружать справочники с иерархией (т.е. также создавать группы) и добавлена возможность ограничивать загрузку реквизитов для групп и элементов.

Для этого таблицу настроек добавлена строка ЭтоГруппа для иерахических справочников: 

Установка признака ЭтоГруппа делается в колонке "условие связи/выражение для значение". Для создания группы установите переменную Результат = Истина 

пример:

Если ТекстыЯчеек[2]="" и
ТекстыЯчеек[5]="" и
ТекстыЯчеек[6]="" и
ТекстыЯчеек[7]="" и
ТекстыЯчеек[8]="" Тогда
Результат=Истина;
Иначе
Результат=Ложь;
КонецЕсли;


 

Важно!! для загрузки иерархии за один раз необходимо, чтобы группы-родители в файле шли раньше своих вложенных элементов или групп. 

 

Также добавлены галки присвоений реквизитов для групп и элементов: колонки "загружать элемент" и "загружать группу" и соответственно доработаны процедуры сохранения и открытия настроек с учетом этих колонок.

Писал для себя разово для загрузки 6000 позиций номенклатуры с картинками в УТ1
"Консоль запросов для управляемого приложения для запуска в ""1С:Предприятии"" 8.2 с планом выполнения запроса" 1C: Предприятие 8.2

Краткое описание

Предыстория: некоторое время назад прошел на хороший курс по оптимизации запросов, созданный талантливыми ребятами с http:// /.

И для анализа и оптимизации того, что понаписал за долгое время до прохождения курса (доработанная конфигурация УТ 10.3 с возможностью запуска в управляемом приложении), понадобилась консоль запросов с планом выполнения запроса под платформу 8.2.

На диске ИТС работа с планом выполнения запроса есть только в версии для платформы 8.3.

Поэтому сделаны несколько изменений:

Правила обмена КА 1.1- БП 3.0 1C:Предприятие 8

Краткое описание

Рабочие Правила обмена. Есть возможность отобрать документы

Анализ продаж товара по категориям ABC для 1С: Розница 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчёт анализирует три показателя:

Валовую прибыль
Объём продаж в количественном выражении
Сумму продаж с учётом предоставленных скидок.
По каждому из показателей товары сортируются и начинается накопительный подсчёт по показателю:
Те позиции, по которым накопленная сумма не превышает первый порог (80%) попадают в группу "А"
Последующие позиции, которые дополняют предыдущую группу на второй порог (15%) - в группу "B"
И оставшиеся позиции - в группе "С".
На каждом уровне иерархии товаров производится индивидуальное ранжирование, что позволяет определить наиболее приоритетную группу товаров и сразу же, в той же форме, определить, например, товары-аутсайдеры в той же самой группе.
 
Отчёт создан с использованием СКД, что позволяет предоставить пользователю наиболее полный состав настроек окончательного варианта отчёта, а так же позволит программисту легко "подогнать" отчёт под требуемый контекст ситуации.
 
Отчёт запускается как в обычном, так и в управляемом режиме работы приложения.
 
UPD 20150212: Исправил ошибочное присвоение группы "А" товарам, не продававшимся в данном магазине.
 
Товарный чек для 1С: Бухгалтерии предприятия 2.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма Товарного чека для 1С:Предприятие 8 Бухгалтерия предприятия 2.0 для документа Реализация товаров и услуг.

Тестировалась на Бухгалтерия предприятия, редакция 2.0 (2.0.5
Автоматическое закрытие заявок клиента для УТ11 1С: Предприятие 8.3

Краткое описание

Внешняя обработка, подключаемая к разделу "Дополнительные отчеты и обработки". Устанавливает статус "Закрыт" в документе "Заявка клиента", связаном с документом "Реализация товаров и услуг" (проверка всех закрытых товаров). Выполяется нажатием соответствующей кнопки в документе "Реализация товаров и услуг". В штатном механизме алгоритм выполняется только если использовать обработку "Помощник продаж"

Достоинства обработки: 

"Создание и заполнение документа " Перенос данных"

Краткое описание

Запрет редактирования по типам документов 1C: Предприятие 8.2

Краткое описание

Решило руководство закрывать доступ на редактирование документов старше 5 дней. Но есть ситуации, когда надо изменить уже введенный документ (тот же акт сверки взаиморасчетов).

Вот под такую ситуацию и наваял на скорую руку.

Состав:

Подписка на событие
2 регистра сведений
обработка

Код открыт и доступен для редактирования.

Может, кому и пригодится...
daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр 1C:Предприятие 8

Краткое описание

На данный момент существует минимум 10 подобных функций для склонения ФИО, не считая стандартной, которые можно вызывать из кода 1С. Зачем написана еще одна, и чем она лучше остальных? Была протестирована каждая из найденных функций, но ни одна из них не подошла - либо большое количество ошибок при склонении, либо неудобство использования, либо и то и другое.

Многие функции для своей работы используют внешние библиотеки - перед началом использования требуется зарегистрировать библиотеку под администраторскими правами на каждом компьютере, откуда будет выполняться запуск функции, а это не всегда возможно из-за политики безопасности предприятия. Похожие проблемы возникают при использовании внешних веб-сервисов, к тому же не везде в наличии стабильный и надежный интернет. Данный алгоритм написан на чистом языке 1С и весь код для всех режимов работы содержится в пределах одной функции, поэтому ее легко можно добавить в общий модуль конфигурации или, например, в модуль внешней печатной формы или отчета. 

Все функции склонения были проверены на рабочих данных - это справочники сотрудников и контрагентов реальной организации. Ошибки, причем зачастую для ФИО, которые трудно отнести к экзотическим, возникали у КАЖДОЙ протестированной функции, в том числе и у веб-сервиса "Морфер", который оперативнее всего поддерживается и показывает лучшие результаты. Очень много ошибок у любимой многими функции "Крохотулька" - 30%, немного лучшие результаты у функции "Коган" - 26%. Поэтому не стоит испытывать иллюзий - ошибки есть и в данном алгоритме, даже после тысяч тестовых прогонов. Важная особенность этой функции - все правила склонения описаны в таблицах простого формата, поэтому при обнаружении ошибок или расхождений в написании имен и фамилий, нет необходимости ждать обновления функции - нетрудно самостоятельно исправить некорректное правило или добавить новое в таблицу.

Для вывода результата можно использовать форматную строку в максимально понятном формате, вида "Фамилия Имя Отчество" или "И.О. Фамилия". При отутствии форматной строки, функция старается максимально сохранить формат исходной строки. При нестандартном порядке следования частей ФИО, порядок можно указать в параметре вызова функции, например "ФИО", "ИОФ", "ИФ". Род выражения не всегда известен заранее, поэтому есть возможность автоматического определения рода. Определение происходит сначала по Отчеству, при неудаче - по Фамилии, затем по Имени. 

Функция также склоняет должности, причем из-за меньшей вариативности склонений, чем для ФИО, склонение должностей происходит практически без ошибок, что было подтверждено множеством различных тестов.

Имеется возможность склонения по падежам и по родам числительных, причем в виде прописи ("два") либо числового значения (2). Вместе с числительным в функцию может быть передано исчислимое в начальной форме (именительный падеж, единственное число), например "8 доска" -> "Т - восемью досками", "15 рубль" -> "Р - пятнадцати рублей". Добавлена особая форма винительного падежа для склонения одушевленных существительных: "В - про сорок один мешок", "О - про сорок одного маляра".

Также склоняются по падежам, родам и числам прилагательные, существительные и их сочетания из начальной формы: "Генеральная доверенность" -> "Р - Генеральных доверенностей". Глаголы можно склонять по родам и числам: "Утвердило ответственное лицо" -> "Н - Утвердили ответственные лица". Более подробные примеры использования - в комментариях в листинге функции.

Если функция оказалась полезной для вас, скачайте тест-центр!

Код функции:

//(c) daMaster 2015
//mailto: damasterprog@yandex.ru
//
//СИНТАКСИС
// daСклонение(_Выражение, _Падеж, _Род, _Режим, _ФорматнаяСтрока);
// _Выражение - склоняемое выражение
// _Падеж - падеж склонения, буква или цифра: "И" = 1, "Р" = 2, "В" = 3, "Д" = 4, "Т" = 5, "П" = 6
// _Род - род склоняемого выражения, буква или цифра: "М" = 1, "Ж" = 2, "С" = 3, "Н" = 4
// _Режим - режим работы функции, определяется типом склоняемого выражения
// _ФорматнаяСтрока - определяет формат и регистр выводимого результата
//
//СКЛОНЕНИЕ ФИО
//запуск выполняется в режиме "ФИО" или с пустым режимом, в таком случае - режим "ФИО" установится по умолчанию:
// daСклонение("Пухов Федор Николаевич", "Р", "М", "ФИО") = "Пухова Федора Николаевича"
// daСклонение("Пухова Ольга Сергеевна", "Д") = "Пуховой Ольге Сергеевне"
//порядок символов "Ф", "И", "О" в параметре режима определяет порядок частей ФИО в склоняемом выражении, т.к. фамилия, имя и отчество склоняются по разным правилам
// daСклонение("Мария Ивановна Кожедуб", "Т", , "ИОФ") = "Марией Ивановной Кожедуб"
// daСклонение("В. Тёркин", "П", , "ИФ") = "В. Тёркине"
// daСклонение("Тихончук", "Р", "Ж", "Ф") = "Тихончук"
//форматная строка может содержать ключевые слова "Фамилия", "Имя", "Отчество" или сокращения "Ф", "И", "О", их регистр определяет регистр выводимого результата
// daСклонение("Чапаев Василий Иванович", "Р", , , "Имя Отчество Фамилия") = "Василия Ивановича Чапаева"
// daСклонение("Чапаев Василий Иванович", "Д", , , "Фамилия И. О.") = "Чапаеву В. И."
// daСклонение("Чапаев Василий Иванович", "И", , , "отчество: Имя - ФАМИЛИЯ") = "иванович: Василий - ЧАПАЕВ"
//
//ОПРЕДЕЛЕНИЕ РОДА
//если с параметром _Род передать переменную со значением "?", в нее вернется род в случае успеха или останется "?" в случае неудачи
// ПоискРода = "?"; Результат = daСклонение("Лукашенко Александр Григорьевич", "Р", ПоискРода); Сообщить(ПоискРода); //"М"
// ПоискРода = "?"; Результат = daСклонение("Лукашенко А. Г.", "Р", ПоискРода); Сообщить(ПоискРода); //"?"
//
//СКЛОНЕНИЕ ПРОФЕССИЙ
//запуск выполняется в режиме "Д":
// daСклонение("Ведущий программист 1С и консультант по ЗиК", "Р", , "Д") = "Ведущего программиста 1С и консультанта по ЗиК"
//в этом и остальных режимах форматная строка определяет регистр слов результата и задается при помощи литер, если литера не задана - остается исходный регистр,
//А - первая буква первого слова, Б - первая буква остальных слов, В - все остальные буквы всех слов, Г - специально для аббревиатур:
// daСклонение("Ведущий программист 1С и Консультант по ЗиК", "Р", , "Д", "АБВГ") = "ВЕДУЩЕГО ПРОГРАММИСТА 1С И КОНСУЛЬТАНТА ПО ЗИК"
// daСклонение("Ведущий программист 1С и Консультант по ЗиК", "Р", , "Д", "абвг") = "ведущего программиста 1с и консультанта по зик"
// daСклонение("Ведущий программист 1С и Консультант по ЗиК", "Р", , "Д", "АБ") = "Ведущего Программиста 1С и Консультанта По ЗиК"
// daСклонение("Ведущий программист 1С и Консультант по ЗиК", "Р", , "Д", "Абв") = "Ведущего программиста 1С и консультанта по ЗиК"
//
//СКЛОНЕНИЕ СУЩЕСТВИТЕЛЬНЫХ, ПРИЛАГАТЕЛЬНЫХ, ГЛАГОЛОВ, ГЕОГРАФИЧЕСКИХ НАИМЕНОВАНИЙ
//запуск выполняется в режиме "В":
// daСклонение("Генеральная доверенность", "Р", , "В") = "Генеральной доверенности"
// daСклонение("Санкт-Петербург", "П", , "В") = "Санкт-Петербурге"
//в этом режиме возможно склонение в форме множественного числа, для этого в параметре _Род указывается "Н" (мНожественный):
// daСклонение("Устав", "И", "Н", "В") = "Уставы"
// daСклонение("Генеральная доверенность", "Р", "Н", "В") = "Генеральных доверенностей"
//возможно склонение глаголов по родам и по числам, исходный глагол может быть в форме любого рода и числа, но в настоящем времени:
// daСклонение("Подготовили", "И", "Ж", "В") = "Подготовила"
// daСклонение("Утвердило ответственное лицо", "И", "Н", "В") = "Утвердили ответственные лица"
//
//СКЛОНЕНИЕ ЧИСЕЛ, ВАЛЮТ, ЕДИНИЦ ИЗМЕРЕНИЯ
//запуск выполняется в режиме "Ч", возможно склонение по родам:
// daСклонение("Двадцать один", "И", "С", "Ч") = "Двадцать одно"
// daСклонение("Двадцать один", "Р", "Ж", "Ч") = "Двадцати одной"
//параметр _Выражение может иметь тип "Число":
// daСклонение(21, "И", "С", "Ч") = "Двадцать одно"
// daСклонение(21, "Р", "Ж", "Ч") = "Двадцати одной"
//возможно склонение сочетания числа и исчислимого (валюты, единицы измерения, прочих существительных)
// daСклонение("32 доска", "Р", , "Ч") = "Тридцати двух досок"
//исчислимое должно быть в начальной форме (именительный падеж, единственное число):
// daСклонение("23 австралийский доллар", "Р", , "Ч") = "Двадцати трех австралийских долларов"
//исключение для популярных валют, они могут быть в формате встроенной функции ЧислоПрописью()- "5 рублей", "13 долларов"):
// daСклонение("14 рублей 88 копеек", "Р", , "Ч", "абв") = "четырнадцати рублей восьмидесяти восьми копеек"
//если перед словом поставить символ "\", данное слово не будет изменено:
// daСклонение("51 рубль \81 копейка", "Р", , "Ч") = "Пятидесяти одного рубля 81 копейки"
//если перед числом поставить символ "^", данное слово будет склоняться без преобразования в пропись:
// daСклонение("^25 страница", "П", , "Ч") = "25-ти страницах"
//для получения формы винительного падежа одушевленных существительных, используется специальный падеж "О" (винительный Одушевленный):
// daСклонение("41 мешок", "В", , "Ч") = "Сорок один мешок"
// daСклонение("41 маляр", "О", , "Ч") = "Сорок одного маляра"
//
Функция daСклонение(_Выражение, _Падеж = "И", _Род = "", _Режим = "ФИО", _ФорматнаяСтрока = "")

_Версия = "17.06.2015";

//ТАБЛИЦЫ ПРАВИЛ СКЛОНЕНИЯ
//в колонке "Окончания" указывается перечень окончаний, для которых действует данное правило, разделитель "/", в конце также ставится разделитель
//алгоритм ищет строки с окончаниями последовательно, при совпадении останавливается, поэтому более узкое правило ("РВИН") должно следовать выше, чем широкое ("ИН")
//если окончание не найдено в таблице правил - такое слово не склоняется
//колонка "Обрезка" определяет, сколько символов с конца слова обрезать, перед добавлением окончания из колонки падежа ("Р", "Д", "В", "Т", "П")
_ПравилаФ = //Фамилия
//Род; Окончания; Обрезка; Р; Д; В; Т; П; Комментарий
//символ "*" перед окончанием означает, что данное окончание сравнивается не с концом слова, а с целым словом ("*ГРИН" сработает только на Грин, а "ГРИН" - и на "Грин", и на "Багрин")
"М-; *ГРИН/*ЧАПЛИН/РВИН/*БИН/; 0; а; у; а; ом; е; Грин, Дарвин, Чаплин - исключения, чтобы пройти тест gramota.ru )
//в колонке "Род" указывается один литерал рода ("М", "Ж", "С"), если окончание позволяет однозначно определить род ("Петров" - "М", "Ильина" - "Ж")
|Ж; ЕВА/ЁВА/ИНА/ОВА/ЫНА/; 1; ой; ой; у; ой; ой;
|М; ЕВ/ЁВ/ИН/ОВ/ЫН/; 0; а; у; а; ым; е;
|М; ЧИЙ/ШИЙ/ЩИЙ/; 2; его; ему; его; им; ем; Осадчий, Старший, Вещий
|Ж; ЧАЯ/ШАЯ/ЩАЯ/; 2; ей; ей; ую; ей; ей; Осадчая, Старшая, Вещая
|Ж; АЯ/; 2; ой; ой; ую; ой; ой; Крутая
|Ж; ЯЯ/; 2; ей; ей; юю; ей; ей; Верхняя
//"М-" в колонке "Род" означает, что по окончанию род не определить, но правило действует только для рода "М" ("Воробей" склоняется только для "М", для "Ж" - не склоняется)
|М-; *ВОРОБЕЙ/*СОЛОВЕЙ/; 2; ья; ью; ья; ьем; ье; Воробей, Соловей
|М-; *ЛЕВ/; 2; ьва; ьву; ьва; ьвом; ьве; Лев
|М-; *КИЙ/*БОКИЙ/; 1; я; ю; я; ем; е; Кий
|М-; ЦОЙ/ВИЙ/СОЙ/ЕЙ/АЙ/УЙ/; 1; я; ю; я; ем; е; Цой, Гелетей, Лузай
|М; ГОЙ/КОЙ/ХОЙ/ШОЙ/; 2; ого; ому; ого; им; ом; Плохой, Большой
|М; ЧОЙ/ЩОЙ/; 2; его; ему; его; им; ом;
|М; ОЙ/ЫЙ/; 2; ого; ому; ого; ым; ом; Крутой, Мудрый
|М; ГИЙ/КИЙ/; 2; ого; ому; ого; им; ом;
|М-; ИЙ/; 1; я; ю; я; ем; и; Шарий
|М-; КАШ/; 0; а; у; а; ом; е; Лукаш
|М-; ЬМИЧ/; 0; а; у; а; ом; е; Кузьмич
|М-; ИЧ/Ш/; 0; а; у; а; ем; е; Митрич, Гаспажиньш, Милош, Хараш, Черныш
|М-; АК/АН/ЕР/ИР/ЙН/НГ/ОН/ОР/УК/ЯК/ЯН/БИХ/РИХ/; 0; а; у; а; ом; е;
//колонка "Род" пустая, если по окончанию род не определить, но правило склонения одинаковое для "М" и "Ж ("Живаго", "Лисица")
|; АГО/ИА/НКО/ОВО/ОТО/ЦКО/ЫХ/ЮДО/ОЛЯ/ЬДА/ИХ/ЫХ/УА/; 0; ; ; ; ; ;
//символ "+" перед окончанием означает, что данное правило действует для не последней части составного слова (в "Абдул-Шах" часть "Абдул" не склоняется, а если "Абдул" - отдельное слово, то склоняется)
|; +ВАН/+АБДУЛ/+БЕЛИЦ/+ГАСАН/+ДЮССАР/+ДЮМОН/+КНИППЕР/+КОРВИН/ 0; ; ; ; ; ;
|; +КАРА/+САЕД/+БОНЧ/+ШОЛОМ/+ПРИЗВАН/+МЕЛИК/*ТЕР/*ВАР/*ФОН/; 0; ; ; ; ; ;
|; *ДЮМА/*ТОМА/*ДЕГА/*ЛЮКА/*ФЕРМА/*ГАМАРРА/; 0; ; ; ; ; ;
|; *ПЕТИПА/*ШАНДРА/*СКАЛЯ/*КАРУАНА/; 0; ; ; ; ; ;
|М-; ИЯ/; 1; и; и; ю; ей; и; Берия
|М-; ОЯ/; 1; и; е; ю; ей; е;
|; НЖА/; 1; и; е; у; ей; е; Стринжа
|; ЖА/; 1; и; е; у; ой; е; Ганжа
|; ГА/КА/УЛЕША/ВАША/ХА/; 1; и; е; у; ой; е; Кулеша/Кулешой
|; Я/; 1; и; е; ю; ей; е; Разиня
|; ЙА/ЧА/ША/ЩА/; 1; и; е; у; ей; е; Олеша/Олешей, Мойа
|; ЦА/; 1; ы; е; у; ей; е; Лисица
|; А/; 1; ы; е; у; ой; е;
|М-; ЕНЬ/; 3; ня; ню; ня; нем; не; Камень
|М-; Ь/; 1; я; ю; я; ем; е; Даль
|М-; ЁК/; 2; ька; ьку; ька; ьком; ьке; Королёк
|М-; БЛОК/; 0; а; у; а; ом; е; Блок
|М-; ОК/; 2; ка; ку; ка; ком; ке; Миненок, Кисляченок
|М-; ИЕЦ/; 2; йца; йцу; йца; йцем; йце; Коломиец
|М-; ПАЛЕЦ/; 2; ьца; ьцу; ьца; ьцем; ьце; Долгопалец
|М-; ЛЕЦ/; 2; ьца; ьцу; ьца; ьцом; ьце; Стрелец
|М-; ЧЕЦ/; 0; а; у; а; ом; е; Чайчец
|М-; АВЕЦ/ЖЕЦ/; 2; ца; цу; ца; цем; це; Переяславец, Запорожец
|М-; ОВЕЦ/БЕЦ/АМЕЦ/НЕЦ/ТЕЦ/; 2; ца; цу; ца; цом; це; Горовец
|М-; ШВЕЦ/; 0; а; у; а; ом; е; Швец
|М-; Ц/; 0; а; у; а; ем; е; Кац, Бэц
|М-; ЁЛ/; 2; ла; лу; ла; лом; ле; Козёл
|М-; ДЖ/ИЖ/ОЖ/РЖ/ЙЧ/; 0; а; у; а; ем; е; Джордж, Лейч
|М-; Б/В/Г/Д/Ж/З/К/Л/М/Н/П/Р/С/Т/Ф/Х/Ч/Ш/Щ/; 0; а; у; а; ом; е; Заканчивается на согласную";

_ПравилаИ = //Имя
//Род; Окончания; Обрезка; Р; Д; В; Т; П; Комментарий
"Ж; *ИЯ/; 1; и; е; ю; ей; е; Ия
|Ж; ИЯ/; 1; и; и; ю; ей; и; Мария
|; ГА/КА/ХА/; 1; и; е; у; ой; е; Ольга, Серега, Лука, Лика, Хоха
|; ЖА/ЙА/ЧА/ША/ЩА/; 1; и; е; у; ей; е; Миша, Маша
|; ЦА/; 1; ы; е; у; ей; е; Маца
|Ж; НА/ВЕРА/; 1; ы; е; у; ой; е; Инна, Нина, Ирина, Вера
|Ж; А/; 1; ы; е; у; ой; е; Тома (женские на -а чаще)
|М; *ШОТА/; 0; ; ; ; ; ; Шота
|М; А/ЛО/; 1; ы; е; у; ой; е; Дима, Гаврило
|М; *ИЛЬЯ/*ИЛИЯ/; 1; и; е; ю; ей; е; Илья
|Ж-; Я/; 1; и; е; ю; ей; е; Дуня
|М-; Я/; 1; и; е; ю; ей; е; Гия
|М; РЬ/; 1; я; ю; я; ем; е; Игорь
|Ж; *ЛЮБОВЬ/*АГАРЬ/*РАХИЛЬ/*РУФЬ/*СУЛАМИФЬ/*ЭСФИРЬ/; 1; и; и; ь; ью; и; Любовь
|Ж; *ЮДИФЬ/*РАШЕЛЬ/*НИНЕЛЬ/*ИЗАБЕЛЬ/*ИСАБЕЛЬ/; 1; и; и; ь; ью; и; Любовь
|М-; Ь/; 1; я; ю; я; ем; е; Олесь
|М; *ПАВЕЛ/; 2; ла; лу; ла; лом; ле; Павел
|М; *ЛЕВ/; 2; ьва; ьву; ьва; ьвом; ьве; Лев
|М; ИЙ/; 1; я; ю; я; ем; и; Василий
|М; Й/; 1; я; ю; я; ем; е; Гай
|М; ЁТР/; 3; етра; етру; етра; етром; етре; Пётр
|М; +АХМАД/+АБДУЛ/+ГАСАН/+САЛИМ/+САИД/; 0; ; ; ; ; ; Салим-Гирей
|М; ДЖ/; 0; а; у; а; ем; е; Джордж
|М; Б/В/Г/Д/Ж/З/К/Л/М/Н/П/Р/С/Т/Ф/Х/Ц/Ч/Ш/Щ/; 0; а; у; а; ом; е; Заканчивается на согласную";

_ПравилаО = //Отчество
//Род; Окончания; Обрезка; Р; Д; В; Т; П; Комментарий
"М; *ИЛЬИЧ/*КУЗЬМИЧ/*ЛУКИЧ/*ФОМИЧ/; 0; а; у; а; ом; е; Ильичом, Кузьмичом (после шипящих под ударением!)
|М; ИЧ/; 0; а; у; а; ем; е;
|Ж; НА/; 1; ы; е; у; ой; е;
|М; ОГЛЫ/УЛЫ/УУЛУ/; 0; ; ; ; ; ; Оглы, Улы, Уулу
|Ж; ЫЗЫ/ИЗИ/; 0; ; ; ; ; ; Кызы, Гызы, Кизи
|; *ИБН/; 0; ; ; ; ; ; ибн
|; +Б/+В/+Г/+Д/+Ж/+З/+К/+Л/+М/+Н/+П/+Р/+С/+Т/+Ф/+Х/+Ц/+Ч/+Ш/+Щ/;0; ; ; ; ; ; Заканчивается на согласную - восточные отчества - не последняя часть слова
|; Б/В/Г/Д/Ж/З/К/Л/М/Н/П/Р/С/Т/Ф/Х/Ц/Ч/Ш/Щ/; 0; а; у; а; ом; е; Заканчивается на согласную - восточные отчества";

_ПравилаД = //Должность
//Род; Окончания; Тег; Обрезка; Р; Д; В; Т; П;
"М; *ВЕНТИЛЕВОЙ/*РУЛЕВОЙ/*ДВЕРЕВОЙ/*ПЕЧЕВОЙ/*КОВШЕВОЙ/; ; 2; ого; ому; ого; ым; ом;
|М; *ЛЮКОВОЙ/*СКИПОВОЙ/*МИКСЕРОВОЙ/*СТВОЛОВОЙ/*ГОРНОВОЙ/*ПОСТОВОЙ/*ВЕРХОВОЙ/*РАЗЪЕЗДНОЙ/*ПОРТНОЙ/; ; 2; ого; ому; ого; ым; ом;
|М; *БИРЖЕВОЙ/*ПОЛЕВОЙ/*ПУТЕВОЙ/*ЛИЦЕВОЙ/*ЗУБНОЙ/*ПОЕЗДНОЙ/*РЕЧНОЙ/*РУЧНОЙ/*ВТОРОЙ/; К; 2; ого; ому; ого; ым; ом;
|М; *ПРАВОВОЙ/*БЕРЕГОВОЙ/*ТРУДОВОЙ/*СУДОВОЙ/*ГРУЗОВОЙ/*МИРОВОЙ/*ЛЕНТОВОЙ/*БОРТОВОЙ/*МОСТОВОЙ/*СТРАХОВОЙ/;К; 2; ого; ому; ого; ым; ом;
|М; *ЗАВОДСКОЙ/*ГОРОДСКОЙ/*МОРСКОЙ/; К; 2; ого; ому; ого; им; ом;
|М; ЖИЙ/ЧИЙ/ШИЙ/ЩИЙ/; ; 2; его; ему; его; им; ем;
|М; СКИЙ/; ; 2; ого; ому; ого; им; ом;
|М; ЫЙ/; ; 2; ого; ому; ого; ым; ом;
|Ж; ЖАЯ/ЧАЯ/ШАЯ/ЩАЯ/; ; 2; ей; ей; ую; ей; ей;
|Ж; ЯЯ/; ; 2; ей; ей; юю; ей; ей;
|Ж; АЯ/; ; 2; ой; ой; ую; ой; ой;
|; Е/И/Ы/Ю/; П; 0; ; ; ; ; ;
|; ЗАВ/ЗАМ/НАЧ/; П; 0; ; ; ; ; ;
|; ОЙ/; П; 0; ; ; ; ; ;
|; *ОВЕЦ/; ; 0; ; ; ; ; ;
|; ДЬЯ/; ; 1; и; е; ю; ей; е;
|; АРЬ/; ; 1; я; ю; я; ем; е;
|; ИСТ/; ; 0; а; у; а; ом; е;
|Ж; ЙКА/ИСТКА/ША/ТАРКА/ЕРКА/ЯРКА/ЕНКА/ЧИХА/ЖКА/; ; 1; и; е; у; ой; е;
|Ж; ИЦА/; ; 1; ы; е; у; ей; е;
|Ж; НЯ/ВЕЯ/НЬЯ/; ; 1; и; е; ю; ей; е;
|Ж; СЕСТРА/ССА/; ; 1; ы; е; у; ой; е;
|Ж; ДЕЛЬ/; ; 1; и; и; ь; ью; и;
|М; ГЛАВА/ШИНА/; ; 1; ы; е; у; ой; е;
|М; КАЛЬ/ГАЛЬ/ИТЕЛЬ/АТЕЛЬ/ОТЕЛЬ/ЕРЬ/; ; 1; я; ю; я; ем; е;
|М; АЧЕЙ/КЕЙ/ДЖЕЙ/; ; 1; я; ю; я; ем; е;
|М; ЛИСТ/; ; 0; а; у; а; ом; е;
|М; ЗНЕЦ/ТЕЦ/; ; 0; а; у; а; ом; е;
|М; АВЕЦ/ЕБЕЦ/ЕВЕЦ/ОВЕЦ/ЖЕЦ/РЕЦ/СЕЦ/НЕЦ/; ; 2; ца; цу; ца; цом; це;
|М; ОЕЦ/; ; 2; йца; йцу; йца; йцом; йце;
|М; ИЕЦ/; ; 2; йца; йцу; йца; йцем; йце;
|М; ПОСОЛ/; ; 2; ла; лу; ла; лом; ле;
|М; РЕЛОК/; ; 2; ка; ку; ка; ком; ке;
|М; РОНОМ/АНАТОМ/; ; 0; а; у; а; ом; е;
|М; ОРУБ/ДУВ/КЛАД/ВЕД/ЕВОД/ОВОД/ОХОД/ЛАЗ/ВАЛ/ДЕЛ/СОЛ/ОКОЛ/КОП/ВАР/ОПАР/ВЕС/МЕС/НОС/ТЕС/; ; 0; а; у; а; ом; е;
|М; ЛОПРАВ/ТОПРАВ/РИВОД/ЫБАК/ЕГАР/АТУР/ТРОС/ИЛОТ/ПЕРТ/НАСТ/НТЕРН/АТЛЕТ/ХОДОК/ГРОК/ОБОЛ/; ; 0; а; у; а; ом; е;
|М; РАБ/ТАВ/МАТ/ГОГ/ЛОГ/ПЕД/РОЖ/ЗАК/СУЛ/ОНАЛ/ЕРСАЛ/ЛЕН/МЕН/ЬОН/ОУН/; ; 0; а; у; а; ом; е;
|М; БАТ/ДАТ/КАТ/ПАТ/ТАТ/ЕКТ/ИСТ/ОСТ/АНТ/ГЕНТ/ДЕНТ/РЕНТ/СТЕНТ/ЦЕНТ/ОНТ/; ; 0; а; у; а; ом; е;
|М; НАР/САР/ТАР/ЦАР/ЧАР/АТР/ИТР/СТР/; ; 0; а; у; а; ом; е;
|М; АЕР/ВЕР/ГЕР/ДЕР/ЖЕР/ЗЕР/ЙЕР/КЕР/ЛЕР/НЕР/ПЕР/РЕР/СЕР/ХЕР/ЧЕР/ШЕР/ЮЕР/; ; 0; а; у; а; ом; е;
|М; ЕМЕР/ИМЕР/РМЕР/ЮМЕР/АЛЬЕР/ЕЛЬЕР/РЬЕР/ЁР/; ; 0; а; у; а; ом; е;
|М; ДИТЕР/КТЕР/ЛТЕР/ЙТЕР/НТЕР/ОТЕР/ПТЕР/СТЕР/УТЕР/ФТЕР/ХТЕР/; ; 0; а; у; а; ом; е;
|М; ДОР/ЗОР/ИОР/РОР/СОР/ТОР/ФОР/ЦОР/АТОР/ИТОР/КТОР/НТОР/; ; 0; а; у; а; ом; е;
|М; ВИК/ЗИК/МИК/НИК/ГРАФИК/ЧИК/ШИК/ЩИК/ИРИК/ОРИК/ТРИК/ГИСТИК/ТИСТИК/УСТИК/АТИК/ЕТИК/ИТИК/ПТИК/; ; 0; а; у; а; ом; е;
|М; ИВ/РГ/ИД/ЯК/АН/ГУН/ИР/ЭР/ЮР/ЯР/УС/ВТ/ЬТ/АФ/СОФ/ТУХ/ЮХ/АЧ/; ; 0; а; у; а; ом; е;";

_ПравилаЧ = //Числительное
//Род; Окончания; Тег; Обрезка; И; Р; Д; В; Т; П; О; Комментарий
"М; *ОДИН/*ОДНА/*ОДНО/; 1; 2; ин; ного; ному; ин; ним; ном; ного; Один
|С; *ОДИН/*ОДНА/*ОДНО/; 1; 2; но; ного; ному; но; ним; ном; ного; Одно
|Ж; *ОДИН/*ОДНА/*ОДНО/; 1; 2; на; ной; ной; ну; ной; ной; ну; Одна
|М; *ДВА/*ДВЕ/; 2; 1; а; ух; ум; а; умя; ух; ух; Два, Две
|С; *ДВА/*ДВЕ/; 2; 1; а; ух; ум; а; умя; ух; ух; Два, Две
|Ж; *ДВА/*ДВЕ/; 2; 1; е; ух; ум; е; умя; ух; ух; Два, Две
|; *ТРИ/; 2; 1; и; ех; ем; и; емя; ех; ех; Три
|; *ЧЕТЫРЕ/; 2; 1; е; ех; ем; е; ьмя; ех; ех; Четыре
|; *ВОСЕМЬ/; ; 3; емь; ьми; ьми; емь; емью; ьми; емь; Восемь
|; *ПЯТЬ/*ШЕСТЬ/*СЕМЬ/*ДЕВЯТЬ/*ДЕСЯТЬ/ДЦАТЬ/; ; 1; ь; и; и; ь; ью; и; ь; Пять, Шесть, Семь, Десять и др.
|; *СОРОК/; ; 0; ; а; а; ; а; а; ; Сорок
|; *ВОСЕМЬДЕСЯТ/; ; 8; емьдесят; ьмидесяти; ьмидесяти; емьдесят; емьюдесятью;ьмидесяти; емьдесят;Восемьдесят
|; ЬДЕСЯТ/; ; 6; ьдесят; идесяти; идесяти; ьдесят; ьюдесятью; идесяти; ьдесят; Пятьдесят и др.
|; *СТО/*ДЕВЯНОСТО/; ; 1; о; а; а; о; а; а; о; Девяносто, Сто
|; *ДВЕСТИ/; ; 4; ести; ухсот; умстам; ести; умястами; ухстах; ести; Двести
|; *ТРИСТА/; ; 4; иста; ехсот; емстам; иста; емястами; ехстах; иста; Триста
|; *ЧЕТЫРЕСТА/; ; 4; еста; ехсот; емстам; еста; ьмястами; ехстах; еста; Четыреста
|; *ВОСЕМЬСОТ/; ; 6; емьсот; ьмисот; ьмистам; емьсот; емьюстами; ьмистах; емьсот; Восемьсот
|; ЬСОТ/; ; 4; ьсот; исот; истам; ьсот; ьюстами; истах; ьсот; Пятьсот, Шестьсот, Семьсот, Девятьсот
|; *НОЛЬ/*НУЛЬ/; ; 1; ь; я; ю; ь; ем; е; ь; Ноль, Нуль
|М; 1/; 1; 0; -ин; -го; -му; -ин; -им; -ом; -го;
|С; 1/; 1; 0; -но; -го; -му; -ин; -им; -ом; -го;
|Ж; 1/; 1; 0; -на; -ой; -ой; -ну; -ой; -ой; -ну;
|М; 2/; 2; 0; -а; -ух; -ум; -а; -мя; -ух; -ух;
|С; 2/; 2; 0; -а; -ух; -ум; -а; -мя; -ух; -ух;
|Ж; 2/; 2; 0; -е; -ух; -ум; -е; -мя; -ух; -ух;
|; 3/; 2; 0; -и; -ех; -ем; -и; -мя; -ех; -ех;
|; 4/; 2; 0; -ре; -х; -ем; -ре; -мя; -ех; -ех;
|; 5/6/9/10/11/12/13/14/15/16/17/18/19/20/30/;; 0; -ть; -ти; -ти; -ть; -тью; -ти; -ть;
|; 7/8/; ; 0; -мь; -ми; -ми; -мь; -мью; -ми; -мь;
|; 40/; ; 0; -к; -ка; -ка; -к; -ка; -ка; -к;
|; 50/60/70/80/; ; 0; -т; -ти; -ти; -т; -тью; -ти; -т;
|; 90/; ; 0; -сто; -та; -та; -сто; -та; -та; -сто;
|; 100/; ; 0; ; -та; -та; ; -та; -та; ;
|; 200/; ; 0; -и; -сот; -стам; -и; -стами; -стах; -и;
|; 300/400/; ; 0; -а; -сот; -стам; -а; -стами; -стах; -а;
|; 500/600/700/800/900/; ; 0; -сот; -сот; -стам; -сот; -стами; -стах; -сот;
|; *0/; ; 0; -ль; -ля; -лю; -ль; -ем; -ле; -ль;
|; 0/; ; 0; ; ; ; ; ; ; ;";

_ПравилаВ = //Выражение
//Род; Окончания; Обрезка; И; Р; Д; В; Т; П; О;
"С; ЕНИЕ/; 1; е/я; я/й; ю/ям; е/я; ем/ями; и/ях; е/й;
//"Р" в колонке "Род" означает, слово родоизменяемое, и порядок окончания в списке определяет род слова
|Р; КИЙ/КАЯ/КОЕ/КИЕ/; 2; ий/ая/ое/ие; ого/ой/ого/их; ому/ой/ому/им; ий/ую/ое/ие; им/ой/им/ими; ом/ой/ом/их; ого/ую/ое/их;
|Р; НИЙ/НЯЯ/НЕЕ/НИЕ/; 2; ий/яя/ее/ие; его/ей/его/их; ему/ей/ему/им; ий/юю/ее/ие; им/ей/им/ими; ем/ей/ем/их; его/юю/ое/их;
|Р; ЩИЙ/ЩАЯ/ЩЕЕ/ЩИЕ/; 2; ий/ая/ее/ие; его/ей/его/их; ему/ей/ему/им; ий/ую/ее/ие; им/ей/им/ими; ем/ей/ем/их; его/ую/ое/их;
|Р; ШИЙ/ШАЯ/ШОЕ/ШИЕ/; 2; ий/ая/ее/ие; его/ей/его/их; ему/ей/ему/им; ий/ую/ее/ие; им/ей/им/ими; ем/ей/ем/их; его/ую/ое/их;
|Р; ЫЙ/АЯ/ОЕ/ЫЕ/; 2; ый/ая/ое/ые; ого/ой/ого/ых; ому/ой/ому/ым; ый/ую/ое/ые; ым/ой/ым/ыми; ом/ой/ом/ых; ого/ую/ое/ых;
|Р; ЧЕЛ/ЧЛА/ЧЛО/ЧЛИ/; 2; ел/ла/ло/ли; ел/ла/ло/ли; ел/ла/ло/ли; ел/ла/ло/ли; ел/ла/ло/ли; ел/ла/ло/ли; ел/ла/ло/ли;
|Р; АЛ/АЛА/АЛО/АЛИ/; 0111; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и;
|Р; ИЛ/ИЛА/ИЛО/ИЛИ/; 0111; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и;
|Р; ЕЛ/ЕЛА/ЕЛО/ЕЛИ/; 0111; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и; /а/о/и;
|Ж; *ТЫСЯЧА/*ТЫСЯЧИ/*ТЫСЯЧ/; 110; а/и; и/; е/ам; у/и; ей/ами; е/ах; у/и;
|М; ЛЛИОН/ЛЛИОНА/ЛЛИОНОВ/ЛЛИАРД/ЛЛИАРДА/ЛЛИАРДОВ/;012012; /ы; а/ов; у/ам; /ы; ом/ами; е/ах; /ы;
|; *САНКТ/*УСТЬ/*ЙОШКАР/*НА/; 0; /; /; /; /; /; /; /;
|; *СТЕРЛИНГОВ/; 0; /; /; /; /; /; /; /;
|М; ОВЕК/; 0; /и; а/; у/ам; а/; ом/ами; е/ах; а/;
|М; ЕЦ/; 2; ец/цы; ца/цов; цу/цам; ец/цы; цом/цами; це/цах; ца/цов;
|М; ЕНЬ/; 3; ень/ни; ня/ней; ню/ням; ень/ни; нем/нями; не/нях; ня/ней;
|М; ШОК/; 2; ок/ки; ка/ков; ку/кам; ок/ки; ком/ками; ке/ках; ка/ков;
|М; *ДОЛЛАР/*ДОЛЛАРА/*ДОЛЛАРОВ/; 012; /ы; а/ов; у/ам; /ы; ом/ами; е/ах; а/ов;
|М; ЦЕНТ/ЦЕНТА/ЦЕНТОВ/; 012; /ы; а/ов; у/ам; /ы; ом/ами; е/ах; а/ов;
|М; *РУБЛЬ/*РУБЛЯ/*РУБЛЕЙ/; 112; ь/и; я/ей; ю/ям; ь/и; ем/ями; е/ях; я/ей;
|Ж; *КОПЕЙКА/*КОПЕЙКИ/*КОПЕЕК/; 332; йка/йки; йки/ек; йке/йкам; йку/йки; йкой/йками; йке/йках; йку/ек;
|М; Б/В/Д/З/Л/М/Н/П/Р/С/Т/Ф/Ц/; 0; /ы; а/ов; у/ам; /ы; ом/ами; е/ах; а/ов;
|М; Г/К/Х/; 0; /и; а/ов; у/ам; /и; ом/ами; е/ах; а/ов;
|М; Ж/Ч/Ш/Щ/; 0; /и; а/ей; у/ам; /и; ем/ами; е/ах; а/ей;
|М; Й/; 1; й/и; я/ев; ю/ям; й/и; ем/ями; е/ях; я/ев;
|Ж; Ь/; 1; ь/и; и/ей; и/ям; ь/и; ью/ями; и/ях; и/ей;
|М; Ь/; 1; ь/и; я/ей; ю/ям; ь/и; ем/ями; е/ях; я/ей;
|Ж; ЛЯ/; 2; ля/ли; ли/ель; ле/лям; лю/ли; лей/лями; ле/лях; лю/ли;
|Ж; ХНЯ/; 2; ня/ни; ни/онь; не/ням; ню/ни; ней/нями; не/нях; ню/ни;
|Ж; РЯ/НЯ/; 1; я/и; и/ей; е/ям; ю/и; ей/ями; е/ях; ю/ей;
|Ж; СКА/МКА/НКА/; 2; ка/ки; ки/ок; ке/кам; ку/ки; кой/ками; ке/ках; ку/ок;
|Ж; ЖА/ЙА/ЧА/ША/ЩА/; 1; а/и; и/; е/ам; у/и; ей/ами; е/ах; у/;
|Ж; ГА/КА/ХА/; 1; а/и; и/; е/ам; у/и; ой/ами; е/ах; у/;
|Ж; ЦА/; 1; а/ы; ы/; е/ам; у/ы; ей/ами; е/ах; у/;
|Ж; ВНА/; 2; на/ны; ны/ен; не/нам; ну/ны; ной/нами; не/нах; ну/ен;
|Ж; А/; 1; а/ы; ы/; е/ам; у/ы; ой/ами; е/ах; у/;
|С; *ЕВРО/; 0; /; /; /; /; /; /; /;
|С; КО/; 1; о/а; а/ов; у/ам; о/а; ом/ами; е/ах; о/;
|С; О/; 1; о/а; а/; у/ам; о/а; ом/ами; е/ах; о/;
|С; Е/; 1; е/я; я/й; ю/ям; е/я; ем/ями; и/ях; е/й; ";

_Параметр0 = _Выражение;
_Параметр1 = _Падеж;
_Параметр2 = _Род;
_Параметр3 = _Режим;
_Параметр4 = _ФорматнаяСтрока;

Если _Параметр0 = "_РазделитьСтроку" Тогда

_ПозРазделителя = Найти(_Параметр1, _Параметр2); _Режим = Сред(_Параметр1, _ПозРазделителя + СтрДлина(_Параметр2)); Возврат Лев(_Параметр1, _ПозРазделителя - 1);

ИначеЕсли _Параметр0 = "_ВМассивБезРазделителей" Тогда

_МассивСтрок = Новый Массив(); Пока ИСТИНА Цикл _Поз = Найти(_Параметр1, _Параметр2); Если _Поз = 0 Тогда _МассивСтрок.Добавить(_Параметр1); Возврат _МассивСтрок; КонецЕсли; _МассивСтрок.Добавить(СокрЛП(Лев(_Параметр1, _Поз - 1))); _Параметр1 = СокрЛП(Сред(_Параметр1, _Поз + СтрДлина(_Параметр2))); КонецЦикла; Возврат _МассивСтрок;

ИначеЕсли _Параметр0 = "_ВМассивСРазделителями" Тогда

_МассивСтрок = Новый Массив(); _КолРазделителей = СтрДлина(_Параметр2); Пока ИСТИНА Цикл _МинПозРазделителя = 10000; Для _ИндРазделителя = 1 По _КолРазделителей Цикл _ПозРазделителя = Найти(_Параметр1, Сред(_Параметр2, _ИндРазделителя, 1)); Если _ПозРазделителя > 0 Тогда _МинПозРазделителя = Мин(_МинПозРазделителя, _ПозРазделителя); КонецЕсли; КонецЦикла; Если _МинПозРазделителя = 10000 Тогда _МассивСтрок.Добавить(_Параметр1); Возврат _МассивСтрок; КонецЕсли; _МассивСтрок.Добавить(Лев(_Параметр1, _МинПозРазделителя - 1)); Для _Поз = _МинПозРазделителя По СтрДлина(_Параметр1) + 1 Цикл _ТекСимвол = Сред(_Параметр1, _Поз, 1); Если Найти(_Параметр2, _ТекСимвол) = 0 ИЛИ _Поз = СтрДлина(_Параметр1) + 1 Тогда _МассивСтрок.Добавить(Сред(_Параметр1, _МинПозРазделителя, _Поз - _МинПозРазделителя)); _Параметр1 = Сред(_Параметр1, _Поз); Прервать; КонецЕсли; КонецЦикла; КонецЦикла;

ИначеЕсли _Параметр0 = "_ПривестиПоДлинеИРегистру" Тогда

_ИсходнаяСтрока = _Параметр1;
_Образец = _Параметр2;

_Результат = ?(Лев(_Образец, 1) = "-", Лев(_ИсходнаяСтрока, 1), ?(Лев(_Образец, 1) <> НРег(Лев(_Образец, 1)), ВРег(Лев(_ИсходнаяСтрока, 1)), НРег(Лев(_ИсходнаяСтрока, 1))));
Если НЕ Сред(_Образец, 2, 1) = "" Тогда
_Результат = _Результат + ?(Сред(_Образец, 2, 1) = "-", Сред(_ИсходнаяСтрока, 2), ?(Сред(_Образец, 2, 1) <> НРег(Сред(_Образец, 2, 1)), ВРег(Сред(_ИсходнаяСтрока, 2)), НРег(Сред(_ИсходнаяСтрока, 2))));
КонецЕсли;

Возврат _Результат;

ИначеЕсли _Параметр0 = "_ПросклонятьСлово" Тогда

_СтрокаСлово = _Параметр3;

Если _СтрокаСлово.Склонение = "-" ИЛИ _СтрокаСлово.Склонение = "!" Тогда
Возврат "";
КонецЕсли;

_ИсходнаяСтрока = _СтрокаСлово.Значение;
_Метод = ?(Найти("ФИО", _СтрокаСлово.Субметод) > 0, "ФИО", _СтрокаСлово.Субметод);
_СтрокаПадежи = ?(Найти("ЧВ", _Метод) > 0, "ИРДВТПО", "РДВТП");

_ПраваяЧасть = "";

_ТаблицаПравила = Вычислить("_Правила" + _СтрокаСлово.Субметод);
Для _НомСтр = 1 По СтрЧислоСтрок(_ТаблицаПравила) Цикл

_СтрокаПравила = СтрПолучитьСтроку(_ТаблицаПравила, _НомСтр);

Если Найти(_СтрокаПравила, ВРег(Прав(_ИсходнаяСтрока, 1)) + "/") = 0 Тогда Продолжить; КонецЕсли;

_РодПравила = СокрЛП(daСклонение("_РазделитьСтроку", _СтрокаПравила, ";", _ПраваяЧасть));
Если (Найти(" МЖС", _Род) > 1 И НЕ ПустаяСтрока(_РодПравила) И Найти(_РодПравила, _Род) = 0 И _РодПравила <> "Р") Тогда Продолжить; КонецЕсли;

_ЛеваяЧасть = daСклонение("_РазделитьСтроку", _ПраваяЧасть, ";", _ПраваяЧасть);
_МассивОкончания = daСклонение("_ВМассивБезРазделителей", СокрЛП(_ЛеваяЧасть), "/");
Для _Инд = 0 По _МассивОкончания.ВГраница() - 1 Цикл

_СтрокаОкончание = _МассивОкончания[_Инд];

Если НЕ ((ВРег(Прав(_ИсходнаяСтрока, СтрДлина(_СтрокаОкончание))) = ВРег(_СтрокаОкончание))
ИЛИ (Лев(_СтрокаОкончание, 1) = "*" И ВРег(_ИсходнаяСтрока) = ВРег(Сред(_СтрокаОкончание, 2)))
ИЛИ (Лев(_СтрокаОкончание, 1) = "+" И ВРег(Прав(_ИсходнаяСтрока, СтрДлина(_СтрокаОкончание) - 1)) = Сред(ВРег(_СтрокаОкончание), 2) И _СтрокаСлово.Тег = "Н")) Тогда
Продолжить;
КонецЕсли;

Если _Метод = "Д" ИЛИ _Метод = "Ч" Тогда
_ТегПравило = СокрЛП(daСклонение("_РазделитьСтроку", _ПраваяЧасть, ";", _ПраваяЧасть));
_ТегПравило = ?(_Метод = "Ч" И СтрДлина(_ТегПравило) = 0, Сред("51222", Найти("1234", Прав(_ИсходнаяСтрока, 1)) + 1, 1), _ТегПравило);

Если СтрДлина(_ТегПравило) > 0 И ПустаяСтрока(_СтрокаСлово.Тег) Тогда
_СтрокаСлово.Тег = _ТегПравило;
_СтрокаСлово.Склонение = ?(_ТегПравило = "П", "!", _СтрокаСлово.Склонение);
Возврат "";
КонецЕсли;
КонецЕсли;

Если _РодПравила = "Р" Тогда
_РодНайденный = Сред("МЖСН", _Инд + 1, 1);
_СтрокаСлово.Тег = "Р";
Иначе
_РодНайденный = ?(СтрДлина(_РодПравила) = 1, _РодПравила, "");
КонецЕсли;

_СтрокаСлово.Род = _РодНайденный;

Если _Метод = "ФИО" И ПустаяСтрока(_Род) И ПустаяСтрока(_РодНайденный) Тогда
Возврат "";
КонецЕсли;

Если _Метод = "В" И _СтрокаСлово.Склонение = "?" Тогда
_СтрокаСлово.Склонение = "";
Возврат "";
КонецЕсли;

Если Найти(_СтрокаПадежи, _Падеж) = 0 Тогда
_СтрокаСлово.Склонение = "!";
Возврат "";
КонецЕсли;

_Обрезка = СокрЛП(daСклонение("_РазделитьСтроку", _ПраваяЧасть, ";", _ПраваяЧасть));
_Обрезка = Число(?(СтрДлина(_Обрезка) = 1, _Обрезка, Сред(_Обрезка, _Инд + 1, 1)));

_МассивСклонения = daСклонение("_ВМассивБезРазделителей", СокрЛП(_ПраваяЧасть), ";");
_Окончание = СокрЛП(_МассивСклонения[Найти(_СтрокаПадежи, _Падеж) - 1]);
Если _Метод = "В" Тогда
_МассивОкончания = daСклонение("_ВМассивБезРазделителей", _Окончание, "/");
_ИндОкончания = Число(Сред(?(_РодПравила = "Р", "00123", "00001"), Найти("МЖСН", ?(ПустаяСтрока(_Род), _РодНайденный, _Род)) + 1, 1));
_Окончание = _МассивОкончания[_ИндОкончания];
КонецЕсли;
_СтрокаСлово.Значение = Лев(_ИсходнаяСтрока, СтрДлина(_ИсходнаяСтрока) - _Обрезка) + daСклонение("_ПривестиПоДлинеИРегистру", _Окончание, Прав(_ИсходнаяСтрока, 1) + Прав(_ИсходнаяСтрока, 1));
_СтрокаСлово.Склонение = "!";
Возврат "";

КонецЦикла;

КонецЦикла;

Если _Метод = "Ч" Тогда
_СтрокаСлово.Субметод = "В";
_СтрокаСлово.Склонение = "?";
Возврат daСклонение("_ПросклонятьСлово", _Падеж, "", _СтрокаСлово);
Иначе
_СтрокаСлово.Склонение = "!";
Возврат "";
КонецЕсли;

ИначеЕсли _Параметр0 = "_ПроверкаТипов" Тогда

_ИсходнаяСтрока = _Параметр1;

_СтруктураТипы = Новый Структура("ЕстьЦифры, ЕстьНеЦифры, ЕстьВРег, ЕстьНРег, Аббревиатура", Ложь, Ложь, Ложь, Ложь, Ложь);
_СтрокаЦифры = "0123456789";
_СтрокаЦифрыИРазделители = "0123456789. ";
_КолНРег = 0;

Для _Поз = 1 По СтрДлина(_ИсходнаяСтрока) Цикл
_ТекСимвол = Сред(_ИсходнаяСтрока, _Поз, 1);
_СтруктураТипы.ЕстьЦифры = _СтруктураТипы.ЕстьЦифры ИЛИ Найти(_СтрокаЦифры, _ТекСимвол) > 0;
_СтруктураТипы.ЕстьНеЦифры = _СтруктураТипы.ЕстьНеЦифры ИЛИ Найти(_СтрокаЦифрыИРазделители, _ТекСимвол) = 0;
_СтруктураТипы.ЕстьВРег = _СтруктураТипы.ЕстьВРег ИЛИ _ТекСимвол <> НРег(_ТекСимвол);
_СтруктураТипы.ЕстьНРег = _СтруктураТипы.ЕстьНРег ИЛИ _ТекСимвол <> ВРег(_ТекСимвол);
_КолНРег = _КолНРег + (_ТекСимвол <> ВРег(_ТекСимвол));
КонецЦикла;

_СтруктураТипы.Аббревиатура = _СтруктураТипы.ЕстьНеЦифры И (_КолНРег < Макс(СтрДлина(_ИсходнаяСтрока) - 1, 2) ИЛИ _СтруктураТипы.ЕстьЦифры);

Возврат _СтруктураТипы;

ИначеЕсли _Параметр0 = "?" Тогда

Возврат _Версия;

КонецЕсли;

_РежимЗапуска = ?(ПустаяСтрока(_Режим), "ФИО", ВРег(СокрЛП(_Режим)));

Если Найти("ФИО", Лев(_РежимЗапуска, 1)) > 0 Тогда
_РегистрыШаблона = Новый Структура("ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, Ф, И, О", , , , "--", "--", "--");
_Метод = "ФИО";
ИначеЕсли Найти("ДЧВ", _РежимЗапуска) > 0 Тогда
_РегистрыШаблона = Новый Структура("А, Б, В, Г", "-", "-", "-", "-");
_Метод = _РежимЗапуска;
Иначе
Возврат "<неправильный режим!!!>";
КонецЕсли;
_Разделители = " -+.,()/""";

_МакросИзШаблона = _ФорматнаяСтрока;
Если НЕ ПустаяСтрока(_ФорматнаяСтрока) Тогда

Для Каждого _ЭлементРегистрыШаблона Из _РегистрыШаблона Цикл
_Поз = Найти(ВРег(_МакросИзШаблона), _ЭлементРегистрыШаблона.Ключ);
Если _Поз = 0 Тогда
Продолжить;
КонецЕсли;

_СимволМакроса = Лев(_ЭлементРегистрыШаблона.Ключ, 1);
_НайденныйШаблон = Сред(_МакросИзШаблона, _Поз, СтрДлина(_ЭлементРегистрыШаблона.Ключ));
_РегистрыШаблона[_СимволМакроса] = _НайденныйШаблон;

Если _Метод = "ФИО" Тогда
_ПриведенныйМакрос = "%" + Найти("ФИО", _СимволМакроса);
_МакросИзШаблона = СтрЗаменить(_МакросИзШаблона, _НайденныйШаблон, _ПриведенныйМакрос);
КонецЕсли;
КонецЦикла;

Если _Метод = "ФИО" Тогда
Для _Ном = 1 По 3 Цикл
_МакросИзШаблона = СтрЗаменить(_МакросИзШаблона, "%" + _Ном, "%" + Сред("ФИО", _Ном, 1));
КонецЦикла;
КонецЕсли;

КонецЕсли;

_ТаблицаСлова = Новый ТаблицаЗначений;
_ТаблицаСлова.Колонки.Добавить("Значение");
_ТаблицаСлова.Колонки.Добавить("Субметод");
_ТаблицаСлова.Колонки.Добавить("Род");
_ТаблицаСлова.Колонки.Добавить("Тег");
_ТаблицаСлова.Колонки.Добавить("Регистр");
_ТаблицаСлова.Колонки.Добавить("Склонение");
_ТаблицаСлова.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число"));

_ПадежИтоговый = Сред("ИИРДВТПОИРДВТПО", Найти("ИРДВТПО1234567", ВРег(_Падеж)) + 1, 1);
_РодИтоговый = СокрЛП(Сред(" МЖСНМЖСН", Найти("?МЖСН1234", ВРег(_Род)) + 1, 1));
_МакросПоУмолчанию = "";
_ПозШаблонВход = 1;
_ПозЧастиСтроки = 0;
_СоставноеСлово = Ложь;
_РодСклонения = ?(_Метод = "Ч", "", _РодИтоговый);

_МассивЧастиСтроки = daСклонение("_ВМассивСРазделителями", _Выражение, _Разделители);
Пока _ПозЧастиСтроки <= _МассивЧастиСтроки.ВГраница() Цикл

_ЧастьСтроки = _МассивЧастиСтроки[_ПозЧастиСтроки];

Если _Метод = "ФИО" И НЕ ПустаяСтрока(_МакросИзШаблона) И Лев(_ЧастьСтроки, 1) = "." И _ТаблицаСлова.Количество() > 0 И СтрДлина(_ТаблицаСлова[_ТаблицаСлова.Количество() - 1].Регистр) > 1 Тогда
_ТаблицаСлова[_ТаблицаСлова.Количество() - 1].Тег = ".";
КонецЕсли;

Если Найти(_Разделители, Лев(_ЧастьСтроки, 1)) > 0 ИЛИ (_Метод = "ФИО" И _ПозШаблонВход > СтрДлина(_РежимЗапуска)) Тогда
_МакросПоУмолчанию = _МакросПоУмолчанию + ?(_СоставноеСлово, "", _ЧастьСтроки);
Иначе
_СтрокаСлово = _ТаблицаСлова.Добавить();

Если Лев(_ЧастьСтроки, 1) = "\" Тогда
_ЧастьСтроки = Сред(_ЧастьСтроки, 2);
_СтрокаСлово.Склонение = "-";
ИначеЕсли Лев(_ЧастьСтроки, 1) = "^" Тогда
_ЧастьСтроки = Сред(_ЧастьСтроки, 2);
_СтрокаСлово.Склонение = "+";
КонецЕсли;

_СтруктураТипы = daСклонение("_ПроверкаТипов", _ЧастьСтроки);

Если _Метод = "Ч" И _СтрокаСлово.Склонение <> "-" И _СтрокаСлово.Склонение <> "+" И _СтруктураТипы.ЕстьЦифры И НЕ _СтруктураТипы.ЕстьНеЦифры Тогда
_МассивЧастиСубСтроки = daСклонение("_ВМассивСРазделителями", СокрЛП(ЧислоПрописью(_ЧастьСтроки, "Л = ru_RU", ",,,,,,,,0")), " ");
_МассивЧастиСтроки.Удалить(_ПозЧастиСтроки);
Для _ПозЧастиСубСтроки = 0 По _МассивЧастиСубСтроки.ВГраница() Цикл
_МассивЧастиСтроки.Вставить(_ПозЧастиСтроки, _МассивЧастиСубСтроки[_МассивЧастиСубСтроки.ВГраница() - _ПозЧастиСубСтроки]);
КонецЦикла;
_ЧастьСтроки = _МассивЧастиСтроки[_ПозЧастиСтроки];
КонецЕсли;

Если СтрДлина(_ЧастьСтроки) <= 1 И НЕ _СтруктураТипы.ЕстьЦифры Тогда
_СтрокаСлово.Склонение = "-";
КонецЕсли;
_СтрокаСлово.Значение = _ЧастьСтроки;

Если _Метод = "ФИО" Тогда
Если _ПозЧастиСтроки <= _МассивЧастиСтроки.ВГраница() - 2 И _МассивЧастиСтроки[_ПозЧастиСтроки + 1] = "-" Тогда
_СтрокаСлово.Тег = "Н";
_СоставноеСлово = Истина;
Иначе
_СоставноеСлово = Ложь;
КонецЕсли;
_СимволМакроса = Сред(_РежимЗапуска, _ПозШаблонВход, 1);
_СтрокаСлово.Регистр = _РегистрыШаблона[_СимволМакроса];
_СтрокаСлово.Субметод = Сред(_РежимЗапуска, _ПозШаблонВход, 1);
_СтрокаСлово.Порядок = Найти("ОФИ", _СтрокаСлово.Субметод) * 100 + _ПозЧастиСтроки;
Иначе
_СтрокаСлово.Субметод = _Метод;
_СимволМакроса = "С" + Формат(_ПозШаблонВход, "ЧЦ=2; ЧВН=");

Если _Метод = "Ч" И ((_ПозЧастиСтроки + 1 <= _МассивЧастиСтроки.ВГраница() И Найти("/-.", Лев(_МассивЧастиСтроки[_ПозЧастиСтроки + 1], 1)) > 0)
ИЛИ (_ПозЧастиСтроки - 1 >= 0 И Найти("/-.", Лев(_МассивЧастиСтроки[_ПозЧастиСтроки - 1], 1)) > 0)) Тогда
_СтруктураТипы.Аббревиатура = Истина;
КонецЕсли;

Если _СтруктураТипы.Аббревиатура Тогда
_СтрокаСлово.Регистр = _РегистрыШаблона.Г + _РегистрыШаблона.Г;
_СтрокаСлово.Склонение = "-";
Иначе
_СтрокаСлово.Регистр = ?(_ПозШаблонВход = 1, _РегистрыШаблона.А, _РегистрыШаблона.Б) + _РегистрыШаблона.В;
КонецЕсли;

daСклонение("_ПросклонятьСлово", _ПадежИтоговый, _РодСклонения, _СтрокаСлово);
КонецЕсли;

Если НЕ _СоставноеСлово Тогда
_ПозШаблонВход = _ПозШаблонВход + 1;
_МакросПоУмолчанию = _МакросПоУмолчанию + "%" + _СимволМакроса;
КонецЕсли;

КонецЕсли;

_ПозЧастиСтроки = _ПозЧастиСтроки + 1;

КонецЦикла;

_МакросИзШаблона = ?(_Метод = "ФИО" И НЕ ПустаяСтрока(_МакросИзШаблона), _МакросИзШаблона, _МакросПоУмолчанию);

Если _Метод = "ФИО" Тогда
Пока _ПозШаблонВход <= СтрДлина(_РежимЗапуска) Цикл
_СтрокаСлово = _ТаблицаСлова.Добавить();
_СтрокаСлово.Субметод = Сред(_РежимЗапуска, _ПозШаблонВход, 1);
_СтрокаСлово.Склонение = "-";
_ПозШаблонВход = _ПозШаблонВход + 1;
КонецЦикла;
_ТаблицаСлова.Сортировать("Порядок");
КонецЕсли;

_РодНайденный = "";

Для Каждого _СтрокаСлово Из _ТаблицаСлова Цикл

_ПадежСклонения = _ПадежИтоговый;

Если _СтрокаСлово.Субметод = "Ч" Тогда

_СледИндекс = _ТаблицаСлова.Индекс(_СтрокаСлово) + 1;
_РодСклонения = _РодИтоговый;
Если _СледИндекс <= _ТаблицаСлова.Количество() - 1 И НЕ ПустаяСтрока(_ТаблицаСлова[_СледИндекс].Род) Тогда
_РодСклонения = _ТаблицаСлова[_СледИндекс].Род;
КонецЕсли;

ИначеЕсли _СтрокаСлово.Субметод = "В" Тогда

_ТипСклонения = "";
_ПредИндекс = _ТаблицаСлова.Индекс(_СтрокаСлово) - 1;
Пока ИСТИНА Цикл
Если _ПредИндекс < 0 Тогда
Прервать;
ИначеЕсли _ТаблицаСлова[_ПредИндекс].Субметод = "Ч" Тогда
_ТипСклонения = _ТаблицаСлова[_ПредИндекс].Тег;
Прервать;
Иначе
_ПредИндекс = _ПредИндекс - 1;
КонецЕсли;
КонецЦикла;

Если _ТипСклонения = "1" Тогда
_РодСклонения = "";
_ПадежСклонения = _ПадежИтоговый;
ИначеЕсли _ТипСклонения = "2" Тогда
Если Найти("ИВ", _ПадежИтоговый) > 0 Тогда
_РодСклонения = ?(_СтрокаСлово.Тег = "Р", "Н", "");
_ПадежСклонения = "Р";
Иначе
_РодСклонения = "Н";
_ПадежСклонения = _ПадежИтоговый;
КонецЕсли;
ИначеЕсли _ТипСклонения = "5" Тогда
Если Найти("ИВ", _ПадежИтоговый) > 0 Тогда
_РодСклонения = "Н";
_ПадежСклонения = "Р";
Иначе
_РодСклонения = "Н";
_ПадежСклонения = _ПадежИтоговый;
КонецЕсли;
Иначе
_РодСклонения = _СтрокаСлово.Род;
_ПадежСклонения = _ПадежИтоговый;
КонецЕсли;

ИначеЕсли _СтрокаСлово.Субметод = "Д" И _СтрокаСлово.Тег = "К" Тогда

_ТекИндекс = _ТаблицаСлова.Индекс(_СтрокаСлово);
Пока ИСТИНА Цикл
_СледИндекс = _ТекИндекс + 1;
Если _ТекИндекс + 1 > _ТаблицаСлова.Количество() - 1 ИЛИ ПустаяСтрока(_ТаблицаСлова[_ТекИндекс + 1].Тег) Тогда
Прервать;
Иначе
Если _ТаблицаСлова[_СледИндекс].Тег = "П" Тогда
_СтрокаСлово.Склонение = "-";
Прервать;
КонецЕсли;
_ТекИндекс = _ТекИндекс + 1;
КонецЕсли;
КонецЦикла;

КонецЕсли;

daСклонение("_ПросклонятьСлово", _ПадежСклонения, _РодСклонения, _СтрокаСлово);

_РодНайденный = ?(НЕ ПустаяСтрока(_СтрокаСлово.Род), _СтрокаСлово.Род, _РодНайденный);
_РодСклонения = ?(_Метод = "ФИО" И НЕ ПустаяСтрока(_РодНайденный), _РодНайденный, _РодСклонения);

КонецЦикла;

Если _Род = "?" Тогда
_Род = ?(ПустаяСтрока(_РодНайденный), "?", _РодНайденный);
КонецЕсли;

_РодИтоговый = ?(ПустаяСтрока(_РодИтоговый), ?(ПустаяСтрока(_РодНайденный), "М", _РодНайденный), _РодИтоговый);
_РезультатСклонения = "";

Для Каждого _СтрокаСлово Из _ТаблицаСлова Цикл

daСклонение("_ПросклонятьСлово", _ПадежИтоговый, _РодИтоговый, _СтрокаСлово);
_СтрокаСлово.Значение = daСклонение("_ПривестиПоДлинеИРегистру", _СтрокаСлово.Значение, _СтрокаСлово.Регистр);

Если _СтрокаСлово.Тег = "Н" Тогда
_РезультатСклонения = _РезультатСклонения + _СтрокаСлово.Значение + "-";
Продолжить;
КонецЕсли;

_РезультатСклонения = _РезультатСклонения + _СтрокаСлово.Значение;

Если _Метод = "ФИО" Тогда
_ЭлементШаблона = "%" + _СтрокаСлово.Субметод;
Если НЕ ЗначениеЗаполнено(_СтрокаСлово.Значение) Тогда
_Поз = Найти(_МакросИзШаблона, _ЭлементШаблона);
_ЭлементШаблона = ?(_Поз > 1 И Сред(_МакросИзШаблона, _Поз - 1, 1) = " ", " ", "") + _ЭлементШаблона + ?(_Поз <> 0 И Сред(_МакросИзШаблона, _Поз + 2, 1) = ".", ".", "");
КонецЕсли;
_РезультатСклонения = _РезультатСклонения + _СтрокаСлово.Тег;
Иначе
_ЭлементШаблона = "%С" + Формат(_ТаблицаСлова.Индекс(_СтрокаСлово) + 1, "ЧЦ=2; ЧВН=");
КонецЕсли;

_МакросИзШаблона = СтрЗаменить(_МакросИзШаблона, _ЭлементШаблона, _РезультатСклонения);

_РезультатСклонения = "";

КонецЦикла;

Возврат _МакросИзШаблона;

КонецФункции


Акт сверки расчетов с контрагентом для БП 3.0 1С: Предприятие 8.3

Краткое описание

Форма данного отчета полностью повторяет форму документа "Акт сверки расчетов с контрагентом".

Отчет предназначен для проведения сверки взаиморасчетов организации с контрагентами для пользователей с правами доступа "Только просмотр", данные отчета не хранятся в базе.

Сверка взаиморасчетов может быть проведена по всем договорам с контрагентом или по конкретному договору. Сверка проводится за определенный период. Сверку можно производить как в рублях, так и в иностранной валюте. Счета учета расчетов, по которым проводится сверка, можно задать самостоятельно.

Печатные формы

Для отчета Акт сверки расчетов предусмотрены следующие печатные формы (с возможностью предварительного просмотра перед печатью, редактирование, сохранение и отправка по электронной почте):

Акт сверки
Акт сверки (подпись и печать)
Письмо об оплате задолженности
Письмо об оплате задолженности (подпись и печать)

По команде меню "Акт сверки (подпись и печать)" выводится печатная форма, содержащая факсимильную подпись представителя организации и печать организации. Факсимильные подписи и печать настраиваются в группе Логотип и печать в форме Организации.

Есть возможность изменять макет.

P.S.: Добавлено поле "Дата", по которой берутся сведение об организации и контрагенте и их ответственных лицах.
"Универсальный передаточный документ (УПД) для документа ""Поступление товаров и услуг"" для УТ 10.3" 1C:Предприятие 8

Краткое описание

За основу взята печатная форма //infostart.ru/public/286454/ - и перепилена под УТ10.3.

Тестировано на 10.3.23.3
Товарно-транспортная накладная (1-Т) для Бухгалтерии Предприятия 3.0 с заполнением без изменения конфигурации Платформа 1С v8.x (все механизмы)

Краткое описание

В обработке использован встроенный в БП механизм дополнительных сведений, который позволяет в каждой накладной сохранять водителя (из справочника физ.лиц), автомобиль (по шаблону: марка / госномер) и краткое наименование груза из справочника номенклатурных групп). Остальные данные для накладной берутся из базы при корректно заполненной информации.


В архиве:

Иностранные банки и иностранные расчетные счета (буквы в расчетных счетах и БИК) Платформа 1С v8.x (все механизмы)

Краткое описание

Обработку необходимо зарегестрировать в Дополнительных обработках или запускать через Файл-ОТкрыть.

В обработке продублирован стандартный механизм ввода банка и расчетного счета, но убрана проверка на наличие только цифр в БИКе и Номере счета. Это позволяет используя типовые справочники вводить расчетные счета, например, Казахстанским контрагентам.
Перенос документов из 1С 8.2 (упр.формы) в 1С 7.7 через OLE 1C: Предприятие 8.2

Краткое описание

Столкнулся с задачей перенести документы из 1С 8.2 (упр.формы) в 1С 7.7 посредством OLE. Ничего дельного не нашел. Пришлось писать.

Обработка "Перенос документов в бухгалтерию" позволяет перенести приходные накладные в Бухгалтерию 1С 7.7.

Для переноса документов необходимо указать период, за который необходимо перенести документы: дату начала и дату конца (переносятся только проведенные документы)

Затем нажать на кнопку "Перенести". После переноса пользователю будет выдано сообщение об успешном переносе.

Все данные переносятся сразу в базу приемник путем создания документов.

Обработка переносит все данные из табличной части документа (источника) в табличную часть документа (приемника).

Путь к базе (приемника), логин и пароль, прописываются внутри обработки, в процедуре подключения.

Поиск элементов справочников происходит по наименованию. Если таких элементов нет, тогда они создаются
Анимация фона элементов на форме в стиле JQuery 1С: Предприятие 8.3

Краткое описание

Вот, например, как привлечь внимание пользователя к полю, которое изменилось в результате правки пользователем другого элемента?
Можно штатно выкинуть сообщение и привязать к полю, но лично у меня это вызывает негативную эмоцию вида "Что там еще за ошибка?".
А можно ненавязчиво подсветить фоном, который "вспыхнет и погаснет". Мол, глянь-ка сюда.
Собственно, далее реализация через ОбработчикОповещения.

&НаКлиенте
Перем ИмяПоля;


// фон поля меняется от желтого к безцветному
// запуск анимации СменаЦветаФона("Итого",Истина);
// ИмяЭлемента - строка с названием анимируемого элемента
// Старт - булево. Истина - начинаем анимацию, Ложь - продолжаем анимацию
&НаКлиенте
Процедура СменаЦветаФона(ИмяЭлемента,Старт=Ложь,ВызвавшаяФункция="АнимацияПоля")
ИмяПоля = ИмяЭлемента;
Элемент = Элементы.Найти(ИмяПоля);
Скорость = 3; // 1-5
Если Старт = Ложь Тогда
Синий = Элемент.ЦветФона.Синий;
Синий = Синий+255/(7-Скорость);
Иначе
Синий = 0;
КонецЕсли;

Если Синий >= 255 Тогда
Элемент.ЦветФона = Новый Цвет();
Возврат;
КонецЕсли;
Цвет = Новый Цвет(255, 255, Синий);
Элемент.ЦветФона = Цвет;
ПодключитьОбработчикОжидания(ВызвавшаяФункция, 0.1, Истина);

КонецПроцедуры

// вызывается из обработчика ожидания
&НаКлиенте
Процедура АнимацияПоля()
СменаЦветаФона(ИмяПоля,Ложь);
КонецПроцедуры


В архиве прилагается:
- Обработка, которая иллюстрирует код, описанный выше.
- Более "продвинутая" обработка с установкой произвольного цвета фона, с возможностью подсвечивать сразу несколько элементов.
Проверка контрагентов через сервис ФНС (npchk.nalog.ru) 1C:Предприятие 7.7

Краткое описание

Легко добавить свои варианты заполнения и вывода результата.
Предварительная проверка корректности ИНН и КПП.

Ограничения: не обрабатывает больше 10000 строк в запросе.

История версий:

Версия
Поиск и замена дублирующихся элементов расширенный Платформа 1С v8.x (все механизмы)

Краткое описание

На первой странице обработки " Настройки поиска дублирующихся элементов" в шапке заполняются реквизиты поиска. Первый реквизит представление справочника последующие реквизиты этого справочника по совокуности которых будут сформированы группы с дублирующимися реквизитами. Поиск по ряду дублирующихся реквизитов реализован мною только в режиме поиска " По равному значению реквизита". Изменение режима поиска становится доступным при очистке  значения поля справочник. Выбрав режим поиска, справочники и реквизиты для поиска (от 1 до 5) формируем группы дублей элементов нажав на  кнопку "Найти дубли". 

На странице обработки "Результаты поиска дублирующихся элементов"  показываются результаты поиска. В первой колонке табличного поля наименования групп с названиями сгенерированные из имен реквизитов группы. Во второй количество элементов группы.  При выборе произвольной группы в верхнем списке в нижнем табличном поле появляется перечень элементов выбранной группы со свойствами этих элементов. Для нижнего поля как и для любой таблицы платформ версии 1СV8 возможно изменения набора полей из контестного меню "Настройка списка"(вызывается форма "Настройка списка")  . Для указания какой элемент группы указать правильным  нужно его выделить и затем нажать на кнопку командной панели табличного поля "Указать правильный".  После указания правильного нужно нажать на на кнопку "Выполнить замену."  После обработки в группе останется только один элемент а все ссылки на на другие элементы будут заменены правильным.

На командной панели верхнего табличного поля списка групп имеются также две кнопки для автоматической обработки всего списка групп, но к сожалению есть некоторые недостатки. При использовании этого метода автоматически выбирается первый элемент имя которого возможно не понравится Вашему бухгалтеру кототорый нередко пытается в имени максимально отразить тему элемента т к не владеет механизмами отбора (например наим договора). Второе нужна обработка которая здесь не приводится, но достаточна проста. Она разбивает элементы на группы и помечает все элементы на удаление кроме первого в списке каждой группы.  

При нажатии на кнопку "Перенос на помеч ложь" происходит указание в качестве правильного непомеченного на удаление элемента. При нажатии на кнопку замена во всех группах инициирует процесс замены.  Еще одним недостатком групповой замены является то что возможно нужно будет произвести несколько итераций и в некоторых уже немногочисленных группах указать правильный элемент вручную.
Уведомление о заключении трудового договора с иностранным гражданином. Внешняя печатная форма для ЗУП 2.5 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма для ФМС, предназначена для конфигурации "Зарплата и Управление Персоналом" редации 2.5.

Подключается в режиме 1С Предприятие: Сервис / Дополнительные отчеты и обработки / Внешние печатные формы. Там добавить новый элемент и загрузить обработку при помощи кнопки "Загрузить файл внешней обработки". Форма автоматически предложит зарегистрироваться в справочнике сотрудников. Соглашайтесь.

Пользоваться печатной формой можно из формы элемента справочника сотрудников (кнопка "Печать"). После нажатия нужно указать путь и имя файла, по которым будет создан xls-файл с готовым уведомлением.
МегаКонсоль запросов 8.3 @AlexxSys Платформа 1С v8.x (все механизмы)

Краткое описание

Основной причиной, которая побудила сделать существенные доработки - это и нехватка функционала, и очень неудобно реализованный интерфейс (панель параметров на отдельной вкладке, ненужные скролы, кнопки управления запросом непойми где находятся и т.д.). А так как консоль запросов - это один из основных инструментов программиста, как при реализации, так и при отлаживании и при разборе полетов у клиентов, то пришлось вложиться с "душой".

 

Преимущества:

- Встроен механизм вызова конструктора запросов.

- Встроен механизм, формирующий структуру конфигурации, со всеми виртуальными таблицами (СрезПоследних, Остатки, Обороты и т.д.) . При выборе любого объекта или реквизита, его путь переносится в текст запроса.

- Встроена справка по синтаксису и основным конструкциям запроса. Так как при написании любых сложных запросов, или их редактировании, оптимизации лучше пользоваться ручками, а не конструктором, то справочник по всем функциям помогает в этом деле.

- Реализован выбор типа в параметрах, разделенный в дереве на типы методанных (Примитивные, Справочники, Документы, Бизнесс-процессы ...)

- Переделан интерфейс, все кнопки разделены по своим сферам влияния, т.е.
      + Кнопки управления списком запроса (добавить, удалить, сохранить ...)  находятся над списком запроса
      + Кнопки управления запросом (выполнить, конструктор, закомментировать ...) находятся над полем текста запроса
      + Кнопки управления результатом (сохранить, очистить) - над результатом запроса и т.д.

- Авто определение ширины колонок, вместо бегунка с общей шириной для всех колонок, который был очень неудобный.

- Автоматическое определение иерархии в запросе, с выводом результата с иерархией, т.е. фактически таким результатом, который получается по факту выполнения запроса.

- Список параметров с возможностью сворачивания.

- Авто заполнение параметров теперь не очищает список параметров, а добавляем новые параметры, а существующие приводит к необходимому типу.

- Добавлена кнопка выполнения выделенного текста запроса.

- Добавлены кнопки комментирования и раскомментирование текста запроса.

- Исправлено предупреждении при закрытии формы, с возможностью отмены закрытия.

- Подсчет время в миллисекундах.

- В виртуальных таблицах выведено количество строк.

 

Ожидается в следующей версии:

Сервер управленческих отчетов 1C:Предприятие 8

Краткое описание

Назначение разработки - упростить доступ к информации, которая находится в ИБ 1С. Сделать простой, дружелюбный интерфейс при этом использовать все мощные инструменты платформы (запросы, СКД),  предоставить расширенные возможности по анализу данных, используя сторонние компоненты на базе html/javascript. 



Сервер управленческих отчетов (СУО) - это внешние приложение (web сервер), в котором есть два раздела административный и пользовательский. В административном разделе  настраивается список информационных баз и отчетов. В настройках отчета указывается тип, возможные  варианты:

на базе текста запроса,
системы компоновки данных (указывается схема и настройка в формате xml)
на базе универсального отчета (для УТ 10)
произвольный тип.

С отчетами с типом 1 и 2 все предельно просто – в 1С в своей любимой консоли запросов/компановки данных конструируем и отлаживаем отчет, копируем текст запроса/СКД и подставляем это в СУО. Вот и все, отчет готов для всеобщего обозрения! Схема работы: 1С получает текст запроса/СКД выполняет его, сохраняет результат в  файл формата html и отдает СУО. Так как на выходе получается html файл не ждите, что у вас сохранится функционал со сворачиванием групп. Если вы без этого никак, то отчеты с произвольным типом, смогут вам помочь.

Для произвольного типа отчета, кроме запроса, необходимо создать два файла - клиентское представление страницы (index.html) и скрипт для сервера (module.js), который будет отдавать данные. Тут можно воспользоваться всей мощью html/javascript. Необходимо отметить, что мир веб разработки стремительно развивается - новые фреймворки появляются как грибы после дождя,  а JavaScript перерос из языка который использовался на стороне клиента, в серверный вариант - Node.js. Все что, Вы здесь видите и демо-сайт на Linux и исполняемый файл на Windows все разработано на Ноде. Причем используется один и тот же код. Один язык программирования и для клиента и для сервера, для создания десктопных приложений и для веб разработки, в общем Node.js такой же крутой как 1С! ;)

Согласен, что каждый инструмент предназначен для определенного круга задач. Но в данной разработке JS это то, что, нужно и заставим его поработать на нас! Первое, что можно сделать, это вывести все возможные списки и справочники, которые могут понадобится в нелегком управленческом труде. Причем это сделать красиво и функционально, не хуже, чем в 1С. Чтобы не изобретать велосипед, возьмём готовую компоненту в которой уже есть весь необходимый функционал: сортировка, поиск, группировки и т.д. В html странице мы просто декларативно описываем: название столбца, ширину, необходимость поиска и т.п.

title: 'Товары',
gridOptions: {
enableFiltering: true,
columnDefs: [
{ name: 'name', displayName: 'Товар', width: '30%' },
{ name: 'grup', displayName: 'Товарная группа', width: '350', enableFiltering: false, grouping: { groupPriority: 0 }, sort: { priority: 0, direction: 'asc' } },
и т.д...


Еще понадобится код на стороне СУО, чтобы отдавать данные:

var db = new sqlite3.Database(par.pathReport + 'data.db', sqlite3.OPEN_READONLY);

function getData(numTable, fn) {
var qSQL = 'SELECT * FROM Tab'+ numTable;
var res = [];
db.each(qSQL,
function (err, row) {
res.push(row);
},
function () {fn(res)});
}


Не так уж и сложно, что бы создать свой шедевр не правда ли?

Графики и диаграммы - это то, что позволяет представить цифры в визуальную информацию и это то, что любят аналитики. Да, безусловно, в 1С это дело тоже присутствует, но когда увидишь другие решения, то хочется большего. Существует множество готовых библиотек для построения диаграмм и схем: D3.js, Google Charts, Highcharts и др., хороший обзор по этой теме здесь.

Отчеты с графиками можно создавать традиционно - один запрос, один набор данных, один статический график.

Мне же представляется интересным другой вариант. Вот рецепт отчета по продажам, который доступен по ссылке выше. Делаем срез данных (запрос) за достаточно большой промежуток времени и сохраняем (это делает обработка на стороне 1С, используется sqlite). Выгружаются данные по продажам с детализацией по дате, товарной группе, подразделению (филиалу), сумме реализации, себестоимости и прибыли. Создаем три связных графика: продажи, сгруппированные по дням, по подразделениям и по товарным группам. Таким образом мы видим итоговые цифры по продажам, а также, информацию из чего эти цифры сложились. Легким движением руки мы можем быстро менять период и анализировать данные за любой произвольный период хозяйственной деятельности предприятия. Отчет построен на базе Highcharts - библиотека для графиков с множеством плюшек, например, масштабирование, автогруппировки (при увеличении периода меняется группировка дни/недели/месяц) и др. На Инфостаре есть разработки, с примером использованием этой компонеты, например: здесь или здесь. Если вам по каким-то причинам не пришлась по душе эта компонента, воспользуйтесь amCharts, тоже рекомендую, пример здесь и здесь.  Поробуйте и Вы поймете, что создать свой график не так уж и сложно!

Профиты:

 

Возможность создавать мощные аналитические отчеты;
Удобный доступ к нужному отчету: аналитик может даже и не подозревать, какая учетая система используется;
Быстрая публикация отчета: при наличии готового запроса, схемы СКД размещение займет несколько минут;
Простая установка: не требуется поднимать web сервер (IIS, Apache), настраивать web сервисы, вносить изменения в конфигурацию, необходимо только открыть обработку в 1С;
Работа с любыми платформами V8: обычные/ управляемые формы, файловый /клиент-серверный формат базы 1С;
Неограниченный доступ к отчетам с различных устройств: ПК/Планшет и ОС внутри предприятия;
Автономность и переносимость: если по каким-то причинам 1С недоступна (обновления и т.п.) СУО всегда в строю, можно скопировать папку с программой и запустить на любом компьютере;
Снижение нагрузки на базу данных: первоначально мгновенно отобразится последний сформированный отчет, если он актуальный нет необходимости его обновлять;
Оптимизация использования лицензий: на одном сеансе 1С могут подключаться большое количество пользователей;
Открытый код, возможность дорабатывать программу под свои нужды. 

Варианты развития:

Работа с нескольким информационными базами
Доступ к базам через com-подключение
Создание клиентской программы, для off-line работы пользователя с отчетами (возможна работа без подключения к серверу, например на ноутбуке в командировке и т.п.)
Планируется дальнейшая развитие СОУ, сама программа(платформа) со всем функционалом будет бесплатной, а готовые подключаемые отчеты (дашборды) на платной основе. Можно разработать комплексные дашборды по направлениям – продажи, затраты и денежные потоки и т.п. Вот возможный источник для будущего вдохновения http://eu-b.demo.qlik.com (там выберите раздел Retail and Service). Если у Вас есть интерес поучаствовать в проекте, дайте мне об этом знать, буду делиться наработками.

Запрограммировано на JavaScript, Node.js.
Тестировалось на Windows: 7, 8, Server 2003, 2008
Браузеры: Chrome и Internet Explorer свежих версий, возможно будет работать и в других.
Примеры отчетов разрабатывались для УТ 11

Итоги

Итак, мы имеем внутри предприятия web сервер, который позволяет расшарить информацию из 1С. Эту информацию мы можем представить в красивом и функциональном виде для того чтобы пользователи не испытывали боль, разочарование и унижение от использования компьютерных программ. Не сомневаюсь, что вы  получите благодарность  от директора. Плюс если вы решитесь создать свой отчет с произвольным типом, то это прокачает ваши скилы как web разработчика со знанием JavaScript/html.

Подобные разработки:
Запросница 1С. Получить результат запроса в web таблицу: //infostart.ru/public/167093/

Доступ к информации вне 1С используя OneScript //infostart.ru/public/389679/

 
Перепродажи (интеркампани) между собственными фирмами для БП 3.0 Бухгалтерский учет

Краткое описание

Пожалел я денег на сей шедевр и написал быстренько свою обработку перепродажи.

Основные принципы работы:

- формирование перепродаж происходит на каждый день по результатам внешних реализаций;

- заполнение происходит по отрицательным остаткам на 4
Загрузка картинок для номенклатуры (1С 8.3) 1С: Предприятие 8.3

Краткое описание

Данная обработка была переделана для 1С:8.3 из публикации по письменому разрешению OVladius.

Обработка выбирает первую картинку из результата. Важно, чтобы у номенклатуры было корректное наименование, иначе в гугле ничего не найдется.

Выбираем в отборе нужную номенклатуру, нажимаем "Сформировать", в заполненной таблице можно увидеть ссылку на изображение, если кликнуть по ссылке, откроется предпросмотр картинки.

 

Принцип обработки совпадает с тем, который в ранее созданой публикации. Отличительные особенности моей обработки:

Загрузка данных из xml файла и создание заказов покупателей. УТ 11 1С: Предприятие 8.3

Краткое описание

При считывании из файла, партнера ищет по e-mail (так задача была поставлена, но легко переделать поиск по другому реквизиту). Номеклатуру по наименованию ищет.

При выставлении "создавать клиента" - будет создавать и в табличной части видно, что новый, для дальнешего его редактирования и заполнения.

Цены ищет.

Если все находит, то документ проводится.
Универсальный обмен данными в формате XML (для управляемых форм) с отбором 1С: Предприятие 8.3

Краткое описание

"Восстановление битой ссылки " <

Краткое описание

Акт сверки взаиморасчетов - заполнение документа расчетами по головному контрагенту (Бухгалтерия 3.0) 1С: Предприятие 8.3

Краткое описание

Анализ журнала регистрации 1C: Предприятие 8.2

Краткое описание

Журнал регистрации с отбором в БД с большим количеством операций работает довольно медленно. Для того, чтобы частично обойти это досадное недоразумение, и предназначена эта обработка.

Работает с отбором по объектам ссылочного типа (документ, справочник...).

Не имеет управляемой формы
Конструктор программиста – это набор шаблонов программного кода для конструирования результата СКД и поддержки баз как типовых 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Общие положения.

Все примеры данной статьи разработаны на управляемом приложении.  Использование этих шаблонов в обычном приложении возможно и не требует разделение &НаКлиенте и &НаСервере.

 В примерах оставлен только значимый программный код. Все лишнее отсечено. При сохранении этого условия, возможны различные варианты кодирования. Поэтому, похожие примеры написаны по-разному, программист сам выбирает удобный вариант кодирования.

 Конструктор результата СКД и ключевые процедуры подробно описаны в //infostart.ru/public/276806/ . Поэтому здесь приложены только файлы, содержащие последнею версию и полностью исполняющие заявленную ранее функциональность Конструктора Результата СКД. А именно:

Тип результатаСКД ТабличныйДокумент или ДеревоЗначений задаётся открытием нужной страницы.

В качестве источника данных для СКД допускается внешняя база. Выбор источника данных на странице «Параметры базы данных».

Чтение формата *.xls на странице «Загрузить *.xls».

Предложенный конструктор можно запускать в обычном или управляемом режиме.

Содержание примеров.

Примеры предназначены для копирования программного кода. Макет СКД разрабатывает программист по своему усмотрению. Для демонстрации примеров контрольные базы заполнены произвольными данными.

 

Пример 0
В помощь администратору: простая подсистема отправки текстовых предупреждений (для обычного приложения) 1C: Предприятие 8.2

Краткое описание

Коротко о возможностях. Все просто, грубо, а самое главное, действенно.

При помощи единственной встроенной, а главное, очень простой обработки подбираем активных пользователей или всех пользователей (с возможностью выбора отдельных), выбираем тип сообщения, пишем текст и отправляем.




Типы предупреждений.

Пакетная печать документа. Внешняя печатная форма 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Для чего эта штука нужна написано в анонсе, так что я не буду повторяться, а в данном описании напишу - как оно работает, в каких конфигурациях и что может.

Сразу признаюсь, что 50% кода взято из типовой конфигурации 1С.

Итак к делу:

"Подсистема ""Планировщик"" (версия 1.1)" 1С: Предприятие 8.3

Краткое описание

"Рабочее место ""Продавана""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Работа с планировщиком в 8.3.6 Платформа 1С v8.x (все механизмы)

Краткое описание

Первым делом ссылки на ресурсы:
- Заметки из зазеркалья (http://v8.1c.ru/o7/index.htm) 
- Планировщик (http://v8.1c.ru/o7/20140401plan/index.htm)  

Результат заполнения планировщика выглядит так:

В строках видим время работы магазинов (с 9 до 18).
По колонкам: группы Магазинов и Продавцов. 

Основные свойства планировщика для его программного заполнения:
- ТекущиеПериодыОтображения (тут можно указать рабочее время магазинов)
- Измерения (группировки: Магазин, Продавец)
- Элементы (сами заметки по измерениям)

Во вложенной dt только необходимый набор объектов (пару справочников, констант, общих модулей и регистр сведений), который потребуется для настройки простейшего планировщика. Естественно, фантазия 1С-ника велика, и на реализацию дополнительного функционала нужно больше времени. К примеру, вот эта подсистема: //infostart.ru/public/333366/

 

Еще раз повторюсь, что тут описаны только азы.

Итак. Приступим.

ТекущиеПериодыОтображения заполняются так (тут всё просто, поэтому описывать комментариями думаю не нужно ):

Планировщик.ТекущиеПериодыОтображения.Очистить();
Планировщик.ТекущиеПериодыОтображения.Добавить(ПериодОтображенияНачало, ПериодОтображенияКонец);


Измерения можно заполнить таким образом:

    // Инициализируем измерения планировщика
    ИзмеренияПланировщика   = Планировщик.Измерения;
    ИзмеренияПланировщика.Очистить();

    #Область Заполнение_магазинов
    // Создание группы Магазины
    ИзмерениеМагазины       = ИзмеренияПланировщика.Добавить("Магазины");
    Пока ВыборкаМагазинов.Следующий() Цикл

        // Добавление магазинов в группу Магазины
        НовыйМагазин = ИзмерениеМагазины.Элементы.Добавить(ВыборкаМагазинов.Магазин);
        НовыйМагазин.Текст = ВыборкаМагазинов.Магазин.Наименование;

    КонецЦикла;
    #КонецОбласти

    #Область Заполнение_продавцов
    // Создание измерения Продацы
    ИзмерениеПродавцы       = ИзмеренияПланировщика.Добавить("Продавцы");
    Пока ВыборкаПродавцов.Следующий() Цикл

        // Заполнение измерений продавцы
        НовыйПродавец = ИзмерениеПродавцы.Элементы.Добавить(ВыборкаПродавцов.Продавец);
        НовыйПродавец.Текст = ВыборкаПродавцов.Продавец.Наименование;

    КонецЦикла;
    #КонецОбласти


А вот так добавляем Элементы (записи в планировщике):

    // Инициализация элементов планировщика (записи по измерениям)
    ЭлементыПланировщика = Планировщик.Элементы;
    ЭлементыПланировщика.Очистить();

    Пока РезультатПланы.Следующий() Цикл

        // Связка записей с измерениями выполняется через соответствия
        СоответствиеЗначений = Новый Соответствие;
        СоответствиеЗначений.Вставить("Магазины",   РезультатПланы.Магазин);
        СоответствиеЗначений.Вставить("Продавцы",   РезультатПланы.Продавец);

        РазницаВремениНачало    = РезультатПланы.ВремяС     - НачалоДня(РезультатПланы.ВремяС);
        РазницаВремениКонец     = РезультатПланы.ВремяПо    - НачалоДня(РезультатПланы.ВремяПо);

        Начало  = НачалоДаты + РазницаВремениНачало;
        Конец   = НачалоДаты + РазницаВремениКонец;

        // Добавление новой записи в промежуток времени
        НовыйЭлемент = ЭлементыПланировщика.Добавить(Начало, Конец);
        НовыйЭлемент.ЗначенияИзмерений  = Новый ФиксированноеСоответствие(СоответствиеЗначений);
        НовыйЭлемент.Текст              = РезультатПланы.Задание;

    КонецЦикла;


После того мы разобрались с заполнением, можно показать итоговый вид с заполненным регистром сведений Дни работы (в котором регистрируем рабочее время сотрудников)

 

Темы форума где обсуждался планировщик и решались реальные задачи:

http://forum.infostart.ru/forum86/topic134559/

 



Проверка контрагентов по ЕГРН Бухгалтерский учет 7.7

Краткое описание

Обработка выполняет проверку всех контрагентов из документов за выбранный период. Для проверки используется SOAP-интерфейс (http://npchk.nalog.ru/ws.doc). Ограничение 10000 контрагентов. Проверка осуществляется на текущую дату.

В конфигурации должен быть справочник "Контрагенты" с реквизитом ИНН (с разделителем "/" или "\"). В отчет не выводятся контрагенты со статусом 0 (Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату).

Тестировалось на Бухгалтерия 7.7 ред. 4.5.
Выгрузка данных из УТ 10.3 в БП 30 1C: Предприятие 8.2

Краткое описание

В поле «Период выгрузки» укажите, за какой период выгружать документы, в поле «Организация» укажите  организацию и в поле «Имя файла данных» укажите имя файла, в который будут выгружены данные, в списке «Выгружаемые данные» - виды объектов, которые нужно выгрузить.

По кнопке «Выполнить» данные выгружаются в указанный файл.

Загрузка в БП 3.0:  Все функции - Обработки - Универсальный обмен данными в формате XML.

Выгрузка выполняется по правилам указанным в макете.

Выгрузка данных из УТ 10.3.6.8 в БП 3.0.49.20 на платформе 8.1
Выгрузка данных из УТ 10.3.28.1 в БП 3.0.37.34 на платформе 8.1

Выгрузка данных из УТ 10.3.6.8 в БП 3.0.49.20 на платформе 8.2
Выгрузка данных из УТ 10.3.28.1 в БП 3.0.37.34 на платформе 8.2
Выгрузка данных из УТ 10.3.32.1 в БП 3.0.38.51 на платформе 8.2
Загрузка накладных в документы Поступление и Реализация из Эксель Платформа 1С v8.x (все механизмы)

Краткое описание

За основу взята обработка //infostart.ru/public/196568 и переписана под УФ.

Обработа дает возможность загружать данные в программу из эксель файла.

При выборе эксель файла считываются существующие в нем колонки, дальше необходимо вручную проставить соответствия колонок в файле эксель колонкам в табличной части "товары" и загрузить данные в документ.

 
Дерево полей запроса 1C: Предприятие 8.2

Краткое описание

Есть у меня «любимый» пакетный запрос из 45 запросов и 110 полей. Запомнить наизусть его структуру я не в силах. И когда нужно было разбираться, почему поле дает не то значение, то приходилось последовательно переходить от запроса к запросу, раскручивая последовательность формирования поля. Теперь же с помощью Дерева полей я быстро нахожу тот запрос, где кроется ошибка.

Обработка показывает запрос в виде дерева. С ее помощью нельзя исправить запрос или получить результаты временных таблиц. Для этого есть мощные инструменты, например ГолдПарсер. Зато она простая в использовании и не требует времени на освоение. Еще надо заметить, что обработка не зависит от метаданных. Это свойство может оказаться полезным, если необходимо разобрать запрос из какого-нибудь учебного материала, а нужной конфигурации нет.

К тексту запроса есть ограничения:

Не должно быть вложенных запросов. В параметрах таблицы запросы допускаются.
Ключевые слова ВЫБРАТЬ, ИЗ, ЛЕВОЕ СОЕДИНЕНИЕ (и другие соединения), ПО, ГДЕ и т.д. должны стоять в начале строки.
Псевдонимы полей должны располагаться в конце строки.

Последние два пункта автоматически выполняются, если пользоваться конструктором запроса.               

 
Счет на оплату - 1C:Розница 2.1 1С: Предприятие 8.3

Краткое описание

Публикация была реализована с письменного соглашения fieryfist.

В предыдущей публикации акцент был на Расходную накладную, в моей обработке он добавляется в документ- Заказы Покупателя.

Так же как и в предыдущей публикации, главные особенности и отличия ее:

Консоль запросов для УФ универсальная 8.3.2.20 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Замена КБК (КПС) во всех операциях по всем документам с фильтром по счету без перепроведения документов (актуально для материальных запасов) в конфигурации 1С: БГУ 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка написана для 1С: БГУ.

Бывает, что необходимо заменить все КБК в операциях без перепроведения документов.

Это тот случай, когда забиты документы, рассчитывающие среднюю стоимость МЗ, и перепровести их нельзя - сданы отчеты и т.п.

Программа производит замену КБК во всех операциях (в том числе ручных) за указанный период по выбранному счету и старому КБК.
Обработка производит замену в два этапа - сначала меняет КБК Дт и КБК Кт в операции, затем в цикле проходит по метаданным документа-регистратора и изменяет значение реквизитов с типом "КБК" на указанное.
"E-Market ""Загрузка картинок и описаний""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Парсер Яндекс Маркет УТ 10.3 3 мес.  3 мес.  3.0.0.2 

18000 руб.
Парсер Яндекс Маркета: УТ 1
Простой пример передачи данных между клиентом и сервером через HTTP-сервисы. 1С: Предприятие 8.3

Краткое описание

При выходе платформы 8.3.5 появилось желание переделать в уже готовом мобильном приложении соединение клиента с сервером из Web на HTTP-сервисы. На то было много причин, и говорить о них в рамках этой статьи, думаю, будет неуместно.

Но когда казавшуюся тогда простую задачу я попробовал решить с помощью синтаксис помощника и мануала 1с тут и тут у меня возникла куча вопросов. И какое было мое удивление когда я нашел много примеров применения HTTP-сервисов, например здесь и здесь, но ни одного для моего случая.

В статье не будет кучи воды, только конкретная задача, все максимально просто.

Итак, поехали.

 

Для начала сделаем серверную часть.

Создаем новый HTTP-сервер. Назовем его, например Exchange, корневой URL указываем такой же.

 

Далее переходим на вкладку ШаблоныURL. Добавляем новый шаблон, в моем случае Query, шаблон указываем /query/*.

 Далее создаем метод и назовем его к примеру Action, HTTP-метод выбираем "Любой", жмем на кнопку с изображение лупы напротив поля "Обработчик" и автоматически создается функция.

 В нее мы пишем следующее.

Функция QueryAction(Запрос)
ПараметрыЗапроса = Запрос.ПолучитьТелоКакСтроку();

Если ПараметрыЗапроса Тогда
Ответ = "Информация с параметром";
Иначе
Ответ = "Информация без параметра";
КонецЕсли;

HTTPОтвет = Новый HTTPСервисОтвет(200);
HTTPОтвет.УстановитьТелоИзСтроки(Ответ);
Возврат HTTPОтвет;
КонецФункции


Пробежавшись взглядом, сразу можно понять что для чего. В конце можно будет пробежать отладчиком и все сразу станет понятно и просто.

Публикуем базу и серверная часть готова.

 

Клиентская часть.

Для примера создадим общую форму. Добавляем в нее кнопку и пишем функцию которая отправит на сервер параметр и вернет нам результат.

Функция POSTЗапрос()
Попытка
//подключение к этому ПК
Соединение = Новый HTTPСоединение("127.0.0.1");
Исключение
Возврат "Ошибка при создании HTTP соединения.";
КонецПопытки;

HTTPЗапрос = Новый HTTPЗапрос(ИмяОпубликованнойБазы+"/hs/Exchange/query");
HTTPЗапрос.УстановитьТелоИзСтроки(ПараметрЗапроса);

Ответ = "";

Попытка
HTTPОтвет = Соединение.Записать(HTTPЗапрос);
Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();
Исключение
Возврат "Ошибка при соединении.";
КонецПопытки;

Возврат Ответ;
КонецФункции


ПарметрЗапроса в данном примере – Булево,

а ИмяОпубликованнойБазы – Строка (это то имя с которым проходила публикация на веб-сервере серверной части).

Вот и все премудрости.

Если нужно, можно скачать базы клиента и сервера, их прикрепляю ниже.

Ну вот, теперь-то я уверен, что если кому-то понадобиться переделать или сделать мобильное приложение с HTTP-сервисами, у него на одну головную боль будет меньше. Всем успехов! 
"Импорт прихода товаров из Excel в документ ""Поступление товаров и услуг""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

  Поиск товаров в обработке происходит по коду номенклатуры.  Легко изменить под себя. Код открыт.

 Запуск обработки из меню "Файл-Открыть". Обработка имеет наглядный, интуитивно понятный пример работы.

Смотрите скрин.

После нажатия кнопки "Выполнить"  просто откроется форма готового документа, без проведения, и Вам решать,  что с ней делать. Если закрыть без сохранения - никаких изменений в базе не произойдет.

В версии 2 добавлена промежуточная таблица результатов. Сначала импорт идет в в таблицу, корректируем ее как надо, а тогда создаем поступление. Поиск по наименованию номенклатуры. Код открыт.  Для обычных форм.

 

 
Выборочное удаление организаций из баз (управляемые формы, БСП), с удалением всех ссылающихся на эти организации данных 1С: Предприятие 8.3

Краткое описание

Выборочное удаление организаций из баз (управляемые формы, БСП), с удалением всех ссылающихся на эти организации данных: PRO. Финальная версия. Обработка удаления организаций и всех ссылающихся данных - вер.
Перенос объектов 1С 1C:Предприятие 8

Краткое описание

Предлагаю вашему вниманию, на правах разработчика, обработку Перенос объектов (версия 3.53).

Перечень основных возможностей:

 - Предварительный наглядный анализ данных перед непосредственной загрузкой в базу приемник;
 - Настройка правил перед выгрузкой;
 - Настройка правил перед загрузкой;
 - Обмен данными через интернет (с использованием сжатия zip с паролем);
 - Обмен данными через Com соединение к источнику;
 - В самой обработке есть удобный обзор и обработка данных на уровне конфигуратора;
 - Запуск обработки из другой с заданными параметрами для автоматической выгрузки или загрузки;
 - Обработка при записи объектов использует по умолчанию признак ОбменДанными.Загрузка=Истина;
 - Есть возможность сравнить во время переноса обороты по счетам между разными базами, что упрощает контроль переноса документов;
 - Можно сравнить количество объектов в базе, что упрощает контроль переноса объектов;
 - Использование только cервера для файлов (файлы выгрузки и загрузки будут находится на стороне сервера);
 - Можно использовать уникальный идентификатор при переносе данных;
 - Фильтр по подсистемам в обзоре конфигурации и при выгрузке объектов;
 - В правилах выгрузки можно добавить любой произвольный запрос;
 - Выгружать зависимые сведения при выгрузке справочников (например Контрагенты и их контактная информация);
 - Создание объектов из текста на основании строк вида Код=Наименование;
 - Упорядочить кода заданного справочника с предварительным анализом;
 - Печать активной таблицы в режиме управляемых форм;
 - Конструктор кода по созданию выбранного объекта;
 - Сохранить любое ХранилищеЗначения (ДвоичныеДанные) в файл;
 - Проверка использования реквизитов в базе;
 - Запуск любого приложения после окончания операции по загрузке или выгрузке данных;
 - Поиск ссылок на выбранный объект с указанием имени реквизита, где объект используется;
- Перенос объектов через буфер обмена без использования файлов;
- Выгрузка отмеченных объектов в обзоре данных сразу в текст;
- Проверка пустых субконто в движениях;
- Сравнить детально отмеченные объекты;
- Иерархическая печать элементов справочников;
- Не выгружать все реквизиты шапки и табличной части;
- Выгрузка объектов на основе данных журнала регистрации;
- Показать все варианты значения реквизита;
- Групповая замена номеров документов;
- Групповая замена кодов справочника;
- Табло, скрипты и отладка функций в УФ;
- Включение/отключение регламентного задания одним кликом мыши;
- Регистрация отмеченных объектов в планах обмена;
- Многофункциональный поиск по структуре метаданных и полнотекстовый поиск;
- Пометить на удаление отмеченные при отсутствие ссылок на объект;
- Благодаря работе с ПотокВПамяти можно выгружать и загружать любые объемы данных;
- Выгрузка структуры метаданных конфигурации опционально.

 Например, необходимо перенести несколько документов за один день. Отмечаем в выгрузке период и необходимый вид документов,
и обработка сама подтянет все остальные объекты на которые есть ссылки по цепочке, пока не доберется до примитивных типов (строка, число, дата).

  Перед использованием переноса данных рекомендуется запустить отчет в самой обработке "Обзор-Отчеты-Проверка уникальности объектов для переноса", который проверит на дубликат код и наименование в справочниках, т.к. для переноса объектов без уникального идентификатора это важно. Там же есть и возможность исправить задвоения. Если при переносе используется уникальный идентификатор, то в запуске отчета на уникальность нет необходимости.

  Выкладываю два варианта обработки:

MovingObjects.epf        - для 1С 8.3 (Управляемые формы и обычные формы, и для регламентных заданий)
MovingObjects-8.
Проверка контрагентов по ЕГРН и сверка реквизитов по ним через Контур-Фокус 1С:Бухгалтерский учет 7.7

Краткое описание

Внешняя компонента NativeAPI для работы с системным треем 1С: Предприятие 8.3

Краткое описание

Компонента построена по технологии NativeAPI, поэтому ее можно подключить из макета. Компонента имеет имя «Message1C», создаваемый объект имеет имя «AddIn.Message1C.TMessage1C»

Краткое опиание методов:

СпрятатьПрограмму – Прячет программу в системный трей, создавая иконку если она не была создана ранее.

СпрятатьИконкуГлавногоОкна – Убирает иконку программы из системного трея.

ПоказатьИконкуГлавногоОкна – Показывает иконку программы в системном трее.

ЗагрузитьИконкуГлавногоОкнаИзФайла(ИмяФайла) – загружает иконку из файла.

УстанвоитьТипФона(ТипФона) – устанавливает тип фона сообщений в трее.

УстанвоитьПользовательскийФон(ФонЦветГраницы, ФонЦветЗаливки) – позволяет установить параметры прорисовки пользовательского фона сообщения.

ДобавитьСообщение(Ключ,Заголовок,ТекстСообщения) – Добавляет оповещение через сообщение в трей.

УдалитьСообщение(Ключ) – Удаляет сообщение.

ОчиститьСообщения – Удаляет все сообщения.

ПоказатьСообщениеВТрее(Ключ,Заголовок,ТекстСообщения,ДлительностьПоказа) – Позволяет послать типовое системное сообщение в трей.

ТекстПодсказкиИконкиГлавногоОкна – Свойство, текст подсказки иконки.

ГлубинаБуфераСобытий – Свойство, Число, задается глубина буфера событий

ПрятатьОкноПриМинимизации – Свойство, Булево, если Истина то при минимизации окна пользователем будет прятаться в трей.

ЦветТекстаЗаголовка – Свойство, цвет, задает цвет заголовка сообщения

ЦветТекста – Свойство, цвет, задает цвет текста сообщения

 

В зависимости от действий пользователя компонента оповещает 1С по средствам внешних событий о его действиях. Источник всегда строка «Message1C». Далее описано какие события могут быть:

BallonUserClick – Пользователь нажал на сообщение посланное методом ПоказатьСообщениеВТрее. Параметр «Данные» будет содержать Ключ сообщения.

BallonTimeOut – Вышло время ожидания сообщением посланным методом ПоказатьСообщениеВТрее. Параметр «Данные» будет содержать Ключ сообщения.

FormHide – Основная форма была скрыта

FormShow – Основная форма была показана

Close – Пользователь выбрал команду «Закрыть» из контекстного меню. Об обработке команды должен заботится программист конфигурации.

MessageActivate – Было активировано (выбрано) сообщение посланное методом ДобавитьСообщение. Параметр «Данные» будет содержать Ключ сообщения.

MessageClose – Сообщение посланное методом ДобавитьСообщение было закрыто кнопкой «Закрыть» сообщения.

 

В архиве содержится конфигурация-пример и сама компонента в макете обработки.
"Использование общих модулей ""Длительные операции"" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Теоретическая часть

Использование общих модулей "Длительные операции" позволяет перенести всю тяжесть исполнения ресурсоемких процедур на сторону сервера, не мешая при этом работе клиентского приложения, инициировавшего этот процесс, т.е. не мешая дальнейшей работе пользователя в приложении. Описанная возможность реализуется в модулях БСП за счет исполнения "тяжелых" процедур на сервере в фоновом режиме (запуску фоновых заданий под каждую процедуру).

Ниже приведены процедуры, позволяющие реализовать в любой форме возможность выполнения необходимой вам длительной операции в фоновом режиме. Для этого в форме обязательно должны содержаться два реквизита "АдресХранилища" (типа строка) и "ИдентификаторЗадания" (типа уникального идентификатора), в модуле формы должна быть объявлена клиентская переменная "ПараметрыОбработчикаОжидания". Помимо этого экспортная процедура длительной операции должна содержать в себе два параметра "СтруктураПараметров" (типа структуры) и "АдресХранилища" (типа строка), результат исполнения должен быть помещен во временное хранилище, а адрес в нем должен быть присвоен параметру "АдресХранилища".

Практическая часть

Далее кратко рассмотрим назначение процедур, размещенных в модуле формы, из которой будет инициироваться запуск длительной операции. 

Процедура является обработчиком команды, отображаемой на форме, инициирующей запуск длительной операции. В ней производится передача исполнения на сервер и получение результата выполнения. В случае, если результат для отображения пользователю еще не готов, то наша операция "квалифицируется" как длительная, и производится подключение обработчика ожидания для периодической проверки выполнения фонового задания, исполняющего нашу длительную операцию.        

&НаКлиенте
Процедура ВыполнитьПроцедуруФоново(Команда)

ОтключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания");

РезультатВыполнения = ВыполнитьФоновоеЗаданиеНаСервере();

Если РезультатВыполнения.ЗаданиеВыполнено Тогда
РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресХранилища);
Иначе
ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания", 1, Истина);
КонецЕсли;

КонецПроцедуры


Собственно сама серверная процедура, которая запускает необходимую нам длительную операцию, вызов которой будет произведен из "ИмяМодуля.ИмяЭкспортнойПроцедуры". Также в этой процедуре заполняется структура параметров, необходимых для исполнения длительной операции, и запоминается идентификатор фонового задания, под которым выполняется длительная операция.    

&НаСервере
Функция ВыполнитьФоновоеЗаданиеНаСервере()

ДлительныеОперации.ОтменитьВыполнениеЗадания(ИдентификаторЗадания);
ИдентификаторЗадания = Неопределено;

СтруктураПараметров = Новый Структура;

Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда

АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
// здесь должен быть вызов нашей процедуры
РезультатВыполнения = Новый Структура("ЗаданиеВыполнено", Истина);

Иначе

РезультатВыполнения = ДлительныеОперации.ЗапуститьВыполнениеВФоне(УникальныйИдентификатор,
"ИмяМодуля.ИмяЭкспортнойПроцедуры",
СтруктураПараметров,
"Наименование фонового задания");

ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
АдресХранилища = РезультатВыполнения.АдресХранилища;

КонецЕсли;

Возврат РезультатВыполнения;

КонецФункции



Процедура обработчика ожидания мониторит выполнение запущенного нами фонового задания, в случае успеха - результат выполнения длительной операции извлекается из временного хранилища по адресу "АдресХранилища", в противном случае обработчик ожидания подключается заново для следующей очередной проверки. 

&НаКлиенте
Процедура Подключаемый_ПроверитьВыполнениеЗадания()

Попытка
Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда
РезультатВыполнения = ПолучитьИзВременногоХранилища(АдресХранилища);
Иначе
ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания);
ПодключитьОбработчикОжидания("Подключаемый_ПроверитьВыполнениеЗадания",
ПараметрыОбработчикаОжидания.ТекущийИнтервал, Истина);
КонецЕсли;
Исключение
ВызватьИсключение;
КонецПопытки;

КонецПроцедуры


&НаСервереБезКонтекста
Функция ЗаданиеВыполнено(ИдентификаторЗадания)
Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
КонецФункции


Резюме

Использование процедур общих модулей "Длительные операции", входящих в состав БСП, позволяет довольно удобным и быстрым способом осуществить в конфигурации выполнение необходимых длительных ресурсоемких операций, инициируемых пользователями системы, на стороне сервера в фоновом режиме, что делает работу пользователей в приложении более комфортной и производительной (не блокируется весь пользовательский интерфейс на время выполнения длительной операции и возможность параллельного запуска нескольких длительных операций). 

P.S. Ниже расположена демонстрационная обработка, в модуль формы которой помещены все вышеописанные процедуры.
 
Эта публикация устарела для текущей БСП. Сейчас используется РезультатВыполнения = ДлительныеОперации.ВыполнитьВФоне(

Пометьте что ли, а то кому-нибудь как и мне придется переделывать.
+12 – Ответить
Распаковка дистрибутивов и обновлений 1С:7.7 под Windows 7 (x64) 1C:Предприятие 7.7

Краткое описание

Тестировалось для конфигураций:
- 1С:Бухгалтерия 7.7:
-- Типовая конфигуpация. 7.70.637 от 10.07.2017
-- Упрощенная система налогообложения. 7.70.279 от 10.07.2017
- 1С:Предприятие 7.7:
-- Торговля+Склад. 7.70.990 от 30.06.2017
-- Производство+Услуги+Бухгалтерия. 7.70.382 от 03.07.2017

Способ применения:
- для распаковки дистрибутива (DISK1-DISK**) необходимо stix_w32.deстрибутиватоr.exe в папку с дестрибутивом, запустить, дождаться окончания; результат в папках INSTALL и DEMO;
- для распаковки обновления (UPDATE.EXE) необходимо 1503290852.exe, извлечь затем файл обновления перетянуть мышью на значок extract на рабочем столе; результат в папке с файлом обновления.

Благодарности:
* STIX * decompressor for "The Stirling Compressor" / installSHIELD 3.x
   Veit Kannegieser * 1997.08.10..200
Акт взаимозачета для БП 8.3 1С: Предприятие 8.3

Краткое описание

Печатная форма тестировалась на 1С:Предприятие 8.3 (8.3.5.1482) Бухгалтерия предприятия, редакция 3.0 (3.0.38.55) 

Подключается печатная форма: Администрирование-Печатныеформы, отчеты и обработки-Дополнительные отчеты и обработки (кнопка"загрузить из файла")
Проверка контрагента c использованием сервиса сайта ИФНС 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Оптимальным будет прямое подключение (без прокси), хотя и с прокси было проведено тестирование.

При большом числе документов (счетов-фактур) для упрощения проверки лучше не задавать большой интервал.

Обработка создана путем переделки обработки из стандартной конфигурации 1С Бухгалтерии 3.0 и содержит также внутреннюю проверку реквизитов контрагентов.

Признаки, проставляемые при проверке контрагентов

0 - Налогоплательщик зарегистрирован в ЕГРН и имел статус действующего в указанную дату
1 - Налогоплательщик зарегистрирован в ЕГРН, но не имел статус действующего в указанную дату
2 - Налогоплательщик зарегистрирован в ЕГРН
3 - Налогоплательщик с указанным ИНН зарегистрирован в ЕГРН, КПП не соответствует ИНН или не указан
4 - Налогоплательщик с указанным ИНН не зарегистрирован в ЕГРН
5 - Некорректный ИНН
6 - Недопустимое количество символов ИНН
7 - Недопустимое количество символов КПП
8 - Недопустимые символы в ИНН
9 - Недопустимые символы в КПП
10 - КПП не должен использоваться при проверке ИП
11 - некорректный формат даты
12 - некорректная дата (ранее 0
Две цены. Ценник для УТ 10.3 1C: Предприятие 8.2

Краткое описание

Данная обработка позволит распечатать ценники с двумя ценами (старая цена и новая). Старая цена формируется по одному из трех вариантов:

Загрузка накладной из ТОРГ-12 БП 3.0 1С: Предприятие 8.3

Краткое описание

Обработка подключается как дополнительная обработка заполнения объекта.

Вызывается из документа Поступление товаров или Реализация товаров.

Скопированную таблицу документа ТОРГ-12 нужно вставить в поле данные. Выделять при копировании можно табличную часть, начиная с пронумерованной шапки, а можно весь документ целиком. Нумерованую строку от 1 до 15 копировать обязательно!

Нажать на кнопку Распознать данные.

Ненайденные (по наименованию) товары можно указать в промежуточной таблице или воспользоваться настройкой Создавать новые товары и распознать повторно, при этом новая номенклатура будет добавлена в корневую группу справочника.

Кнопка Перенести в документ добавляет полученную таблицу в документ, при этом в один документ можно добавить несколько таблиц по очереди.
Оборачиваемость товаров (УТ 11) 1C: Предприятие 8.2

Краткое описание

Используются регистры ТоварыНаСкладах, ВыручкаИСебестоимостьПродаж. Полагаю, что они присутствуют в большинстве релизов УТ 11, что позволит отчету работать.

Логика вычисления показателей:

Скорость продажи = количество проданного товара за период / количество дней в периоде

Процент присутствия на складе = количество дней присутствия на складе / количество дней в периоде

Коэффициент оборачиваемости = количество проданного товара / средний остаток

Большое спасибо людям, чьими идеями я пользовался (к сожалению, не помню персоналий, отчет давно писал) для получения среднего товарного запаса и других показателей.

UPD 24.05.2017: Отчет можно добавить в дополнительные отчеты.
Анализ продаж товара по категориям ABC для 1С: Управление Торговлей 10.3 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчёт анализирует три показателя:
Валовую прибыль
Объём продаж в количественном выражении
Сумму продаж с учётом предоставленных скидок.
По каждому из показателей товары сортируются и начинается накопительный подсчёт по показателю:
Те позиции, по которым накопленная сумма не превышает первый порог (80%), попадают в группу "А"
Последующие позиции, которые дополняют предыдущую группу на второй порог (15%) - в группу "B"
И оставшиеся позиции - в группе "С".
На каждом уровне иерархии товаров производится индивидуальное ранжирование, что позволяет определить наиболее приоритетную группу товаров и сразу же, в той же форме, определить, например, товары-аутсайдеры в той же самой группе.
 
Для каждого товара выводится его основной поставщик и на каждом уровне иерархии определяется свой список поставщиков для всех подчинённых товаров и групп.
 
Отчёт позволяет выводить и категоризировать не только общие итоги в целом по компании, но и по каждой группе контрагентов, располагая их в том же отчёте. Количествои выводимых групп контрагентов можно управлять, тем самым экономя время формирования для баз с большой историей продаж.
 
Имеется возможность исключать из общего расчёта продажи по некоторым контрагентам и группам контрагентов.
 
upd 20150320: добавлена возможность ввода собственных порогов показателей и удалены объекты компоновки данных.


upd 20150610: устранена ошибка с недоступной таблицей исключаемых контрагентов.
Выгрузка книги продаж и книги покупок из Управление торговлей 10.3, Управление производственным предприятием 1.3, Бухгалтерия предприятия 2.0. Для загрузки в Налогоплательщик ЮЛ от ФНС (4.40.0) для формирования новой декларации НДС 2015 1C:Предприятие 8

Краткое описание

Загрузка из Excel книги покупок и книги продаж в 1С:Налогоплательщик 8.2 (релиз 3.0.113.1) для последующего формирования декларации НДС 2015 Платформа 1С v8.x (все механизмы)

Краткое описание

Загрузка из Excel книги покупок и книги продаж в 1С:Налогоплательщик 8 для последующего формирования декларации НДС 2015-2023 12 мес.  12 мес. 
"Внешняя печатная форма УПД за поставщика для документа ""Поступление товаров и услуг"" для БП 3.0" 1С: Предприятие 8.3

Краткое описание

"Обработка обслуживания " Сбербанк РФ: Эмулятор эквайринговой системы"

Краткое описание

Мониторинг цен конкурентов на Яндекс.Маркет 1С: Предприятие 8.3

Краткое описание

Монитор руководителя для Розница 1.0 1C: Предприятие 8.2

Краткое описание

 

 

В "Мониторе руководителя" сведены следующие показатели:

* В банке - показывает текущий остаток на эквайрингах организации.
* В кассе - показывает текущий остаток всего по всем кассам, а также остатки по каждой кассе отдельно.
* Взаиморасчеты с поставщиками - можно получить доступ о состоянии текущей задолженности перед нашими поставщиками.

* Выручка и прибыль  - показывает сумму продаж, себестоимость продаж и валовую прибыль за выбранный период, также есть детализация выручки за каждый день.

* Склад - показывает стоимостную оценку склада в рознице и по себестоимости.

* Затраты и приходы компании

 
Отправка счетов из 1С 8.2 «Бухгалтерия для Украины, редакция 1.2» в PDF формате 1C: Предприятие 8.2

Краткое описание

Еще одна внешняя печатная форма для документа "Счет на оплату покупателя".
Подключается к документу как внешняя печатная форма.
Тестировалась на конфигурации "Бухгалтерия для Украины, редакция
Внешняя печатная форма счета на оплату с печатью и подписями БП 3.0 1С: Предприятие 8.3

Краткое описание

После обновления БП на версию 3.0.39.51 перестала открываться внешняя печатная форма с печатью и подписями.

Ошибка:

Таблица не найдена "Документ.СчетНаОплатуПокупателю.Услуги"
ЛЕВОЕ СОЕДИНЕНИЕ <>Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя

В Документе "Счет на оплату покупателю" нет больше табличной части "Услуги.

Благодаря статье //infostart.ru/public/286059/ смогла создать ВПФ самостоятельно. Может кому-то пригодится.

Вам нужно вставить свою картинку с подписями и печатью в подвал макета вместо этой.

Подключение обработки в режиме предприятия:

Администрирование - печатные формы, отчеты и обработки - дополнительные отчеты и обработки (ссылка будет активна, если поставить галочку "Дополнительные отчеты и обработки").

Нажимаем на кнопку Создать и выбираем нашу созданную обработку.

 
Загрузка документов поступления по формату CommerceML Розница 1.0 1C: Предприятие 8.2

Краткое описание

Долго искал данную загрузку документов для Розницы
Групповая замена/добавление ограничений доступа RLS 1C: Предприятие 8.2

Краткое описание

Допустим, поставлена задача ограничения доступа к некоторым организациям с одним условием. Необходимо полное исчезновение организаций: чтобы их не было нигде, ни в договорах контрагентов, ни в кассах ККМ, ни в списках документов, ни в отчетах и т.д. и т.п.

Рассмотрим для примера УТ 10.3.

На первый взгляд ничего сложного. Создаем группу пользователей в справочнике "Группы пользователей", заполняем пользователями (неполноправными), которым надо ограничить доступ к организациям. Задаем доступные для просмотра организации в регистре сведений "Настройки прав доступа пользователей". Включаем константу "Ограничить права доступа на уровне записей". Что видит пользователь в программе после перезапуска. В справочнике "Организации" только те, что разрешены. Но там, где встречаются скрытые организации в поле "Организация" написано "Объект не найден...". Доступа к редактированию этих объектов нет, но не совсем то, что задумывалось.

 

Это происходит от того, что в правах доступа к объектам (кроме справочника "Организации", контактной информации и еще некоторых объектов, не прописаны ограничения доступа на уровне записей. Особенно в нетиповых конфигурациях, когда новые роли и метаданные добавляются в конфигурацию в условиях, приближенных к боевым, без оглядки на будущее. И даже в типовой УТ 10.3, у роли МенеджерПоПродажам, например, нет ограничения доступа на уровне записей у корректировки реализации, в отличие от документа-основания - реализации товаров и услуг:

 




Что есть на программном уровне

На программном уровне платформа 8.2 позволяет посмотреть, есть ли у выбранной роли право чтения/добавления/изменения/удаления выбранного метаданного, а также имеется ли у этого права ограничение доступа RLS, но самого значения ограничения доступа нет:

ЕстьПравоНаЧтение = Ложь;
ЕстьОграничениеРЛС = Ложь;
МетаданныеРоль = Метаданные.Роли["МенеджерПоПродажам"];
МетаданныеСправочника = Метаданные.Справочники["Организации"];
ПравоНаЧтение = ПараметрыДоступа("Read", МетаданныеСправочника, "Ссылка", МетаданныеРоль);
Если ПравоНаЧтение.Доступность Тогда
ЕстьПравоНаЧтение = Истина;
Если ПравоНаЧтение.ОграничениеУсловием Тогда
ЕстьОграничениеРЛС = Истина;
КонецЕсли;
КонецЕсли;


У большинства ролей уже написаны шаблоны ограничений доступа. Их можно посмотреть, открыв роль в конфигураторе и перейдя на вкладку "Шаблоны ограничений".

Вручную ограничить можно, но долго. Запустить поиск по дереву конфигурации по слову Организация. Пройтись по дереву, открывая каждый найденный объект, пройтись по правам этого объекта для каждой роли, и для ролей, имеющих доступ к объекту в разрешенных правах проставить типовой шаблон или свой текст ограничения доступа.

Попробуем автоматизировать.




Как все-таки можно посмотреть содержимое ограничений доступа RLS программно


Выгрузим файлы конфигурации. Конфигурация - Выгрузить файлы конфигурации.

Оставим флажки только на правах:

Посмотрим XML-файл Роль.МенеджерПоПродажам.Права.xml.

Ветка прав доступа с ограничениями на документ "Заказ покупателя":

В конце файла находятся сами шаблоны ограничений для выбранной роли.




Как это обработать

Используем встроенный в конфигурацию механизм ПостроительDOM.

Прочитаем документ.

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПолныйПутькФайлу);

ПостроительDOM = Новый ПостроительDOM;
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);


Затем, при помощи ОбходДереваDOM, обойдем дерево.

Для перехода вглубь используется метод СледующийУзел(), для перехода по родительским узлам (объекты, права) используется метод СледующийСоседний(), для возврата на родительский узел используется запоминание узла-родителя и переход на него в конце цикла установкой текущего узла.

Там, где содержится условие ограничения доступа, заменяем на нужное нам, если нет - добавляем.

ОбходДереваDOM = Новый ОбходДереваDOM(ДокументDOM);

// переход на уровень rights
ТекУзел = ОбходДереваDOM.СледующийУзел();
// переход на уровень object
ТекУзел = ОбходДереваDOM.СледующийУзел();

// ОБХОД ОБЪЕКТОВ
Пока ТекУзел <> Неопределено Цикл
// переход вглубь дерева на уровень name
ТекУзел = ОбходДереваDOM.СледующийУзел();
// переход на уровень right
ТекУзел = ОбходДереваDOM.СледующийСоседний();
// ОБХОД ПРАВ
Пока ТекУзел <> Неопределено Цикл
ОбработкаПрерыванияПользователя();
УзелПрава = ОбходДереваDOM.ТекущийУзел;

// переход вглубь дерева на уровень name
ТекУзел = ОбходДереваDOM.СледующийУзел();
ЕстьОграничениеПоУсловию = Ложь;
Пока ТекУзел <> Неопределено Цикл
ОбработкаПрерыванияПользователя();
Если ТекУзел.ИмяУзла = "restrictionByCondition" Тогда
ЕстьОграничениеПоУсловию = Истина;
// переход вглубь дерева на уровень condition
ТекУзел = ОбходДереваDOM.СледующийУзел();
ТекУзел.ПервыйДочерний.ТекстовоеСодержимое = НовоеЗначениеОграничения;
Сообщить(ИмяМетаданного + ": заменено ограничение " + ТекУзел.ПервыйДочерний.ТекстовоеСодержимое);
ВнесеныИзменения = Истина;
Прервать;
КонецЕсли;
ТекУзел = ОбходДереваDOM.СледующийСоседний();
КонецЦикла;
Если НЕ ЕстьОграничениеПоУсловию Тогда
// вставка условия
НовыйУзелЗначения1 = ДокументDOM.СоздатьЭлемент("restrictionByCondition");
НовыйУзелЗначения2 = ДокументDOM.СоздатьЭлемент("condition");
НовыйУзелЗначения2.ТекстовоеСодержимое = НовоеЗначениеОграничения;
НовыйУзелЗначения
Акт + Счет-Фактура 2015 на 1 листе (портрет) 1С: Предприятие 8.3

Краткое описание

Сделанная на основании //infostart.ru/public/114594/ печатная форма для БП 3.0.39.хх

Подключать через "Администрирование-Печатные формы и обработки-Дополнительные отчеты и обработки"

+Создать и выбрать скачанный файл

 

ЗЫ. ставьте лайки, если пригодилас
Погода, курсы валют, RSS 8.3 (Получение информации из интернета для чайников) 1С: Предприятие 8.3

Краткое описание

Некоторое время назад возникла идея собрать необходимую для "полноценной работы" любого сотрудника информацию в одном месте. Как понятно из названия - это прогноз погоды, курс валют и новости.

"В принципе ничего сложного" - скажете вы, но пришлось повозиться.

Проще всего было с курсами валют и погодой: примеры в интернете + различные сервисы, предоставляющие эту информацию в том или ином виде.

ПОГОДА

Погоду я взял с отечественного Яndex.

Для того, чтобы получить погоду в нужном городе, сначала нужно узнать его ID. Для этого заходим на страницу https://pogoda.yandex.ru/static/cities.xml и ищем город по наименованию. ID Москвы 27612

Я экспериментировал с другими сервисами, везде схожая технология. Где-то сначала нужно получить ID страны, а потом уже ID города, где-то сразу ищем город.

По сути Яндекс хранит прогноз погоды в XML файлах с именем файла равным ID города, поэтому забираем его через обычное HTTPСоединение.

Соединение = Новый HTTPСоединение("export.yandex.ru");
HTTPЗапрос = Новый HTTPЗапрос("weather-ng/forecasts/27612.xml");
HTTPЗапрос.Заголовки.Вставить("Accept-Charset", "utf-8");

ПутьДляСохранения = ПолучитьИмяВременногоФайла();
Результат = Соединение.Получить(HTTPЗапрос, ПутьДляСохранения);


Далее вскрываем файл:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьДляСохранения);
ОбъектXDTO_Погода=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);


Далее кому что нужно. Можно взять текущие данные, например:

Актуальность = ОбъектXDTO_Погода.fact.uptime;
Влажность = ОбъектXDTO_Погода.fact.humidity;
СкоростьВетра = ОбъектXDTO_Погода.fact.wind_speed;
ТипПогоды = ОбъектXDTO_Погода.fact.weather_type;


А можно вывести прогноз на несколько дней вперед. Я вывожу в таблицу прогноз на 5 дней, поэтому вывод выглядит немного некрасиво + заменяю заголовки колонок:

Ном = 0;
Для Каждого День ИЗ ОбъектXDTO_Погода.day Цикл
Если Ном < 5 Тогда
Ном = Ном + 1;
СтрДень["Д"+Ном] = День.day_part[4].temperature;
СтрНочь["Д"+Ном] = День.day_part[5].temperature;
СтрТип["Д"+Ном] = День.day_part[5].weather_type;

Элементы["ПрогнозПогодыД"+Ном].Заголовок = Формат(Дата(СтрЗаменить(День.date, "-", "")), "ДФ=dd/MM");
Иначе
Прервать;
КонецЕсли;
КонецЦикла;


в итоге получаем:

Курсы валют

Тут всё почти один-в-один с погодой. Сервис я выбрал rbc.ru. Хранятся курсы в файлах *.tsv, в подпапках с иерархией: tsv/код валюты/год/месяц/день.tsv 

Код доллара: 840

Код евро: 978

Соединение = Новый HTTPСоединение("cbrates.rbc.ru");
HTTPЗапрос = Новый HTTPЗапрос("tsv/"+КодВалюты+"/"+Формат(ТекущаяДата(), "ДФ=/yyyy/MM/dd")+".tsv");


Сохраненный файл, в отличии от погоды, читаем как текстовый документ:

Текст = Новый ТекстовыйДокумент();
Текст.Прочитать(ПутьДляСохранения, КодировкаТекста.ANSI);
Стр = Текст.ПолучитьСтроку(1);


Результат:

P.S.: Лично для меня укрпление иностранной валюты это негативная информация, поэтому, в отличие от сайтов: стрелочка вверх - красная, а вниз - зеленая.

RSS

У RSS есть один большущий плюс: Это стандарт, а следовательно, можно взять RSS с любого сайта и не допиливать код.

Но нюансы все же есть. Например, сайт Lenta.ru разбивает новости на категории внутри возвращаемого RSS, а 3Dnews на каждую категорию сделал отдельный RSS адрес, 1c.ru не возвращает текст новости, а только заголовки (т.е. текст пустой). Пришлось добавить немного условий при обработке RSS.

Получение RSS с сайтов немного не тривиально, поскольку путь обычно выглядит так: http://lenta.ru/rss/ или http://www.3dnews.ru/news/rss/ у 1С например http://www.1c.ru/news/rss-2.0.jsp

Получение реализовано через COMОбъект("Msxml2.XMLHTTP"). Код привожу без разнообразных проверок, чтобы не перегружать:

RSS_ComОбъект = Новый COMОбъект("Msxml2.XMLHTTP");
RSS_ComОбъект.open("GET", "http://lenta.ru/rss", false);
RSS_ComОбъект.send();
XMLDocument_RSS = DOM_НовыйXMLДокумент(); //см. ниже
XMLDocument_RSS.LoadXml(RSS_ComОбъект.responseText);
XMLDocument_RSS.SetProperty("SelectionLanguage","XPath");
XMLDocument_RSS.setProperty("SelectionNamespaces",
"xmlns:d='http://schemas.microsoft.com/ado/2007/08/dataservices' xmlns:m='http://schemas.microsoft.com/ado/2007/08/dataservices/metadata' xmlns:a='http://www.w3.org/2005/Atom'"
);


Поскольку можно не угадать с версией при формировании Msxml2.DOMDocument.4.0, то вынесено в отдельную функцию:

&НаКлиенте
Функция DOM_НовыйXMLДокумент()
Попытка
XML = Новый COMОбъект("Msxml2.DOMDocument.4.0");
Исключение
ош = ОписаниеОшибки();
Попытка
XML = Новый COMОбъект("Msxml2.DOMDocument.3.0");
Исключение
ош2 = ОписаниеОшибки();
Возврат Неопределено;
КонецПопытки;
КонецПопытки;

Возврат XML;
КонецФункции


Таким образом, на выходе у нас в переменной XMLDocument_RSS содержится XML самого RSS канала. Далее обегаем item-ы:

СписокЭлементов = XMLDocument_RSS.XMLDocument.selectNodes("rss/channel/item");
Для Каждого Элемент ИЗ СписокЭлементов Цикл
Описание = Элемент.selectSingleNode("description").text;
Ссылка = Элемент.selectSingleNode("link").text;
Заголовок = Элемент.selectSingleNode("title").text;
Категория = Элемент.selectSingleNode("category").text;
Дата = Элемент.selectSingleNode("pubDate").text;
КонецЦикла;


В обработке на самом деле есть проверки, преобразование формата даты и обработка текста новости. У 3Dnews, например, там много мусора: тэги, коды символов, ссылки на картинки т.д.

Отдельно по поводу картинок - их я не загружаю специально. Причины 2:

Перепроведение документов только по выбранным регистрам (Управляемые формы, 8.2, 8.3) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

За основу взята обработка отсюда, главное изменение - это работа под УФ (управляемые формы), также добавлено, чтобы если пользователь не выбрал период, обработка корректно работала.

Возможности:

Отбор по периоду
Останавливать по ошибке (или не останавливать);
Выводить текст ошибки
Прерывание пользователя
Индикатор выполнения

Ну и главное - это перепроведение документов ТОЛЬКО по выбранным регистрам!

Инструкция по использованию: Отмечаем флажками необходимые настройки, выбираем в списке регистров нужные нам (при выборе обработка ищет все документы регистраторы и отмечает их на вкладке документы, если какие-то виды документов нам не нужны, снимаем вручную), нажимаем "Выполнить обработку", ждем, когда индикатор дойдет до конца!

Обработка работает в любой конфигурации, период редактирования данных должен быть открыт.

Всем приятного использования
Обработка обмена с СУФД Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка позволяет

Просмотреть, какие файлы выгружать в БГУ.
Создавать задание на импорт.
Распаковывать архивы их СУФД.
Удалять выгруженные 

Вначале предлагается распаковать архив с файлами из казначейства в каталог, указаный в правилах обмена. Если этого делать не надо, то можно перейти непосредственно к загрузке.

Выбирается файл для загрузки, при этом можно посмотреть информацию в нем (делалось для того, чтобы повторно не выгрузить, т. к. некоторые документы могли быдь разнесены вручную).

После выбора файла формируется документ Задание на импорт, и переносятся документы.

То есть стандартным способом мы загружаем все файлы и выгружаем все документы, здесь осуществлен выбор.

Есть возможность сформировать реестр платежнух документов по файлу из казначейста

Проверяет, есть ли в базе БГУ загружаемый документ, чтобы определить какие файлы загружены, и какие документы сформированы..если есть то можно открыть его
Загрузка и выгрузка данных в формате XML 1.0 по номенклатуре, контрагентам, договорам и счетам клиента из Битрикс в Бухгалтерию предприятия 3.0.38.55 с максимальной защитой от ошибок загрузки и возможностью отладки. 1С: Предприятие 8.3

Краткое описание

Учитывая важность и работоспособность как очень хорошего шаблона для доработок под другие конфигурации (писали что чуток подправить и можно грузить данные в Управление торговлей 1
Обработки для обслуживания фискальных регистраторов МІНІ-ФП54.01, МІНІ-ФП81.01, МІНІ-ФП82.01, MINI-T400ME, MINI-T51, MINI-T61 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Набор необходимого состоит:

Драйвер OLE-сервер для MINI  - установите первым делом!

Драйвер заявлен как х86 , но при некоторых поправках работает на х64.

Регистрировать нужно в режиме администратора.

Саму обработку нужно подправить. Отключить запись логов ошибок, или задать другое размещение лога.

 Даю свой вариант обработки для х86 и х64

Обработка обслуживания MINI для «1С: Предприятие 8.2. - 8.3.» (Подключается из меню Сервис - Настройка торгового оборудования - Добавить)

Up.: Добавлен комплект файлов для подключения ФП к Бухгалтерия для Украины
Сбор и анализ счетчиков производительности через 1С по шагам 8.3 Платформа 1С v8.x (все механизмы)

Краткое описание

Этап I. Подготовка БД MS SQL и ODBC.

Очистка логина и пароля Интернет-Поддержки пользователя 1C:Предприятие 8

Краткое описание

У сотрудников фирм франчайзи часто бывают случаи, когда клиент забыл свой логин/пароль интернет-поддержки, и нам приходится вводить свои информационные данные, чтобы обновить/скачать какую-либо информацию с v8.1c.ru.

Но при окончании работ возникает вопрос, как быстро стереть ту информацию интернет-поддержки, что мы ввели, чтобы клиент не мог пользоваться ею. 

Обновлена Версия до 4.0, что в ней нового:

Расшифровка налога на имущество 2015г. (8.2) 1C: Предприятие 8.2

Краткое описание

Форма М-19. Материальный отчет. 1С:Бухгалтерия 3.0 1C:Предприятие 8

Краткое описание

Форма М-19. Материальный отчет. Для 1С: Бухгалтерия 3.0.

С отбором по складам, счетам, номенклатуре, физ.лицу. Реквизиты печати можно задать непосредственно в отчете. Применяется в строительных организациях, когда материально ответственным лицом является начальник участка (производитель работ).

Как добавить в Бухгалтерия 3.0?

Подсистема "Администрирование" - > "Печатные формы, отчеты и обработки" - > "Дополнительные отчеты и обработки".

Добавляем файл обработки.

Для удобства указываем в разделе "Размещение" - подсистему где будет использоваться отчет. Например "Склад". 

Настраиваем быстрый доступ для нужных пользователей. После выполнения всех операций отчет будет доступен в выбранной подсистеме в разделе "Дополнительные отчеты".

 

UPD 20.07.2020:

Исправлен вывод периода в отчете.

Для корректного формирования отчета, в настройках плана счетов для анализируемого счета должна быть включена настройка "Учет по складам". Чтобы у нужного счета было субконто по складу. 

Подробнее тут: https://its.1c.ru/db/answers1c/content/68/hdoc
Загрузка номенклатуры из многоуровневых файлов Excel 1C: Предприятие 8.2

Краткое описание

За основу взята эта отличная обработка //infostart.ru/public/280039/ от j3d.


При загрузке номенклатуры столкнулся с проблемой: в прайсах поставщиков может попадаться номенклатура с идентичным наименованием, но с разными арикулами, единицами измерениями и ценами.

Потому немного подправлен поиск номенклатуры в справочнике, также добавлена возможность формировать документ "Установка цен номенклатуры". В фильтр форматов файлов добавлен Excel 2007-2010 (*.xlsx).

Проверялась только на Управление торговлей 10.3.32.1 
"Заполнение табличной части документа ""Установка цен номенклатуры контрагентов"" на основании документа ""Установка цен номенклатуры""" 1C: Предприятие 8.1, 1C: Предприятие 8.2

Краткое описание

Обработка позволяет упростить заполнение табличной части документа "Установка цен номенклатуры контрагентов" на основании уже введенного документа "Установка цен номенклатуры"

Заполнение документа происходит в режиме добавления строк.


Необходимо добавить в список внешних обработок заполнения табличных частей документа "Установка цен номенклатуры контрагентов"
Журнал учета полученных счетов-фактур с разбивкой по ИФО Платформа 1С v8.x (все механизмы)

Краткое описание

Сделано формирование журнала по ИФО, т. к. стандартный журнал формировал счета-фактуры вне зависимости от ИФО.

Отчет сделан на основе стандартного отчета "Дополнительные листы книги-продаж", причем за произвольный период, а не помесячно..
"Отчет ""Анализ точки заказа"" СКД. УТ 10.3" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Дата запрета изменения данных 1С: Предприятие 8.3

Краткое описание

Как известно, в Бухгалтерии 3.0 (в конфигурации БД) есть 5 стандартных наборов прав: Администратор, Бухгалтер, Главный Бухгалтер, Синхронизация данных, Только Просмотр. Казалось бы, в таком наборе прав, как "Главный бухгалтер", явно должен быть инструмент для установки даты запрета редактирования. На практике набор прав действительно есть, он дает права на регистр сведений "ДатыЗапретаИзменения", однако в интерфейсе он не появляется (или мне знаний не хватило, http://forum.infostart.ru/forum86/topic113952/ -  обсуждалась эта проблема). Два дня поиска решения не дали результата. Тогда мной было принято решение создать внешнюю обработку, которая при открытии вызывает форму "ДатыЗапретаИзменения" регистра сведений "ДатыЗапретаИзменения". Что делает ее универсальной (если обновят данную форму, обработка будет запускать обновленную форму). 
Для использования моей обработки необходимо создать еще один набор прав : Администрирование - Настройка пользователей и прав - Профили групп доступа - Создать
 Назвать права Удаленный доступ (стандартный интерфейс OData). Найти соответствующие права в списке и поставить на них галочку.
Затем
Администрирование - Настройка пользователей и прав - Пользователи - Главный бухгалтер - Права Доступа добавить права Удаленный доступ (который только что создали)
Ну и при подключении обработки рекомендую вставить ее в раздел операций, и добавить только одному пользователю ГлавныйБухгалтер.
Подсистема периодической принудительной смены пароля пользователями для 8.3 (УФ, Такси) 1С: Предприятие 8.3

Краткое описание

Прошерстил инфостарт, нашел вот это - //infostart.ru/public/98240/ - респект автору, но это для обычного приложения.

И вот, слегка постучав в бубен, представляю то же самое, но для УФ. 

При этом принимается, что в вашей конфигурации есть справочник Пользователи, куда добавится 1 реквизит, и есть параметр сеанса ТекущийПользователь - как во всех типовых конфах.

Картинки, как это выглядит при работе, и cf-ка прилагаются.
Шаблон отчета на СКД 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Опишу сразу достоинства и недостатки этого шаблона:

Только для обычных форм:

Недостатки: Только для толстого клиента, если у вас в конфигурации не включен флаг: «Использовать обычные формы в толстом клиенте в управляемом режиме», то вы его не запустите.

Также не запустите, если в режиме толстого клиента вы будете пытаться запустить шаблон как внешний отчет. Такой шаблон нужно обязательно добавлять в конфигурацию.

Достоинства: Пожалуй, главное достоинство - отчет выполняется в фоновом режиме. Это, наверно, самый жирный плюс, из-за которого его нужно применять в отчетах. Шаблон на управляемых формах.

Возможности:

1) Быстрого сохранения в Excel, pdf, табличный документ, и отправка через outlook по почте.

2) Возможность зафиксировать и расфиксировать таблицу.

3) Загрузка списка отбора из Excel, это, например, у вас есть список артикулов, сохраненных в Excel, нужно сделать по ним отбор. Нажимаете кнопку «Загрузка списка отбора из Excel». Выбираете параметр, параметр должен быть строкой, в отборе выбираете список, появляется форма для выбора файла из Excel, ставите, какую строку и колонку, и загружаете.

4) Быстрый расчет суммы и среднего по выделенным ячейкам.

5) Диалог выбора периода, как на обычных формах см. рисунок.

6) Передача параметров и отборов между вариантами.

Использовать просто: загрузите схему СКД в отчет. Параметры периода должны называться  &НачалоПериода, &КонецПериода.

Если непонятно, как его использовать, то пишите в ЛС.

Обновление 
Нейронная сеть. Создаем, учим и используем. В одной обработке 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

С нейронными сетями я познакомился довольно давно. Отношение к ним, как к средству решения прикладных задач, у меня довольно противоречивое. С одной стороны, ни одной задачи, для которых я использовал сети, решить с удовлетворяющим меня результатом я так и не смог (но нужно оговориться, что и задачи были сверхсложные), а с другой стороны, удалось в достаточной степени оценить мощь аналитического потенциала нейронных сетей и их способность давать оценки и прогнозы на самых разнообразных множествах.

Так как интерес мой к сетям периодически возникал на протяжении последних лет, то идея написать обработку для построения и обучения нейронной сети витала, что называется, в воздухе. Однако, реализовать идею удалось только в последние несколько (честно, даже не помню сколько) месяцев. Борьба за себя - это прежде всего борьба с собой, а точнее, с собственной ленью и невежеством. И этот раунд остался за мной:) Так как делал прежде всего для себя - выкладываю то, что получилось, совершенно даром.

Что из себя представляет данная разработка? Перечислю основные возможности и функционал. При этом имеем в виду и помним, что реализована она только на управляемых формах.

Статистика по лицензиям (мониторинг лицензий) Платформа 1С v8.x (все механизмы)

Краткое описание

В один прекрасный момент у пользователей возникла проблема с запуском 1С, постоянно кому-то не хватало лицензий.

Решил быстро написать конфигурацию для получения сведений о лицензиях в сервера 1С Предприятия, чтобы посмотреть что там творится. После изобретения велосипеда, оказалось, что я не первый и уже есть похожие разработки, вот и вот. Ну да ладно, надеюсь и моя поделка кому-нибудь приходится.

Решаемые задачи:
Получение и накопление данных о лиценциях с с сервера 1С Предприятия
Построение отчетов по текущим данным.
Построение графиков по динамике использования ключей.
Особенности:

К сожалению, сервер 1С ничего не знает о ключе, кроме его серии и максимальном количестве лицензий. Хотя может и знает, но делиться этой информацией не хочет. Но суть в том, что если у вас два ключа H4 NET50 ORGL8, то невозможно отличить один от другого. Поэтому информация по ключам одинаковой серии будет суммироваться.

Использование:

Получать информацию можно вручную, а можно настроить периодический опрос сервера через заданные промежутки времени. Фоновые задания не делал, особой необходимости в них не было.

Что дальше?

При желании можно получать информацию о начала работы каждого пользователя, продолжительности работы и активности (самые частые перезапуски и количество запущенных приложений)



Организация универсальной формы подбора (платформа 8.3) 1С: Предприятие 8.3

Краткое описание

Господа, хочу поделиться с вами одним из вариантов организации формы подбора.

Идея в следующем:
есть две таблицы значений – в первой находится список выбираемых данных, во второй – список выбранных данных. В качестве примера может служить любой документ с табличной частью, где нужно при помощи запроса или других средств организовать какую либо выборку, и уже руками отобрать из нее нужные записи,  поместив их в табличную часть данного документа.

Для этого, перед открытием данной формы нам необходимо сформировать таблицу выборки и поместить ее во временное хранилище для передачи адреса в качестве параметра. Аналогично, необходимо поместить в хранилище и таблицу выбора (например, табличную часть документа).

Текст кода из формы документа, откуда вызываем форму выбора:

&НаКлиенте
Процедура КнопкаПодбор(Команда)
ПараметрыПодбора = Новый Структура;
ПараметрыПодбора.Вставить("ЗакрыватьПриВыборе", Ложь);
ПараметрыПодбора.Вставить("РежимВыбора", Истина);
ПараметрыПодбора.Вставить("АдресТаблицыВыбранныхДанных", АдресСпискаПодобранныхПоказаний());
ПараметрыПодбора.Вставить("АдресТаблицыИсходныхДанных", ФормированиеТаблицыПодбора(ДобавитьМесяц(ТекущаяДата(), -18*12)));//Выберем совершеннолетних
ОткрытьФорму("ОбщаяФорма.ОбщаяФормаПодбора", ПараметрыПодбора, Элементы.ФизическиеЛица);
КонецПроцедуры

&НаСервере
Функция АдресСпискаПодобранныхПоказаний()
Возврат ПоместитьВоВременноеХранилище(Объект.ФизическиеЛица.Выгрузить(,"ФизическоеЛицо"), УникальныйИдентификатор);
КонецФункции

&НаСервере
Функция ФормированиеТаблицыПодбора(ДатаРождения)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК ФизическоеЛицо,
| ФизическиеЛица.ДатаРождения
|ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
|ГДЕ
| ФизическиеЛица.ДатаРождения <= &ДатаРождения";
Запрос.УстановитьПараметр("ДатаРождения", ДатаРождения);
ТалицаИсходныхДанных = Запрос.Выполнить().Выгрузить();

//Уберем из исходной таблицы уже имеющиеся (если таковые есть) данные в таблице документа
Для Каждого СтрокаТаблицы Из Объект.ФизическиеЛица Цикл
НайденныеСтроки = ТалицаИсходныхДанных.НайтиСтроки(Новый Структура("ФизическоеЛицо", СтрокаТаблицы.ФизическоеЛицо));
Для Каждого ТекущаяСтрока Из НайденныеСтроки Цикл
ТалицаИсходныхДанных.Удалить(ТекущаяСтрока);
КонецЦикла;
КонецЦикла;

Возврат ПоместитьВоВременноеХранилище(ТалицаИсходныхДанных, УникальныйИдентификатор);
КонецФункции

&НаКлиенте
Процедура ФизическиеЛицаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Объект.ФизическиеЛица.Очистить();
ВыбранныеДанныеВТаблицуДокумента(ВыбранноеЗначение);
КонецПроцедуры

&НаСервере
Процедура ВыбранныеДанныеВТаблицуДокумента(ВыбранноеЗначение)
Для Каждого СтрокаТаблицы Из ПолучитьИзВременногоХранилища(ВыбранноеЗначение) Цикл
НоваяСтрока = Объект.ФизическиеЛица.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
КонецЦикла;
КонецПроцедуры



Далее работаем с формой подбора.

После вызова формы, считываем входные параметры, формируем таблицы на форме и переносим в них данные для подбора:

#Область НачалоРаботыСФормой

//Считываем входные параметры и формируем таблицы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ФормированиеТаблицы("ТалицаИсходныхДанных", Параметры.АдресТаблицыИсходныхДанных);
ФормированиеТаблицы("ТаблицаВыбранныхДанных", Параметры.АдресТаблицыВыбранныхДанных);
КонецПроцедуры

//Формируем таблицу на форме, соответствующую таблице в хранилище и переносим в нее данные
&НаСервере
Процедура ФормированиеТаблицы(ИмяТаблицыНаФорме, АдресТаблицыВХранилище)
ТаблицаРодителя = Новый ТаблицаЗначений;
ТаблицаРодителя = ПолучитьИзВременногоХранилища(АдресТаблицыВХранилище);

/////////////////////////////////////////////////////////
//Почистим таблицу на форме
ТаблицаВыбранныхДанных.Очистить();
МассивУдаляемыхРеквизитов = Новый Массив;
РеквизитыТЗ = ПолучитьРеквизиты(ИмяТаблицыНаФорме);
Если РеквизитыТЗ.Количество() > 0 Тогда
Для Каждого Реквизит Из РеквизитыТЗ Цикл
МассивУдаляемыхРеквизитов.Добавить(ИмяТаблицыНаФорме + "." + Реквизит.Имя);
КонецЦикла;
ЭтаФорма.ИзменитьРеквизиты(,МассивУдаляемыхРеквизитов);

Для Каждого Реквизит Из РеквизитыТЗ Цикл
УдаляемыйЭлемент = Элементы.Найти(ИмяТаблицыНаФорме + "_" + Реквизит.Имя);
Если УдаляемыйЭлемент <> Неопределено Тогда
Элементы.Удалить(УдаляемыйЭлемент);
КонецЕсли;
КонецЦикла;
КонецЕсли;
/////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////
//Создаем массив реквизитов - колонок для таблицы значений на форме
МассивРеквизитов = Новый Массив;
Для Каждого Колонка Из ТаблицаРодителя.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения, ИмяТаблицыНаФорме, Колонка.Заголовок));
КонецЦикла;
/////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////
//Выводим добавленные колонки на форму
ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов);
Таблица = Элементы[ИмяТаблицыНаФорме];
Таблица.Отображение = ОтображениеТаблицы.Список;
Для Каждого Колонка Из ТаблицаРодителя.Колонки Цикл
НовыйЭлемент = Элементы.Добавить(ИмяТаблицыНаФорме + "_" + Колонка.Имя, Тип("ПолеФормы"), Таблица);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = ИмяТаблицыНаФорме + "." + Колонка.Имя;
НовыйЭлемент.Заголовок = ВспомогательныеФункции.СформироватьСиноним(Колонка.Имя);
КонецЦикла;

ТаблицаНаФорме = РеквизитФормыВЗначение(ИмяТаблицыНаФорме);
ТаблицаНаФорме.Очистить();

//Переносим данные из входящей таблицы значений в таблицу значений на форме
Для Каждого СтрокаТаблицыРодителя Из ТаблицаРодителя Цикл
НоваяСтрока = ТаблицаНаФорме.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицыРодителя);
КонецЦикла;

ЗначениеВРеквизитФормы(ТаблицаНаФорме, ИмяТаблицыНаФорме);
/////////////////////////////////////////////////////////
КонецПроцедуры

#КонецОбласти


Для обработки выбранных данных использую следующие процедуры и функции:

#Область ОбъектыДляОбработкиВыбора

&НаКлиенте
Процедура ТалицаИсходныхДанныхВыборЗначения(Элемент, Значение, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВыборСтроки(Элемент.ТекущиеДанные);
ЭтотОбъект.ТалицаИсходныхДанных.Удалить(Элемент.ТекущиеДанные);
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьВсе(Команда)
Для Каждого СтрокаТаблицы Из ЭтотОбъект.ТалицаИсходныхДанных Цикл
ВыборСтроки(СтрокаТаблицы);
КонецЦикла;
ЭтотОбъект.ТалицаИсходныхДанных.Очистить();
КонецПроцедуры

&НаКлиенте
Функция ВыборСтроки(ВыбраннаяСтрока)
НоваяСтрока = ЭтотОбъект.ТаблицаВыбранныхДанных.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыбраннаяСтрока);
КонецФункции

#КонецОбласти


Следующая функция из имени колонки формирует синоним для заголовка колонки таблицы на форме:

&НаСервереБезКонтекста
// Формирует синоним переменной.
// Пример: на входе "ИмяПеременнойАБВГ", на выходе "Имя переменной АБВГ"
//
// Параметры
// ИмяРеквизита - Строка. Имя переменной, имя колонки таблицы
//
// Возвращаемое значение:
// Строка - Представление переменной
//
Функция СформироватьСиноним(ИмяРеквизита)
Перем Синоним, НомерСимвола, Символ, ПредСимвол, СледСимвол, Прописная, ПредПрописная, СледПрописная, ДлинаСтроки;
Синоним = ВРег(Сред(ИмяРеквизита, 1, 1));
ДлинаСтроки = СтрДлина(ИмяРеквизита);
Для НомерСимвола = 2 По ДлинаСтроки Цикл
Символ = Сред(ИмяРеквизита, НомерСимвола, 1);
ПредСимвол = Сред(ИмяРеквизита, НомерСимвола - 1, 1);
СледСимвол = Сред(ИмяРеквизита, НомерСимвола + 1, 1);
Прописная = Символ = ВРег(Символ);
ПредПрописная = ПредСимвол = ВРег(ПредСимвол);
СледПрописная = СледСимвол = ВРег(СледСимвол);

// Варианты:
Если НЕ ПредПрописная И Прописная Тогда
Синоним = Синоним + " " + НРег(Символ);
ИначеЕсли Прописная И НЕ СледПрописная Тогда
Синоним = Синоним + " " + НРег(Символ);
Иначе
Синоним = Синоним + НРег(Символ);
Конецесли;
КонецЦикла;

Возврат Синоним;

КонецФункции // СформироватьСиноним(ИмяРеквизита)


После завершения работы, форма поместит таблицу выбранных значений во временное хранилище и вернет в вызвавший ее объект адрес этой таблицы в хранилище.

Фрагмент текста кода из формы подбора:

&НаКлиенте
Процедура ПеренестиДанные(Команда)
ОповеститьОВыборе(АдресТаблицыВыбранныхДанных());
ЭтаФорма.Закрыть();
КонецПроцедуры

//Перед отправкой результата в вызвавший ее объект, поместим таблицу выбранных данных в хранилище.
&НаСервере
Функция АдресТаблицыВыбранныхДанных()
Возврат ПоместитьВоВременноеХранилище(ЭтотОбъект.ТаблицаВыбранныхДанных.Выгрузить(), УникальныйИдентификатор);
КонецФункции
HTML5 в ПолеHTMLДокумента на Управляемой форме - fireEvent в действии Платформа 1С v8.x (все механизмы)

Краткое описание

Суть проблемы:

В ранних версиях Internet Explorer (далее IE) вплоть до IE8 вызовы функций Javascript (далее JS) можно было осуществлять примерно так:

ПолеHTMLДокумента.document.parentWindow.MyFunc (...);


Начиная с версии IE9 такие вызовы, а также вызовы через eval () не работают, однако именно с этой версии начинается поддержка HTML5 и объекта Canvas, который предоставляет огромные возможности по рисованию, работе с картинками, аудио и видео и т.д. Также начиная с IE9 размер строки картинки в формате Base64 не ограничен (в IE8 - до 32К).

Однако, взаимодействие между Javascript'ом (далее JS) и 1С выглядит не так, как в старых версиях.

Решение:

Решением является использование JS-функции fireEvent.

Далее в статье рассматриваются вызовы 1С->JS и JS->1С для IE9 на примере функций вычисления суммы 2 чисел в 1С и JS. Cоответсвенно, функция JS вызывается из 1С, а 1С-функция - из JS.

Стоит сказать, что описываемая схема передачи параметров функций и их результатов - не единственное возможное решение, но достаточно универсальное.

В обработке к статье - полная версия примера.

Итак, начнем:

Сначала укажем, что наш HTML-код должен выполняться на движке IE9. Для этого в разделе напишем строчку:


...
   
...


Идем дальше. Поскольку JS-функция fireEvent может получать в качестве параметра только данные, относящиеся к сообщению, организуем передачу данных через невидимые на странице HTML-контейнеры
.

   
    
    

Можно обойтись и одним
, в нашем примере их несколько для наглядности. Содержимое DIV-контейнера (точнее, свойство innerHTML) имеет строковый тип.

ExtCommand - сюда будем передавать код вызываемой JS-функции.
EventName - здесь будет имя действия, которое нужно выполнить в 1С
BufferData - для передачи параметров или любых других строковых данных

Также нам понадобится невидимая кнопка для вызова JS-функций:

   

И JS-функция ExecCommand (), которая будет выполнять любой JS-код, передаваемый из 1С.

    function ExecCommand ()
    {
        code = document.getElementById ("ExtCommand").innerHTML;
        result = "" + eval (code);
        document.getElementById ("BufferData").innerHTML = result;
    }



Вызов Javascript из 1С:

&НаКлиенте
Процедура КомандаJS(Команда)
// формуруем текст команды JS
лКомандаJS = СкриптПоШаблону("SumJS (%1, %2)", ФрмЧ (Число1), ФрмЧ (Число2));
// записываем команду JS в контейнер div
Элементы.НТМЛ.Документ.getElementById ("ExtCommand").innerHTML = лКомандаJS;
// Посылаем сообщение невидимой кнопке, чтобы выполнить команду JS
лКоманда = Элементы.НТМЛ.Документ.getElementById ("SendEvent");
лРезЕ = лКоманда.fireEvent ("onclick");
// получаем результат из контейнера DIV
лРез = Элементы.НТМЛ.Документ.getElementById ("BufferData").innerHTML;
Сумма = Число (лРез);
КонецПроцедуры


Вызов 1С из Javascript:

Разместим на HTML-странице такие элементы:


...
    Число 1:

    Число 2:

    Сумма  :

    

...


Их назначение понятно из названий.

Далее функция ExtSum, которая вызывает обработчик ПриНажатии у ПолеHTMLДокумента в 1С:

    function ExtSum ()
    {
        // параметры вызова - имя действия
        document.getElementById ("EventName").innerHTML = 'CalcSum';
        // параметры действия строкой через точку с запятой
        document.getElementById ("BufferData").innerHTML = Val
Поиск и замена дублей для управляемого приложения, небольшой тюнинг стандартной версии Платформа 1С v8.x (все механизмы)

Краткое описание

Встроенная в УТ 1
"Конфигурация для мебельного производства ""Мебельщик""" 1C: Предприятие 8.2

Краткое описание

Обработка заполнения шаблонов Word из данных справочников и документов 1С 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Принцип работы обработки.

Пользователь создает шаблоны в формате документов Word. В шаблоны, в нужные места документа, помещает Теги -  ключевые слова, заключенные в квадратные кавычки.

Запускается обработка – два вида запуска (Файл – Открыть или через кнопку Печать справочника или документа).

В обработке указывается, каким Тегам соответствуют какие Реквизиты документа или справочника.

Выбираются шаблоны (количество неограниченно) и нажимается кнопка Печать.

Формируются документы на основе шаблонов с заполнением Тегов значениями Реквизитов выбранного значения документа или справочника.

 

Примечание: Настройки сохраняются и индивидуальны для каждого вида справочника и документа.

Дополнительно: Вывод табличной части документа.
Универсальная авторегистрация внешних отчетов и обработок (управляемые формы) 1C:Предприятие 8

Краткое описание

Представьтесь себе, у каждой базы есть подключенные внешние обработки/отчеты и они должны нормально функционировать на новой версии любой конфигурации. Обработка проверена на релизе конфигурации "1С:Управление торговлей, редакция 11" версия 1
Конструктор загрузки DBF Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка на основе файла DBF формирует код для его обработки. При работе с большими DBF файлами, содержащими массу полей, порой утомительно бывает описывать ТаблицуЗначений и затем обрабатывать ее в цикле.

Принцип работы обработки достаточно прост:

Выбираем наш DBF файл.
Внизу в таблицу загружаются поля DBF файла. Слева имена полей DBF файла (Колонка в файле), справа (Колонка в коде) имена колонок ТаблицыЗначений, в которой будут храниться данные из файла. Если необходимо, корректируем.
Нажимаем кнопку "Сформировать". Вставляем код в конфигуратор.
Требование-накладная (форма М-11) с подписями ответственных лиц (БП 3.0) Бухгалтерский учет

Краткое описание

Внешняя печатная форма М-11 к документу Требование-накладная для конфигурации Бухгалтерия предприятия 3.0, сделана по просьбе бухгалтеров и предписанию аудиторов.

Для использования внешней печатной формы необходимо ее прикрепить через меню "Администрирование -> Дополнительные отчеты и обработки".

Нюанс: если "Дополнительные отчеты и обработки" не активны, то установите флажок Дополнительные отчеты и обработки

В файле содержатся все данные для автоматического прикрепления к документу. Нужно просто нажать кнопку "Создать..." -> "Загрузить из файла..." и выбрать скачанный файл.

 

В документе "Требование-накладная" при нажатии кнопки "Печать" появится пункты:

- ТН форма М-11

- ТН форма М-11 настройка

 

Работает как из формы документа, так и из списка.




Как работает:

- нажать Печать, выбрать ТН форма М-11 настройка, в открывшейся форме внести визирующих и их должности, закрыть, нажав на крестик

- нажать Печать, выбрать ТН форма М-11




Печатная форма не требует внесения изменений в конфигурацию.

Проверено на платформе: 1С:Предприятие 8.3 (8.3.5.1517). Конфигурации: "Бухгалтерия предприятия Проф 3.0.39.62"




За основу взята разработка для БП3:

//infostart.ru/public/197895/



через расширение - Требование-накладная (форма М-11) с подписями ответственных лиц (БП 3.0, расширение)
+ – Ответить
Подбор номенклатуры 1С: Предприятие 8.3

Краткое описание

Подбор номенклатуры, с выбором вида цен, и с подбором по сканеру ШК, для документа Поступление товаров и услуг в Рознице 2.
Выгрузка в весы DIGI для 1С Розница 2.1 (Управляемое приложение) 1С: Предприятие 8.3

Краткое описание

Написана и протестирована на 1С Розница 2.1 и весах DIGI SM-100.

Инструкция в архиве. 

Обновил обработку: Исправил формирование штрих кода - весы забивались за 2 дня, изменил структуру ингредиентов.

Для того чтобы ингредитенты выгружались нужно:

Внешнее управление сеансами Платформа 1С v8.x (все механизмы)

Краткое описание

Реализован и слегка доработан механизм внешнего управления сеансами, описанный на ИТС.

Предназначен для использования в клиент-серверном варианте.

Базу с текущей конфигурацией необходимо опубликовать на веб-сервере (описано в книге «1С:Предприятие 8.3. Руководство администратора»). Тестировал на IIS.

С помощью консоли кластера у контрлируемых информационных баз следует указать в качестве значения свойства Внешнее управление сеансами  строку (wsdl=http://ИмяСервера/ИмяОпубликованнойКонфигурации/ws/sessions?wsdl;ns=http://v8.1c.ru/SessionManagement;srvc=Sessions;port=SessionsSoap;), и установить флажок для свойства Обязательное использование внешнего управления.

В справочник Доступные сеансы внести имена информационных баз.

 
Список покупателей с дисконтной картой Платформа 1С v8.x (все механизмы)

Краткое описание

Как быстро переключить сканер штрих-кода honeywell, metrologic в режим com соединения 1C: Предприятие 8.2

Краткое описание

Сканеры под торговой маркой Eclipse производит фирма Honeywell (бывшая Metrologic).

Взаимодействие со сканером в 1С  возможно только посредством внешнего события, которое генерирует сканер с интерфейсом RS-232 (последовательного порта или COM-порта).  Таким образом, в USB-сканерах требуется эмуляция COM-порта.

Порядок подключения сканера и перевод в режим эмуляции COM-порта:

Анализ продаж и оборачиваемости. Упущенная валовая прибыль. Два типа цен в одном отчете для УТ 10.3. 1C: Предприятие 8.2

Краткое описание

Возможности отчета:

- Одновременно просматривать 2 типа цен номенклатуры в одном отчете;

- Пронозируемаемая упущенная валовая прибыль от отсутствия товара на складе;

- Количество дней присутствия и отсутствия товара на складе;

- скорость продаж товара (шт/день);

- количество проданного товара;

- остаток товара на складе;

- Отборы: 

                УпущеннаяВаловаяПрибыль

                КоличествоПродано

                КоличествоНаСкладе

                КоличествоДнейНаличияНаСкладе

                КоличествоДнейОтсутствияНаСкладе

                Склад

                Номенклатура

т.е. можно сформировать отчет по номенклатуре с количеством продаж = 0, или с упущенной валовой прибылью > 1000 руб.

- так же есть возможность разноцветного оформления по каждому параметру отбора.

 

Примеры расчетов:

- Скорость продаж:

КоличествоПродано / КоличествоДнейНаличияОстатка;

- Упущенная валовая прибыль:

СкоростьПродаж * КоличествоДнейОтсутствияОстатка * Цена;

 
Пересчет себестоимости переработки и производства продукции БП 3.0 (КОРП) 1С: Предприятие 8.3

Краткое описание

При написании использовалась обработка //infostart.ru/public/343612/.

Себестоимость продукции пересчитывается по спецификации. Цены номенклатуры комплектующих рассчитываются так:

Правила обмена данными ТиС 7.7.958 -> БП 3.0.37.29 1С:Оперативный учет 7.7, 1С: Предприятие 8.3

Краткое описание

Переносимые документы:

Поступление ТМЦ
Поступление ТМЦ Импорт (в 2 документа)
Поступление доп. расходов (распределяется по сумме)
Реализация ТМЦ
Возврат товаров поставщику (документ переносится, но проведение "хромает" при отсутствии партии)
Возврат товаров от покупателя (документ переносится, но проведение "хромает" при отсутствии партии)
Оприходование ТМЦ
Строка авансового отчета (Закупка ТМЦ)
Строка авансового отчета оплата
Строка авансового отчета прочее
Поступление товаров и услуг прочее
Принятие к учету ОС
ПКО
РКО
Строка выписки приход
Строка выписки расход
Счет фактура выданный (полученный регистрируется в документах поступления)
Передача материалов спецназначения в производство
Перемещение ТМЦ
Корректировка долга
Платежное поручение (справочный документ)

Замечание к правилам:

Синхронизация справочников настроена по кодам + наименованиям.
Строки авансового отчета переносятся в авансовый отчет, то есть их будет много за месяц.
Документы ввода остатков необходимо вностить вручную.
С помощью этих правил работает регулярный обмен, но все же возможны незначительные ошибки.
Выгрузка возможна с ограничением по юр лицу.

Доработки:

В конфигурацию ТиС 7.7.958 добавлено перечисление ВидыДоговоровКонтрагентов и реквизит справочника "Договоры" - "Вид договора" для более корректного переноса.
В архиве находятся файлы доработанных обработок универсального обмена для 7.7 и 8.3 (управляемый интерфейс) Обработку обмена для 8.3 можно добавлять в "Дополнительные отчёты и обработки".

 
Расширенная выгрузка в весы Штрих-Принт Платформа 1С v8.x (все механизмы)

Краткое описание

Типовые конфигурации "из коробки" не балуют нас богатством настроек. Если вы сталкивались с необходимостью выгрузки товаров в весы с печатью этикеток, то наверняка поймете, о чем я. Как правило, стандартная схема штатной обработки - выгрузка наименования, цены и весового кода. Ничего более. Моему клиенту понадобилась выгрузка расширенного описания товара и сроков годности товаров в весы Штрих-Принт, подобно тому как это сделано в отраслевой конфигурации "Штрих-М: Торговое предприятие 5".

Основной плюс моего решения - все сделано в обработке обслуживания торгового оборудования. Вам не придется изменять существующую конфигурацию, кроме того все прекрасно будет работать даже на базовой версии УТ. Я тестировал обработку в версии УТ 10.3.30.2

Для тех, кто подзабыл, напомню путь к стандартной обработке обслуживания весов. Ее будет необходимо заменить на предложенную мной:

 

Я решил, что для подробного описания товара (химический состав, пищевая ценность продукта, ТУ, ГОСТ и пр.) отлично подойдет поле "Дополнительное описание номенклатуры" на самой последней вкладке в карточке номенклатуры. Это поле неограниченного размера, но нам нужно постараться уместить всю информацию в 400 символов, это ограничение самих весов (8 строк по 50 символов для формата этикетки 58*60мм). Все что не поместилось, будет просто обрезаться.

 

Если нам необходимо отображение сроков годности на этикетках, то нужно будет создать свойство номенклатуры "Срок годности" числового типа и выставить его значение (в сутках) для требуемых товарных позиций.

 Почти все готово! 

Выгружаем товары на весы штатными средствами (Сервис - Торговое оборудование - Выгрузка данных в весы с печатью этикеток) и проверяем печать на весах:



Свертка регистров УТ 11 1С: Предприятие 8.3

Краткое описание

Нужно было свернуть адресное хранение. К сожалению, типовой механизм УТ 11 не сворачивает регистр "Товары в ячейках".
Печать договора со спецификацией из документа Коммерческое предложение клиенту в MS Word для УТ 11 1С: Предприятие 8.3

Краткое описание

Внешняя печатная форма для документа Коммерческое предложение клиенту. Позволяет печатать договор со спецификацией. Макет договора со спецификацией  встроен в печатную форму.
Проверил на конфигурации УТ 1
Печать ценников и этикеток ПРОФ 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Преимущества перед типовыми функциями:
На печатной форме печатается довольно подробная информация о товаре. Также можно добавить товары по номенклатурным группам, а также из документов поступления и многое другое. Удобно в использовании.


Какая выгода пользователя от использования:  
Пригодится многим. Код открыт.
Сведения о распределении численности работников по размерам заработной платы. Форма №1 от 22.01.15 1C: Предприятие 8.2

Краткое описание

Обработка формирует печатную форму от 22.0
Внешняя печатная форма счета-фактуры для БП 3.0 (3.0.39.*) Бухгалтерский учет

Краткое описание

Форма типовая, предназначена для изменения. Делалась в связи с тем, что после обновления БП 3.0 перестала работать старая внешняя форма.

Для регистрации необходимо зайти в меню Администрирование,  Печатные формы отчеты и обработки, дополнительные печатные формы, и добавляем
Печать универсального передаточного документа (УПД) из поступления в Бухгалтерии 7.7 Бухгалтерский учет 7.7

Краткое описание

Вся информация берется из поступления.

Данные по дате и номеру счета-фактуры берутся или из поступления, если указаны дата и номер счета-фактуры, или из подчиненного счета-фактуры полученного.

Способы применения:

Кассовая книга с выбором счета кассы (для обособленных подразделений), БП 3.0 1С: Предприятие 8.3

Краткое описание

Протестировано на Бухгалтерии предприятия, редакция 3.0 (3.0.39.65)
Управление заявками пользователей (Service Desk). Платформа 8.3.6. Управляемый интерфейс 1С: Предприятие 8.3

Краткое описание

Конфигурация позволяет автоматизировать процесс оформления заявки пользователя на обслуживание или настройку программы "1С".

Заявка пользователя может иметь статусы:

принята,
на утверждении руководителя,
передана на обработку специалисту,
на проверке,
выполнена,
отклонена.

Весь этот процес автоматизирован с помощью механизма бизнес-процессов, реализованных в технологической платформе 1С:Предприятие 8 (технологическая карта на скриншоте).

Таким образом, данная конфигурация позволяет вести учет заявок пользователей по доработке и обслуживанию 1С.

Конфигурация работает в режиме управляемого приложения.

В конфигурации существует три роли пользователей: "Руководитель","Пользователь", "Специалист" (полные права). Интерфейс зависит от выбранной роли для пользователя...
"Отчет ""Валовая прибыль"" для БП 3.0" 1С: Предприятие 8.3

Краткое описание

Отчет формируется на основании движений по регистру бухгалтерии.

Отчет выполнен на СКД.

Колонки:

Количество,
Себестоимость (90.02.1),
Выручка (90.0
Расшифровка налоговых активов и обязательств ОНО, ОНА, ПНО, ПНА 1С: Предприятие 8.3

Краткое описание

При проверке корректности расчета налога на прибыль рекомендую пользоваться отчетом "Анализ состояния налогового учета по налогу на прибыль".

В этом отчете блоки "Доходы" и "Расходы" формируются по регистру бухгалтерского учета и поддаются дополнительной расшифровке, а блок "Корректировка (ПНО, ПНА, ОНО, ОНА)" не расшифровывается.

Если у вас расхождения в этом отчёте, то первым делом проверьте заполненость субконто "ПрочиеДоходыИРасходы" по 91 счету - пустых субконто быть не должно.

По своему опыту скажу, что проблемы с временными разницами в 1С существуют, они не могут образоваться из ничего и бывает, что бухгалтерские справки создают временную разницу, а ОНО или ОНА регламентная операция не формирует, тут я склоняюсь, что ошибка где-то тут //infostart.ru/public/348508/, но надо сказать, что стандартные документы в 1С (кроме Авизовок в бухгалтерии корп) не приводят к ошибкам в ОНО и ОНА, скорее это всё же ошибки учёта. Ошибок с формированием ПНО и ПНА по постоянным разницам я не встречал. 

Для расшифровке данных сумм можно открыть "Справку расчет по налогу на прибыль"

 Сформируется "Справка- расчет налога на прибыль":

Но её трудно анализировать и сформировать её можно только за месяц, поэтому был сделан следующий отчёт:

 

 Блок "По хозрасчетному" аналогичен блоку "Корректировка (ПНО, ПНА, ОНО, ОНА)" отчета "Анализ состояния налогового учета по налогу на прибыль" и по нажатию правой кнопки мыши можно получить детальную расшифровку по субконто:

На изображении значения расшифровок я затер, чтобы меня не обвинили в раскарытии коммерческой тайны, у Вас же расшифровка будет формировать корректно.

 Данный отчет можно использовать при проверке закрытия месяца, но всё же данные будут корректно расшифровываться в случае автоматического формирования ОНО, ОНА, ПНО, ПНА регламентной операцией.

Можно также попытаться расшифровать обязательства непосрественно по регистру бухгалтерии, для этого сделал ещё два отчета, они расшифровывают обороты 90 и 91 счетов по ПР и ВР.

Расшифроква ПНО и ПНА по Хозрасчетному:

Расшифроква ОНО и ОНА по Хозрасчетному:

В версии 2.0 существовал отчет Справка расчет Постоянных и временных разниц", и я захотел сделать аналогичный отчет для 3.0 для временных разниц, только надо оговориться, что данный отчет будет давать погрешность из-за ошибок округления, т.к. в 1с разницы считаются по Видам активов, а не по самим активам. Отчет называется "Справка расчет отложенные налоговые активы и обязательства" 

 
Отчет о продажах с расшифровкой партий товара (для УТ 11, 8.3) 1С: Предприятие 8.3

Краткое описание

Внешний Отчет о продажах с расшифровкой партий товара  создан на основании типового отчета из конфигурации УТ 11 "Валовая прибыль предприятия" с небольшими доработками. 

Позволяет расшифровать продажи по документам партионного учета. Предполагается, что организация использует партионный учет, в учетной политике установлен для расчета себестоимости метод ФИФО (скользящая оценка). Подготовлены два варианта отчета с группировками (Номенклатура - Документ реализации - Документ поступления (партии) и Номенклатура - Документ поступления (партии) - Документ реализации).

Отчет позволяет получить информацию о покупных и отпускных ценах, прибыли и обороте, полученным при реализации товара. С помощью параметров настройки отчета можно произвести различный отбор и группировку параметров отчета (по конкретным ТМЦ, по конкретному покупателю, по документу, по поставщику и т.д.). Можно изменить степень детализации и порядок представления.

ОтчетОПродажахСРасшифровкойПартий.erf  - отчет для УТ 11 в редакции 1
Обработка редактирования Реализации товаров и услуг (РТУ) без открытия документов 1С: Предприятие 8.3

Краткое описание

Обработка позволяет редактировать табличную часть "услуги" документов Реализация товаров и услуг  без открытия формы самого документа.

Особенности:

Обработка построена на СКД с отборами и условным оформлением.

2 варианта использования: пакетный и одиночный.




Варианты использования

1) возможность изменить счета учета и субконто в табличной части у группы документов. 

Для этого необходимо выделить документы SHIFT'ом или кнопкой "выделить все документы" и нажать "изменить счета / субконто", после этого в отдельном окне будет предложено ввести новые значения и затем документы запишутся и проведутся.

2) редактировать в правом окне табличной части реквзиты:

номеклатура, содержание, количество, цена, счета учета, субконто.

После редактирования необходимо нажать кнопку "записать документ"
Проверка реквизитов сотрудников (физических лиц) для зарплатных отчетов в пенсионный фонд (РСВ-1, СЗВ-6-1(2)) и ФНС (2-НДФЛ). Обычные и управляемые формы. Расширенная Платформа 1С v8.x (все механизмы)

Краткое описание

Для конфигураций на платформе 8.2 (ЗУП 2.5, УПП
Дубли контрагентов. Жесткий запрет на запись дублей [Расширение] 1С: Предприятие 8.3

Краткое описание

Добрый день, коллеги.

В данной публикации содержится расширение для жесткого запрета на запись дублей контрагентов для Бухгалтерии предприятия 3.0.

Суть расширения:

В типовой:

При записи элемента справочника контрагента с одинаковым ИНН и КПП выдается вопрос:

 

Но бухгалтера - люди занятые и им некогда читать, что им говорит программа - им работать надо. Поэтому в большинстве случаев по умолчанию нажимается кнопка "ОК" и продолжается работа.

В расширении:

При записи элемента справочника контрагента с одинаковым ИНН и КПП выдается предупреждение:

 

И элемент не записывается. Надеюсь, это остановит бухгалтера и он сможет осознано принять решение.

Для тех случаев, когда все равно необходимо записать дубль, добавлена команда в "Еще" - "Записать дубль".

Эта команда записывает контрагента без проверки на дубли.

 

Как подключить расширение:

Для того, чтобы подключить расширение можно воспользоваться этой инструкцией.

Итог:

Расширения - очень крутая вещь, позволяющая быстро и просто модифицировать типовую конфигурацию с возможностью дальнейшего обновления.

 

Хочешь еще больше возможностей для БП3?

Прокачай её!
Альтернативная форма выполнения обмена данными с предпросмотром загружаемых данных и указанием периода выгружаемых документов Платформа 1С v8.x (все механизмы)

Краткое описание

Вы сталкивались с тем, что при обмене приходят дубликаты справочиков, а мы узнаем об этом только когда все уже произошло? Ведь было бы здорово заранее увидеть что пришли новые контрагенты с ИНН, КПП таким то и перед загрузкой поправить в своей базе (или базе отправителе) реквизиты, что бы не получилось обидного "задвоения".

А может, вы сталкивались с тем, что в базу приходят документы (справочики), которые вообще не должны приходить. Я и такое видел. Вот только беда в том, что обнаружил это бухгалтер в процессе работы и очень меня удивил.

Я написал две обработки для УТ 10.3 и БП 2.0, хотя на самом деле они могут применяться и во многих других конфигурациях.

Обработки позволяют до загрузки данных увидеть, что нам принесла судьба. 

Отдельно красным цветом я вывожу новых контрагентов, потому как для меня был важен именно этот момент. Но любой программист сможет исправить формирование отчета буквально за считанные минуты.

Обращаю внимание - обработка использует типовой механизм обмена, никак в него не вмешиваясь. Фактически эта обработка должна вызываться вместо общей формы "ФормаВыполненияОбменаДанными".  После нажатия кнопки "Выгрузить, загрузить" - запускается штатная процедура "ПроцедурыОбменаДанными.ВыполнитьОбменДаннымиПоПроизвольнойНастройке" из общего модуля вашей конфигурации.

А что же насчет ограничения выгружаемых документов указанным периодом?

Тут все просто. Я не согласен с политикой 1С, при которой выгружаются те документы, которые менялись (или только перепроводились) в последнее время. На мой взгляд - любому бухгалтеру важно выгрузить документы за указанный период и категорически важно не переносить документы за все предыдущие периоды!!!!

Моя Выгрузка данных с указанием периода документов - использует все тот же штатный механизм регистрации событий и дальнейшего обмена, что и типовая, вот только перед тем как запустить обычный типовой обмен - обработка удаляет всю регистрацию изменений документов в плане обмена и затем добавляет регистрацию изменений всех документов за указанный период. Состав документов зависит от настройки типового мехинизма обмена. То есть, если раньше у вас выгружались только банк и касса, то моя обработка зарегистрирует в плане обмена только документы банка и кассы.

 

Добавил версию
Универсальная сверка документов в двух базах OLE 1C:Предприятие 8

Краткое описание

С помощью этой обработки я проверяю корректность переноса данных, или сверяю текущую базу с ее архивной копией для того, чтобы выяснить, что успели изменить за последнее время....

Подключение к эталонной базе производится через OLE. Поддерживаются как файловые, так и серверные базы. За это большой респект Незнайке -  Подключение к другой базе V.8 через OLE

Обработка универсальная. Может сверять совершенно разные конфигурации (например УТ и БП). Если документы в разных конфигурациях имеют разные идентификаторы - потребуется небольшая доработка -

в модуле обработки исправить заполнение Списка документов сравнения последние строки (в самом низу модуля) 

Например. сделать так

спДокументовСравнения.Добавить("ИмяДокументаВТекущейБазе", "ИмяДокументаВЭталоннойБазе");


 
Печатная форма ТОРГ-12 и Счет-фактура за поставщика УТ 11 1С: Предприятие 8.3

Краткое описание

Обработка работает через Файл - Открыть и через механизм дополнительных отчетов и обработок
Сканирование штрих-кодов и QR-кодов через веб-камеру Не имеет значения

Краткое описание

За основу был взят проект с сайта Codeproject и переделан под свои нужды. Сделано всё на основе библиотеки Ozeki Camera SDK. Как пользоваться библиотекой написано здесь. По заявлению авторов библиотеки сканируются и распознаются следующие форматы кодов:

1D: CODABAR, CODE 39, CODE 93, CODE 128, EAN 8, EAN 13, ITF, MSI, PLESSEY, RSS 14, RSS EXPANDED, UPC-A, UPC-E,
2D: AZTEC, DATA MATRIX, MAXI CODE, PDF417, QR CODE

Не знаю как штрих-коды, но QR распознает более-менее нормально. Скорость распознавания во многом зависит от освещения и от качества картинки вебкамеры, а также и от точки фокуса (особенно критично для штрих-кодов). Если носитель кода глянцевый, желательно чтобы не бликовал. Вобщем нужно наловчиться.

Как пользоваться:

Вариант 1: Если программу просто запустить, она будет просто сканировать коды и отображать результат в своем окне.

Вариант 2: Если при запуске в качестве параметра указать имя файла результата (например так: "QRWebCam.exe result.txt"), она распознает код, автоматически закроется, а результат запишет в указанный файл. Но к сожалению 1С-ная функция ЗапуститьПриложение() не умеет запускать программы с параметрами (можно конечно через bat-файл, но лично меня смущает появляющееся черное консольное окно), поэтому был придуман вариант 3.

Вариант 3: В каталоге программы можно создать одноименный ini-файл (QRWebCam.ini) и прописать в нём путь и имя выходного файла - будет работать аналогично варианту 2, но запускать можно без параметров, результат сканирования будет помещен в прописанный файл. Пример содержимого ini-файла:

d:\QRWebcam\result.txt


Для использования в 1С можно написать такой код:

ЗапуститьПриложение("d:\QRWebcam\QRWebCam.exe", "d:\QRWebcam\", Истина);

Т = Новый ТекстовыйДокумент;
Т.Прочитать("d:\QRWebcam\result.txt",КодировкаТекста.UTF8);

QRКод = Т.ПолучитьСтроку(1);


Если вдруг кто захочет перекомпилить под себя, исходник прилагается.
[Расширение] Проверка ввода данных и события форм без изменения конфигурации (для БП, УТ, ЗУП, УНФ, ERP) (+бесплатная версия) 1С: Предприятие 8.3

Краткое описание

"Универсальная обработка ""Изменение записей регистров сведений и накопления""" 1C:Предприятие 8

Краткое описание

Изменения от 2023-01-15: 

Исправление ошибки: при пустом результате отбора  вместо пустой таблицы формировалась ПОЛНАЯ (без каких либо отборов) (Спасибо пользователю Vinzor за информацию)

 

Изменения от 2020-02-17: 

Исправление ошибки: нельзя было редактировать период в независимом периодическом регистре сведений. (Спасибо пользователю rbsoft за информацию)

 

Изменения от 2017-12-23: 

Исправление ошибки редактирования записей независимого регистра сведений (создавались новые записи, а существующие не удалялись)

 

Изменения от 2017-12-18: 

Добавлен механизм для группового изменения данных в записях регистров (Для 8.3 (УФ)).

 

Изменения от 2015-07-09: 

Загрузка из Excel в 1С:Розница 1С: Предприятие 8.3

Краткое описание

Загрузка автоматически создает документ "Поступления от поставщика". При этом создается номенклатура (если ее нет), заполняется количество и цена. В общем, полностью автоматизируется оприходование товаров.

Для загрузки требуется, чтобы в эксель файле были следующие поля:

— Артикул;

— Наименование;

— Количество;

— Единица измерения;

— Цена.
Загрузка изображений и характеристик по товарам из Yandex.Market в УТ 11 1С: Предприятие 8.3

Краткое описание

Начну с начала! Заказчику требовалось открыть интернет магазин в связке 1C УТ 11 - ShopScript 6. Поставщик присылает свой прайс-лист с наименованием и ценами. Требуется загрузить характеристики и изображение из Yandex.Market. А для того. чтобы иметь возможность загружать, используя сервис API Market-а, необходимо получить ключ, который никто не даст ))))) Решением был сервис icsystem.ru. Данный сервис является посредником, и через него спокойно можно получать информацию о товаре за небольшую денежку .  И, собственно. вот !!! Уважаемые, делюсь своей первой версией.

Подготовка:  1) Необходимо зарегистрироваться на данном сервисе icsystem.ru. Авторизация идет по ip адресу. 

                       2) Завести требуемые дополнительные реквизиты. Имена реквизитов можно брать из карточки товаров на yandex.market-е. Имена реквизитов должны полностью совпадать.  

Пользоваться обработкой просто. Заполняем табличную часть по кнопке "Заполнить табличную часть", можно с отбором по группе товаров. И по кнопке "Загрузить описание" грузим. Ждем и наслаждаемся ))))))

Принцип работы обработки: Обработка ищет по наименованию товара, при условии, что карточка  на данный товар заведена на yandex.market

Обработка поставляется как есть с открытым кодом.
Счет на оплату с выбором грузополучателя 1С: Предприятие 8.3

Краткое описание

Подключение обработки производится через меню "Администрирование"/ "Дополнительные отчеты и обработки". Загрузить обработку из файла и привязать к документу "Счет на оплату покупателю".

Выбор грузополучателя производится перед выводом на экран печатной формы "Счет на оплату с выбором грузополучателя". Контрагент-грузополучатель не хранится в документе, чтобы не вносить изменения в конфигурацию.
Свёртка базы для БП 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

В БП 3.0 имеется штатная свёртка базы, которая сворачивает остатки только на начало указанного года.

Потребовалось сделать свёртку на дату, отличную от начала года. (реорганизация)

Штатную обработку сделал внешней и немного изменил (на форме обработки вместо представления выводится непосредственно дата, в модуле формы дата не приводится в началу года). (делалось на релизе 3.0.40.24)

Кому нужно - пользуйтесь.
mScan:Складские операции 1С: Предприятие 8.3

Краткое описание

Альтернативная визуализация данных для 1С 8.3.6 Платформа 1С v8.x (все механизмы)

Краткое описание

Ключ защиты из USB накопителя для 8.3 1С: Предприятие 8.3

Краткое описание

Появилась необходимость реализовать дополнительную защиту для конфигурации от несанкционированного доступа. Была перелопачено куча статей и информации, но почему-то ничего они не дали. 

Пришлось разбираться самому, и вот что вышло.

Эмулятор устройств ввода (Сканеры ШК / Считыватели МК) Не имеет значения

Краткое описание

Простенькая, не требующая установки, программа для эмуляции клавиатурных сканеров штрих-кода, считывателей магнитных карт или других устройств ввода. Устройства с интерфейсом RS-232 не поддерживаются и скорее всего не будут.

Программа полезна как программистам для тестирования, так и специалистам, оказывающих удалённую техподдержку, связанную с этими устройствами. Например, меня очень напрягает каждый раз просить человека на другом конце телефона "пикнуть" штрих-код или провести картой, чтобы выяснить, где ошибка. На мой взгляд, нужная утилита для некоторого количества случаев.

Указываем префикс и суффикс, данные, чувствительность, таймер срабатывания, чтобы успеть установить фокус на тестируемую программу, такую как 1С, Frontol и прочее.

Специальные символы прописываются как в старом добром языке программирования Си, а именно:

/p>

 

История версий:

"[Расширения] [БП 3.0] Подбор товаров в документе ""Реализация товаров и услуг"" через расширение конфигурации" 1С: Предприятие 8.3

Краткое описание

Расширения, которых так долго ждали большевики односнеги, свершилось !!!

 

24.1
Анализ прибыльности реализации для Бухгалтерия предприятия 3.0 1С: Предприятие 8.3

Краткое описание

Печатная форма показывает информацию по конкретной реализации.

Отчет выводит информацию обо всех реализациях за указанный период. Есть варианты отчета: по документам, по контрагентам, по номенклатуре. При отрицательной прибыли строки выделяются красным цветом.

 

Особенности:

Учитываютя только проводки документа РеализацияТоваровУслуг.

 

Выручка = Сумма по счету 90.01

Себестоимость = сумма по счету 90.02 + НДС (НДС береться 18% если в выручке конкретной позиции стоит 18%, либо 0 во всех других случаях, т.е. при НДС 10% считать будет неправильно)

Прибыль = Выручка - Себестоимость

% Прибыли = (Выручка/Себестоимость) - 1 * 100




Т.к. в бухгалтерском учете себестоимость товаров хранится без суммы НДС, то сумма НДС добавляется к себестоимости исходя из того, была ли продажа с НДС или без (если продажа с НДС, то себестоимость умножается на соответствующую ставку) 

Бывают моменты когда товар покупают без НДС, а продают с НДС. В этом случае на себестоимость накручивать НДС не нужно, но обработки все равно накрутят, т.к. отследить это невозможно.

 

Как установить:

Администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки.

Галочка "Дополнительные отчеты и обработки" должна стоять.

Далее нажимаем кнопку Создать и  выбираем обработку или отчет.

Теперь в документе Реализация товаров и услуг появится при нажатии на кнопку печать выбор печатной формы "Анализ прибыльности" или в меню Дополнительыне отчеты появиться новый отчет.

Печатная форма проверялась на конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.39.65).
Мастерская запросов 1С: Предприятие 8.3

Краткое описание

Дополнительное соглашение к трудовому договору (документ Кадровое перемещение организаций) Платформа 1С v8.x (все механизмы)

Краткое описание

Для добавления зайдите в меню Сервис - Дополнительные внешние отчеты и обработки - Печатные формы.
Добавьте новую строку. В ней загрузите эту печатную форму и выберите принадлежность печатной формы для документа "Кадровое перемещение организаций"
В соглашении печатаются только те изменения, которые возникли в результате проведения этого кадрового перемещения.
[Управленческие отчеты для БП] Стоимостная оценка склада в ценах номенклатуры для БП 3.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Данный отчет позволяет проанализировать:

Помощник закупок для УТ 10.3 1С: Предприятие 8.3

Краткое описание

Не кидайте тухлыми помидорами!

Возможности отчета:

1). Вверху отчета номенклатура, которую нужно прежде всего заказать у поставщиков.

2). Рекомендации по количеству, цене и дате оформления заказа поставщику.

3). По каждой номенклатуре возможность одним кликом получить таблицу продаж и таблицу покупок

4). Множество дополнительных колонок (можно отключать в настройках отчета) помогают принять правильное решение по закупкам.

5). В планах по дальнейшему развитию обработки - создание документа "Заказ поставщику" из контекстного меню (по клику на строке с номенклатурой). Документ будет заполняться по текущим данным отчета.

 

Есть гораздо более крутые разработки в виде отдельных подсистем. Эти подсистемы реализуют возможность Автозаказа.

Автозаказ - это автоматическое создание заказов поставщикам по мере уменьшения товарных запасов на складе.

Реализация горячего "японского" метода пустого склада и оперативного заказа.

Я попытался организовать подобный механизм на отчете в СКД. Получилось что-то непонятное.

Если кому нужно подобное, пишите.

 

Мой клиент отказался от моего отчета. Я пилил его достаточно долго. Мне он показался функциональным, удобным.

 

Пожалуйста, уважаемые инфостартеры, пишите ваши комментарии!

Мне очень важно знать ваше мнение. Нужна или нет подобная вещь, стоит ли развивать.

Заранее спасибо!
"E-Market ""Мониторинг цен конкурентов с Яндекс.Маркета""" 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

E-Market "Мониторинг цен конкурентов с Яндекс.Маркета": УТ 1
Просмотр журнала регистрации из документа или справочника 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Печатная форма выбирает записи из журнала регистрации по данному документу или справочнику (по документу или справочнику, из которого происходит переход).

При присоединении становится внешней печатной формой для всех документов или справочников в любой базе. В обычных формах необходимый документ или справочник добавлятся вручную в справочнике "Внешние обработки", в форме элемента.  

Присутствуют те же самые колонки, что и в журнале регистрации.

Колонки:

Дата,время
Пользователь
Компьютер
Приложение
Сеанс
Событие
Комментарий
СтатусТранзакции
Транзакция
Метаданные
Данные
ПредставлениеДанных

Возможность вывода на печать.

Код открытый.
"Отчет по продажам ""Показатели эффективности работы компании""" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет протестирован на конфигурациях Комплексная Автоматизация
Сопоставление документов между базами 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Обработка очень удобна для контроля обмена, позволяет быстро найди расхождения по документам в базах, найти неперенесенные документы.

Документы отбираются за период, возможен отбор по организации.

Обработка максимально проста в использовании и универсальна.

Код открыт, поэтому можно легко доработать при необходимости.
Отчет по производству и прибыли для Альфа-Авто, редакция 4 и 5 1C:Предприятие 8

Краткое описание

Выгрузка и загрузка табеля учета рабочего времени ЗУП 2.5 по подразделениям Платформа 1С v8.x (все механизмы)

Краткое описание

В общем, отличия от оригинала в том, что нет необходимости создавать пустые табели и есть возможность выбирать подразделения для формирования шаблонов табелей.

Выбираем месяц, заполняем список подразделений и указываем путь к папке, в которую необходимо сохранить табели.

При загрузке необходимо просто указать файл заполненного шаблона и все. По умолчанию фильтр на *.xlsx.

Обработку загрузки цепляем к ТЧ "Отработанное время" документа "Табель учета рабочего времени организации".

Сервис -> Дополнительные отчеты и обработки -> Дополнительные внешние обработки по заполнению табличных частей.

При загрузке производится контроль даты и подразделения документа и файла табеля.

Код открыт, меняйте, что хотите. Ну и как написал автор оригинальной обработки - очень хороший пример по работе с exсel, так как формирование шаблона полностью программное.

Надеюсь, кому пригодится 
Внешняя печатная форма ТОРГ-12 (с услугами) для БП 3.0 с выводом поля КПП 1С: Предприятие 8.3

Краткое описание

Встроенная печатная форма не выводит поле КПП в описании организации, поставщика, плательщика и грузополучателя.

Данная обработка выводит поле КПП после ИНН в шапке документа Торг-12.

Реализована на релизе 3.0.38.50.  Печатная форма подключается к документу Реализация товаров и услуг
Материальный отчет МХ-20 (для Бух 2.0, неуправляемые формы) 1C: Предприятие 8.2

Краткое описание

Такой отчет часто используется в сельском хозяйстве. Форму отчета смотрите на скриншоте.

Строится по списку счетов, который дополняется. Обычно 10.х, 4
Остатки товаров без продаж (неликвиды) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Понимание структуры складских запасов жизненно важно для многих компаний, заинтересованных в снижении складских издержек, увеличении прибыли и количества продаж.

Зная, какой товар не пользуется спросом, руководящее звено может предпринять важные шаги для исправления ситуации -

минимизировать закупки неликвидного товара
Изменить ценовую политику
Провести маркетинговую или рекламную акцию с целью освободить склад от залежалого товара
Разработать мотивацию менеджеров по продажам и менеджеров по закупкам

и так далее...

Одним из инструментов оценки состояния складских запасов и является данный отчет.

Он отображает количество товара, который не продавался за выбранный период, его текущую себестоимость, и себестоимость за единицу.

Также в отчет справочно выводятся текущие цены - для сравнения  с текущей себестоимостью.

Отчет построен на системе компоновки данных, что позволит его достаточно гибко настраивать - назначить отборы условное оформление, настроить группировки, и т.д.
Газпромбанк: Эквайринговая система v2.17 1C: Предприятие 8.2

Краткое описание

Обработка осуществляет обслуживание эквайринговой системы Газпромбанка, подключаемой при помощи внешней компоненты EMVGateCOM1C.dll версии
Изменение и очистка регистра сведений (управляемые формы) Платформа 1С v8.x (все механизмы)

Краткое описание

Обработка для группового изменения или удаления записей независимых регистров сведений для УФ

+ upd Добавлено поле период для периодических регистров сведений

Вариант для обычных форм
"Динамическое формирование расписания занятий в управляемых формах (для конфигурации " Колледж"

Краткое описание

Универсальный поиск и замена дублирующихся элементов справочников по нескольким реквизитам (управляемое приложение) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

ОРИГИНАЛ ОБРАБОТКИ ЗДЕСЬ: //infostart.ru/public/204468/

В обработке добавлены следующие функции:

Возможность одновременного поиска по 3-м реквизитам.
Возможность удаления ссылок из списка найденных для замены элементов.

Также убрана возможность поиска дублей по похожим значениям реквизитов.
Параметры подключения к Интернет-поддержке пользователей 1C:Предприятие 8

Краткое описание

Механизм расширения конфигурации в 1С 8.3.6 Платформа 1С v8.x (все механизмы)

Краткое описание

Расширение , является своего рода оболочкой для существующей конфигурации в рамках сеанса пользователя. Пока только эта "оболочка" может обволакивать такие объекты конфигурации, как управляемые формы, роли и подсистемы. А так же иметь свои собственные объекты, такие как отчет, обработка или подсистема.




Рассмотрим пример замены обработчика кнопки в форме элемента справочника.

 


В основной конфигурации, код обработчика кнопки:

Заменим обработчик на свой. Для этого позаимствуем форму справочника в своё расширение:
Находим в дереве основной конфигурации форму, в контекстном меню выбираем команду "Добавить в расширение". Откроется диалог управления расширениями. Добавим в него новое расширение и выберем.
Откроется дерево нового расширения с позаимствованной формой.




Форма та же, что и в основной конфигурации, но текст модуля отсутствует. Создадим новый обработчик нашей кнопки:




Запускаем конфигурацию на проверку, выполняем команду и видим следующий результат:

 


Наша команда последовательно вызвала обработчик из расширения и обработчик основной конфигурации. Не совсем то, что мы ожидали. Нам не нужно вызывать обработчик из основной конфигурации. Поправим код нашей процедуры, добавив метод УстановитьВыполнениеОбработчиковСобытия

 



Результат желанный:


Если хотите перехватить событие, ПОСЛЕ выполнения обработчиков, то есть метод УстановитьВыполнениеПослеОбработчиковСобытия

 

 


В результате:

 

 

 

Если мы добавим ещё одно расширение, то сперва вызовется обработчик 2-го расширения, затем 1-го, потом уже основной.

Диалог управлением можно вызвать в режиме конфигуратора через меню Конфигурация->Расширения конфигурации. В режиме предприятия Все функции -> Стандартные ->Управление расширениями конфигурации.
БП 3.0 Обработка для создания Ключей Аналитики Учета Затрат и НДС 1С: Предприятие 8.3

Краткое описание

Обработка предназначена для ручного ввода остатка по регистру "Раздельный учет НДС" и позволяет создать произвольный элемет справочника КлючиАналитикиУчетаЗатрат и справочника КлючиАналитикиУчетаНДС.
Обмен документами между Розницей 2.1 и Бухгалтерией 3.0 Платформа 1С v8.x (все механизмы)

Краткое описание

Обработки написаны под конкретного клиента. Обработки выполняют выгрузку двух документов - Поступление товаров и Отчета о розничных продажах с сопутствующими справочниками из Розницы 2.
Простая работа с MySQL из 1С Платформа 1С v8.x (все механизмы)

Краткое описание

Для соединения используется MySQL ODBC Connector. 

// Подключение к базе данных
ИмяODBC = "local_base";
ИмяБазы = "base_name";
ИмяПользователя = "base_name_user";
Пароль = "*******";

MySQL = Обработки.MySQL.Создать();
MySQL.Инициализация(ИмяODBC, ИмяБазы, ИмяПользователя, Пароль);

Если НЕ MySQL.УстановитьСоединение(Ложь) Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
КонецЕсли;

// Получение таблицы значений и работа с ней
Запрос =
"SELECT order_id,
| order_date,
| order_summ,
| order_customer
|FROM tamble_orders
|WHERE order_loaded=""N""";

ТаблицаЗаказов = MySQL.ПолучитьТаблицуЗначенийПоЗапросу(Запрос);

Если ТаблицаЗаказов = Неопределено Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
КонецЕсли;

Если ТаблицаЗаказов.Количество() = 0 Тогда
Сообщить("На сайте нет новых заказов для загрузки.");
Иначе
Для Каждого СтрокаТЗ ИЗ ТаблицаЗаказов Цикл
НомерЗаказа = СтрокаТЗ.order_id;
Покупатель = СтрокаТЗ.order_customer;
КонецЦикла;
КонецЕсли;

// Добавление новых записей в таблицу базы MySQL
// Одиночная запись
// Соответствие со значениями полей для новой записи таблицы
Товар = Новый Соответствие();
Товар["product_id"] = "158742";
Товар["product_name"] = "1С Управление торговлей 10.3";
Товар["product_price"] = 12000;

// Построение запроса
MySQL.СоздатьЗапрос("INSERT", "table_products", Товар);
// Выполнение
Если НЕ MySQL.ВыполнитьЗапрос() Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
КонецЕсли;

// Несколько записей
// Массив в который вставляются соответстия
НовыеТовары = Новый Массив();

Товар = Новый Соответствие();
Товар["product_id"] = "158742";
Товар["product_name"] = "1С Управление торговлей, редакция 10.3";
Товар["product_price"] = 12000;
НовыеТовары.Добавить(Товар);

Товар = Новый Соответствие();
Товар["product_id"] = "158743";
Товар["product_name"] = "1С Управление торговлей, редакция 11";
Товар["product_price"] = 12500;
НовыеТовары.Добавить(Товар);

MySQL.СоздатьЗапрос("INSERT", "table_products", НовыеТовары);
Если НЕ MySQL.ВыполнитьЗапрос() Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
КонецЕсли;

// Обновление полей записи
// Соответствие с новыми значениями полей
Товар = Новый Соответствие();
Товар["product_price"] = 13000;
Товар["product_rest"] = 10;

// В четвертом параметре можно указать условие, по которым осуществляется поиск записей для обновления
MySQL.СоздатьЗапрос("UPDATE", "table_products", Товар, "WHERE product_id='158742'");
Если НЕ MySQL.ВыполнитьЗапрос() Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
Иначе
Сообщить("Обновлено товаров: " + MySQL.КоличествоИзменныхЗаписей);
КонецЕсли;

// Выполнение произвольного запроса
Запрос = "DELETE FROM table_products WHERE product_id='158742'";

Если НЕ MySQL.ВыполнитьЗапрос(Запрос) Тогда
Сообщить(MySQL.ОписаниеОшибки);
Возврат Ложь;
КонецЕсли;


Есть возможность разбить INSERT запрос с несколькими записями на подзапросы, чтобы не вставлять за раз много значений. Например, при добавлении в таблицу более 1000 записей, можно сделать это 10-ю запросами по 100 записей в каждом. Для этого достаточно вызвать код:

MySQL.ЭлементовВЗапросе = 100;


После этого все массивные INSERTы будут делаться по 100 записей за раз.
Полный текст запроса можно получить так:

MySQL.СоздатьЗапрос("INSERT", "table_products", НовыеТовары);
Сообщить(MySQL.ТекстЗапроса());


В случае, когда прямой доступ к MySQL запрещен, можно воспользоваться ssh-туннелем.  Для этого в обработке есть настройки для запуска Putty.

MySQL.ИспользоватьPutty = Истина;
MySQL.Putty = "c:\Program Files\PuTTY\putty.exe"; // Путь к программе Putty (Kitty)
MySQL.User_put = "ssh_user"; // Имя пользователя для установки ssh-соединения
MySQL.Pass_put = "******"; // Пароль
MySQL.Name_put = "session_name"; // Имя сохраненной сесии Putty с настройками соединения

Выгрузка PLU из УТ11 в весы METTLER TOLEDO (в формате SPCT) 1С: Предприятие 8.3

Краткое описание

За основу был взят стандартный механизм обмена с подключаемым оборудованием. Так как для стандартного механизма требуется наличие настройки торгового оборудования, то для правильного функционирования выгрузки в весы METTLER TOLEDO TIGER требуется создать настройку в подключаемом оборудовании (я создал "Штрих-М:Весы с печатью этикеток", настройки драйвера не важны). Список выгружаемых товаров в обработке не привязан к конкретной модели весов.

Обработка формирует файл .plu, предназначенный для открытия в программе SPCT (стандартная программа обмена METTLER TOLEDO) и последующей загрузке в весы 
"Выгрузка в ""Возмещение НДС: Налогоплательщик""""" 1С: Предприятие 8.3

Краткое описание

Обработкой для типовой конфигурации  "1С:Бухгалтерия 3.0" Управляемые формы. 
Обработка позволяет выгрузить данные в программу "Возмещение НДС: Налогоплательщик": посредством выгрузки данных в файл формата "*.NDS", который затем может быть загружен в программу "Возмещение НДС: Налогоплательщик" для составления соответствующей декларации при реализации товаров по ставке НДС 0%.

Процесс выгрузки: 

Отключение назойливых окон и подтверждение легальности обновления(!) для БП 3.0 при помощи расширения 1С: Предприятие 8.3

Краткое описание

Конвертация данных. Найдется все! И еще немного... Платформа 1С v8.x (все механизмы)

Краткое описание

Давайте представим ситуацию: в информационной базе конфигурации 1С:Конвертация данных, ред. 2.1 содержится несколько (или большое количество) правил. Это могут быть правила обмена, правила регистрации. Кроме этого, если Вы поддерживаете правила клиентов, на каждую конвертацию (регистрацию) обычно приходится еще и  несколько версий правил. Правила сложные, в них широко используются обработчики, алгоритмы и запросы. И однажды, Вы понимаете, что найти нужный фрагмент кода, который есть в правилах невозможно…

Обзор существующих инструментов

Конфигурация «1С:Конвертация данных, ред. 2.1» содержит 2 инструмента, которые можно использовать для поиска данных.

Прежде всего, это — обработка «Поиск данных» (Сервис — Поиск данных). Она позволяет выполнять поиск в различных справочниках, формирующих структуру правил обмена данными (в один момент времени — только 1 справочник), ограничивать список реквизитов в которых будет выполняться поиск.

Искать данные можно и с помощью обработки «Полнотекстовый поиск» (Сервис — Полнотекстовый поиск). Но есть один нюанс… Если во всех типовых конфигурациях обновление индекса полнотекстового поиска выполняется с помощью регламентных заданий, то соответствующих заданий разработчики «1С:Конвертация данных, ред. 2.1» не предусмотрели. И обновление полнотекстового индекса нужно выполнять вручную. Еще одна особенность этого варианта — невозможно ограничить поиск только одной конвертацией, поэтому при использовании нескольких версий правил, использующих похожий программный код, найти нужный фрагмент становится сложно.

Конечно, для поиска можно использовать и внешние обработки с диска ИТС — например, поиск и замена значений. Но проблемы по большей части будут теми же, что и при использовании обработки «Поиск данных».

Что же делать в ситуации, когда найти фрагмент программного кода становится проблемой?
Предлагаю надежное и проверенное решение — обработку «Поиск и замена значений» для конфигурации «1С:Конвертация данных, ред. 2.1».

Уже несколько лет постоянно (почти ежедневно) я использую конфигурацию «1С:Конвертация данных, ред. 2.1», разрабатываю и поддерживаю довольно сложные правила. Сложность поиска данных в правилах заставила подумать об облегчении своего труда, результатом чего и явилась эта обработка.

Обработка «Поиск и замена значений» предназначена для поиска и замены фрагментов текста в правилах обмена или регистрации данных. Позволяет выполнять поиск данных разу во всех справочниках, формирующих правила, при необходимости - выполнить групповую замену поискового выражения. Предельно проста и удобна в использовании.

С помощью этой обработки Вы сможете:

Ограничить поиск одним правилом обмена (регистрацией) или набором.
Управлять списком областей поиска (все справочники или выбранные, реквизиты и обработчики событий).
Выполнять групповую замену одного фрагмента на другой.
Переходить к правилу, в котором найден фрагмент к общей форме «Правила обмена» или «Правила регистрации», с позиционированием на этом элементе.

Основная форма

При открытии обработки «Файл — Открыть...» будет показана основная форма, в которой нужно указать параметры поиска и нажать кнопку «Искать».


Основная форма содержит следующие элементы управления:

Искать. В этом поле необходимо указать поисковое выражение. Сохраняется 10 последних введенных выражений.
Заменить. В этом поле указывается строка замены. Если реквизит не заполнен — кнопка «Заменить» будет недоступна. Сохраняется 10 последних строк замены.
Раздел. Позволяет выбрать 1 из 2 значений - «Правила обмена» или «Правила регистрации».
Конвертация (регистрация). Указывается правило, по которому будет выполняться поиск. Если установлен флажок «Список» - становится доступной табличная часть со списком правил.
Гиперссылка «Области поиска». Нажатие гиперссылки открывает окно выбора областей поиска, в котором можно ограничить список справочников, входящих в состав правил.

Если в результате поиска найдены какие — либо данные, основная форма будет закрыта и откроется форма результатов поиска.

Результаты поиска

Форма «Результаты поиска» открывается только в том случае, если найдены данные. По умолчанию она прикреплена к нижней границе окна.


При щелчке в табличной части будет открыта форма соответствующего правила и выделен фрагмент текста, в котором присутствует поисковое выражение. Групповая замена фрагмента выполняется при нажатии кнопки «Заменить». При этом обрабатываются только помеченные правила.

Нажатие кнопки «F12» позволяет перейти к выбранному правилу в форме «Правила обмена» или «Правила регистрации», а «Ctrl+Shift+F» откроет основную форму, для того, чтобы Вы могли уточнить или изменить поисковое выражение и (или) строку замены.


Используя обработку «Поиск и замена значений» Вы сможете моментально найти любые нужные данные в большом количестве элементов различных справочников, составляющих правила, при необходимости выполнить замену, перейти к списку правил, чтобы посмотреть — а какому же объекту это правило принадлежит, выполнить замену.

P.S. Упростите себе разработку и поддержку правил - используйте обработку «Поиск и замена значений»!


Оборотка по счету 210.03 в разрезе КОСГУ. Расчеты с финансовым органом по наличным денежным средствам 1C: Предприятие 8.2

Краткое описание

Обороты счета 210.03: Расчеты с финансовым органом по наличным денежным средствам

                Если сформировать оборотку по счету 210.03 с группировками по КЭК(КОСГУ), мы увидим только 560 и 660, а иногда хочется увидеть и заодно проверить себя, что снятые деньги с л/с по определенным КЭКам, оприходованы по тем же КЭК. Вот я и написал отчет, который выводит сочетание КПС, КЭК и показывает в разрезе них движения по счету 210.03, а также какими документами эти движения образованны. Отчет реализован на СКД, и собирается из документов РКО, ПКО, Заявка на наличные и Кассовое поступление с отбором по счету 210.03.

                В самой БГУ
Кто сидел на моем стуле и сломал его? (анализ изменений документа по журналу регистрации) 1C: Предприятие 8.2

Краткое описание

Обработка не содержит никаких особых премудростей: фильтр по дате, документу и набору событий, относящихся к документу, с расшифровкой, дружелюбной для пользователя. Просто чтобы "развязать" в определенном месте руки.

Данные выводятся в удобном для распечатки или экспортирования в Excel виде (mxl-ка).

Потому и цена "копейка".
Монитор журнала регистрации Платформа 1С v8.x (все механизмы)

Краткое описание

 

 Версия
Отчет по возвратной таре Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет делался под конкретное предприятие, занимающееся реализацией пива в кегах.

 Позиции, по которым возвратов не было или были не полностью - подсвечиваются
Пакетная печать документов (обычные формы) Платформа 1С v8.x (все механизмы)

Краткое описание

Предлагаемая внешняя печатная форма позволяет из одного документа печатать сразу несколько печатных форм этого документа и связанных с ним документов. Определение списка печатных форм и сама процедура печати осуществляется типовыми методами. Подключается обработка как и обычная внешняя печатная форма в справочнике внешних обработок.

Для внедрения обработки необходимо:

1) в модуле обработки найти функцию "ПолучитьДокументы()";

2) в этой функции пишется программный код для составления массива документов, которые необходимо распечатать. Если нет необходимости печатать связанные документы, то этот массив будет содержать только тот документ, для которого вызвана печатная форма. Сейчас в этой функции написан код, который для документов реализации товаров и услуг ищет соответствующий счет-фактуру выданный, и предлагает пользователю выбрать счет на оплату:




Остальное обработка делает сама))
Еще один парсер Яндекс Маркет для УТ 11 (управляемые формы) 1C: Предприятие 8.2

Краткое описание

Обработка предназначена и проверялась в УТ 11 редакция 1
Реестр торговых документов для УТ 11 1С: Предприятие 8.3

Краткое описание

В УТ 11 есть журнал документов "Реестр торговых документов", но просматривать его могут только пользователи с полными правами.

Понадобилось дать пользователю, не имеющему полные права, доступ к документам данного журнала, но без изменений в конфигурации.

Результатом стала данная обработка, она позволяет просматривать документы журнала без наличия полных прав.

Работает только при подключении через внешние обработки.

PS. На скрине затерты некоторые колонки по понятным причинам, на самом деле обработка выводит все поля.
Отличная вещь. Только надо прикрутить ограничений, т.к. показывает все документы. Работает в ERP2.2
+1 – Ответить
Гистограмма распределения 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Данный отчет поможет наглядно и в доступной форме разобраться с показателями работы предприятия. Например, Ваша организация за месяц провела 1000 реализаций. А Вам интересно, в каком диапазоне сумм наиболее часто выписываются расходные накладные. Вы просто задаете количество диапазонов, и все. Задали, допустим, 10. Отчет автоматически сформировал эти диапазоны в суммовом выражении (от самой маленькой реализации до самой большой с автоматически рассчитаным шагом). И  вуаля, Вы видите в диаграмме, что, например, реализаций на сумму  от 100 до 300 денежных едениц за месяц было 231, реализаций на сумму от 300 до 500 было 123 и т.д. Это важно знать в ряде случаев. В примере на основной картинке надо было узнать, сколько платежей проходит по кредитам и на какие суммы. Отчет очень прост, если сразу понять, как он работает. Основные инструкции напишу здесь, более подробно, может быть, приложу в файл.

Итак, начнем. Открываем отчет. Выбираем регистр накопления (в списке будут только они).Выбрали, например, "продажи". Затем доступным станет поле измерений. Выбираем "контрагент", в ресурсах будем выбирать пока один ресурс -  "количество". И затем выбрать необходимо вид ресурса. Продажи - это оборотный регистр, поэтому выбрать необходимо "обороты". Но если Вы не особо в этом разбираетесь - не беда. При формировании отчета Вам обязательно выдаст сообщение о том, что данного вида ресурса нет в этом регистре, так что сможете выбрать правильно. Дальше у нас идет количество диапазонов. То есть, на сколько интервалов необходимо разбить количество единиц товара по контрагентам. Они выстроятся от минимального значения до максимального. Другими словами, это количество столбиков в гистограмме. Ну, с датой все понятно. Есть дальше хитрая галочка. Не хотите вдаваться в подробности - не ставьте ее. Хотите разобраться - тогда дальше приведу принцип действия. Нажимаем кнопку "Сформировать" и наслаждаемся.

 

Для тех, кому интересны внутренности.

Выбрать мы можем несколько измерений, для чего это, объяснять не буду - надо талмуд тогда писать. Запрос строится динамически. Берет нужный регистр, группирует по измерениям выбранным и суммирует по выбранным ресурсам. С одной стороны глупо, что можно просуммировать количество и сумму и еще неизвестно что, но с другой стороны, иногда это необходимо. Живой пример в главной картинке. Поступления по кредитам там в регистре пишутся двумя суммами, поэтому необходимо было их сложить. Может, пригодится для самописных конфигураций, а нет - так ставьте всего одну галочку. Вид ресурса - тут тоже все понятно. Выбрали все, нажали всеми любимую кнопку. А отчет тем временем написал запрос (корректный или нет, это уже от Вас зависит) и получил данные. Но есть интересный момент. Например, было у Вас 100 реалзиций. 98 из них в ценовом диапазоне от 500 до 1000 единиц денег, а вот две на другие суммы. Одна на 0,000005 а другая на 10000000000000000000. И представьте что будет, если вы нажмете все ту же кнопку? Правильно. Будет сначала столбик, потом долго никого нет, потом все 98 реализаций в одном столбике, снова долго никого нет и там красуется в конце наша любимая и безумно дорогая. В статистике такие показатели называют выбросами. Ну так писать в окне отчета я не стал, а написал более гуманно, что ли... Ошибки. Много в мире есть методов нахождения таких ошибок. Здесь и критерий Граббса, и еще много других. Но наиболее распостраненным является критерий трех сигм. Вот если Вы галочку поставите, то по этому критерию и будут отброшены выбросы. Затем итоговую таблицу уже без этих выбросов программа еще раз проверит на новые выбросы (ведь если мы выбросили некоторые значения, то у нас изменились и среднее арифметическое (мат. ожидание), и ско, и еще много всего). И так будет проверять, пока удостоверится, что выбросов нет. Или если Вы ограничите программу в этом. Например, поставите количество итераций (проверок) 1 или 3, или как Вам захочется. Если поставите 1, тогда действительно грубые выбросы, которые только искажают картину, будут удалены из рассмотрения. А дальше Ваши оставшиеся 98 реализаций будут разбиты по суммам на заданные Вами периоды.

Важно знать, что гистограмма это не столбиковая диаграмма!!!! Она показывает частоту вхождений исследуемых значений в заданные интервалы. Поэтому Вам покажет, сколько реализаций на сумму от n до m и т.д.
ТОРГ-12 с КПП, к документу Реализация товаров и услуг, Бухгалтерия 3.0 1С: Предприятие 8.3

Краткое описание

Для того, чтобы включить возможность использования внешних печатных форм, нужно разрешить их использование в БП 3.0. Администрирование -> Настройки (на панели действий) -> Настройки программы -> Дополнительные отчеты и обработки -> V Использовать дополнительные отчеты и обработки. 

Для подключения внешней печатной формы: Администрирование -> Дополнительные отчеты и обработки (на панели навигации) -> Создать -> Выбрать нужный файл -> Записать и закрыть. После этого новая печатная форма автоматически появится в списке печатных форм у документа.

Обработка тестировалась на релизе конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.40.31).
Интеграция 1С:Предприятие Розница (редакция 2.х) и Интернет-магазина Opencart Платформа 1С v8.x (все механизмы)

Краткое описание

Увидев реализацию обмена с сайтом в редакции 2.
Эмулятор фискального регистратора с печатью на принтер чеков 1C: Предприятие 8.2

Краткое описание

Эмулятор ФР разработан на основе стандартного эмулятора. Печатает чеки на любой принтер, в том числе на принтер чеков.

Подключается как обычный эмулятор ФР через обработки ТО и запускатся только программно при работе с кассой.

Умеет печатать чеки продаж, возвратов, x-отчет и z-отчет. Данные для x и z отчетов берет из документов продаж (какие возможно достать).

Проверено на 1С Розница
Декомпилятор файлов конфигурации, внешних отчетов и обработок 1С Предприятия 8.х 1C:Предприятие 8

Краткое описание

Ближайшими аналогами являются v8Unpack и CfProject. От них утилиту отличает распаковка в структуру каталогов соответствующую структуре объектов с обработкой всех данных исходного файла.

Установка и запуск.

Для запуска необходимо наличие Java версии
Расчет заработной платы в Альфа-Авто 4 и 5 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Подключение фискального регистратора MG N707TS по http (TCP/IP) протоколу JSON (на базе ФР Novitus) Платформа 1С v7.7 (все механизмы), Платформа 1С v8.x (все механизмы)

Краткое описание

Многие разработчики используют подключение фискального регистратора через OLE объекты различных разработчиков - как платных, так и бесплатных.
Пожалуй, вам будет интересна такая возможность, как работа с ФР (фискальным аппаратом) без участия драйверов, а именно по HTTP протоколу (именно как утверждают разработчики - это должно стать очередной фишкой данного аппарата), но из-за того, что программисты 1С не всегда понимают, как без OLE объекта работать с внешним устройством, мы (именно мы, не я совместно создали это чудо огромное, спасибо Игорь К (IgKR ) Особенная БЛАГОДАРНОСТЬ, Сергей Шепелев, замечаниям от pumbaE  и многим другим, которые уже используют HTTP протокол как основной в работе с 1С (7.7 - 8.2 и 8.3 полностью реализованы на внутреннем языке 1С) к ним добавился w-divin . 

Хочу порекомендовать использовать именно такое общение с аппаратом - через http протокол по рекомендациям производителя!

 - Работа c аппаратом возможна как в Windows, так и в любой другой ОС, будь то Linux, Android, iOS, т.к. все команды передаются по http протоколу TCP/IP .

Дополнил файлы новой обработкой 1С 8.х без дополнительных объектов .epf DLL для нее не требуется ... все выполненно через WinHttp.WinHttpRequest.5.1 - В доказательство того, что аппарат может работать без сторонних OLE объектов и дополнительных компонент.

Возможности

- Сформировать чек (продать товар) в тесте один  на практике (можно и более) чек отправляется после того, как он будет полностью сформирован в 1С документе, установлены все скидки и наценки, будет указана форма оплаты и введена сумма денег от клиента.

- Формирует штрих-код в чеке товара и штрих-код всего чека

- Дает возможность добавлять произвольный текст внутри чека как комментарий

- Позволяет печатать нефискальный чек, состоящий только из строк коментария (служебный отчет). Порою это необходимо или для печати рецептуры для аптек, или печати доп. документов, используя фискальный принтер просто как принтер.

- Позволяет делать служебный внос/вынос разменной монеты или всей суммы перед Zотчетом по правилам фискальной (налоговой) службы.

- Позволяет печатать отчеты как текущей смены, так и отчеты за период (по датам или по номерам Z-отчетов)

- Позволяет определить степень заполнения контрольной ленты

- Определяет при открытой смене финальную дату, при которой аппарат заблокируется, если была нарушена связь с эквайером (чеки и отчеты не передавались в налоговую)

-Прочитать настройки модемной части фискального аппарата и при необходимости перепрограммировать хост (IP адрес или доменное имя)

Для стабильной работы рекомендуется:

1 Вводить в эксплуатацию аппарат также в переключенном режиме http 

2 Заполнять шапку чека, загрузку логотипа - только через ОБНОВЛЕННУЮ оболочку web броузера аппарата, не имеет значения через USB (Интерфейс RNDIS) или Ethernet

3 Если ВЫ тестировали аппарат или уже работали на нем, то перед переключением  в HTTP режим на апарате необходимо выполнить обнуляющий Zотчет

Выполнив все эти требования, ВЫ избавите себя от огромной головной боли.

-------------------------------------------------------------------------
* P.S. все вопросы и пожелания оставляйте тут, буду держать производителя в курсе событий.

(По мере возможности)

Нюансы:

Дополнил файлы новой обработкой 1С 8.х без дополнительных объектов .epf DLL для нее не требуется... все выполненно через WinHttp.WinHttpRequest.5.1 - В доказательство того, что аппарат может работать без сторонних OLE объектов и дополнительных компонент

Добавил обработку обслуживания для подключения торгового оборудования.
Огромное спасибо ВСЕМ КТО ПОМОГ , участвовал в создании этой обработки. (Перечислять ВСЕХ не буду , но Ивано-Франковск - реально классный город).  WinHttp.WinHttpRequest.5.1 - не использовалось (оказывается и без него будет работать, кому не понравиться расчет MD5 сумм можно подключить WinHttp.WinHttpRequest.5.1 и не париться работать по старому алгоритму).


В архиве приведены скриншоты регистрации этой DLL - cо свойственным мне описанием :)
Для полноценной работы в http протоколе и для корректной Digest авторизации я решил использовать 
http://www.morpher.ru/WebServices/Morpher.asmx Вы можете создавать любые сборки или использовать стандартные библиотеки без регистрации. NestNet45.dll для тестирования 4.5 TestWebServices.dll для тестов 2.0
(Помоему тут //infostart.ru/public/102172/ )

Для универсальности решения (как 1С 7.7 и ... по 1С 8.х) была применена именная такая методика с привлечением стороннего драйвера для работы по http, в частности, для прохождения Digest авторизации.

Хотя в 8.3 один (пожелавшийся остаться неизвестным) реализовал ВСЕ ЭТО полностью на встроенном языке 1С без применеия внешних объектов.

 В качестве парсера был использован также не совсем удачный метод, который можно изучить тут https://helpf.pro/faq82/view/1417.html , но более продвинутый метод реализован тут  //infostart.ru/public/119601/ и в дальнейшем я думаю на него перейти, когда будет свободное время.

Обратите внимание, что аппарат может работать и классическим методом по RS232, подробнее тут //infostart.ru/public/317286/ но производитель уделяет больше внимания протоколу HTTP JSON (TCP/IP)

Пишите пожелания и вопросы, отвечу по мере загруженности.
Т-60 для 1С:ЗиКБУ 1C: Предприятие 8.2

Краткое описание

Стандартной формы Т-60 в ЗикБу просто нет. Появилась необходимость в ее наличии, и в дополнении, в экономии бумаги и размещении на одном листе. Эта печатная форма компактно размещается на одном листе.

Тестировался на релизе
Остатки отпусков при переходе на ЗУП 3.0 1С: Предприятие 8.3

Краткое описание

Задача

Заказчик решил переходить на ЗУП 3.0 (ранее учёт вёлся не в 1С). Основное условие - полный перенос кадровой истории по сотрудникам (работающим на текущий момент) для отражения в Т-2 (в части касающейся текущей задачи это отпуска).

А как же это реализовать?

Ввести остатки отпусков при переходе или переносе данных возможно двумя способами:

документ "Ввод начальных остатков отпусков"
документ "Данные на начало эксплуатации"

Т.к. мы по задаче переносим кадровую историю, включающую данные по предоставленным ранее отпускам, то наш единственный выбор "Ввод начальных остатков отпусков". Но тут оказалась проблема: если в программе введены данные по фактическим отпускам ранее даты ввода остатков (а у нас как раз такой случай), то ввести остатки не получится! [это задача №1]

Остаток по виду отпуска на определённую дату в общем случае есть разность данных регистра сведений "Заработанные права на отпуска" и регистра накопления "Фактические отпуска", но для верного расчёта остатков в нашем случае необходимо отбросить данные фактических отпусков ранее "глобальной" даты начала ведения учёта в программе (заработанные отпуска автоматически скорректируются документом "Ввод начальных остатков отпусков" на дату ввода). [это задача №2]

Ну и напоследок необходимо верно отображать отчёты по отпускам: печатная форма "Справка по отпускам сотрудника" и отчёт "Остатки отпусков". [это задача №3]

Задача №1

Данная корректировка потребуется только на момент ввода документов "Ввод начальных остатков отпусков".

Для отключения проверки на наличие ранее введенных фактических отпусков необходимо закомментировать участок кода процедуры ПередЗаписью в модуле набора записей регистра сведений "Начальные остатки отпусков"

Процедура ПередЗаписью(Отказ, Замещение)

Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;

УстановитьПривилегированныйРежим(Истина);

//// проверка на наличие ранее введенных фактических отпусков
//Регистратор = ЭтотОбъект.Отбор.Регистратор.Значение;
//Если ТипЗнч(Регистратор) = Тип("ДокументСсылка.ВводНачальныхОстатковОтпусков") Тогда
// ТаблицаСотрудниковИОтпусков = ЭтотОбъект.Выгрузить(,"Сотрудник,ВидЕжегодногоОтпуска,ДатаОстатка");

// Если (ТаблицаСотрудниковИОтпусков.Количество() > 0) И (СуществуютДвиженияФактическихОтпусковРанее(ТаблицаСотрудниковИОтпусков)) Тогда
//
// ТекстОшибки = НСтр("ru = 'Нельзя вводить остатки датой более поздней, чем зарегистрированные в системе отпуска.'");
//
// ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки, , , , Отказ);
//
// КонецЕсли;
//
//КонецЕсли;

УдалитьЗаписиЗаработанныхОтпусков(ЭтотОбъект);

УстановитьПривилегированныйРежим(Ложь);

КонецПроцедуры

Задача №2

"Глобальная дата" - что в конкретном случае это будет такое, следует решать исходя из обстоятельств. В нашем случае это была дата начала года (все данные мы переносили на 1-ое января), а кому-то может потребоваться и "плавающая" дата. Мы же отделались добавлением экспортной (она нам потребуется в задаче №3) функции ПолучитьДатуНачалаВеденияУчета в общем модуле "ОстаткиОтпусков":

Функция ПолучитьДатуНачалаВеденияУчета() Экспорт

Возврат Дата("20150101000000");

КонецФункции


Помимо этого, были внесены изменения в функцию ИсходныеДанныеДляРасчетаОстатков (корректировка запроса):

|ИЗ
| ВТТаблицаДанных КАК ТаблицаДанных
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ФактическиеОтпуска КАК ФактическиеОтпуска
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДатаНачальныхОстатковПоВидамОтпусков КАК ДатаНачальныхОстатков
| ПО ФактическиеОтпуска.Сотрудник = ДатаНачальныхОстатков.Сотрудник
| И ФактическиеОтпуска.ВидЕжегодногоОтпуска = ДатаНачальныхОстатков.ВидЕжегодногоОтпуска
// Необходимый функционал в рамках задачи по учету остатков отпусков: отбросим фактические отпуска, введённые ранее даты начала учета в ЗУП
//| И ФактическиеОтпуска.Период < ДатаНачальныхОстатков.ДатаНачальногоОстатка
| И ФактическиеОтпуска.Период < &НачалоУчетаЗУП
//
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
| ПО ФактическиеОтпуска.Сотрудник = ТекущиеКадровыеДанныеСотрудников.Сотрудник
| ПО ТаблицаДанных.Сотрудник = ФактическиеОтпуска.Сотрудник


Задача №3

Оказалось, что печатная форма самостоятельно рассчитывает данные по остаткам отпусков, тогда как отчёт целиком строится на данных ранее озвученных регистров по описанной схеме. В реализации на помощь пришёл механизм БСП :-)

Печатная форма "Справка по отпускам сотрудника" заработает после внесения вышеописанных изменений, но в нашем случае Заказчик пожелал видеть данную справку в "старом" формате (изначально перекочевавшем из ЗУП 2.5, но впоследствии изменённом в ЗУП 3.0). Также добавили возможность формирования справки на рабочую дату (удобно для сверки данных на определённый момент в прошлом или будущем периодах).

Основные доработки коснулись отчёта "Остатки отпусков": по аналогии с кодом запроса в функции из общего модуля "ОстаткиОтпусков" (ранее по тексту) был добавлен фильтр на фактические отпуска ранее даты начала учёта.

Эти печатную форму и отчёт приложу для тех, у кого могут возникнуть затруднения в самостоятельной реализации.

Послесловие

Я не стал описывать механизм загрузки остатков в документ "Ввод начальных остатков отпусков" (у нас он был реализован в виде внешней обработки, читающей данные из заранее подготовленных файлов Excel по определённому алгоритму) - реализацию каждый придумает сам. Уточню только, что может быть несколько документов ввода остатков на разные даты и разные виды отпусков (ведь бывает ситуация, когда имеются остатки за разные периоды, но я бы порекомендовал по возможности свести всё на один конкретный период).

Описанный механизм вполне может быть использован для "быстрой" корректировки (без разбирательств в причинах) остатков отпусков по всем сотрудникам (т.к. использует "глобальную" дату).

Также регулярно советую смотреть в типовой отчёт "ОстаткиОтпусков" и актуализировать модифицированный (уже были исправления ошибок от 1С в данном отчёте).

Данный механизм успешно был применён и пока работает (но не исключаю, что однажды 1С что-то изменят и всё сломается).
Компоненты распознавания и печати штрих-кодов 1C:Предприятие 7.7, 1C:Предприятие 8

Краткое описание

Работа с камерой реализована с применением технологии DirectX и требует установленного в системе DirectX, а также поддержку web-камерой этой технологии (практически все современные камеры, в том числе бюджетные, поддерживают DirectX).

Комплектация ПО:
ActiveX-компонент для печати штрих-кодов
Внешняя компонента захвата видео с камеры и распознавания штрих-кодов
Инструкция по эксплуатации (с подробным описанием каждого поддерживаемого типа штрих-кодов)
Пример внешней обработки для 1С 8.2

 Программа предоставляется в виде программы-установщика, весь процесс установки происходит в мастере установки автоматически, с запросом параметров установки у пользователя. Установка может быть осуществлена как для одного пользователя, так и для всей системы.

 

В разработке использованы следующие свободно распространяемые библиотеки:

Zint – библиотека отображения штрих-кодов http://sourceforge.net/projects/zint/

Zbar – библиотека распознавания штрих-кодов http://zbar.sourceforge.net/

Fork библиотеки функций Zint для Delphi http://theunknownones.net

 
Использование ActiveX-компонента barcontrol.ocx
 

 

Программа отображения и печати штрих-кодов является элементом управления ActiveX со всеми вытекающими из этого последствиями. Это означает, что Вы можете использовать данный компонент для встраивания в любое приложение, поддерживающее интеграцию ActiveX компонентов, например, Microsoft Word, Microsoft Excel, другие продукты из состава Microsoft Office. Можно встраивать компонент в документ, а также располагать его на формах приложений VBA. Но всё же основное назначение компонента – встраивание в шаблоны печатных форм системы 1С-предприятие версий 7.* и 8.*.

Встраивание в шаблон 1С 7.7

1С 7.7 не поддерживает встраивание элементов управления напрямую из меню конфигуратора. Для того, чтобы встроить элемент управления в макет печатной формы 1С 7.7, вставьте его сначала в Microsoft Word или любое другое приложение, поддерживающее встраивание ActiveX-элементов. Затем выделите элемент кнопкой мыши и скопируйте его в буфер обмена (Ctrl+C). После этого перейдите на форму редактирования макета в конфигураторе 1С и вставьте элемент из буфера в выбранное место (Ctrl+V).

 

Встраивание в шаблон 1С 8.2

Для встраивания элемента в макет табличного документа 1С 8.2 последовательно выберите пункты меню «Таблица/Рисунки/Вставить объект» из главного меню конфигуратора. Щелкните в нужном месте макета указателем мыши, и выделите область, в которой будет располагаться элемент. После того, как Вы закончили выделение, на экране появится стандартное окно вставки объектов системы Windows.  Выберите из списка «CBarGenerator control». После нажатия кнопки «Ok» элемент появится в обозначенной области.

 

Настройка свойств объекта из конфигуратора

Выделите указателем мыши элемент «CBarGenerator» в шаблоне печатной формы в конфигураторе, и щелкните правой кнопкой. В появившемся меню выберите пункт «CBarGenerator Control/Properties». В появившемся окне  Вы можете изменять тип штрих-кода, данные, цвет, шрифт текста, отступы и т.д. (значения доступных для изменения свойств описаны в разделе «Программный интерфейс приложения»).

 

 

При изменении какого-либо из пунктов настроек становится доступной кнопка «Применить», с помощью которых Вы можете просмотреть результирующие изменения, не закрывая окна настроек. При нажатии кнопки «Ok» все сделанные изменения применяются к объекту, а окно настроек закрывается.

 

Программное управление свойствами объекта из 1С 7.7

Выделите указателем мыши элемент «CBarGenerator» в шаблоне печатной формы в конфигураторе «1С-Предприятие» 7.7, и щелкните правой кнопкой. В появившемся меню выберите пункт «Свойства».

 

 

 

В поле «Расшифровка» поместите имя функции, которая будет вызываться для события получения расшифровки. При вызове данной функции свойство шаблона «ТекущийОбъект» будет указывать на наш элемент управления, поэтому здесь можно изменять любые свойства, описанные в разделе «Программный интерфейс приложения». Пример программного кода:

 

Процедура ПечатьДокумента()

Таб = СоздатьОбъект("Таблица");

ПечКод = "012345678934";
ПечТип = 34;

Таб.ВывестиСекцию("СекцияШтрихКода");

...

Таб.Показать("Штрих-коды");

КонецПроцедуры

Функция ПолучитьРасшифровку()

Таб.ТекущийОбъект.BarType = ПечТип;
Таб.ТекущийОбъект.BarData = ПечКод;

КонецФункции



Программное управление свойствами объекта из 1С 8.2
 

Выделите указателем мыши элемент «CBarGenerator» в макете табличного документа в конфигураторе, перейдите во вкладку «Свойства рисунка» и задайте ему имя.

 

Теперь Вы можете обращаться к объекту из программного кода по указанному имени. Предварительно необходимо вывести макет в результирующий табличный документ.  Пример программного кода:

 

Процедура ПечатьДокумента()

ТабДокумент = ЭлементыФормы.ПолеТабличногоДокумента;
ТабДокумент.Очистить();

ТабДокумент.ИмяПараметровПечати = "Параметры_Штрихкодирования";

Макет = ПолучитьМакет("Макет");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");

ТабДокумент.Вывести(ОбластьШапки);
ТабДокумент.Рисунки.DBarCode.Объект.BarType = ТипКода;
ТабДокумент.Рисунки.DBarCode.Объект.BarData = СтрокаДанные;

КонецПроцедуры


 

Программный интерфейс приложения

 

Свойства объекта
BackColor

Чтение и запись. Тип – числовой. Установка и получение цвета фона штрих-кода. Устанавливается 24-битным целым числом, в котором каждый из трёх байтов отвечает за свою цветовую составляющую (RGB). Например, $FF0000 (десятичное 16711680) соответствует красному цвету,

 

BarColor

Чтение и запись. Тип – числовой. Установка и получение цвета штрихов штрих-кода. Установка аналогична параметру BackColor.

 

BarData

Чтение и запись. Тип – строковой. Установка и чтение строки данных для преобразования в штрих-код (подробнее в разделе «Формат штрих-кодов»).

 

BarType

Чтение и запись. Тип – числовой (в VBA использовать перечисление Symbology). Установка и чтение типа штрих-кода.  Соответствие типов штрих-кодов числовым кодам приведено в таблице:

 

Наименование типа



Числовое значение




    CODE11



 0




    C25MATRIX



 1




    C25INTER



 2




    C25IATA



 3




    C25LOGIC



 4




    C25IND



 5




    CODE39



 6




    EXCODE39



 7




    EANX



 8




    EAN128



 9




    CODABAR



 10




    CODE128



 11




    DPLEIT



 12




    DPIDENT



 13




    CODE16K



 14




    CODE49



 15




    CODE93



 16




    FLAT



 17




    RSS14



 18




    RSS_LTD



 19




    RSS_EXP



 20




    TELEPEN



 21




    UPCA



 22




    UPCE



 23




    POSTNET



 24




    MSI_PLESSEY



 25




    FIM



 26




    LOGMARS



 27




    PHARMA



 28




    PZN



 29




    PHARMA_TWO



 30




    PDF417



 31




    PDF417TRUNC



 32




    MAXICODE



 33




    QRCODE



 34




    CODE128B



 35




    AUSPOST



 36




    AUSREPLY



 37




    AUSROUTE



 38




    AUSREDIRECT



 39




    ISBNX



 40




    RM4SCC



 41




    DATAMATRIX



 42




    EAN14



 43




    CODABLOCKF



 44




    NVE18



 45




    JAPANPOST



 46




    KOREAPOST



 47




    RSS14STACK



 48




    RSS14STACK_OMNI



 49




    RSS_EXPSTACK



 50




    PLANET



 51




    MICROPDF417



 52




    ONECODE



 53




    PLESSEY



 54




    TELEPEN_NUM



 55




    ITF14



 56




    KIX



 57




    AZTEC



 58




    DAFT



 59




    MICROQR



 60




    HIBC_128



 61




    HIBC_39



 62




    HIBC_DM



 63




    HIBC_QR



 64




    HIBC_PDF



 65




    HIBC_MICPDF



 66




    HIBC_BLOCKF



 67




    HIBC_AZTEC



 68




    AZRUNE



 69




    CODE32



 70




    EANX_CC



 71




    EAN128_CC



 72




    RSS14_CC



 73




    RSS_LTD_CC



 74




    RSS_EXP_CC



 75




    UPCA_CC



 76




    UPCE_CC



 77




    RSS14STACK_CC



 78




    RSS14_OMNI_CC



 79




    RSS_EXPSTACK_CC



 80




    CHANNEL



 81




    CODEONE



 82




    GRIDMATRIX



 83

 

Для уточнения типа штрих-кода в некоторых случаях требуется установка дополнительных параметров Option1, Option2, Option3. Для составных кодов может потребоваться установка свойства Primary.

 

BorderWidth

Чтение и запись. Тип – числовой. Установка и чтение толщины рамки вокруг штрих-кода (0 – рамка не используется).

 

Font

Чтение и запись. Тип – OleFont. В системах «1С-Предприятие» любых версий установка данного параметра невозможна. Установка и получение шрифта человекочитаемой текстовой метки, выводимой вместе с  штрих-кодом.

 

MarginLeft, MarginTop, MarginRight, MarginBottom, PaddingLeft, PaddingRight, PaddingBottom,
SpacingLeft, SpacingTop, SpacingRight, SpacingBottom

Чтение и запись. Тип – числовой. Отвечает за размеры отступов. Соответствие параметров показано на рисунке.

 

Option1, Option2, Option3

Чтение и запись. Тип – числовой. Дополнительные опции, требующиеся для некоторых типов штрих-кодов.

 
Primary

Чтение и запись. Тип – строковой. Дополнительные данные для составных штрих-кодов. Подробнее в разделе  «Формат штрих-кодов».

 

ShowText

Чтение и запись. Тип – булево (в 1С 7.7 – целое число ).  Флаг отображения человекочитаемой метки, выводимой вместе с некоторыми типами штрих-кодов.  Значение True (1) – выводить текст, False (0) – скрыть текст.

 

TextColor

Чтение и запись. Тип – числовой. Установка и получение цвета шрифта человекочитаемой текстовой метки, выводимой вместе с  штрих-кодом. Установка аналогична параметру BackColor.

 

Работа с компонентом распознавания

 Компонент распознавания штрих-кодов реализован с использованием DirectX для захвата видеопотока с камеры. Поток разбивается на отдельные кадры, которые затем анализируются на предмет наличия одного или нескольких изображений символов штрих-кодов. При обнаружении символов, они выделяются в окне сканирования яркой линией, а информация о распознанных символах, такая, как расшифрованные данные, тип штрих-кодирования, угол, при повороте на который было произведено успешное распознавание, передается при помощи внешнего события в систему "1С-Предприятие".

Использование в программах 1С 7.7, 8.2

Компонент распознавания оформлен в виде внешней компоненты для систем 1С, и может быть встроен в программу стандартным для 1С способом:

В глобальном модуле:

Перем СканерОбъект Экспорт;

Процедура ПриНачалеРаботыСистемы()
СканерОбъект = Null;
Попытка
ПодключитьВнешнююКомпоненту("AddIn.OBRScannerVK");
СканерОбъект = Новый("AddIn.OBRScannerVK");
Исключение
Сообщить("Не удалось загрузить компоненту!", СтатусСообщения.Важное);
Сообщить("
Интерактивная оборотно-сальдовая ведомость 3.0 для управляемых форм Платформа 1С v8.x (все механизмы)

Краткое описание

 

Номинация INFOSTART AWARDS 2015: Лучшая разработка

 

Интерактивная ОСВ 3.0 для управляемых форм позволяет анализировать и проводить аудит по любым разрезам бухгалтерских итогов всех организаций БД.

 

 

Отдельное спасибо за помощь в завершении проекта команде ООО «Инфостарт», а также тем, кто принял участие в ускорении проекта.

 

Предыдущие версии: 

Интерактивная ОСВ v2.53 для 1С 7.7 от Барышникова С. А. clappa (//infostart.ru/projects/608/).

Интерактивная ОСВ v2.0 для 1С 8.X (Обычный интерфейс) //infostart.ru/projects/5189/

 

Текущая версия: 3.0.18.2 от 14.04.2019 (использовалась русская версия языка 1С)

И

Текущая версия: 3.0.17.2 от 14.04.2019 (использовалась английская версия языка 1С)

Новое в версии 3.0.17




- Добавлена поддержка платформы 8.3.14+




- Существенно увеличена скорость формирования отчета 




- Прокрутка и активация ячеек отчета стала плавнее и стабильней




- Исправлены выявленные ошибки

 

Новое в версии 3.0.15




- Добавлена поддержка платформы 8.3.13+




- Полностью переработан механизм формирования меню. Контекстное меню (по правой кнопки мыши) теперь формируется только на клиенте (без серверного вызова) 




- Отработка контекстного меню стала стабильной и более плавной




- Добавлена отработка меню расшифровки по одному клику правой кнопки мыши




- Добавлена поддержка расшифровки показателей для конфигурации "Бухгалтерия для Беларуси, редакция 2.1"




- Исправлены выявленные ошибки

 

Новое в версии 3.0.13




- Реализован механизм настройки показателей отчета (добавление своих расчетных показателей, например цена =  [Сумма]/[Количество]) (Форма Параметры)




- Компактный интерфейса в режиме Такси




- Реализована настройка верхнего и нижнего колонтитула




- Реализовано сохранение Отбор между сеансами




- Исправлены выявленные ошибки

 

P.S.Буду очень благодарен, если Вы сообщите об успешной или не успешной работе Интерактивной ОСВ. Это позволит значительно быстрее выявить и устранить возможные ошибки и продвинуть проект вперёд.

 

О любых найденных ошибках и недочетах просьба писать через сайт Написать или на почту LeonowFF()ya.ru 

Ввод счетов-фактур на основании реализации 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Функции:

- Отбор документов «Реализации товаров и услуг» за определенный период.
- Возможность отобрать документы «Реализации товаров и услуг», по которым не создавались счета-фактуры. 
- Создание документов "Счет-фактура" без префикса организации.

Инструкция: 


Акт об оказании услуг за поставщика Платформа 1С v8.x (все механизмы)

Краткое описание

Для подключения печатной формы:

Сервис - Дополнительные внешние отчеты и обработки - Внешние печатные формы - Создать - Выбрать файл - Записать и закрыт
"Загрузка прайс-листа поставщика и установка цен номенклатуры (""Управление торговлей"" 11.1)" 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Создание и печать этикеток (ценников). Со штрих-кодами и без. Универсальная обработка 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Вместо предисловия...

Только лишь создав эту обработку, пошел на Инфостарт посмотреть, что же по теме ценников представлено. Оказалось - как грязи. Но все как-то не то и все как-то не так... Во-первых, мало внимания уделено управляемым формам, во-вторых, не густо с универсальностью, в третьих... в общем, не важно...

  Итак. Сразу оговорюсь, что на абсолютную универсальность не претендую. Точнее на "plug & play" в любой конфигурации. Но при элементарной доработке все это можно интегрировать  абсолютно куда угодно. В чем же заключается универсальность данной обработки? В том, что пользователь имеет возможность самостоятельно создавать любые макеты для этикеток (ценников), и точно также самостоятельно выбирать из созданного то, в каком виде напечатать на "этот раз". Кстати... ценники -- это уже "побочный эффект" (поэтому везде по тексту в скобках). Я в основном ориентировался на печать именно этикеток, которые печатаются на самоклеящейся бумаге А4 формата, уже порезанной на этикетки. Основная проблема при работе с такой бумагой -- это различные форматы этикеток у разных производителей (даже тогда, когда количество этикеток на листе одинаково). Это из моей практики: печатали-печатали на одной бумаге, она закончилась... сегодня этой бумаги не оказалось, купили такую же, но другого производителя. Принесли... напечатали... как оказалось, бумага такая, но не совсем. Этикетки съехали кто вбок, кто вверх, кто между этикеток. Вот и начинается... перестроение макетов, подборы нужных размеров, игра с 0,5 мм туда-сюда и т.п. Скучно...

В данной обработке получается все гораздо проще. Сначала мы задаем параметры нашего листа-самоклейки, где указываем все поля, количество этикеток на листе, размеры этикеток (все параметры автоматом это пересчитывается друг относительно друга) и уже на получившемся размере создаем интересующий нас макет. Ежели мы установили все параметры листа верно, то в итоге получим распечатанный лист с четким попаданием этикетки в размер. С макетом все довольно просто. Вдохновила меня на все это безобразие эта публикация. Понравилась мне идея с визуализацией всей работы по созданию макета. Но не понравилось то, что написано только на  обычных формах. Вот и сделал то, что сделал ;) Что мы имеем? Имеем таблицу (которую нужно заполнять для разных конфигураций по-разному), из которой, собственно, и выводим на печать номенклатуру. Любое поле из этой таблицы с помощью обычного перетаскивания пользователь может переместить в предварительно созданную область макета этикетки. Так, мы можем натаскать на макет всю информацию, которая нам необходима на этикетке. Причем поместить на этикетку мы можем любой реквизит, неважно какого уровня вложенности. Любую ссылку в объекте (товаре, фирме и т.п.) мы можем развернуть на составляющие реквизиты. Шрифты, положения, цвета и пр. - это все редактируется кнопочками прямо на форме, не внедряясь в свойства ячеек табличного документа. Каждое действие, произведенное с макетом, тут же отображается на примере этикетки уже в том виде, в котором будет выводиться на печать. Т.е. мы создаем/редактируем макет, и тут же видим результаты свой работы. Для удобства пользователя, при редактировании макета, сделана так называемая "линейка", т.е. пользователь может видеть реальный размер выделенной области в миллиметрах.

Все созданные макеты могут сохраняться со всеми параметрами (хранятся в базе), выбираться, удаляться, опять редактироваться и опять сохраняться. Выбрав из списка интересующий макет, мы на экране сразу видим пример этикетки, которая распечатается с его помощью. Подобная визуализация - это очень удобно, особенно если у нас есть n-ное количество видов этикеток (ценников), каждый для разных случаев.

Штрих-коды на текущий момент выводятся только с помощью шрифтов (при необходимости шрифт можно будет сохранить из базы и установить на комп). В планах на будущее дать альтернативу на построение штрих-кодов другими способами.

В обработке есть два поля типа "штрих-код" - это "штрих-код цифрами" и просто "штрих-код". При перетаскивании первого на макет этикетки мы увидим просто набор цифр, второго - штрих-код в виде привычного штрих-кода.

Более подробно можно прочитать в хелпе самой обработки.

Обработка представлена в составе тестовой конфигурации. На рабочем столе показана сама обработка, если перейти на закладку Тестовые Данные, выбрать документ Переоценка, печать этикеток - откроется обработка, заполненная списком товара из документа.

Чтобы штриходы отображались на печати в нормальном виде, сохраните шрифт и установите его на Ваш компьютер. (Тестовые данные --> Сервис --> Сохранить шрифт для печати штрихкодов на компьютер)

В демо конфигурации предопределенный макет ценника не редактируется. Для редактирования предопределенного необходимо сохранить его под другим именем и открыть.

(Только управляемые формы)
Внимание! 1С использует при печати минимальные поля 4мм. Так что если Вы рассчитываете печатать на самоклейке А4 без полей, у Вас конечно же, что-то получиться, но не очень красиво. Всегда закладывайтесь на то, что поля по периметру должны быть как минимум 4мм.

Обновление 29/07/2015

Анализ заказов покупателей для УТ 11 (на управляемых формах) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Работает только с заказами с обособленным учетом.

Отчет выводит сводную информацию о заказе клиента - показатели оплаты, отгрузки, резерва, уже заказанных позиций у поставщика и еще не заказанных. Да, есть типовые отчеты в УТ для просмотра этих показателей, но это разные отчеты, а тут они собраны в одном месте.

Основное отличие от других похожих публикаций на Инфостарте - это детальная настройка создания заказов поставщикам или добавления в уже созданный заказ. В документ идут позиции из отчета с учетом установленных отборов. Если отборов недостаточно, то можно вручную определить состав номенклатуры, который нужно заказать, пометив или сняв пометку с нужных позиций на вкладке "Заказы поставщикам".

UPD: добавил новую версию отчета с измененным подсчетом резерва - учитываются резервы, устанавливаемые из самого заказа клиента и обособленные резервы. Все остальные случаи резерва объединить в отчете для всех и чтобы работало у всех, я не могу, т. к. резерв от заказов на сборку / разборку, резерв от товаров "В пути", резерв от поступлений и т. д. у разных организаций реализуется по-разному. Также исправил ошибку, которая выходила при нажатии на кнопку "Настройки". Тестировал на версии УТ 1
Автоматическая сборка товаров для УТ 11.1 1С: Предприятие 8.3

Краткое описание

Порядок действий:
Дополнительное соглашение к трудовому договору (для ЗУП 3.0) 1С: Предприятие 8.3

Краткое описание

Исходная обработка была изменена согласно структуре конфигурации ЗУП 3.0:

- поменялись регистры,

- другой объект документа кадрового перевода,

- добавлен механизм регистрации обработки в базе,

- изменен макет под конкретные требования кадровиков.

Обработку нужно добавить во внешние отчеты\обработки через раздел "Администрирование".

В документе "Кадровый перевод" добавится необходимый пункт в меню печати.

Тестировалось на 1С 8.3.5.1517, конфигурация: Зарплата и управление персоналом, редакция 3.0 (3.0.22.233).

 Но почему-то не всегда правильно отрабатывает стандартная функция конфигурации "ОбщегоНазначения.Просклонять()".

- Добавлен вариант для ЗУП 3.
Выгрузка поступлений в реализации через xml файл (из одной базы БП в другую) Платформа 1С v8.x (все механизмы)

Краткое описание

Иногда у пользователей случается необходимость преобразования документов прихода по одной фирме в документы расхода в другой.

Данная обработка выгружает документы "Поступления товаров и услуг" (и счета-фактуры к ним) в XML -  файл. Далее этот файл используется для загрузки документов в базу-приемник.

Предлагаю использовать обработку как основу для ваших нужд. 

Моя задача была упрощенной - выгружать только табличную часть "Услуги", что и реализовано.
Привычная форма подбора для УТ 11 с динамичным добавлением номенклатуры в табличную часть Заказа Клиента 1С: Предприятие 8.3

Краткое описание

Обработка реализована в формате подключаемой внешней обработки заполнения табличных частей. Моя обработка предназначена для документа Заказ клиента, но возможно дописать под любой документ. За этим в личку. Управление торговлей, редакция 1
Перепроведение документов с перезаполнением запасов 1С: Предприятие 8.3

Краткое описание

До момента изменения системы видов запасов в УТ 1
Справка о средней заработной плате в службу занятости для ЗУП 3.0. НОВАЯ ФОРМА 1С: Предприятие 8.3

Краткое описание

Почему я решил написать именно свой вариант справки-расчета?  Все просто. Именно, согласно этой справке, государство производит выплаты временно безработным. И потому правильность представляемых данных подлежит пристальной проверке.

«А что здесь сложного?» - спросите вы. Если заполнить справку поверхностно – то ничего. Но я предлагаю заполнять ее правильно. Как именно заполняется данная справка:

Расчет среднего производится штатными механизмами программы. Именно это гарантирует учет всех возможных изменений законодательства.
Учет работы по неполному рабочему времени исключает ошибки. Каким образом?  - Учитывается данные графиков работника. Но этого мало. Помимо этого, учитывается размер занимаемой ставки (указывается в кадровых документах).
Отпуск по уходу за ребенком до 3-х лет. Для исключения ошибки данные собираются как по регистрам расчета, так и по периодам плановых начислений.
Прогулы, простои, отпуска – здесь все проще. Все собираем по регистру «Начисления». Есть специальные начисления – регистрируем период.

В заключение хотелось добавить, что работа данной печатной формы проверена на релизе Зарплата и управление персоналом, редакция 3.0 (3.0.24.125) и платформе 8.3 (8.3.6.2041).

ps: добавлена новая версия печатной формы Справка в службу занятости ЗУП и ЗУП КОРП ред. 3.1 (3.
Универсальная учетная система с конструктором документов и справочников в режиме 1С: Предприятие 1С: Предприятие 8.3

Краткое описание




Конечно, в режиме 1С Предприятие нельзя создавать документы и справочники, зато можно обеспечить иллюзию этого. А ведь, как известно, если что-то выглядит как утка, плавает как утка, крякает как утка, то, должно быть, это и есть утка. Предлагается конфа с конструктором документов такого вида (сверху – как задается, внизу - результат, как это выглядит для пользователя).




Есть справочник, в котором описывается, из чего будет состоять документ и какие он будет делать движения. Создается новый вид операции – это и будет новый «документ». Описываются поля шапки и табличных частей. Для реквизитов задается виртуальный «тип реквизита» «номенклатура», «контрагенты» и т.д. На самом деле это виртуальные справочники, которые создает пользователь, но для пользователя разницы нет. Когда он щелкает по реквизиту «Контрагент», у него открываются контрагенты, по номенклатуре «Номенклатура» и т.д. Можно создать столько «справочников», сколько нужно – на самом деле это просто папки справочника «Ресурсы», но пользователь документа об этом не догадывается.

Также в документе надо прописать заполнение реквизитов при выборе и расчет зависимых реквизитов, например, сумма = цена*количество. У каждого элемента виртуального справочника могут быть произвольные реквизиты – аналогично типовым конфигурациям. В конструкторе можно задать заполнение этого произвольно реквизита в создаваемый документ. Например, я создал в «номенклатуре» реквизит «Цена» и сделал, чтобы он заполнялся при выборе номенклатуры.

И, собственно, для каждого документа нужно описать движения. Каждое движение – это одна строчка. Модуль проведения каждого вида документа намеренно прост. Я считаю, что проведение должно быть максимально простым, а все необходимые данные для движений должны быть подготовлены в табличной части. Например в реализации и перемещении в ТЧ присутствует партия и сразу себестоимость (скрыта в форме) – т.е пользователь выбрал партию, себестоимость зафиксировалась и, сколько документ ни проводи, ничего не поменяется. Движения можно делать по регистру остатков, оборотов и сведений – все как в обычных конфигурациях.

 

Отдельно стоит упомянуть режим подбора из остатков – его также можно конструировать. Я сделал подбор остатков партий, чтобы считать себестоимость. Его можно использовать для подбора, например, заявок на расходование ДС под платежи, кредитных документов и т.д.

Для примера я сделал в конструкторе несколько характерных документов для УТ – поступление, перемещение, реализация, ПКО. Это заняло меньше 5 минут. Документы двигаются по регистру остатков товаров по складам, в котором сразу себестоимость (кстати себестоимость получается сразу), по взаиморасчетам, вспомогательным для аналитики регисрам Продажи, Закупки, Остатки денежных средств. 

Чего тут не хватает для полноценной системы?

Печатные формы, обработки заполнения табличных частей, подбора  - пишутся внешние и прицепляются страндартными средствами. Отчеты тоже внешние. В 3х видах регистров (остатки, обороты и сведения) есть достаточно данных, чтобы написать любой отчет. Т.е. констуктор, собственно, создает "документы" и движения к ним, а получение данных в виде печ. форм или отчетов - это задача уже слишком специфическая, чтобы можно было сделать какой-то конструктор - на то есть СКД.

Для чего это нужно?

Как уже было сказано, на этом можно сделать небольшой в несколько документов модуль к имеющейся конфе, либо самостоятельную простенькую конфу. Также можно применить при моделировании техпроекта с заказчиком – быстро набросать документы и показать заказчику, как это будет выглядеть в реале, чтобы обсудить какие-то вопросы.

Продолжение темы :

//infostart.ru/public/388479/




 

Группа для вопросов-ответов, пожеланий, обмена опытом: //infostart.ru/community/groups/1183/ 

 

UPD 30.07.2015 Добавил базу с демо-примером и правила обмена для переноса настроек 

UPD 12.08.2015 Выложил демо базу с новой конфигурацией (убрал отдельно CF т.к. его можно взять из базы):

-добавлена проверка обязательных полей

-обработчики заполнения табличных частей

-названия таб частей

-количество таб частей увеличено до 3-х



Дебиторская задолженность по срокам для БП ред.3.0 1С: Предприятие 8.3

Краткое описание

Для определения срока платежа берем срок оплаты, установленный в договоре контрагента. 

Отбор по Организации и Контрагенту.

Отчет подключается как дополнительный в конфигурацию. При необходимости может быть самостоятельно доработан под ваши требования - файл открыт.

Отчет проверен на конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.40.37) 
Сравнение данных за два периода 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет выводит данные по описательной статистике + две гистограммы распределения. К показателям описательной статистики относятся - общая сумма, общее количество, экстремумы (минимум, максимум), среднее арифметическое, мера изменчивости (коэффициент вариации), медиана значений, а также нижний и верхний квартиль. Если почти со всеми показателями Вы встречались довольно часто, то о квартилях немного подробнее расскажу. Чтобы не писать научную терминологию объясню смысл попроще - половина всех значений (которые попали в отчет) находятся между верхним и нижним квартилями. Вы можете найти определение перцентилей. Так вот 25 перцентиль это и будет нижний квартиль. На первой гистограмме будет видно распределение первого набора данных по его диапазонам + попавшие данные из другого диапазона выделлые другим цветом. На картинках будет понятнее. Принцип заполнения будет сейчас описан, а дальше будет немного о том, как работает отчет. Возможно, это будет интересно программистам или просто интересующимся. Код открыт, паролей нет.

Итак)

Пример заполнения отчета отпринскринен на УПП под управляемыми формами.

 

 

Первое что нам необходимо сделать - это выбрать регистр накопления, из которого будут выбраны наши данные. Я выбрал регистр "Продажи".
Далее нам необходимо поставить количество диапазонов, по которым отчет разбросает наши данные. Рекомендации по количеству диапазонов - от 5 до 10.
И есть галочка для выбросов. В предыдущей публикации я писал, что такое выбросы и как с ними бороться. Вкратце так: есть у Вас 100 значений от 20 до 60 чего-то там. И есть два значения, которые сильно отличаются - 0,0000000005 и 100000000000000. И понятно, что они сильно смажут картину. Можете их оставить, а можете поставить галочку, тогда такие выбросы удалятся из таблицы данных.
Еще можно выбрать количество проверок на эти выбросы - итерации. Если оставите там 0, то программа будет прогонять таблицу данных, пока не очистите ее от выбросов. Выбросы убираются по критерию трех сигм. Можно ограничить количество итераций.

Отметили все, что хотели.

Теперь перейдем к заполнению периодов. Вы можете сравнить данные за два любые периода.

Теперь пришло время отборов. Отборы стандартные из компоновщика СКД. Ними можете пользоваться как заблагорассудится. Я ввел отборы по ответственному из документа продажи. Выбрал разных менеджеров.

 

Далее перейдем к выбранным полям отчета. Автоматически будут выбраны все доступные поля. Вам только снимать галочки с ненужных, а вот ресурс придется добавить самим. Примечательно, что ресурс можно выбрать только один. Отчет сравнивает одномерные данные. Если выбрали два, то отчет мягко Вам на это укажет. Или если не выбрали вообще)). Без ресурса нет смысла практически у любого отчета. Ресурс - это как на картинке - все зелененькое (это может с СКД кто не сильно знаком). Также важно понимать, что выбранные поля влияют на результат отчета! Если вы выберите номенклатуру, как у меня, то будут одни данные, если документ продажи, то уже другие. Например, общее количество при выбранной номенклатуре будет .. ну скажем 500, а при выбранном документе продажи (и отключенной номенклатуре) может быть вообще 1! В одном документе и есть 500 позиций.

Все. Настройки отчета введены. Теперь можно приступить к формированию.

Выполняем команду сформировать и переходим на вкладку "Графики". Здесь страница разбита на 3 логических области. Первая - это отчет по простым показателям.

Здесь выводится общая информация по выбранным Вами данным. Общая сумма, количество, минимум, максимум, среднее, изменчивость, медиана и квартили. Квартили подписаны так: "Половина всех значений находится от и до". Еще есть звездочки. Это перевес по показателю одного набора данных над другим. На картинке все видно.

Далее идет сама гистограмма. В ней отчет разбросал по количеству диапазонов отобранные данные. В первой гистограмме основная серия - это данные первого набора данных, а желтым цветом выделены количества попаданий в диапазоны первого набора данных значений второго набора данных.

Ну и соответственно картина меняется противоположно на второй гистограмме.

Отчет сформирован и разобран.

Теперь для тех кому интересно:

Макета СКД в отчете нету. Есть обычный макет для вывода первой части отчета со звездочками. Вся работа с СКД только программно. При выборе регистра накопления программно формируется СКД с типом данных запрос. Запрос тоже программно формируется. Затем берутся настройки из этой схемы и инициализируются в двух компоновщиках (именно столько их на форме). Выбранные поля выбираются автоматически уже с галочками. При окончании редактирования выбранного поля идет проверка по ресурсам. Если ресурс уже есть, а Вы пытаетесь запихнуть туда еще один ресурс - то ай-ай-ай. Вроде бы ничего военного, но эту проверку не так просто сделать, ведь в выбранных полях нет отметки о том, что это ресурс или измерение. Если интересно, посмотрите. Затем по нажатию кнопки "сформировать" формируется две схемы компоновки данных. Разница в параметрах (периоды) и в настройках (разные отборы для двух компоновщиков). Теперь уже мы наоборот берем настройки из формы для каждой скд отдельно и инициализируем. Между прочем, вот еще интересный вопрос для тех, кто хочет начать работать с программным выводом СКД: на форму выводим компоновщик, попробуйте программно задать ему настройки из СКД!!!! Перечитал и Хрусталеву (может где пропустил, не буду отрицать) и много форумов - много способов, но не работает! И вот на одном форуме увидел эти две строчки-заморочки). В общем для изучения программного вывода СКД самое то.
Загрузка из excel и создание документа поступления товаров. Бухгалтерия 3.0 1С: Предприятие 8.3

Краткое описание

Загрузка из excel и создание документа: "Поступления товаров". Обработка загружает из excel табличную часть для документа: "Поступления товаров". Документ открывается (создается), но не записывается. Пользователь сам решает записать документ или нет. 

Код открыт. Можно переделать под excel - файл нужного вам вида. Выбираем файл excel. Нажимаем кнопку "загрузить", потом кнопку "создать поступление товаров". Для БП 3.0
Редактор чеков ККМ 1C: Предприятие 8.2

Краткое описание

Обработка «Редактор Чеков» Розница:                                                      Редактор чеков для Управления торговлей 1
Отчет для камеральной проверки 1C: Предприятие 8.2

Краткое описание

ИФНС в ходе  камеральных проверок, регулярно выставляют требования организациям для предоставления  отчетов по  Декларации  НДС  (расшифровка определенных разделов декларации в требуемом формате).
Администрирование доступа к документам и справочникам Платформа 1С v8.x (все механизмы)

Краткое описание

Периодически в процессе работы возникает необходимость ограничить доступ пользователей к отдельным видам документов/справочников. В типовой конфигурации такое, без изменения конфигурации, сделать невозможно. С появлением механизма расширений конфигурации появилась возможность реализовать такой механизм для повседневной работы пользователей.

Данное расширение позволяет для конкретного пользователя указать - какие документы/справочники ему доступны для записи/просмотра или доступ к ним запрещён.

Порядок работы:

подключаем расширение (Все функции - Стандартные - Управление расширениями конфигурации)
открываем расширение (Панель Администрирование - Настройка доступа к документам и справочникам)
для каждого пользователя указываем, какие документы/справочники ему доступны и с какими правами (доступ запрещен, доступ на запись, доступ на просмотр).

Ограничения:

Расширение работает только с версией платформы не ниже 8.3.6 с отключенным режимом совместимости.
Если для пользователя нет сохранённых настроек, то его права определяются назначенным для него профилем.
Доступ на просмотр и запрет на доступ действуют только при ручном создании документов/элементов справочника, т.е. с использованием обработок создать новые элементы можно.

 

Настройки хранятся в ХранилищеОбщихНастроек, соответственно, редактировать настройки может только пользователь с правами АдминистрированиеДанных

 

Данная настройка разрабатывалась и тестировалась на конфигурации 1С: Бухгалтерия 8 ПРОФ (ред. 3.0) релиз 3.0.4
Непроведенные документы 1С: Предприятие 8.3

Краткое описание

Отчет на СКД, который отображает статус (непроведен и помечен на удаление) документов в базе за выбранный период.

Столбцы в отчете отображают дату документа, номер документа, статус проведения и статус пометки на удаление.

Т.е. если мы увидим документ, который "проведен = НЕТ" и "Пометка удаления = НЕТ",  то с этим документам нужно поработать (либо оставить в базе  и провести, либо пометить на удаление и удалить помеченные на удаление) 

Облегчает бухгалтеру анализ состояния учета, отображая документы, которые есть в базе, но не проведены и не помечены на уделение.

Рекомендуется использовать перед закрытием периода, удалением мусора из БД и закрытием резактирования прошлого периода.

Форма с авторегистрацией в дополнительных отчетах, добавлены фильтры в пользовательские настройки, позволяющие работать с нескольуими организациями
Универсальная печать документов в Word + визуальный конструктор макета Платформа 1С v8.x (все механизмы)

Краткое описание

Самостоятельно созданные пользователем Word макеты сохраняются в БД. При печати в Word пользователь выбирает имя макета, на который требуется печать, или макет подставляется по умолчанию, если он единственный для данного вида документа. Создать макет пользователь может для любого вида документа, равно как и распечатать таковой.

Была задумка, чтобы пользователь выполнял все свои действия, не покидая окна 1С, но, к сожалению, не нашел способа реализации перетаскивания в управляемом приложении на HTML поле, в котором должен был находиться документ Word. А поэтому остановился на отображении двух документов Word (автоматически сформированный шаблон-помощник и документ шаблона печатной формы) рядом на одном экране.

Создание шаблона постарался максимально визуализировать, чтобы было понятно, что откуда брать и куда вставлять. При создании шаблона пользователь уже видит те значения (в качестве примера), которые будут впечатаны в шаблон при обычной печати. На пользовательском уровне организовано форматирование значений (чисел и дат) и склонение строк по падежам.

В Word шаблоне расстановка переменных параметров ведется с помощью закладок. Этому послужило 2 причины.

Работа с закладками происходит быстрее, чем с поиском и заменой
Закладку можно легко целиком выделить двойным кликом и перетащить в рабочий шаблон.

 Пока не реализовано, но планируется в дальнейшем:

Заполнение таблиц (табличной частью) в Word-е
Подстановка в макет двух одинаковых параметров (имя закладки в документе должно быть уникальным)
Заполнение колонтитулов документа
Склонение по падежам в разных языках (на текущий момент корректно склонятся только украинский язык)

Для большего удобства работы с Word-ом желательно включить видимость закладок (сервис - параметры - вид - закладки). В этом случае активные закладки Вы увидите в сереньких квадратных скобках.

Склонение производится с помощью COM объекта "Padeg_ua.Declension" библиотеки padeg_ua.dll Библиотеку можете взять либо по ссылке, либо из общего макета представленной конфигурации (регистрируется только на сервере, на клиентах не нужно).

Так же в представленной конфигурации была использована библиотека mwc.dll для управления главным окном 1С при работе с документом Word (выполнена по технологии Native, т.е. подключается без регистрации).

Только управляемые формы.

Разрабатывалось и тестировалось на релизе 8.3.4.437, в т.ч. протестирован удаленный тонкий клиент через web сервер. Через браузер работать не будет (нужна доводка с обходом получения двоичных данных). На низших версиях работать, думаю, будет, но потребует изменения некоторых методов.

Пользовательское описание по работе с макетами (в формате PDF) можно вызвать из панели навигации раздела "Подсистема Печать Word".
Печать комплекта документов с указанием принтера для каждого документа 1С: Предприятие 8.3

Краткое описание

Обработка подключается как внешняя печатная форма для документа "Реализация товаров и услуг" в конфигурации УТ 1
А по-моему, они одинаковые... (простое сравнение двух документов или элементов справочников) 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Да, главное. Любых документов и любых справочников, в том числе разнотипных.

Не возбраняется сравнить и документ со справочником. Сравнение делается по совпадению имен реквизитов, имен табличных частей и имен реквизитов табличных частей. Сравнение табличных частей построчно (если в документах по строкам различается порядок - различий будет много).

Для любых конфигураций.

Никакого внедрения.

Никаких опций.

Вывод в mxl.

 

P.S. Еще одна простая и дружелюбная обработка:

Кто сидел на моем стуле и сломал его? (анализ изменений документа по журналу регистрации)

//infostart.ru/public/372472/
Вывод таблицы из БД 1С на веб-страницу. Knockout.js Платформа 1С v8.x (все механизмы)

Краткое описание

Продажа собственной фирме для УТ 10.3 (Интеркампани) 1C: Предприятие 8.2

Краткое описание

Обработка необходима для тех организаций, которые ведут учет по нескольким органазациям в одной информационной базе (обычно ООО и ИП), при этом приходуют товар, например, на ООО, а продают от имени ИП. В итоге получается, что остаток по организации ИП отрицательный, а по ООО положительный.
Обработка анализирует отрицательный остаток на выбранную пользователем дату (по регистру "Остатки организаций") и позволяет создать документ "Поступление товаров и услуг" на организацию ИП, и документ "Реализация товаров и услуг" на ООО. Таким образом, Вы избавляете себя от необходимости вручную анализировать остатки и создавать документы.

Порядок работы
Указываете дату, затем реквизиты организации-продавца и организации-покупателя.
Реквизит "Склад анализа" заполняете складом, по которому определяются отрицательные остатки.
Реквизит "Склад для документов" заполняете складом, на который будет оформляться документ поступления товаров.
Затем нажимаете кнопку "Заполнить - Заполнить дефицитом по организации", после чего заполнится табличная часть обработки.
Кнопка "Рассчитать цены (по себестоимости)" позволяет заполнить цены на проданные товары по себестоимости, чтобы затем сделать необходимую наценку и оформить документы.
Реквизит "Тип цен номенклатуры" используется только для заполнения документа "Реализация ТиУ".

Основными отличиями от оригинальной обработки (внизу ссылка) является:
- добавление 2-го склада;
- расчет цен по себестоимости;
- удалены некоторые лишние функции (на мой взгляд);
- улучшено юзабилиты обработки.

Комментарии от автора

Проанализоровав ситуацию, описанную в комментариях, могу сказать следующее.

Обработка будет выполнять свои функции без ошибок, если в организации ведется учет товаров организаций в разрезе складов. По складу анализа выполняется запрос по отрицательным остаткам, а также именно с него происходит продажа организации-покупателю. Склад для документов (ИП) требуется для оформления документа "Поступление ТУ" при условии, что именно с этого склада осуществлялась первоначальная продажа в минус.

Если описанный выше механизм олицетворяет ваш внутрифирменный учет, то обработка будет работать корректно.

Новое в версии
[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении 1С: Предприятие 8.3

Краткое описание

Не требует изменения либо снятия с поддержки конфигурации.

Порядок использования:

Внешние печатные формы с комиссией УПП/КА, БП: Приказ о списании ОС, Приказ о вводе ОС, ОС-1, ОС-3, ОС-4, МБ-8, Мх-18, М-4, М-11, Акт на списание и Акт инвентаризации и др. Платформа 1С v8.x (все механизмы)

Краткое описание

Оформлено двумя архивами, и отдельно выложены наиболее интересные формы

Печатные формы с выбором руководителей и комиссии для УПП, КА:

№ Форма Документ
1 Приказ о вводе в эксплуатацию ОС Принятие к учету ОС
2 ОС-1 а,б Инвентаризация   расчетов с контрагентами
3 ОС-3 а,б Модернизация   ОС
4 ОС-4 а,б Списание ОС
5 Инв-3 Инвентаризация товаров на складе
6 Акт на списание материалов Требование накладная
7 МБ-8 Списание материалов из экплуатации
МБ-8 Списание спецодежды
МБ-7 Передача   материалов в эксплуатацию
8 М-4 Поступление тов. и услуг, Возврат переданных товаров.
М-11 (Увеличенный шрифт) Требование накладная
9 МХ-18 Отчет производства за смену
10 Расходно-кассовый ордер уменьшенный Расходно-кассовый ордер
11 Приходно-кассовый ордер уменьшенный Приходно-кассовый ордер
12 Счет на оплату (только выбор руководителей) Счет на оплату
13 Счет на оплату (с приказами и руководителями) Счет на оплату
14 Торг-12 (с приказом и руководителями) Реализация   товаров и услуг
15 Счет-фактура №1137 (с приказами) Реализация   товаров и услуг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Печатные формы с выбором руководителей и комиссии для БП:

   №      Форма                                                                       Документ

1



Приказ о списании ОС



Списание ОС




2



ОС-1 а,б



Принятие к учету ОС




ОС-3 а,б



Модернизация ОС




ОС-4 а,б



Списание ОС




3



Акт списания материалов



Отчет производства за смену, Требование накладная




4



Акт об оказ. услуг (с указ. договора) 



Реализация товаров и услуг




5



Счет фактуры полученные (за поставщика) №1137 



Счет-фактура полученный




6



ТОРГ-12 за поставщика (док.ПТУ)



Поступление товаров и услуг




7



М-4



Поступление товаров и услуг




8



М-11



Требование накладная




9

 

 

 

10

 

 

11

 

 



1-Т (№1208 от 30.12.2011) 

- Поступление товаров и услуг

 

 МБ-8

- Поступление товаров и услуг

 

 ИНВ-3

- Инвентаризация товаров 

 



 

 

 

 

 

 

 

 

 


 

 
(3) Готово, пока только для БП_3 но со временем - добавлю для ЗУП_3 и ERP.
---------------------------------------------
https://infostart.ru/public/845390/

(те же формы Пф - для конфигураций на управляемых формах)
+ – Ответить
Что нам стоит сайт построить Не имеет значения

Краткое описание

В мире WEB все развивается очень бурно. Огромное количество языков, фреймворков и пр., а самое удивительное (со стороны одинесника), что очень много opensourse. В мире 1С очень мало проектов, свободно развивающихся группами независимых разработчиков, так что каждый может внести вклад в общее дело и воспользоваться общими благами (Да! Я знаю, что Инфостарт - кладезь невероятного количества программ, но это не opensourse). 

И вот недавно я обнаружил замечательный проект OneScript http://oscript.io или https://bitbucket.org/EvilBeaver/1script/wiki/Home. Не буду детально описывать возможности этого проекта, тем более что он активно развивается, все довольно неплохо описано в wiki проекта. Первый вопрос, который у меня возник при изучении данного проекта, "а есть ли здесь графический интерфейс?". Но его здесь не было. Тогда у меня возник другой вопрос "а есть ли здесь возвожность обращаться посредством http?". Но готового http сервера в комплекте не оказалось, зато в наличии был простой однопоточный  TCP сервер. 

Кто не знает, HTTP это надстройка над протоколом TCP. А это значит, что, используя класс TCP сервера, можно реализовать HTTP сервер. Причем не Си, не на Java и даже не на C#, а на всем нам знакомом языке 1С, ну или его свободной реализации onescript.

Архитектура

Честно говоря, сначала я пытался подружить скрипты oneScript с web сервером Appache Httpd посредсвом CGI. Но для этого нужно было вносить изменения в сам oneScript и реализовывать поддержку интерфейса CGI, и вообще это уже давно не модно. Поэтому я обратился к web технологиям, где все уже давно реализовано.

За пример архитектуры был взят проект node.js. Очень крутая и похожая по архитектуре вещь. Node.js реализует http сервер на языке javascript, благодаря особенностям js и не блокирующему вводу выводу сервер на node.js позволяет обрабатывать множество запросов. Хотя в oneScript и нет неблокирующего ввода вывода, реализовать похожий сервер можно.

В конечном итоге должен был получиться локаничный код для запуска сервера.

Сервер = Новый vServer();
Сервер.Порт = 1234;
Сервер.Хост = "http://localhost/";
Сервер.Слушать();


Это была бы точка входа в приложение. Здесь мы инициализируем параметры нашего сервера и вызываем метод "Слушать". Далее в силу вступает собственно реализация https сервера. 

Далее управление переходит к методу Слушать объект vHttpServer, где сервер ожидает поступления нового запроса. 

После поступления нового запроса, сервер обрабатывает запрос и создает объекты vHttpЗапрос, vHttpОтвет содержащие информацию о запросе, и заготовку для ответа.

Данный объект передается в объект vHttpRouter, для маршрутизации. Если клиент запросил файл из папки /resource, то отдаем файл из папки, иначе ищем контроллер и метод, а если они не найдены, выдаем 404 ошибку.

Далее в дело вступает контроллер, который получает данные из модели и читает представление (view), заполняет его данными из модели и возвращает его в объект vHttpОтвет.

Далее я опишу структуру каталогов:

Test.os - Собственно точка вход в приложение.

vServer.os - реализация сервера vServer.

vHttpЗапрос.os - при получении запроса наш сервер создает объект типа vHttpЗапрос, в котором содержатся все данные, пришедшие в запросе в удобном виде, а именно: сырой текст запроса, структура Заголовок, содержащая праметры запроса, имя контроллера, имя метода, и переданные параметры.

vHttpОтвет.os - этот объект содержит всю необходимую информацию для возврата его клиенту.

vHttpRouter.os - здесь следует описать всю маршрутизацию, то есть указать, что при обращении по адресу /Home/Index следует создать объект контроллера Home и вызвать его метод Index, в контроллер передаются два параметра vHttpЗапрос и vHttpОтвет. 

vHttpTemplate.os - Объект для удобства вывода HTML.

Папка controllers - Содержит контроллеры,

Папка views - Содержит представления, грубого говоря, HTML разметку

Папка models - Содержит модели, в которых организован доступ к данным. Под данными здесь понимается, например, подключение к 1С предприятие через COM, чтение из xml или текстового файла. Доступ к БД  в oneScript пока не организован.

Папка resource - Содержит файлы *.js, *.css, *.jpg и другие файлы, которые могут быть переданы клиенту. При этом на сайте адрес будет выглядеть http://localhost:1234/resource/cat.jpg.

Для придания симпатичного вида использован framework Bootstrap 3.




Установка

Сначала скачайте и установите OneScript на свой компьютер, желательно установить окружение(Notepad++ с плагинами) согласно этой статье //infostart.ru/public/327581/.
Распакуйте в папку /OneScript/lib/ библиотеку vHttpServer.
Убеждаемся, что порт 1234  свободен.
Открываем в Notepad++ /models/message.os 
В процедуре Инициализировать указываем путь к файлу, в котором будут храниться сообщения. Это простой xml файл.
Открываем в Notepad++ Test.os и жмем F6.
В открывшемся окне пишем oscript "$(FULL_CURRENT_PATH)"
Жмем ОК.
Открываем http://localhost:1234/
Смотрим результат.

Как использовать

Данная разработка - лишь иллюстрация возможностей. Поскольку сервер однопоточный, он не выдержит большой нагрузки, да и стандартная библиотека oneScript пока не позволяет сделать что-то сверх сложное. Однако настроить удаленный доступ к какому нибудь файлу, сделать учет заявок или доступ к 1С через com вполне реально.

Перед разработкой собственного функционала сначала изучите, как работает библиотека, посмотрев файлы vServerHttp, vRouter, контроллеры, модели и представления. Все очень просто и описано в архитектуре.

Жду ваших вопросов предложений и замечаний

Если у сообщества возникнет интерес, могу продолжить работу над этим проектом, сделав более удобную библиотеку для работы с web.

Так же исходный код доступен на github: https://github.com/nextkmv/vServer/ можете вносить изменения.
Статистика работы пользователей по журналу регистрации для обычного приложения 8.x 1С: Предприятие 8.3

Краткое описание

Простой отчет по статистике работы пользователей в программе.

По производительности не оптимизировался, но при этом свою работу делает без необходимости выгружать журнал регистрации в какие-то промежуточные файлы и базы данных. Соответственно, время формирования довольно длительное и зависит от количества пользователей и активности их работы. Не рекомендуется сразу запускать формирование отчета за период более одной недели - долго. Сначала лучше попробовать на маленьких периодах.

Тестировался для платформы 8.3.5.1517 в обычном приложении (файловый и клиент-серверный вариант). Возможно, работает и с другими версиями.

Отчет поставляется как есть. Если кому-то необходимо, то можно доработать.
Консоль запросов RLS Платформа 1С v8.x (все механизмы)

Краткое описание

Консоль запросов RLS

Изменения от 08.12.2019г. Изменена загрузка ролей из xml. Проверено и исправлено для версии платформы 8.3.14.1694. Во внешнюю обработку «Формирование текста запроса RLS» добавлена возможность посмотреть всех пользователей для выбранной роли.

Поставка включает в себя конфигурацию и внешнюю обработку.

Консоль можно использовать для анализа текста запроса RLS, который будет выполнен к данным под конкретным пользователем.

Например, мы смотрим ограничение доступа «Чтение» для некоторой роли типовой конфигурации 1С:

В зависимости от значения параметра сеанса (или может функциональной опции) будет вызван либо шаблон «ДляОбъекта», либо шаблон «ПоЗначениям».

Консоль позволяет преобразовать текст ограничения доступа в конкретное условие, которое будет добавлено к запросу при выборке данных из базы.

Порядок преобразования следующий:

Замена всех вызовов шаблонов на текст шаблонов. Поддерживается ситуация, когда в одном ограничении доступа указано несколько шаблонов, в том числе, содержащие именованные параметры;
Замена вызовов препроцессора значениями (#ИмяТекущейТаблицы и пр.);
Вычисление функций СтрСодержит() в тексте;
Вычисление инструкций #Если…#КонецЕсли и пр.

Для работы выгружаем описание ролей в xml файлы из конфигуратора с помощью опции «Выгрузить конфигурацию в файлы».

Если опции нет в интерфейсе, то её можно отобразить с помощью настройки главного окна.

Загружаем описание ролей в базу «Консоль запросов RLS».

После загрузки открываем форму консоли.

Здесь последовательно указываем поля для получения интересующего нас текста запроса. Нужно указать: конфигурацию, роль, объект метаданных, право и поля ограничений доступа (здесь для права «чтение» возможны варианты).  После указания автоматически заполняется поле «ограничение доступа», если для указанных значений оно существует.

Переходим на закладку «консоль» и нажимаем «сформировать». Получаем промежуточный текст запроса для внешней обработки.

Открываем обработку «Формирование текста запроса RLS» в нужной базе под нужным пользователем (это важно, т.к. в тексте запроса участвуют параметры сеанса и функциональные опции, настроенные для конкретного пользователя).

Вставляем текст из консоли на закладку «исходный текст», нажимаем «сформировать» и на закладке «модифицированный текст» получаем результат.
Анализ зарплаты по сотрудникам (с выплатами) для ЗУП 3.0 1С: Предприятие 8.3

Краткое описание

При переходе на ЗУП 3.0 понадобился отчет, который бы показывал данные о начисленной, удержанной и выплаченной зарплате. Причем данные о выплатах с датами, для сравнения с данными банка. Расчетные листки не подошли. Потому было принято решение сделать свой отчет, в такой вот форме.

Отчет показывает данные о начисленной, удержанной и выплаченной зарплате за указанный период. Плюсом сделана колонка "Долг", которая покажет данные о долге за организацией или сотрудником в данном периоде.

Также есть возможность разбить отчет на отдельные части (например, для выдачи сотрудникам вместо расчетного листка).

Почему не подошел расчетный лист? Потому что он не отражает всей картины выплат. А точнее - в нем отсутствуют даты, которые хотели видеть сотрудники. К тому же, выплаты показаны в том месяце, за который была начислена зарплата, что не совсем правильно, т.к. выплата может быть произведена в другом месяце. 

Делюсь отчетом. Может, кому пригодится, кто столкнулся с такой же ситуацией.

P.S. Может потребовать доработки в связи с обновлениями конфигурации.
[x1c.ru] MXL Stamps - Печати и подписи в макетах печатных форм в несколько кликов 1С: Предприятие 8.3

Краткое описание

Для чего создана обработка:

Метод добавления печатей и подписей в макеты табличных документов, когда вместо текста в ячейках создаются текстовые поля, под которые "подкладываются" картинки, известен, наверно, всем, кто работает с 1С.

Этот метод более подробно описан, например, здесь:
//infostart.ru/public/361021/

Однако, создание текстовых полей вручную может занять много времени.

Данная обработка автоматизирует этот процесс, создавая текстовые поля из ячеек автоматически. При этом сохраняется форматирование, а рамки ячеек преобразуются в линии. Также есть возможность добавления картинок в выделенную область ячеек или в нарисованный прямоугольник.

Полный список возможностей:

Создание на основе ячейки или области ячеек табличного документа текстового поля (рисунка) и перенос в это поле данных с учетом форматирования ячеек (текст, шрифт и т.д.). По имеющейся рамке ячеек создаются линии (рисунки-прямые).
Добавление рисунков-картинок из файлов в табличный документ в выделенную область ячеек или в рисунок-прямоугольник.
Быстрый выбор макетов печатных форм конфигурации для редактирования. При сохранении отредактированного макета он сохраняется как измененный и будет выводиться на печать вместо типового.
Поддерживается множественное выделение ячеек (выделение с кнопкой CTRL).
Для предварительного просмотра созданного текстового поля есть функция создания текстового поля без очистки ячеек.
Также можно редактировать любые макеты, не входящие в конфигурацию, копируя их через буфер обмена.
Код обработки открыт, можно дорабатывать под свои задачи и улучшать форматирование.

Как использовать:
Открываем файл обработки или регистрируем в качестве дополнительной в базе и открываем из базы.

В верхней части видим таблицу макетов конфигурации. Она аналогична форме "Макеты печатных форм".

Выбираем нужный макет двойным щелчком мыши в строку таблицы, после чего макет помещается в поле табличного документа на форме.

 

Выделяем ячейку или область ячеек, из которых нужно сделать текстовое поле. Для одной ячейки можно сразу нажимать правую кнопку мыши.


Выбираем пункт контекстного меню "Ячейки в текст" или "Ячейки в текст без очистки" или жмем соответствующую кнопку.

При создании текстовых полей в настройках можно указывать, что будет очищаться в ячейке, а также переносить или не переносить рамки ячеек в линии.

При создании текстового поля из области ячеек в него помещается первое непустое значение, которое нашлось при обходе ячеек слева направо сверху вниз.

Для вставки картинки (печати или подписи) нужно выделить ячейку, область ячеек или нарисовать прямоугольник, затем нажать "Вставить рисунок" или выбрать пункт контекстного меню и выбрать файл картинки.

 Работоспособность:

Разработка велась на платформе 1С:Предприятие 8.3.6.2152, тонкий клиент, под интерфейс "Такси", Win8 32 bit.

Используется функционал БСП, поэтому версия БСП не должна быть "древней".

Тестировалась на конфигурациях:
БП 3.0.40.40
ЗУП 3.0.23.120
УТ 1
"Правила обмена данными УТ 10.3 -> "

Краткое описание

Для чего создана обработка:

Метод добавления печатей и подписей в макеты табличных документов, когда вместо текста в ячейках создаются текстовые поля, под которые "подкладываются" картинки, известен, наверно, всем, кто работает с 1С.

Этот метод более подробно описан, например, здесь:
//infostart.ru/public/361021/

Однако, создание текстовых полей вручную может занять много времени.

Данная обработка автоматизирует этот процесс, создавая текстовые поля из ячеек автоматически. При этом сохраняется форматирование, а рамки ячеек преобразуются в линии. Также есть возможность добавления картинок в выделенную область ячеек или в нарисованный прямоугольник.

Полный список возможностей:

Создание на основе ячейки или области ячеек табличного документа текстового поля (рисунка) и перенос в это поле данных с учетом форматирования ячеек (текст, шрифт и т.д.). По имеющейся рамке ячеек создаются линии (рисунки-прямые).
Добавление рисунков-картинок из файлов в табличный документ в выделенную область ячеек или в рисунок-прямоугольник.
Быстрый выбор макетов печатных форм конфигурации для редактирования. При сохранении отредактированного макета он сохраняется как измененный и будет выводиться на печать вместо типового.
Поддерживается множественное выделение ячеек (выделение с кнопкой CTRL).
Для предварительного просмотра созданного текстового поля есть функция создания текстового поля без очистки ячеек.
Также можно редактировать любые макеты, не входящие в конфигурацию, копируя их через буфер обмена.
Код обработки открыт, можно дорабатывать под свои задачи и улучшать форматирование.

Как использовать:
Открываем файл обработки или регистрируем в качестве дополнительной в базе и открываем из базы.

В верхней части видим таблицу макетов конфигурации. Она аналогична форме "Макеты печатных форм".

Выбираем нужный макет двойным щелчком мыши в строку таблицы, после чего макет помещается в поле табличного документа на форме.

 

Выделяем ячейку или область ячеек, из которых нужно сделать текстовое поле. Для одной ячейки можно сразу нажимать правую кнопку мыши.


Выбираем пункт контекстного меню "Ячейки в текст" или "Ячейки в текст без очистки" или жмем соответствующую кнопку.

При создании текстовых полей в настройках можно указывать, что будет очищаться в ячейке, а также переносить или не переносить рамки ячеек в линии.

При создании текстового поля из области ячеек в него помещается первое непустое значение, которое нашлось при обходе ячеек слева направо сверху вниз.

Для вставки картинки (печати или подписи) нужно выделить ячейку, область ячеек или нарисовать прямоугольник, затем нажать "Вставить рисунок" или выбрать пункт контекстного меню и выбрать файл картинки.

 Работоспособность:

Разработка велась на платформе 1С:Предприятие 8.3.6.2152, тонкий клиент, под интерфейс "Такси", Win8 32 bit.

Используется функционал БСП, поэтому версия БСП не должна быть "древней".

Тестировалась на конфигурациях:
БП 3.0.40.40
ЗУП 3.0.23.120
УТ 1
Анализ структуры файлов XML Платформа 1С v8.x (все механизмы)

Краткое описание

Добрый день!

На одном из сооседних бложиков прочитал, какие мучения претерпевали некие разработчики, грузящие в текстовый редактор многомегабайтные xml файлы для анализа.

Решил поделиться своим инструментом для подобных задач.

Итак: на вход подается xml-файл, из него выбираются все элементы и атрибуты, но - в единственном экземпляре.

Т.е., вместо 100500 элементов типа "Номенклатура" мы увидим всего один, но у него будут перечислены все возможные для этих элементов атрибуты и подчиненные элементы, для которых будут приведены примеры их заполнения.

Разбираться в структуре на таком примере гораздо проще.

Данные грузятся в дерево, также есть возможность сохранить результат анализа в виде отдельного xml-файла.

К примеру, довольно сложный по структуре xml в 15 Мб так можно превратить в гораздо более читабельный 30 Кб файлик.
"Внешняя печатная форма УПД (" Универсальный передаточный документ"

Краткое описание

Сравнение профилей пользователей 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет для наглядной работы с ролями в составе профилей пользователей. Работает по списку или группам профилей.

Есть 2 варианта работы отчета:

Только установленные роли.
Только различия в ролях.

Отчет на УФ под конфигурации на БСП. Для запуска требуется право Администрирования.
Перемещение товаров М11 (Требование-накладная) 1С: Предприятие 8.3

Краткое описание

В документ Перемещение материалов для перемещения материалов внешняя печатная М11 (Требование-накладная).

Для регистрации отчета в конфигурации необходимо нажать на меню Администрирование, подменю Печатные формы, отчеты и обработки, в появившемся окне Дополнительные отчеты и обработки нажать кнопку Создать и выбрать файл М11ПеремещениеТоваровБП3.epf 

Отчет открывается из документа Перемещение товаров кнопка Печать меню Печатная форма М1
Печать ценников с 2 видами цен. Розница 2.0 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Ценники сделаны для 2х типов цен одновременно.

Старая и новая цена.
Измененная обработка подбора номенклатуры для УТ11 1С: Предприятие 8.3

Краткое описание

Работа по поиску номенклатуры только с помощью клавиатуры;

Работа в иерархии и без иерархии;

Работает только в толстом клиенте;

Потребуется изменение рабочей конфигурации, изменени формы документа реализации товаров;

Выберите колонку по которой использается отбор и введите первые символы реквизита по которому идет поиск будет выбрана первая номенклатура соответствующая заданным условиям.

 
Алгоритмы и выгрузка ИБ с решениями для экзамена Специалист ЗУП 3.0. 1С: Предприятие 8.3

Краткое описание

Экзаменационные билеты можно скачать здесь. Задачника для этого экзамена пока нет. Публикацию "Пример решения задач Специалист ЗУП 3.0" не смотрел, так как её обнаружил после сдачи экзамена и своей публикации.
На основе материалов (более 90% ник demos) форума Аттестация "1С:Специалист" ЗУП,  "Конфигурирование подсистем расчета зарплаты и управления персоналом в прикладных решениях "1С:Предприятия 8" (редакция 3.0) и для консультантов 1С:Специалист-консультант Зарплата и управление персоналом 8 ред.3.0  собрал материалы:

Выгрузки ИБ 6 билетов. Сделано на демо релиза 3.0.23.143, но на экзамене надо делать на пустой.
Методики графически - см. картинки к публикации по билетам: Доплаты за время работы, Премии по проектам, Компенсации квартплаты, Графики работ, Натуральный доход работников. 
Ключевые алгоритмы, где применил типовой механизм "подмены" текстов запросов, общий модуль для расчета показателей, для отчетов таблицу "ДанныеГрафика" и регистр "ГрафикиРаботыПоВидамВремен", метод "ВыполнитьПакет()" при отладке и выполнении сложных запросов.  

Ключевые алгоритмы:

Решать всё с произвольными показателями - меньше работаем с конфигуратором в отличие от ЗУП 2.5.  Подробное описание: www.zup1c.ru .  В некоторых билетах показатель достаточно выбрать предопределенный и свои не создавать.
В отчетах использовать "Представления_" - механизм "подмены" текстов запросов. 
Коды алгоритмов: Билет 1, Билет 2, Билет 3, Билет 4, Билет 5, Билет 6.

БИЛЕТ 1

 

 

БИЛЕТ 2

 

 

 БИЛЕТ 3

 

 

БИЛЕТ 4

 

 

БИЛЕТ 5

 

 

БИЛЕТ 6

 

 В начало.

P.S. Решения в выгруженной ИБ и методики могут быть неверными.
Анализ ролей доступа (обычная и УФ) 1C: Предприятие 8.2

Краткое описание

Данная обработка предназначена для анализа ролей доступа. Теперь не только разработчик, НО и пользователь может узнать, какая роль (из уже существующих) ему нужна. Достаточно выбрать нужные справочники, документы, отчеты и она покажет какие роли доступны.

В обработку добавлена возможность выбрать действия с объектом: добавление, просмотр, удаление, редактирования

Внимание! В отчетах и обработках нельзя делать - добавления, редактирование и удаление. Если Вы выберите эти действия для отчетов и обработок, то не будет ни одной доступной роли.

Доступна для всех конфигураций 1С 8.2.

Выбирайте любую из 2-х: обычная и для управляемых форм.

 

Прочь рутина, да здравствует простота.
Контроль Цен для УТ11 – обработка для контроля наценок к себестоимости и к другим видам цен. 1C:Предприятие 8

Краткое описание

Цены в любой фирме всегда очень подвижны. Меняются условия на рынке, меняются условия у поставщиков. При большом количестве номенклатурных позиций, и нескольких видах цен получается гигантский объем работы. Существует много обработок для автоматизации расчета цен. Но обычно, для разных товарных групп или разных марок используются разные алгоритмы. Менеджер обрабатывает их по очереди. Достаточно часто какие-то товары просто забываются, или просчитываются неправильно.

 

Обработка особенно актуальна для фирм, осуществляющих закупки за рубежом. Все цены и себестоимость, если они в иностранной валюте, пересчитываются в регламентную валюту по текущему курсу, указанному в базе. То есть при изменении курса, можно легко проверить текущий уровень наценки к себестоимости или к цене поставщиков.

 

Предлагаемая обработка позволяет проверить, соответствуют ли цены заданным критериям:

Минимальная наценка к себестоимости
Минимальная наценка к другому виду цены
Максимальная наценка к себестоимости
Максимальная наценка к другому виду цены

 

Контроль по максимальной наценке необходим, т.к. часто бывает, что обработка или менеджер неправильно воспринимают десятичный знак (точка или запятая) или по другой причине цены получаются очень завышенными.

 

Настройки показаны на картинке. Вот описание их значения:

Дата расчета себестоимости. Если вы закрываете период не ежедневно, то правильная себестоимость будет рассчитана на дату последнего закрытого периода. Для более точных расчетов рекомендуем ставить эту дату.
Вид Цены по которому выполняется проверка. Можно выбрать два вида цен. Для удобства они названы Дилер и Розница. Но вы можете выбрать совершенно любой, нужный вам Вид Цены.
Процент Минимальной наценки к Себестоимости
Процент Максимальной наценки к Себестоимости
Цена Сравнения - Вид Цены с которым будет сравниваться цена, по которой выполняется проверка (п. 2)
Процент Минимальной наценки к Цене Сравнения
Процент Максимальной наценки к Цене Сравнения
Отбор по Номенклатуре. Позволяет отбирать товары по Группам, Складам, Наличию, Маркам, Производителям и многим другим параметрам
Список складов, по которым рассчитывается себестоимость. Часто бывает, что себестоимость на разных складах разная. Если вы относите доп расходы на доставку на себестоимость товара, то себестоимость товара на складе в Москве и Владивостоке будет разной. Вы можете выбрать склады или группы складов, по которым будет подсчитана средняя себестоимость. Если список оставить пустым – то будет произведен расчет по всем складам (по всей фирме)

 В таблице вывода вы получаете список товаров, отвечающих критериям отбора. В случае необходимости вы можете сразу перейти к нужной номенклатурной позиции и проверить все данные по ней.
Ведомость по партиям товаров на складах (расширенная аналитика) для УПП и Комплексной 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Отчет предназначен для отображения информации товаров на складах по партиеобразующим документам (при  включенной РАУЗ под партией понимается дата выполнения хозяйственной операции). Это по сути партионная ведомость по затратам.

В ней все очень просто настроено, гораздо проще и понятнее, чем в "Ведомости по учету МПЗ".  Для тех пользователей, кто привык к интерфейсу УПП
СМС-рассылка (через смс-шлюз & через модем) для любой конфигурации 1С 1C:Предприятие 8

Краткое описание

Большинство публикаций, которые выложены на этом ресурсе по теме организации СМС-рассылок, представляют из себя описание небольших авторских обработок, которые просто демонстрируют возможность отправки смс из 1С-ки тем или иным способом.  Такие обработки не являются законченным решением... по сути, скачивая очередную обработку и выкладывая за нее 1sm, вы получаете кота в мешке:

непонятно, заработает ли эта обработка в вашей конфигурации 1С
непонятно, как интегрировать ее в существующую систему, какими объектами/дополнительным функционалом "обвесить", чтобы сделать работу с ней комфортной
непонятно, сколько денег нужно будет потратить на услуги программиста, чтобы сделать на базе выбранной обработки полноценное решение по организации смс-рассылок

С учетом сказанного выше, я решил оформить свою публикацию по другому принципу.  В первую очередь, я предлагаю вашему вниманию видеоурок, в котором подробно, шаг за шагом расскажу, как можно отправлять смс из любой конфигурации 1С, а заодно продемонстрирую, как может выглядеть полноценный модуль организации смс-рассылок.

 

 

Для читателей, которые далеки от программирования, но хотели бы получить подобную систему смс-рассылок, я предлагаю связаться со мной любым удобным для вас способом. Если же вы являетесь разработчиком решений на базе 1С, и хотели бы реализовать подобную систему самостоятельно, я добавил к публикации архив, в котором разработчик найдет полезные для себя материалы:

StreamTelecom_1C_v77.zip - пример обработки для работы с сервисом stream-telecom.ru из 1С 7.7
StreamTelecom_1C_v8X.zip - пример обработки для работы с сервисом stream-telecom.ru из 1С 8.X
Stream_Telecom_Руководство разработчика.pdf - руководство разработчика по работе модулем
Stream_Telecom_Руководство пользователя.pdf - руководство пользователя по работе модулем
MSCOMMLib.MSComm.zip - компонента MSCOMM32.OCX, которая необходима для реализации аппаратной рассылки SMS

Все указанные файлы запакованы в единый архив developer.zip. 
Весовой товар с кодами и ценами Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет делался по запросу администратора магазина, для распечатки списка товаров с их кодами и ценами.

Сделан на СКД для Управления Торговлей 10.3, платформа 8.3.

Запрос построен на данных регистров КодыВесовогоТовара и ЦеныНоменклатуры
Конвертация данных. Правила обмена: Перенос остатков и документов из УПП 1.3 в УТ 11.1. Перенос остатков из УПП 1,3 в ЗУП 3 1C:Предприятие 8

Краткое описание

УПП --- УТ (остатки)

Переносятся остатки:

взаиморасчеты с контрагентами;
взаиморасчеты с подотчетниками;
склад;
денежные средства.

УПП --- УТ (документы взаиморасчетов)

Переносятся документы:

покупки;
продажи;
расчеты.

УПП --- ЗУП

Переносятся остатки по :

- кадровые данные по физлицам и сотрудникам;

- остатки начислений;

 

УПП --- БП

находится в публикации //infostart.ru/public/403612/
Расчетные ведомости организаций с налогами ФОТ Платформа 1С v8.x (все механизмы)

Краткое описание

Отчет содержит данные по рассчитанным налогам с ФОТ и Вычетам по НДФЛ. Отчет предназначен для УПП, Комплексной автоматизации и ЗУП 2.5. Полезен бухгалтерам как аналог отчета: Анализ начисленных налогов и взносов. Позволяет выполнять группировку начисленных налогов по поразделениям, периодам.
Отчет по действиям пользователя 1C: Предприятие 8.2

Краткое описание

Отчет работает так же, как и журнал регистрации. Прост в обращении и отрабатывает быстрее, чем журнал регистрации, и более читаем.

Также можно задать период от и до.
Трудовой договор для Бухгалтерии предприятия 3.0 1С: Предприятие 8.3

Краткое описание

Доступна как из документа Прием на работу, так и через Ctr + O. Разработана по стандартам "Библиотеки стандартных подсистем". При внедрении НЕТ необходимости снимать конфигурацию с поддержки.
Не предусмотрена печать договора Подряда (Временного трудового договора), т.к. в БУХ 3.0 начисления по этим договорам делается через ручные операции, без Приема на работу.
Адреса и подписи сторон на отдельной странице.

Для подключения зайдите в Администрирование - Печатные формы, отчеты, обработки - Дополнительные отчеты и обработки - Создать - Выберите скачанный файл.

Обработка тестировалась на релизе 3.0.7
Просмотр контактной информации, не открывая карточку контрагента 1С БП 3.0 1С: Предприятие 8.3

Краткое описание

Установка расширения: Все функции - Стандартные - Управление расширениями конфигурации. Далее - Добавить- выбрать файл - Открыть. Далее кнопка Перезапустить. 

После перезапуска 1С, открываем справочник Контрагенты, выделяем любого контрагента и внизу видим контактную информацию из его карточки. 

Не знаю, кому как, но нашим сотрудникам работать стало менее сложно. 
Простой универсальный обмен между отличающимися конфигурациями. Код открыт! (СериализаторXDTO,ПостроительDOM) +примеры использования Платформа 1С v8.x (все механизмы)

Краткое описание

Основные моменты:

1) Перенос справочников, документов (реквизиты + табличные части)

2) Переносятся реквизиты с составными типами

3) ПВР, ПС - выгружаются только ссылки

 

Основные экспортные процедуры:

1) Выгрузить(СсылкаНаОбъект,ИмяФайла=Неопределено)

СсылкаНаОбъект - ссылка на документ или справочник / массив справочников или документов

ИмяФайла - полное имя файла, куда будет выгружены объекты. Можно не указывать. (*.xml)

2) Загрузить(ИмяФайла=Неопределено)

ИмяФайла - полное имя файла, откуда будут загружены объекты. Можно не указывать. (*.xml)

 

Параметры:

1) мВыгружатьСправочникиПоСсылке - выгружаются все элементы справочников, на которые ссылается выгружаемый объект. При этом выгружаются все родители и владельцы. (по умолч. Истина)

2) мВыгружатьДокументыПоСсылке - выгружаются все документы, на которые ссылается выгружаемый объект. (по умолч. Ложь)

 

Примеры работы:

1) Для типовой конфигурации без изменений:

Можно создать внешнюю обработку и подключить к дополнительным внешним обработкам.

Затем указать ее предназначение. Пример использования основной обработки можно скачать ниже. (при этом должна быть скачена основная обработка и размещена в директории КаталогВременныхФайлов() + "УниверсальныйОбмен.epf", например "C:\Users\Misha\AppData\Local\Temp\УниверсальныйОбмен.epf")

 

Подключение:

 

Использование:

 

 

2) Для конфигурации с возможностью изменения:

Можно использовать общие команды. Подробности по этой ссылке 

 

 
Автоматическое создание договоров контрагента (независимо вести партнеров и контрагентов). УТ 11.1 1C:Предприятие 8

Краткое описание

Вот ТЗ, по которому делал:



Если в карточке контрагента установлен флаг "Поставщик", то сформировать договор со следующими заполненными полями:

- Наименование – С поставщиком

- Статус - Действует

- Тип взаимоотношений – С поставщиком

- Организация – возможность выбора организации из справочника до запуска обработки

- Партнер (Клиент) – партнер из справочника соответствующий контрагенту (в настройках CRM и продажи установлен флаг "Независимо вести партнеров и контрагентов")

- Контрагент – контрагент из справочника

- Детализация расчетов – По договорам

- Оплата - Расчеты в рублях, оплата в рублях

- Валюта – RUB

 

Если в карточке контрагента установлен флаг "Клиент", то сформировать договор со следующими заполненными полями:

- Наименование – С покупателем

- Статус - Действует

- Тип взаимоотношений – С покупателем

- Организация - возможность выбора организации из справочника до запуска обработки

- Партнер (Клиент) – партнер из справочника соответствующий контрагенту (в настройках CRM и продажи установлен флаг "Независимо вести партнеров и контрагентов")

- Контрагент – контрагент из справочника

- Детализация расчетов – По договорам

- Оплата - Расчеты в рублях, оплата в рублях

- Валюта - RUB

 

Если в карточке контрагента установлены флаги "Клиент" и "Поставщик", то сформировать договоры и "С поставщиком" и "С покупателем".

 

Проверка при повторном использовании обработки – если договор с нужным типом у контрагента уже есть, то второй договор формировать не нужно

 
Печатная форма 0504425 (с июня 2015) с основанием 1C: Предприятие 8.2

Краткое описание

Подключать через Сервис -> Дополнительные отчеты и обработки -> Дополнительные внешние печатные формы.

Готовилось на  Зарплата и кадры бюджетного учреждения
Универсальная быстрая загрузка из Excel 1C: Предприятие 8.1, 1C: Предприятие 8.2, 1С: Предприятие 8.3

Краткое описание

Собственно, что делает обработка.
На входе имеем таблицу значений, в которую нужно поместить данные. В форме обработки настраиваем номера колонок загрузки, если в какую-то не нужно грузить, то пишем 0, ну или любое число меньше 0.
Далее жмем загрузить и получаем нашу таблицу значений, с которой в дальнейшем работаем.

Пример:
   

ТЗ = ТаблицаТовары.ВыгрузитьКолонки("Код,Количество,ЖелаемаяЦена");
ОбработкаЗагрузки = Обработки.УниверсальнаяОбработкаЗагрузкиИзExcel.Создать();
ОбработкаЗагрузки.ТЗ = ТЗ;
ФормаЗагрузки = ОбработкаЗагрузки.ПолучитьФорму("Форма");
ФормаЗагрузки.ОткрытьМодально();
ТЗ = ОбработкаЗагрузки.ТЗ;
ТЗ.ВыбратьСтроку();


 

 

Надеюсь кому-то пригодиться и уменьшит трудозатраты на уже избитую загрузки из всеми любимого Excel'я
Удаление помеченных объектов с выбором периода документов 8.2 Платформа 1С v8.x (все механизмы)

Краткое описание

Отбор периода осуществляется у помеченных объектов (документов).

То есть если надо удалить документы, например, "заказ покупателя", то сначала надо выбрать объект метаданных: