Для хранения информации о «Плохих сериях» использовал механизм дополнительных реквизитов. Создал дополнительный реквизит серий номенклатуры «Плохие серии» с типом значений «Булево».
Для установки признака, скопировал типовую форму списка справочника «Серии номенклатуры», и реализовал заполнение вида номенклатуры из параметров открытия формы.
Добавил команду открытия формы из карточки номенклатуры без доработки формы (установил свойства команды, и она появилась автоматически).
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если ПараметрКоманды = Неопределено ИЛИ НЕ ТипЗнч(ПараметрКоманды) = Тип("СправочникСсылка.Номенклатура") Тогда
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("ВидНоменклатуры", ПолучитьЗначнеиеРеквизитаНаСервере(ПараметрКоманды, "ВидНоменклатуры"));
ОткрытьФорму("Справочник.СерииНоменклатуры.Форма.Экзамен_ФормаСписка", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецПроцедуры
&НаСервере
Функция ПолучитьЗначнеиеРеквизитаНаСервере(Объект, ИмяРеквизита)
Возврат Объект[ИмяРеквизита];
КонецФункции // ПолучитьЗначнеиеРеквизитаНаСервере()
Запрет проведения документа «Поступление товаров и услуг» реализовать невозможно, так как при способе учета серий «Управление остатками» (именно он нам нужен для реализации отчета) отражение серий производится на этапе оформления приемки товара на складе, соответственно, реализован запрет проведения документа «ПриходныйОрдерНаТовары», через подписку на событие «ПередЗаписью».
Процедура ПередЗаписью_ПриходныйОрдерНаТовары(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если Отказ Или Источник.ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ТабличнаяЧастьСерии = Источник.Серии.Выгрузить();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТабличнаяЧастьСерии", ТабличнаяЧастьСерии);
Запрос.Текст =
"ВЫБРАТЬ
| ТабличнаяЧастьСерии.НомерСтроки,
| ТабличнаяЧастьСерии.Количество,
| ТабличнаяЧастьСерии.КоличествоУпаковок,
| ТабличнаяЧастьСерии.Номенклатура,
| ТабличнаяЧастьСерии.Серия КАК СерияНоменклатуры,
| ТабличнаяЧастьСерии.Упаковка,
| ТабличнаяЧастьСерии.Характеристика
|ПОМЕСТИТЬ ВТ_ТабличнаяЧастьСерии
|ИЗ
| &ТабличнаяЧастьСерии КАК ТабличнаяЧастьСерии
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВТ_ТабличнаяЧастьСерии.Номенклатура,
| ВТ_ТабличнаяЧастьСерии.СерияНоменклатуры,
| ВТ_ТабличнаяЧастьСерии.Характеристика
|ИЗ
| ВТ_ТабличнаяЧастьСерии КАК ВТ_ТабличнаяЧастьСерии
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры.ДополнительныеРеквизиты КАК СерииНоменклатурыДополнительныеРеквизиты
| ПО ВТ_ТабличнаяЧастьСерии.СерияНоменклатуры = СерииНоменклатурыДополнительныеРеквизиты.Ссылка
| И (СерииНоменклатурыДополнительныеРеквизиты.Свойство.Наименование = ""Плохая серия"")
|ГДЕ
| ЕСТЬNULL(СерииНоменклатурыДополнительныеРеквизиты.Значение, ЛОЖЬ) = ИСТИНА";
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Отказ = Истина;
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
ТекстСообщения = "";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ТекстСообщения = ТекстСообщения + ?(ТекстСообщения = "", "", Символы.ПС)
+ "Для номенклатуры: " + ВыборкаДетальныеЗаписи.Номенклатура
+ ?(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.Характеристика), " с х/н: " + ВыборкаДетальныеЗаписи.Характеристика, " ") + Символы.ПС
+ "Установлена ""Плохая серия"": " + ВыборкаДетальныеЗаписи.СерияНоменклатуры;
КонецЦикла;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ТекстСообщения;
Сообщение.Сообщить();
КонецЕсли;
КонецПроцедуры
Для вывода информации по операциям с плохими сериями, реализован внешний отчет и размещен в разделы «Запасы и закупки» а так же в разделе «Склад».
Прочитал топ, и понял, что подписку нужно расширить для "ПоступленияТоваровУслуг" и "ОприходованияТоваров".
Ну это не сложно
главное учесть на экзамене