Автоматическая установка себестоимости номенклатуры для конфигурации Розница 2.0 (2.1) +Бонус, исправляем ошибки при настройке расписания запуска для внешних обработок в Рознице 2.0

23.04.15

Учетные задачи - Розничная торговля

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

Скачать исходный код

Наименование Файл Версия Размер
УстановкаСебестоиомостиНоменклатуры.epf
.epf 10,30Kb
75
.epf 10,30Kb 75 Скачать

Идея по созданию обработки возникла после того, как клиент попросил разобраться с нулевой себестоимостью в отчете Оценка валовой прибыли.
Себестоимость номенклатуры в конфигурации Розница 2.0 (2.1) хранится в регистре сведений Себестоимость номенклатуры, регистраторами данного регистра являются следующие виды документов:
1) ВводНачальныхОстатковУзла
2) КорректировкаРегистров
3) ПоступлениеТоваров
4) УстановкаСебестоимости



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


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

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


Сделал я обработку, в интерактивном режиме все работает, но радоваться было рано. Пытаюсь настроить расписание работы. Сохраняю обработку, открываю ее, а расписание не сохраняется и соответственно регламентное задание не создается. Пришлось взять конфигурацию БСП версии 2.1.8.3 и вставлять из нее куски кода в бывшую когда-то типовой Розницу 2.0.8.12.
Повезло, что править пришлось только один общий модуль ДополнительныеОтчетыИОбработкиРегламентныеЗадания.
Процедуры, которые надо подправить:
1) НайтиЗадание
2) ПолучитьИдентификаторЗадания
3) ПолучитьПараметрыЗадания
4) СоздатьНовоеЗадание
5) УдалитьЗадание
6) УстановитьПараметрыЗадания

Так же подправил модуль формы элемента справочника ДополнительныеОтчетыИОбработки, что бы после сохранения обработки в колонке Расписания не пропадали данные (в конфигурации БСП 2.1.8.3 они пропадают), но если форму переоткрыть, все становится на свои места. Меня это напрягало и я в конец процедуры ПослеЗаписиНаСервередобавил вызов процедуры ЗаполнитьКоманды();

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

Если ОбщегоНазначенияПовтИсп.РазделениеВключено()
			И ОбщегоНазначенияКлиентСервер.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаВМоделиСервиса.ДополнительныеОтчетыИОбработкиВМоделиСервиса")


Код измененных процедур модуля ДополнительныеОтчетыИОбработкиРегламентныеЗадания. Извиняюсь за возможную корявость в оформлении кода. Замучился с встроенным редактором...

// Выполняет поиск задания по идентификатору (предположительно, сохраненному в данных
// информационной базы).
//
// Параметры: Идентификатор - УникальныйИдентификатор.
//
// Возвращаемое значение: РегламентноеЗадание.
//
Функция НайтиЗадание(Знач Идентификатор) Экспорт

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

    Если НЕ
ЗначениеЗаполнено(Идентификатор) Тогда
        Возврат Неопределено;
    КонецЕсли;

   
УстановитьПривилегированныйРежим(Истина);

   
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);

    Возврат
Задание;

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


// Возвращает идентификатор регламентного задания (для сохранения в данных информационной базы).
//
// Задание - РегламентноеЗадание.
//
// Возвращаемое значение: УникальныйИдентификатор.
//
Функция ПолучитьИдентификаторЗадания(Знач Задание) Экспорт

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

    Возврат
Задание.УникальныйИдентификатор;

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


// Возвращает параметры регламентного задания.
//
// Параметры:
//  Задание - РегламентноеЗадание.
//
// Возвращаемое значение: Структура, ключи:
//  Использование - булево, флаг использования регламентного задания,
//  Наименование - строка, наименование регламентного задания,
//  Параметры - Массив(Произвольный), параметры регламентного задания,
//  Расписание - РасписаниеРегламентногоЗадания.
//
Функция ПолучитьПараметрыЗадания(Знач Задание) Экспорт

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

   
Результат = Новый Структура();
   
Результат.Вставить("Использование", Задание.Использование);
   
Результат.Вставить("Наименование", Задание.Наименование);
   
Результат.Вставить("Параметры", Задание.Параметры);
   
Результат.Вставить("Расписание", Задание.Расписание);

    Возврат
Результат;

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


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

////////////////////////////////////////////////////////////////////////////////
// ПРОГРАММНЫЙ ИНТЕРФЕЙС

// Создает новое регламентное задание в информационной базе.
//
// Параметры:
//  Наименование - строка, наименование регламентного задания.
//
// Возвращаемое значение: РегламентноеЗадание.
//
Функция СоздатьНовоеЗадание(Знач Наименование) Экспорт


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

   
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание("ЗапускДополнительныхОбработок");
   
Задание.Использование = Ложь;
   
Задание.Наименование  = Наименование;
   
Задание.Записать();

    Возврат
Задание;

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


// Удаляет регламентное задание из информационной базы.
//
// Параметры:
// Задание - РегламентноеЗадание.
//
Процедура УдалитьЗадание(Знач Задание) Экспорт

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

    Если
ТипЗнч(Задание) = Тип("РегламентноеЗадание") Тогда
       
Задание.Удалить();
    КонецЕсли;

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


// Устанавливает параметры регламентного задания.
//
// Параметры:
//  Задание - РегламентноеЗадание,
//  Использование - булево, флаг использования регламентного задания,
//  Наименование - строка, наименование регламентного задания,
//  Параметры - Массив(Произвольный), параметры регламентного задания,
//  Расписание - РасписаниеРегламентногоЗадания.
//
Процедура УстановитьПараметрыЗадания(Задание, Использование, Наименование, Параметры, Расписание) Экспорт

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

   
Задание.Использование = Использование;
   
Задание.Наименование  = Наименование;
   
Задание.Параметры     = Параметры;
   
Задание.Расписание    = Расписание;

   
Задание.Записать();

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

См. также

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

28500 руб.

21.04.2017    90979    110    40    

197

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА (Разрешит. режим) + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

6000 руб.

27.02.2017    766999    4690    9502    

2792

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    166473    702    362    

390

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 руб.

29.10.2014    211232    630    526    

446

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

104000 руб.

18.03.2019    110676    35    114    

178

54-ФЗ и Разрешительный режим. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима.

5400 руб.

25.05.2015    318369    1852    3013    

998

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение конфигурации для УТ 11.4, 11.5, КА 2.4, 2.5, Розница 3.0, 2.3 и 2.2, УНФ 1.6, УНФ 3x, ERP 2.4, 2.5, БП 3, БГУ2 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4000 руб.

27.08.2018    117014    994    565    

835
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kosovets2014 15.04.14 21:10 Сейчас в теме
скачал обработку. В версии 2.0.5.3 не работает. Создает документ с названием товара, но с пустой ценой. Что делать?
2. sanches 256 16.04.14 07:16 Сейчас в теме
(1) kosovets2014, можете скинуть скриншот записей регистра себестоимость номенклатуры для одной из номенклатур в документе установка себестоимости, который создала обработка?
3. kosovets2014 16.04.14 21:59 Сейчас в теме
Для sanches. Немного затупил. Регистр с себестоимостью пустой. Себестоимость должна была передаваться с управляющей системы из УТ11.1, но нормально не синхронизируется. Может можно что бы себестоимость в документе "Установка себестоимости" бралась из справочника номенклатура - цена закупочная последняя по дате поступления. Скрин справочника прилагаю. Если нужно - доплачу.
Прикрепленные файлы:
5. sanches 256 17.04.14 09:55 Сейчас в теме
(3) kosovets2014, у вас поступления товаров вообще не формируют записей в регистр себестоимость номенклатуры?
4. kosovets2014 16.04.14 22:01 Сейчас в теме
Забыл уточнить - по дате и по времени поступления()
6. levinside 17.10.14 01:03 Сейчас в теме
1С:Предприятие 8.3 (8.3.4.389)
Конфигурация Розница, редакция 2.1 (2.1.2.5)

Пробую запустить - выдает: Поле объекта недоступно для записи (ЭтотОбъект)
В коде 1С никогда не копался.
Искать программиста или кто-то сможет подсказать как заставить эту штуку работать?
7. sanches 256 18.10.14 19:08 Сейчас в теме
(6) levinside, вы ее подключили как внешнюю обработку?
Я не проверял ее работоспособность в 2.1 рознице. Может там что-то по другому нежели в 2.0
У самого уже с полгода работает в автоматическом режиме.
9. Fyodorovn 05.02.15 06:07 Сейчас в теме
(7) и что же делать, если я тоже приобрел данную обработку за 1$m? Но она не работает также как и у levinside
10. sanches 256 05.02.15 07:51 Сейчас в теме
(9) Fyodorovn, я посмотрю как она работает в рознице 2.1, но в заголовке я нарочно указал что именно в 2.0 проверена работоспособность данной обработки
8. Dima_ 149 11.11.14 12:21 Сейчас в теме
Добрый день!
Использую Вашу обработку, получилась ситуация:
При оформлении перемещения из Магазина А в Магазин Б Товара Т по себестоимости 1 р. обработка поставит для Товара Т в Магазине Б себестоимость 1 р. При следующем поступлении в Магазин А Товара Т по другой цене, например, 1.5 р. и его перемещением в Магазин Б, себестоимость Товара Т в Магазине Б останется 1 р. Новая себестоимость с даты перемещения не устанавливается.
Может я что-то не так делал?

Мной написана Обработка, которая обрабатывает каждый документ перемещения.
От Вашей обработки пришлось отказаться, т.к. у меня она не корректно работает.
Посмотрите, может пригодится.
11. sanches 256 23.04.15 21:38 Сейчас в теме
Исправил ошибку при формировании обработки в Розница 2.1
12. maksal 51 24.05.15 20:51 Сейчас в теме
Странно, столкнулся с такой же проблемой в УТ.

"Сохраняю обработку, открываю ее, а расписание не сохраняется и соответственно регламентное задание не создается."
Power_0N; +1 Ответить
13. sanches 256 27.05.15 21:37 Сейчас в теме
(12) AleSeMa, может там такая же проблема что и в рознице. Не проверял.
Можно попробовать обновить до последней
14. bulpi 215 17.09.15 20:07 Сейчас в теме
ЭЭЭЭ.....
А не проще было исправить отчет "Оценка валовой прибыли " ????
15. Светлый ум 406 05.01.19 12:49 Сейчас в теме
- Вырезал себе кусок с программным созданием документа Установка цен
+1

(вкручу его в свой Конструктор номенклатуры, для Розницы_2)
https://infostart.ru/public/930129/
Оставьте свое сообщение