Автор Тема: 2.37 (2016-2018 г.) "Плохие" серии  (Прочитано 5180 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Natic221

  • Новичок
  • *
  • Сообщений: 9
2.37 (2016-2018 г.) "Плохие" серии
« : Январь 05, 2018, 08:51:19 pm »
Всем привет!
Задача присутствует в третьем билете.

В задаче написано, что отчет должен показывать:
Поставщика
Дату поставки
Номенклатуру/Серию
Наличие на складе
Клиента(которому был предан товар)

Вопрос: в 11.3 мы ведь не можем отследить кто является поставщиком продаваемого товара. И дату поставки этого товара тоже не можем посмотреть.
Или может быть имеется ввиду, что при поступлении поставщик наш контрагент, а при отгрузке поставщиком всегда являемся мы? И дата поставки это всегда дата документа движения серий?  <===== как-то это странно, такую задачу ставить..

Поделитесь мыслями ::)
« Последнее редактирование: Январь 08, 2018, 10:10:15 am от Natic221 »

Natic221

  • Новичок
  • *
  • Сообщений: 9
Re: 2.37 (2016г.) "Плохие" серии
« Ответ #1 : Январь 08, 2018, 10:09:50 am »
Первый раз готовлюсь к СПЕЦУ. Подскажите, если что упустил или не правильно сделал. :)

Для контроля использования "плохих" серий в документах сделал:
1. Создал общий модуль, в нем создал процедуру. В процедуру передается ссылка на документ, в зависимости от типа документа, определенный запрос проверяет документ на наличие плохих серий. В случае если серии присутствуют, выдается сообщение со списком серий.
Примечание: В складских документах(ордерах), при наличии "плохих" серий 1С указывает на поле, первое в таблице, в котором установлена "плохая" серия.
В документах ПТиУ и РТиУ реализовать указатель не удалось, т.к. для серий используется отдельная ТЧ. <=== если кто поправит меня будет хорошо)

2. В модуле объекта (ПриходныйОрдерНаТовары, РасходныйОрдерНаТовары, ПоступлениеТоваровУслуг, РеализацияТоваровУслуг), в процедуре "ПередЗаписью" вызываю мою процедуру проверки из общего модуля.


Код Общего модуля:
Процедура Борзов_ПроверкаНаПлохиеСерии(ДокументПроверки) Экспорт
Если ТипЗнч(ДокументПроверки) = Тип("ДокументСсылка.ПриходныйОрдерНаТовары") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
       "ВЫБРАТЬ
       | Товары.НомерСтроки КАК НомерСтроки,
       | Товары.Номенклатура КАК Номенклатура,
       | Товары.Характеристика КАК Характеристика,
       | Товары.Серия КАК Серия
       |ИЗ
       | РегистрСведений.Борзов_ПлохиеСерии КАК Борзов_ПлохиеСерии
       | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриходныйОрдерНаТовары.Товары КАК Товары
       | ПО Борзов_ПлохиеСерии.Номенклатура = Товары.Номенклатура
       | И Борзов_ПлохиеСерии.Характеристика = Товары.Характеристика
       | И Борзов_ПлохиеСерии.Серия = Товары.Серия
       |ГДЕ
       | Товары.Ссылка = &Док
       |
       |УПОРЯДОЧИТЬ ПО
       | НомерСтроки";

Запрос.УстановитьПараметр("Док", ДокументПроверки);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
ВДЗ = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() > 0 Тогда
ПерваяСтрока = РезультатЗапроса.Получить(0);
СтрокаССерией = ПерваяСтрока[0];

Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "Объект.Товары[" + (СтрокаССерией-1) + "].Серия";
Сообщение.Текст = "Используются плохие серии!";
Сообщение.Сообщить();
Пока ВДЗ.Следующий() Цикл
Сообщить("У номенклатуры " + ВДЗ.Номенклатура + ", " + ВДЗ.Характеристика + "указана плохая серия : " + ВДЗ.Серия,СтатусСообщения.Внимание);
КонецЦикла;
КонецЕсли;

ИначеЕсли ТипЗнч(ДокументПроверки) = Тип("ДокументСсылка.РасходныйОрдерНаТовары") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.НомерСтроки КАК НомерСтроки,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Серия
|ИЗ
| РегистрСведений.Борзов_ПлохиеСерии КАК Борзов_ПлохиеСерии
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходныйОрдерНаТовары.ОтгружаемыеТовары КАК Товары
| ПО Борзов_ПлохиеСерии.Номенклатура = Товары.Номенклатура
| И Борзов_ПлохиеСерии.Характеристика = Товары.Характеристика
| И Борзов_ПлохиеСерии.Серия = Товары.Серия
|ГДЕ
| Товары.Ссылка = &Док
|
|УПОРЯДОЧИТЬ ПО
| НомерСтроки";

Запрос.УстановитьПараметр("Док", ДокументПроверки);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
ВДЗ = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Количество() > 0 Тогда
ПерваяСтрока = РезультатЗапроса.Получить(0);
СтрокаССерией = ПерваяСтрока[0];

Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = "Объект.ОтгружаемыеТовары[" + (СтрокаССерией-1) + "].Серия";
Сообщение.Текст = "Используются плохие серии!";
Сообщение.Сообщить();
Пока ВДЗ.Следующий() Цикл
Сообщить("У номенклатуры " + ВДЗ.Номенклатура + ", " + ВДЗ.Характеристика + "указана плохая серия : " + ВДЗ.Серия,СтатусСообщения.Внимание);
КонецЦикла;
КонецЕсли;

ИначеЕсли ТипЗнч(ДокументПроверки) = Тип("ДокументСсылка.ПоступлениеТоваровУслуг") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваровУслугСерии.Номенклатура,
| ПоступлениеТоваровУслугСерии.Характеристика,
| ПоступлениеТоваровУслугСерии.Серия
|ИЗ
| РегистрСведений.Борзов_ПлохиеСерии КАК Борзов_ПлохиеСерии
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Серии КАК ПоступлениеТоваровУслугСерии
| ПО Борзов_ПлохиеСерии.Номенклатура = ПоступлениеТоваровУслугСерии.Номенклатура
| И Борзов_ПлохиеСерии.Характеристика = ПоступлениеТоваровУслугСерии.Характеристика
| И Борзов_ПлохиеСерии.Серия = ПоступлениеТоваровУслугСерии.Серия
|ГДЕ
| ПоступлениеТоваровУслугСерии.Ссылка = &Док";
Запрос.УстановитьПараметр("Док", ДокументПроверки);
РезультатЗапроса = Запрос.Выполнить();
ВДЗ = РезультатЗапроса.Выбрать();

Если ВДЗ.Количество() > 0 Тогда
Сообщить("Используются плохие серии!");
Пока ВДЗ.Следующий() Цикл
Сообщить("У номенлатуры " + ВДЗ.Номенклатура + ", " + ВДЗ.Характеристика + "указана плохая серия: " + ВДЗ.Серия);                                               
КонецЦикла;
КонецЕсли;

ИначеЕсли ТипЗнч(ДокументПроверки) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслугСерии.Номенклатура,
| РеализацияТоваровУслугСерии.Характеристика,
| РеализацияТоваровУслугСерии.Серия
|ИЗ
| РегистрСведений.Борзов_ПлохиеСерии КАК Борзов_ПлохиеСерии
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Серии КАК РеализацияТоваровУслугСерии
| ПО Борзов_ПлохиеСерии.Номенклатура = РеализацияТоваровУслугСерии.Номенклатура
| И Борзов_ПлохиеСерии.Характеристика = РеализацияТоваровУслугСерии.Характеристика
| И Борзов_ПлохиеСерии.Серия = РеализацияТоваровУслугСерии.Серия
|ГДЕ
| РеализацияТоваровУслугСерии.Ссылка = &Док";

Запрос.УстановитьПараметр("Док", ДокументПроверки);
РезультатЗапроса = Запрос.Выполнить();
ВДЗ = РезультатЗапроса.Выбрать();

Если ВДЗ.Количество() > 0 Тогда
Сообщить("Используются плохие серии!");
Пока ВДЗ.Следующий() Цикл
Сообщить("У номенлатуры " + ВДЗ.Номенклатура + ", " + ВДЗ.Характеристика + "указана плохая серия: " + ВДЗ.Серия);                                       
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры


Natic221

  • Новичок
  • *
  • Сообщений: 9
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #2 : Январь 08, 2018, 11:00:08 am »
Создал отчет для контроля плохих серий. В задании просят указать дату поставки и поставщика. Как я понял в 11.3 партионный учет не ведется, поэтому поставщиком считаем того кто отдает товар в документе движения серий.

Запрос отчета:
ВЫБРАТЬ
ДвиженияСерийТоваровОбороты.Регистратор КАК Регистратор,
ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.Отправитель ССЫЛКА Справочник.Партнеры
ТОГДА ДвиженияСерийТоваровОбороты.Отправитель
ИНАЧЕ "Наша компания"
КОНЕЦ КАК Отправитель,
ВЫБОР
КОГДА ДвиженияСерийТоваровОбороты.Получатель ССЫЛКА Справочник.Партнеры
ТОГДА ДвиженияСерийТоваровОбороты.Получатель
ИНАЧЕ "Наша компания"
КОНЕЦ КАК Получатель,
ДвиженияСерийТоваровОбороты.Номенклатура КАК Номенклатура,
ДвиженияСерийТоваровОбороты.Характеристика КАК Характеристика,
ДвиженияСерийТоваровОбороты.Серия КАК Серия
ИЗ
РегистрНакопления.ДвиженияСерийТоваров.Обороты(
,
,
Регистратор,
(Номенклатура, Характеристика, Серия) В
(ВЫБРАТЬ
РегистрСведений.Борзов_ПлохиеСерии.Номенклатура,
РегистрСведений.Борзов_ПлохиеСерии.Характеристика,
РегистрСведений.Борзов_ПлохиеСерии.Серия
ИЗ
РегистрСведений.Борзов_ПлохиеСерии)) КАК ДвиженияСерийТоваровОбороты

freez1301

  • Пользователь
  • **
  • Сообщений: 68
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #3 : Январь 18, 2018, 11:49:14 pm »
2 Natic221
Ваш алгоритм будет работать не правильно при проведении нового документа

Anna-arbuz

  • Новичок
  • *
  • Сообщений: 2
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #4 : Май 07, 2019, 04:27:39 pm »
Поделитесь пожалуйста условием задачи 2.37

Аниса

  • Пользователь
  • **
  • Сообщений: 23
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #5 : Август 22, 2019, 08:45:53 am »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно

Sergey1C

  • Пользователь
  • **
  • Сообщений: 98
  • Сергей
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #6 : Август 22, 2019, 03:50:24 pm »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
Добрый!
Как Вы понимаете, задачи 2-й части являются продолжениями первой. То есть, все зависит от того, какие политики учета серий предполагаются для первой задачи.
Используются ли сроки годности и пр.
Начните с проверки настройки политик.

Antip_Morales

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: Antin_Morales
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #7 : Август 23, 2019, 11:54:22 am »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
В заказе клиента серии не указываются, только ордер и реализация. Смотрите настройку политики учета серий в виде номенклатуры, и ограничение там же по складам.

Sergey1C

  • Пользователь
  • **
  • Сообщений: 98
  • Сергей
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #8 : Август 23, 2019, 12:01:15 pm »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
В заказе клиента серии не указываются, только ордер и реализация. Смотрите настройку политики учета серий в виде номенклатуры, и ограничение там же по складам.
Это как так "не указываются"? Если политика "Автоподбор", то при наличии остатков, можно указать в Заказе клиента.

Аниса

  • Пользователь
  • **
  • Сообщений: 23
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #9 : Август 23, 2019, 12:11:30 pm »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
В заказе клиента серии не указываются, только ордер и реализация. Смотрите настройку политики учета серий в виде номенклатуры, и ограничение там же по складам.
Настройки все проверила, все равно в Реализации товаров услуг не активно поле "серия"

Аниса

  • Пользователь
  • **
  • Сообщений: 23
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #10 : Август 23, 2019, 12:20:16 pm »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
Добрый!
Как Вы понимаете, задачи 2-й части являются продолжениями первой. То есть, все зависит от того, какие политики учета серий предполагаются для первой задачи.
Используются ли сроки годности и пр.
Начните с проверки настройки политик.
В этой задачи про плохие серии, нужно указать серию в реализации, настройки политик посмотрела

Sergey1C

  • Пользователь
  • **
  • Сообщений: 98
  • Сергей
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #11 : Август 23, 2019, 03:10:57 pm »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
В заказе клиента серии не указываются, только ордер и реализация. Смотрите настройку политики учета серий в виде номенклатуры, и ограничение там же по складам.
Настройки все проверила, все равно в Реализации товаров услуг не активно поле "серия"
"Настройки все проверила" - что с чем проверили? Хоть бы написали, какие варианты попробовали.
Я вот несколько перебрал - получилось.

Аниса

  • Пользователь
  • **
  • Сообщений: 23
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #12 : Август 26, 2019, 08:48:57 am »
Добрый день!
Скажите пожалуйста, решаю эту задачу, не знаю как сделать, чтобы указывались серии в Заказе клиента и Реализации? Поле "Серия" неактивно
В заказе клиента серии не указываются, только ордер и реализация. Смотрите настройку политики учета серий в виде номенклатуры, и ограничение там же по складам.
Настройки все проверила, все равно в Реализации товаров услуг не активно поле "серия"
"Настройки все проверила" - что с чем проверили? Хоть бы написали, какие варианты попробовали.
Я вот несколько перебрал - получилось.
Я сделала настройки склада, вида номенклатуры и политики учета серий, какие еще могут быть настройки?

Sergey1C

  • Пользователь
  • **
  • Сообщений: 98
  • Сергей
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #13 : Август 26, 2019, 01:36:31 pm »
Я сделала настройки склада, вида номенклатуры и политики учета серий, какие еще могут быть настройки?
Ну судя по данным скриншотам я бы попробовал в Политике поставить переключатель в "При планировании отгрузки".

Если у Вас сейчас стоит "По факту отбора", то вряд ли получится указать серии в накладной...

Аниса

  • Пользователь
  • **
  • Сообщений: 23
Re: 2.37 (2016-2018 г.) "Плохие" серии
« Ответ #14 : Август 27, 2019, 02:22:05 pm »
Я сделала настройки склада, вида номенклатуры и политики учета серий, какие еще могут быть настройки?
Ну судя по данным скриншотам я бы попробовал в Политике поставить переключатель в "При планировании отгрузки".

Если у Вас сейчас стоит "По факту отбора", то вряд ли получится указать серии в накладной...
Сергей, спасибо большое! Я чуть голову себе не сломала, оказалось дело в этом отборе