Автор Тема: 2.38  (Прочитано 18164 раз)

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

kindzadza

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: ru
2.38
« Ответ #15 : Ноябрь 14, 2013, 05:39:35 pm »
кстати решение SanPav не верно....по крайней мере это уже оценили и на 2....

Nathalie

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nathalie
2.38
« Ответ #16 : Ноябрь 18, 2013, 08:30:05 pm »
kindzadza, почему?
 что написали в комментарии?


kindzadza

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: ru
2.38
« Ответ #17 : Ноябрь 21, 2013, 09:31:55 am »
сдавал не я,а коллега...его нет на месте,позже отпишусь)

Добавлено (21.11.2013, 09:31)
---------------------------------------------
короче вот что написали:
 Задача на конфигурирование: накопление информации на регистре сведений; недостаточная аналитика; ошибка при проведении при наличи дублей  строк; не учитываются единицы измерения

« Последнее редактирование: Ноябрь 21, 2013, 09:31:35 am от ru »

Nathalie

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nathalie
2.38
« Ответ #18 : Ноябрь 21, 2013, 11:16:17 am »
интересно, есть такие, кто с первого раза сдает?
 с такими драконовскими требованиями
 
Цитата
накопление информации на регистре сведений

 какое же это накопление, это хранение, так сказать, статуса комплектующих

kindzadza

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: ru
2.38
« Ответ #19 : Ноябрь 21, 2013, 11:24:31 am »
мне кажется, что лояльно к сдаче экзамена относились где то 1-1.5 года назад. так как слышал, что сдавали с 1го раза, там даже ничего толком не работало и не показывалось и ставили 5 surprised

Nathalie

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Nathalie
2.38
« Ответ #20 : Ноябрь 21, 2013, 11:28:33 am »

Цитата
недостаточная аналитика;
нужны наверное еще измерения: склад, характеристика, (упаковка?)

Nylander

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
2.38
« Ответ #21 : Декабрь 09, 2013, 06:40:43 pm »
Реализовал по совету VaKiSe через дополнительный регистр накопления вот привожу код(в подписке на событие проведения):

 Источник.Движения.ТоварыВСборке.Записывать=Истина;

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

 Как-то очень все просто получается.. Оцените пожалуйста:)
 
 
 
 
 
 
 
 
 
 
 
 КонецПроцедуры

asu2

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: asu2
2.38
« Ответ #22 : Декабрь 19, 2013, 06:43:08 pm »
Так есть же вариант без единого кода и траты времени. В отчете Движения товаров по складам поставить отбор и выходят те данные которые требуются отразить. Может быть это специальное задание с подвохом. tongue
Вложения:
s2147945.png

slavapoison

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
2.38
« Ответ #23 : Январь 08, 2014, 07:53:22 am »
Я  вот тоже думаю. Зачем что-то писать если отчет уже  есть? возможно надо просто создать вариант и сохранить его. И в комментарии описать что это уже есть. Но как-то уж ну ооочень просто это. Получается что на выполнение всего 8-го билета требуется максимум минут 20... что нуу оочень подозрительно. Однако другого решения я не вижу. можно разьве что по другому регистру сделать новый отчет. Но зачем? Подозреваю что задача просто на знание конфы и все. Изменений в конфе в этой задаче не требуется это точно.
« Последнее редактирование: Январь 08, 2014, 07:56:49 am от Вячеслав »

Alexander

  • Пользователь
  • **
  • Сообщений: 33
  • ФИО: Kulikov Alexander
2.38
« Ответ #24 : Июль 24, 2014, 02:38:43 pm »
По рекомендации выше в отчет вывелось что то не то. Поэтому предлагаю слегка модифицированную версию с подпиской и дополнительным РН.

 1. Создаем РН КомплектующиеВСборке (Остатки) с Измерениями как у РН "Товары на складах" + реквизит изделие (для красоты в отчете). Ресурс - Количество.
 2. Делаем подписку в которой анализируем Статус документа и движение по РН Товары на складах (что бы не париться с пересчетом упаковок). И все что там идет в расход пишу в мой РН приходом.

 
  • Спойлер');$('#uSpoilerF6IDMY').attr('class','uSpoilerClosed');}}" value="
  • Спойлер"/>


  •  3. Отчет
    « Последнее редактирование: Июль 24, 2014, 02:46:51 pm от Kulikov Alexander »

    non1ka

    • Новичок
    • *
    • Сообщений: 5
    • ФИО: Тюрин Илья Александрович
    Re: 2.38
    « Ответ #25 : Ноябрь 12, 2014, 11:53:01 am »
    Мне кажется не совсем корректно использовать виртуальную таблицу оборотов "Товары на складах" для получения остатков по комплектующим в работе.
    Во-первых, потому что это сразу -3 балла (получение остатков, путем сложения оборотов).
    Во-вторых по условиям задачи сказано, что Сборка занимает длительное время, и соответственно мы не можем ограничить виртуальную таблицу оборотов по дате начала.

    почему нужно всегда создавать подписку на событие, когда нужно изменить процедуру проведения документа?
     Есть такая рекомендация? Снимают балы, если редактировать модуль документа?

    У меня таких вопросов даже не появлялось :). В рабочей практике очень редко приходилось изменить процедуры проведения документов. Экзамен экзаменом но кастомизировать конфигурацию нужно всегда правильно. Как можно криво модифицировать конфигурацию, и при этом не вызывать в себе раздражения? :)

    интересно, есть такие, кто с первого раза сдает?
     с такими драконовскими требованиями
     

    Совершенно не согласен с фразой "драконовские методы". 
    Хорошо, что сейчас есть данные требования, множество программистов с сертификатами, с которыми мне приходилось работать и в помине не слышали о виртуальных таблицах, менеджерах значений, соединений двух запросов условиями с ИЛИ. А потом удивляются почему у них отчет формируется час. Хотя бы при подготовке к экзамену чему-нибудь научатся.

    Решение задачи

    1. Создаем копированием регистра накоплений "ТоварыНаСкладах" новый регистр "ТоварыВСборке".
    2. Добавляем измерение с ссылкой на документ "СборкаТоваров". Данный реквизит нам поможет получить дополнительную аналитику по комплекту (что скорее всего понадобиться клиенту в конечном итоге. Замечание из личного опыта).
    3. Создаем подписку на событие при "Обработке проведения" документа "Сборка товаров" (почему подписка на событие описано выше).
    Очень важные моменты: движение по регистрам не должно происходить если не включены функциональные опции или документ не находится в нужном статусе.
    При проведении получаем таблицу движений по регистру "ТоварыНаСкладах" и в зависимости от статуса документа формируем, либо одно либо два движения.
    Реализовал механизм списания комплектующих для формирования отчета в виде ведомости с начальным, конечным остатком и оборотом за период (опять же из личного опыта)
    Листинг подписки на событие:

    Процедура Экзамен_СборкаТоваров_ОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт

    Источник.Движения.Экзамен_ТоварыВСборке.Записывать = Истина;
    Источник.Движения.Экзамен_ТоварыВСборке.Очистить();

    ИспользоватьСборкуРазборку  = ПолучитьФункциональнуюОпцию("ИспользоватьСборкуРазборку");
    ИспользоватьСтатусыСборокТоваров = ПолучитьФункциональнуюОпцию("ИспользоватьСтатусыСборокТоваров");
    СтатусДокумента = Источник.Статус;

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

    ТаблицаДвиженийПоТоварамНаСкладах = Источник.Движения.ТоварыНаСкладах.Выгрузить();

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТаблицаДвиженийПоТоварамНаСкладах", ТаблицаДвиженийПоТоварамНаСкладах);
    Запрос.УстановитьПараметр("СтатусДокумента", СтатусДокумента);
    Запрос.УстановитьПараметр("СборкаТоваров", Источник.Ссылка);
    Запрос.УстановитьПараметр("Период", Источник.Дата);
    Запрос.Текст = ПолучитьТекстЗапросаИнициализацииТаблицыДвиженийПоТоварамВСборке();

    Источник.Движения.Экзамен_ТоварыВСборке.Загрузить(Запрос.Выполнить().Выгрузить());

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

    Функция ПолучитьТекстЗапросаИнициализацииТаблицыДвиженийПоТоварамВСборке()

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


    КонецФункции // ПолучитьТекстЗапросаИнициализацииТаблицыДвиженийПоТоварамВСборке()

    4. Ну а затем, копируем отчет "Ведомость по товарам на складах", выгружаем его во внешний отчет, подключаем через БСП "Дополнительные отчеты и обработки". Заменяем таблицу ТоварыНаСкладах на таблицу ТоварыВСборке, и настраиваем вариант отчета.

    Настройка отчета


    Запуск отчета



    zainaz

    • Новичок
    • *
    • Сообщений: 2
    • ФИО: Aynaz Ziganov
    Re: 2.38
    « Ответ #26 : Ноябрь 18, 2014, 04:58:24 pm »
    Забыли указать добавить новый ресурс ВСборке у регистра Экзамен_ТоварыВСборке

    7183847

    • Новичок
    • *
    • Сообщений: 8
    • ФИО: Сергей
    Re: 2.38
    « Ответ #27 : Июнь 15, 2015, 06:05:04 pm »

    ВиталийЧебан

    • Проверенный
    • ***
    • Сообщений: 106
    • ФИО: Виталий Чебан
    Re: 2.38
    « Ответ #28 : Июль 27, 2015, 02:19:54 pm »
    Комментарий (не мой) из под видео предыдущего поста:

    Цитировать
    Решение неправильное!!!
    Сдавал дистанционно. Попался данный билет. Решил как на видео. Результат: не сдал. Замечание экзаменатора: "Не требовалось добавлять в конфигурацию новые объекты, надо было использовать типовую функциональность, создать только отчет."

    Karabas

    • Пользователь
    • **
    • Сообщений: 42
    Re: 2.38
    « Ответ #29 : Июль 28, 2015, 08:19:41 am »
    Комментарий (не мой) из под видео предыдущего поста:

    Цитировать
    Решение неправильное!!!
    Сдавал дистанционно. Попался данный билет. Решил как на видео. Результат: не сдал. Замечание экзаменатора: "Не требовалось добавлять в конфигурацию новые объекты, надо было использовать типовую функциональность, создать только отчет."

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