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

23.04.15

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
УстановкаСебестоиомостиНоменклатуры.epf
.epf 10,30Kb
77 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Идея по созданию обработки возникла после того, как клиент попросил разобраться с нулевой себестоимостью в отчете Оценка валовой прибыли.
Себестоимость номенклатуры в конфигурации Розница 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 они пропадают), но если форму переоткрыть, все становится на свои места. Меня это напрягало и я в конец процедуры ПослеЗаписиНаСервередобавил вызов процедуры ЗаполнитьКоманды();

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

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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

6100 руб.

27.02.2017    909343    6488    10489    

3321

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

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта алкогольной продукции. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

11699 руб.

15.12.2015    186573    1460    374    

418

ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Программист 1С:Предприятие 8 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 или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5%, НДС 7% и НДС 22%.

7900 руб.

25.05.2015    387775    2443    3353    

1182

Оптовая торговля Розничная торговля Обмен с ГосИС Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

20900 руб.

18.03.2019    124931    81    115    

205

Оптовая торговля Розничная торговля НДС 22% 1С 8.3 1С:Управление торговлей 10 Россия Платные (руб)

Пакет обновлений и продолжения поддержки Управление торговлей, редакция 10.3.- обновление которое предоставляет пользователям новые функции, исправления ошибок и т.д.

14640 руб.

19.12.2025    8872    82    63    

76

ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Торговля и склад 7.7 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест с поддержкой очереди печати. Поддержка ТСПИоТ для Атол, Штрих, Ритейл и РР-Электро. Возможность работы с ТСПИоТ без изменения конфигурации 1С! Поддерживаются ВСЕ ревизии требований фирмы 1С к разработке драйверов ККТ от 2.2 до 4.7.

18000 руб.

02.09.2016    157460    235    210    

237
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kosovets2014 15.04.14 21:10 Сейчас в теме
скачал обработку. В версии 2.0.5.3 не работает. Создает документ с названием товара, но с пустой ценой. Что делать?
2. sanches 257 16.04.14 07:16 Сейчас в теме
(1) kosovets2014, можете скинуть скриншот записей регистра себестоимость номенклатуры для одной из номенклатур в документе установка себестоимости, который создала обработка?
3. kosovets2014 16.04.14 21:59 Сейчас в теме
Для sanches. Немного затупил. Регистр с себестоимостью пустой. Себестоимость должна была передаваться с управляющей системы из УТ11.1, но нормально не синхронизируется. Может можно что бы себестоимость в документе "Установка себестоимости" бралась из справочника номенклатура - цена закупочная последняя по дате поступления. Скрин справочника прилагаю. Если нужно - доплачу.
Прикрепленные файлы:
5. sanches 257 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 257 18.10.14 19:08 Сейчас в теме
(6) levinside, вы ее подключили как внешнюю обработку?
Я не проверял ее работоспособность в 2.1 рознице. Может там что-то по другому нежели в 2.0
У самого уже с полгода работает в автоматическом режиме.
9. Fyodorovn 05.02.15 06:07 Сейчас в теме
(7) и что же делать, если я тоже приобрел данную обработку за 1$m? Но она не работает также как и у levinside
10. sanches 257 05.02.15 07:51 Сейчас в теме
(9) Fyodorovn, я посмотрю как она работает в рознице 2.1, но в заголовке я нарочно указал что именно в 2.0 проверена работоспособность данной обработки
8. Dima_ 151 11.11.14 12:21 Сейчас в теме
Добрый день!
Использую Вашу обработку, получилась ситуация:
При оформлении перемещения из Магазина А в Магазин Б Товара Т по себестоимости 1 р. обработка поставит для Товара Т в Магазине Б себестоимость 1 р. При следующем поступлении в Магазин А Товара Т по другой цене, например, 1.5 р. и его перемещением в Магазин Б, себестоимость Товара Т в Магазине Б останется 1 р. Новая себестоимость с даты перемещения не устанавливается.
Может я что-то не так делал?

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

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

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