Форум Чистова. Подготовка к экзаменам 1С

Аттестация "1С:Специалист" => Аттестация "1С:Специалист по платформе 1С:Предприятие 8.3 и 8.2" => Тема начата: provincial_1с от Сентябрь 26, 2010, 04:52:39 pm

Название: Задача 1.17
Отправлено: provincial_1с от Сентябрь 26, 2010, 04:52:39 pm
Кто-нибудь решил на 8.2 ?
Название: Задача 1.17
Отправлено: SergTH000 от Сентябрь 26, 2010, 06:15:11 pm
в 1.17 нужно просто данные о плане закупок хранить в регистре оборотов. Оттуда получаем План на неделю, и сравниваем с документом план продаж. Посмотри мое решение 1.16, там все очень похоже, мне даже лень стало ее делать))
Название: Задача 1.17
Отправлено: 1C_CoderVamp от Сентябрь 27, 2010, 06:55:19 pm
можешь передать через настройки СКД
Название: Задача 1.17
Отправлено: SergTH000 от Сентябрь 27, 2010, 11:48:41 pm
pershinsergei, В запросе устанавливаешь НАЧАЛОПЕРИОДА(&Период, Неделя) И КОНЕЦПЕРИОДА(&Период, Неделя). На закладке Параметры СКД для &Период снимаешь ограничение на использование и на последней закладке влючаешь в пользовательские настройки.
Название: Задача 1.17
Отправлено: 1C_CoderVamp от Сентябрь 29, 2010, 04:06:43 pm
Quote (pershinsergei)
1C_CoderVamp, поясни пожалуйста на примере.
 вот есть у меня параметр &Период, мне нужно исходя из значения этого параметра задать параметры &НачалоПериода и &КонецПериода.
 в программном коде это будет как то так: НачалоНедели(период) КонецНедели(период),
 а как в скд не могу понять

Code
КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[<Индекс>].Значение = НачалоМесяца(Период);
 КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[<Индекс>].Использование = Истина;

Аналогичным образом делается конец месяца.
 Мог допустить очепятку, но принцип такой. Вызываешь из формы документа при изменении периода. В СКДшном запросе устанавливаешь соответственные параметры.

Название: Задача 1.17
Отправлено: tenikov от Октябрь 04, 2010, 03:13:14 pm
Quote (SergTH000)
там все очень похоже, мне даже лень стало ее делать

я наоборот 1.16 не делал smile


Вложения:
tenikov_1.17.dt
Название: Задача 1.17
Отправлено: rus от Январь 21, 2011, 07:38:34 am
Мое решение
Вложения:
8387076.dt
Название: Задача 1.17
Отправлено: DSoB от Январь 27, 2011, 02:44:15 pm
Quote (tenikov)
tenikov

А зачем ОстаткиНоменклатуры при проведении документа ПланПродаж блокируешь ?

Название: Задача 1.17
Отправлено: kitaets от Июнь 15, 2011, 04:38:04 am
к сожалению СКД знаю плохо, пришлось выкрутиться так
Вложения:
1_17_1Cv8.dt
Название: Задача 1.17
Отправлено: DoctorRoza от Июль 17, 2011, 08:31:37 pm
Да .. задача аналогичная 1.16 .. smile .. Маленько только изменить надо ..
Вложения:
DoctorRoza_1_17.dt
Название: Задача 1.17
Отправлено: kow1976 от Август 19, 2011, 08:52:59 am
Такой вариант решения. Возможно, у кого ни будь есть замечания?
Вложения:
kow19761.17.dt
Название: Задача 1.17
Отправлено: van_za от Октябрь 16, 2011, 10:39:01 am
Смотрел два решения

 Прикрепления: kow19761.17.dt(162Kb)
 Прикрепления: DoctorRoza_1_17.dt(169Kb)

 Увидел следующую ошибку при планировании закупок не учитывается то что у разных комплектов могут быть одинаковые комплектующие, соответственно пересекающие комплектующих не хватит в процессе продажи smile
Название: Задача 1.17
Отправлено: van_za от Октябрь 16, 2011, 04:34:04 pm
мое решение, критика приветствуется
Вложения:
1Cv8_1_17_van_z.dt
Название: Задача 1.17
Отправлено: LEOON от Ноябрь 11, 2011, 01:19:44 am
Плохо вчитался в условие в результате проделал лишнюю работу(контроль списания стеллажей в расходной накладной).
 Но в остальном вроде бы ничего алгоритм. Правда по традиции не углублялся в отладку. Может исправлюсь решая 16-ую.
 Если чего недоглядел извиняйте:)

 С уважением LEOON!(Сергей)
Вложения:
1.17.dt
Название: Задача 1.17
Отправлено: tan1c от Январь 29, 2012, 10:42:30 pm
ИМХО условия задачи "если план закупок за неделю уже существует, то он должен быть скорректирован до актуального" можно понимать по разному. Так как план закупок вводится документом ПланПродаж, значит на неделе этот документ может быть не один. Т.е. так как 1.16 не решается (старый документ удаляем, новый заводим). Непонятно, что значит скорректировать. Нужно понимать логику работы компании. Если после ПланаПродаж идет заказ комплектующих, есть приходы и продажи (расходы), то корректировка должна учитывает это ?. Или пользователь на бумажке все учел biggrin (что из заказа пришло, что в пути и т.д.) , а мы, как предлагаемых здесь решениях, только вычитаем из нашего заказа уже заказанное, причем только по номенклатуре текущего заказа (варианта учета, что номенклатура первого заказа шире, не увидел sad ). Думаю, такого типа задачи обязательно уточнять у экзаменатора. Ведь можно просто ограничить пользователя одним документом в неделю, если что поправить открывай старый и правь, или отмени старый, заведи новый, но здесь это, скорее всего, будет упрощением решения.
Название: Задача 1.17
Отправлено: kow1976 от Январь 30, 2012, 10:40:58 am
tan1c,
 Очень правильная мысль.

 По условию "Каждую неделю в систему вводится документ(а не документы) «План продаж», но вы абсолютно правы условия могут немного изменить.
Название: Задача 1.17
Отправлено: tan1c от Январь 30, 2012, 06:42:20 pm
kow1976,
 Да противоречие налицо biggrin . Если документ должен быть только один на неделе, значит корректировать он может только сам себя biggrin . То есть, открыл старый поправил и провел. Все само скорректировалось.
 Вариант типа этого
Вложения:
1.17_tan1c.dt
Название: Задача 1.17
Отправлено: sv_mikh от Март 20, 2012, 12:20:25 am
Мой вариант. План закупок -- регистр оборотный. Про документ "План закупок" тут вроде как речи нет.
Вложения:
sv_mikh_01_17.dt
Название: Задача 1.17
Отправлено: nontrade от Август 07, 2012, 06:13:43 pm
У многих в решении заметил не выполнение условий задачи. Вот мой вариант решения.
Вложения:
sun1.17.dt
Название: Задача 1.17
Отправлено: RoMeL от Сентябрь 02, 2012, 11:58:52 pm
В решении sv_mikh, ошибка... в документе ПланПродаж:

     |ГДЕ
     |   СписокДеталей.Количество - ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) <> 0");
 


 Нужно -

     |ГДЕ
     |   СписокДеталей.Количество - ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) > 0");
 


 + Управляемие блокировки в ПланПродаж ( нужли ли они там ? dry )
 + Подправил отчет ( порядок сортировки) и вуаля... tongue
Вложения:
RoMeL_1.17.dt
Название: Задача 1.17
Отправлено: semtesem от Ноябрь 06, 2012, 01:53:48 pm
В условии задачи нет ничего про то что РН должна проверять остатки на складе,
 нужно ли это делать? или просто запросом себестоимость на складе в итогах получить.
Название: Задача 1.17
Отправлено: ernest2000 от Март 20, 2013, 06:33:47 pm
Не понял, про План продаж, один документ нужен или не нет. Сделал что можно вводить не сколько Планов продаж, тогда остатки товара сравниваются с оборотным регистром План продаж.
Вложения:
ernest2000_1-17.dt
Название: Задача 1.17
Отправлено: TuMyP1985 от Июнь 16, 2013, 04:37:38 pm
Реализовал хранение "плана закупок" в регистре сведений (периодический). Отчет, вытаскиваю данные:
 1)из регистра накопления "остатки номенклатуры" - на дату "&Период"
 2)из регистра сведений "ПланЗакупокСрезПоследних" - на дату "КОНЕЦПЕРИОДА(&Период, НЕДЕЛЯ)"

 конструкция с "КОНЕЦПЕРИОДА" не работает (данные из регистра сведений все равно вытаскиваются на дату отчета "&Период").

 Если кто подскажет в чем дело, что поправить в отчете - буду благодарен.
Вложения:
KTT_1_17.dt
Название: Задача 1.17
Отправлено: fimanich от Июнь 26, 2013, 01:28:36 pm
TuMyP1985, не нужно использовать срез последних в запросе. Представь, по какой то номенклатуре были заказы в неделю №1 и не было заказов в неделю №2. Тогда при формировании отчета за неделю №2 у тебя получится номенклатура в отчет попадет. Наверное, если уж с регистром сведений решать, то в запросе использовать просто таблицу регистра (не срез); либо делать измерение ПериодПланирования, а сам РС - не периодическим. А вообще большинство здесь в этой задаче оборотный РН используют (также как, например, в типовой УТ 10.3)
Название: Задача 1.17
Отправлено: fimanich от Июнь 26, 2013, 01:31:42 pm
Прикрепляю свой вариант. Критика приветствуется.
Вложения:
fimanich_01_17.dt
Название: Задача 1.17
Отправлено: TuMyP1985 от Июнь 27, 2013, 12:09:50 am
Цитата (fimanich)
TuMyP1985, не нужно использовать срез последних в запросе.
Да, что то затупил. Вместо регистра сведений стал использовать регистр накоплений (оборотный), и все сразу и быстро получилось, спасибо за совет.
Название: Задача 1.17
Отправлено: bilateral от Июнь 27, 2013, 02:18:13 pm
Мой вариант.
 "В том случае, если планзакупок за эту неделю уже существует, то он должен быть скорректирован до
 актуального"
 Как кто думает это просто значит что надо перепровести док или еще какие шаманские пляски устраивать? Есть подвох в этой фразе или нет?

 Да запрос в "плане" у меня конешно великоват, но насколько это критично?
Вложения:
bilateral_upr17.dt
Название: Задача 1.17
Отправлено: artfa от Июнь 30, 2013, 04:51:54 pm
обработки проведения расходной и приходной такие же как в задаче 1.16,
 
Цитата (bilateral)
Как кто думает это просто значит что надо перепровести док или еще какие шаманские пляски устраивать? Есть подвох в этой фразе или нет?
читаем дальше условие и станет все понятно "План продаж задним числом не вводится, но существующий документ может быть проведен", в вашем решении как и в моем происходит замещение записей в регистр Закупки, у вас че то запрос в ПланПродаж огромный, у меня посмотрите

 P.S. Кстати обратите внимание на несоответствие отчета в задаче условиям задачи biggrin , в условиях сказано, что компания занимается оптовой торговлей стеллажей и их комплектующих, а не как указанно в отчете - портисигар и пр.
Название: Re: Задача 1.17
Отправлено: Odines от Январь 22, 2015, 03:25:22 pm
Как по мне то очень простая задача. Выкладываю простое решение. Может я ошибаюсь что все так просто?
Название: Re: Задача 1.17
Отправлено: Heckfy от Апрель 21, 2015, 11:57:08 am
Как по мне то очень простая задача. Выкладываю простое решение. Может я ошибаюсь что все так просто?
Не здоровый какой-то у тебя подход к проведению документов.
Имею в виду это:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
   
   Если НЕ ЭтоНовый() Тогда
      Движения.ОстаткиНоменклатуры.Записать();
   КонецЕсли;   
...
...

   Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
      Граница = Неопределено;
   Иначе
      Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
   КонецЕсли;    

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

Сначала не понял. Как у тебя получаются правильные остатки получить. Т.е. смыс в       Граница = Новый Граница(МоментВремени(), ВидГраницы.Включая);
Если ты все-равно движения очищаешь.
Название: Re: Задача 1.17
Отправлено: AlexKo от Июль 24, 2015, 09:03:21 am
Привет.
Вопрос теоретический.
Есть док ПланПродаж и ПланЗакупок, по концепции 1С из документов читать данные не есть гуд, нужны регистры. Нужен ли регистр для ПланаПродаж ведь он один в неделе и его регистр по идее ни кому в задаче не нужен(отчета по нему не строится). С другой стороны ПланЗакупок участвует в отчете и по идеи(хотя как можно подумать он один в неделе) ему нужен регистр.

...
"В том случае, если план закупок
на эту неделю уже существует, то он должен быть скорректирован до
актуального."
Тут не понятно должен ли он как и в 1.16 быть один в неделю или если надо меньше то сторнируем документом иначе добавляем, те несколько документов?
Название: Re: Задача 1.17
Отправлено: AlexKo от Июль 24, 2015, 11:25:57 am
Пардон немножко напутал. Читал одновременно 1.16 и 1.17, но вопрос тот же
Название: Re: Задача 1.17
Отправлено: venvlad от Октябрь 15, 2015, 03:58:36 pm
Моё.
Название: Re: Задача 1.17
Отправлено: rusmosav от Февраль 18, 2016, 02:59:07 pm
Прощу оценить.
Название: Re: Задача 1.17
Отправлено: Sergeyka от Апрель 12, 2016, 07:21:32 pm
Насколько я понял, условие задачи предполагает реализацию механизма автоматического подбора комплетующих в табличные части документов.

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

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

Есть у кого какие мысли или хорошие гайды по реализации сложного механизма подбора в том числе и комплектами с обращением к БД за данными регистров или других хранящих нужную информацию объектов?
Название: Re: Задача 1.17
Отправлено: Евгений Малый от Апрель 27, 2016, 03:12:49 pm
Выкладываю свой вариант решения. В статье опишу решение, на мой взгляд, спорных моментов:
1) Хранение стеллажей и комплектующих: в справочнике "Номенклатура" создан реквизит "ЭтоСтеллаж" и табличная часть "СписокКомплектующих".
2) Хранение планов закупок: планы закупок хранятся в оборотном регистре.
3) Вывод последнего плана закупок: в набор записей включено два пакета.
В первый пакет выбираются последние планы закупок: запрос упорядочен по убыванию и выбирается первая запись. Создано поле "Склад" со значением "План закупок".
Во втором пакете объединяется текущий план закупок и остатки по складам.
Результат отчета выводится в сводную таблицу.

Буду рад критике.
Название: Re: Задача 1.17
Отправлено: Lenta от Июнь 07, 2016, 08:41:42 am
Привет! Выкладываю свой вариант решения. Прошу оценить.
Название: Re: Задача 1.17
Отправлено: venvlad от Июнь 07, 2016, 09:28:41 am
Класс
Название: Re: Задача 1.17
Отправлено: Kron от Февраль 18, 2017, 11:59:03 pm
Подготовил решение:
Расходная накладная не контролирует остатки (об этом ничего не сказано в условии);
Состав стеллажей хранится в табличной части справочника "Номенклатура", используется только про формировании Плана продаж (о другом в условии не сказано);
План закупок хранится в регистре сведений, данные в него попадают при проведении документа "План продаж" (причин для использования оборотных регистров нет: данные о планируемых закупках не агрегируются, вводятся раз в неделю документом "План продаж" и также имеют период актуальность - одна неделя).
Название: Re: Задача 1.17
Отправлено: jonik от Июль 05, 2017, 12:25:20 pm
Всем привет. Задача аналогична 1.16, за исключением промежуточного документа и отчета(в книге данные отчета не соответствуют условию). Не могу понять как реализовать "Можно считать, что документ "План продаж" задним числом не вводится, но существующий документ может быть перепроведен". Это означает что при перепроведении более раннего документа движения не должны записываться?
Все остальное сделано по условию. Отчет аналогичен книжному. Проводится контроль остатков.
Название: Re: Задача 1.17
Отправлено: jonik от Декабрь 19, 2017, 09:57:38 am
Всем привет. Задача аналогична 1.16, за исключением промежуточного документа и отчета(в книге данные отчета не соответствуют условию). Не могу понять как реализовать "Можно считать, что документ "План продаж" задним числом не вводится, но существующий документ может быть перепроведен". Это означает что при перепроведении более раннего документа движения не должны записываться?
Все остальное сделано по условию. Отчет аналогичен книжному. Проводится контроль остатков.
Подкорректировал
Название: Re: Задача 1.17
Отправлено: Евгений_нвкз от Октябрь 05, 2020, 07:12:43 am
Мое решение на обозрение.