Меню Рубрики

Установка единицы хранения остатков

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

Обработка достаточно простая (как с точки зрения использования, так и с точки зрения программирования) и позволяет при изменении единицы хранения остатков или единицы для отчётов обойти типовой механизм 1С защиты от изменения. Если вы точно уверены, что Вам это нужно — пользуйтесь на здоровье, но Вы должны понимать все риски изменения данного поля, если номенклатура уже участвовала в товародвижении (не зря же 1С запретила изменять это поле, если номенклатура уже участвовала в движении по регистрам)! Обработка не перепроводит никаких документов, не меняет никаких сведений в регистрах и т.д., она только меняет единицу измерения (ед. хран. ост. и ед. для отчётов) в выбранном элементе справочника «Номенклатура»!

Если вы через данную обработку меняете единицу хранения остатков и/или единицу для отчётов по номенклатуре в обход типового механизма проверки 1С — это предполагает, что вы это делаете на свой страх и риск!

Возможно, эта обработка пригодится если после обмена удалилась старая единица хранения остатков и появилась новая. Или ещё возможен случай корректного применения обработки: после обмена правильная единица поменялась на неправильную, и все документы проведены по правильной единице измерения — тогда Вам 100% нужно как можно быстрее менять неправильную единицу измерения на правильную!

Работоспособность обработки проверял на УПП 1.3.

Читать всем обязательно.

В базе не должно быть такой ситуации, когда единицой хранения остатков было сначала «шт.», потом сделали «кг.»! Это может привести к некорректным сведениям в ИБ (например, по регистрам пройдут сведения, что пришло 10 шт. товара, а ушло 15 кг.), что в свою очередь может повлиять на подсчёт себестоимости и другие показатели.

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

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

Скачать файлы

Специальные предложения

Новый вопрос

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

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

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

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

Данная обработка ВРЕДНАЯ т.к. исказит картину учета.

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

Иначе количество в остатках старых единиц будет иметь «разрадность» новых и полчиться:
1) «рассогласование» стоимостного и количественного остатка (например сумма есть а количества нет, или наоборот — количество есть а суммы нет)
2) Следуя из п.1 получиться очень интересная стоимость реализации или себестоимость.

Если хотите «угробить» учет — пользуйтесь.

П.С. Если выкладывать «в открытый доступ» нужно полностью описать возможный негатив применения.
П.П.С. А ещё лучше расширить функционал: сделать анализ остатков и корректировку количества — тогда обработка станет полезной.

(1) AnryMc, про негативные моменты я написал в каждом абзаце, кроме анонса, даже что-то выделил красным шрифтом!
Про то что обработка «вредная»: любая обработка изменяющая данные в неумелых руках будет вредна.
По вашему комментарию можно подумать, что я написал «Гады, 1С-ники заблокировали эту возможность, а я вам всё разблокировал»)). Если вы перечитаете ещё раз моё описание к обработке, то можете увидеть много предупреждений. Учту ваш комментарий и, когда придумаю текст, напишу где-нибудь в конце крупными буквами ещё одно предупреждение от необдуманного использования.

Читайте также:  Установка датчиков загазованности на природный газ

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

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

источник

Как назначить всем номенклатурам «Единицу хранения остатков»?

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

// Присвоение значения БазоваяЕдиницаИзмерения
// для ЕдиницаХраненияОстатков и ЕдиницаДляОтчетов
// и дальнейшая запись в карточку Номенклатуры

НовыйОбъект.Наименование = Объект.БазоваяЕдиницаИзмерения;
НовыйОбъект.Коэффициент = 1;
НовыйОбъект.Владелец = Объект.Ссылка;
НовыйОбъект.Записать();

НовыйОбъект.Наименование = Объект.БазоваяЕдиницаИзмерения;
НовыйОбъект.Коэффициент = 1;
НовыйОбъект.Владелец = Объект.Ссылка;
НовыйОбъект.Записать();

Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос(«ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ»);

Пока Выборка.Следующий() Цикл
объект = Выборка.Ссылка.ПолучитьОбъект();
объект.ОбменДанными.Загрузка = Истина;
объект.ЕдиницаХраненияОстатков = Справочники.ЕдиницыИзмерения.НайтиПоКоду(«032064»);
Попытка
объект.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ОбработкаПрерыванияПользователя();
КонецЦикла;
КонецПроцедуры

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

Запрос = Новый Запрос(«ВЫБРАТЬ

| Справочник.Номенклатура КАК Номенклатура

Пока Выборка.Следующий() Цикл

Данный код устанавливает для всех номенклатур одну единицу хранения остатков например «шт.», это значение присваивается из справочника строкой — объект.ЕдиницаХраненияОстатков = Справочники.ЕдиницыИзмерения.НайтиПоКоду(«032064»). Если нужно для всех номеклатур установить разные единицы хранения остатков, то тогда нужно добавлять условие в цикле какой номенклатуре нужно присвоить ту или иную ед. хран. остатков.

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

В конфигураторе в меню «файл»->»Новый»->Выбрать «Внешняя обработка»->Создать форму обаботки(по умолчанию)->Перейти на вкладку диалог формы->Правой кнопкой мыши щёлкнуть по кнопке «Выполнить»->Выбрать в контекстном меню пункт «КнопкаВыполнитьНажатие»(при этом создаться обработчик этой кнопки)->Скопировать содержимое процедуры в обработчик кнопки->Указать в строке кода: НайтиПоКоду(«032064») нужный код единицы хран. ост. ->Сохранить где нить. Запуск производится в 1С:предприятие(не конфигуратор) в меню «файл»->»открыть»->указать обработку.

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

Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос(«ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ»);

Пока Выборка.Следующий() Цикл
объект = Выборка.Ссылка.ПолучитьОбъект();
объект.ОбменДанными.Загрузка = Истина;
объект.ЕдиницаХраненияОстатков = Справочники.ЕдиницыИзмерения.НайтиПоКоду(«032064»);
Попытка
объект.Записать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ОбработкаПрерыванияПользователя();
КонецЦикла;
КонецПроцедуры

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

В Модуль обработки «ЗагрузкаДанныхИзТабличногоДокумента.epf надо вставить процедуру

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

Читайте также:  Установка камеры нужно ли согласование

Если использовать код предложенный ув. (12) fishca, то в карточке номенклатуры не проставляется Единица по классификатору.Из-за этого в печатных формах не проставляется этот код. Поэтому нужно дописать в код «НовыйОбъект.ЕдиницаПоКлассификатору = Объект.БазоваяЕдиницаИзмерения;»

И окончательный вариант будет выглядеть так:

НовыйОбъект.Наименование = «шт»;
НовыйОбъект.Коэффициент = 1;
НовыйОбъект.ЕдиницаПоКлассификатору = Объект.БазоваяЕдиницаИзмерения;
НовыйОбъект.Владелец = Объект.Ссылка;
НовыйОбъект.Записать();

Объект.ЕдиницаХраненияОстатков = НовыйОбъект.Ссылка;
Объект.ЕдиницаДляОтчетов = НовыйОбъект.Ссылка;
Объект.ЕдиницаИзмеренияМест = НовыйОбъект.Ссылка;

СправочникОбъект. (CatalogObject. )
ОбменДанными (DataExchange)
Использование:
Только чтение.
Описание:
Тип: ПараметрыОбменаДанными. Используется для управления обменом данных.
С помощью данного свойства настраивается состав узлов-получателей, для которых будут регистрироваться изменения данных, узел-отправитель, из которого получена записываемая информация, а также устанавливается режим Загрузка, указывающий, что выполняется перенос информации.

ПараметрыОбменаДанными (DataExchangeParameters)
Загрузка (Load)
Использование:
Чтение и запись.
Описание:
Тип: Булево. Если значение данного свойства Истина, то при выполнении записи или удаления данных будет производиться минимум проверок, так как при этом делается предположение, что производится запись данных, полученных через механизмы обмена данными, и эти данные корректны.

Номенклатура.ОбменДанными.Загрузка = Истина — если ты так напишешь, то тебе 1С разрешит записать без единицы измерени

На закладке настройка жмешь кнопку «События»
Выбираешь закладку «ПриЗаписи»
Пишешь там примерно такой код:

НовыйОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НовыйОбъект.Код = «717»;

НовыйОбъект.Наименование = «шт»;
НовыйОбъект.Коэффициент = 1;
НовыйОбъект.Владелец = Объект.Ссылка;
НовыйОбъект.Записать();

источник

Учет товаров в 1С по разным единицам измерения

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

В программе «1С:Управление торговлей, ред. 10.3» для работы с такими товарами есть две возможности:

  1. Использование разных единиц измерения для одной номенклатуры.
  2. Использование разной номенклатуры и документа комплектации.

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

Вариант 1. Использование разных единиц измерения одной номенклатуры при учете товаров в 1С

Создание номенклатуры

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

Меню: Справочники – Номенклатура – Номенклатура

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

Примечание: в качестве базовой единицы измерения желательно указывать «наименьшую».

Далее сохраним новый товар по кнопке «Записать» и приступим к созданию дополнительной единицы измерения.

Для этого перейдем на закладку «Единицы измерения»:

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

В новой единице измерения мы указываем:

  • Единица измерения по классификатору – упак
  • Наименование – упак. (5 шт.)
  • Коэффициент – 5

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

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

По кнопке «ОК» сохраним новую единицу измерения и закроем.

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

Меню: Справочники – Классификаторы – Классификатор единиц измерения

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

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

Установим единицу хранения остатков – шт., единицу для отчетов – упак.

Операции по номенклатуре

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

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

Пример поступления товаров:

В данном примере на склад поступило 20 ручек поштучно и 5 упаковок по 5 шт., т.е. всего на склад поступило 45 ручек.

Посмотрим, как данное поступление отразилось на остатках товара.

Читайте также:  Установка компрессор яаз на

Меню: Отчеты – Запасы (склад) – Ведомость по товарам на складах

Чтобы посмотреть отчет в разных единицах измерения нужно сделать дополнительные настройки. Зайдем в форму настроек и отметим в качестве показателей «Количество – Конечный остаток» и «Количество (в ед. отчетов) – Конечный остаток»:

Пример сформированного отчета:

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

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

В данном документе продана одна упаковка и 3 штуки, т.е. всего со склада будет списано 8 ручек.

Плюсы и минусы

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

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

Вариант 2. Использование разной номенклатуры и документа комплектации

Создание номенклатуры

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

Для сахара в упаковках мы создали дополнительную единицу измерения – килограмм, чтобы потом иметь возможность посмотреть общее количество сахара в отчетах. Коэффициент 0,5 используется, так как 1 кг – это половина единицы хранения остатков – упаковки.

Операции по номенклатуре

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

Пример поступления товаров:

В данном примере мы приобрели 20 кг весового сахара и еще 7 упаковок по 2 кг.

Посмотрим отчет по остаткам на складах в единицах хранения остатков и единицах для отчетов:

В колонке «Количество (в ед. отчетов)» мы видим остатки сахара в килограммах – всего 34 кг. В колонке «Количество» мы видим остатки по каждой единице измерения: 20 кг и 7 упаковок.

Пример реализации товаров:

Важно: при использовании разных единиц измерения вы не можете продавать купленный по весу сахар упаковками (и наоборот) без отражения перефасовки товаров из одной единицы измерения в другую. Т.е. если вы купили 10 кг сахара, программа не позволит продать кому-либо 1 упаковку — упаковок сахара вы не приобретали.

Комплектация номенклатуры

Для отражения операции перефасовки товара используется специальный документ «Комплектация номенклатуры». Смысл данного документа – отразить в программе преобразование одной номенклатуры в другую.

Предположим, мы расфасовали весовой сахар по упаковкам, из 12 кг сахара получилось 6 упаковок сахара, 1 кг сахара остался на складе не расфасованным.

Остатки товаров на складе до перефасовки:

Создадим документ «Комплектация номенклатуры».

Меню: Документы – Запасы (склад) – Комплектации номенклатуры

Укажем в документе организацию и склад товаров. На закладке «Комплект» отразим получившиеся в результате перефасовки товары – 6 упаковок сахара по 2 кг.

Далее на закладке «Комплектующие» укажем товары, которые были затрачены при фасовке – 12 кг весового сахара:

Проведем и закроем документ по кнопке «ОК». В момент проведения документа программа списывает со склада комплектующие (12 кг весового сахара) и приходует на склад получившиеся комплекты (6 упаковок сахара по 2 кг).

Остатки товаров на складе после отражения перефасовки:

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

Плюсы и минусы

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

источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *