Автор Тема: Билет 12. Спец по платформе V8  (Прочитано 29859 раз)

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

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Билет 12. Спец по платформе V8
« : Сентябрь 22, 2015, 02:45:50 pm »
Сделал Билет 12. Есть пара вопросов.

ОУ

Т.к. новая методика применима лишь в небольшом проценте задач, то ее алгоритм до автоматизма я так и не довел. Каждый раз приходится его вспомирать. Поэтому, коллеги, прошу проверить, ничего ли я не забыл:
1) новая методика контроля остатков (как более эффективная) применена потому, что для формирования движений не нужно ничего получать из БД, все уже есть в ТЧ документа. Алгоритм следующий:
2) До записи движений включаю БлокироватьДляИзменения
2) Формирую движения по списанию
3) Записываю движения
5) Запросом получаю остатки на ГраницуВключая этот документ
6) Если есть отрицательные остатки, то Отказ

В РН применена старая методика, т.к. надо списывать остатки стоимости.

Характеристики сделал так:
1)   Создал регсведЗначенияХарактеристик: измерение Объект (ЗаказПокупателя), измернениеВидХарактеристики (ПВХ), ресурс ЗначениеХарактеристики (Характеристика)
2)   В предприятии создал Характеристики, Регион сделал просто текстовым, заполнил регистр сведений
3)   В запросе отчета настроил, что характеристики выводить для объктов типа ЗаказПоставщику, вид харак-к брать из ПВХ, значения из регсвед.
4)   В элементе пользовательских настроек включил вывод Группировок на форму отчета, в режиме предприятия добавил группировку по характеристике Регион.

В регистре ЗаказыПокупателей у меня только Количество, а Сумма появляется только в регистре Резервы.
Кто что думает? Здесь все логично?


БУ

В блокировке хотел разделить номенклатуру на Детали и Изделия (получить две ТЗ и блокировать каждый счет по их содержимому), но потому подумал, что на экзамене не до таких извращений. Короче, просто блокирую оба счета по Номенклатуре из ТЧ. Пойдет?


ПР

В сборнике есть похожая задача – это 3.35. В задании есть несколько моментов, которые привели к возникновению вопросов:

Коллеги, я так понимаю, что в РР не нужно изменение Автомобили (Подразделения) т.к. совместительство невозможно, т.е. обмен автомобилями невозможен. Верно мыслю?
В общем сделал вообще без автомобилей, в документе только сотрудники, в РР тоже.

1000 часов проверяю как завещал уважаемый sv_mikh

Прорешал эту задачу три раза и каждый раз при начале отладки механизмов Расчетов возникала проблема с ПВР Удержания.
При попытке обращения к ПВР предприятие падало с ошибкой
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка SDBL:
Тип поля #updatedRows.BaseCKBaseCK несовместим с типом поля BaseCKBaseCK


Платформа 8.3.5.1248, каркасная конфигурация.
Методом тыка нашел решение, может кому пригодится )):
для удержания Штраф отключить зависимость от Невыхода, применить, а затем вернуть зависимость от Невыхода.

« Последнее редактирование: Сентябрь 22, 2015, 02:52:12 pm от Jones »

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 12. Спец по платформе V8
« Ответ #1 : Сентябрь 22, 2015, 05:38:54 pm »
В общем сделал вообще без автомобилей, в документе только сотрудники, в РР тоже.

В ПР задаче 13 билета тоже нет совместительства. Думаю надо все таки Бригаду в документе сделать, для приличия. Т.е. здесь надо было в документе оставить колонку Автомобиль.


alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 12. Спец по платформе V8
« Ответ #2 : Сентябрь 26, 2015, 03:08:22 pm »
Прорешал эту задачу три раза и каждый раз при начале отладки механизмов Расчетов возникала проблема с ПВР Удержания.
При попытке обращения к ПВР предприятие падало с ошибкой
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка SDBL:
Тип поля #updatedRows.BaseCKBaseCK несовместим с типом поля BaseCKBaseCK


Платформа 8.3.5.1248, каркасная конфигурация.
Методом тыка нашел решение, может кому пригодится )):
для удержания Штраф отключить зависимость от Невыхода, применить, а затем вернуть зависимость от Невыхода.
Еще выход, и более удобный в рамках экзамена - воспользоваться советом из п.8 вот отсюда:
http://forum.chistov.pro/index.php?topic=2005.msg22414#msg22414  :)

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 12. Спец по платформе V8
« Ответ #3 : Сентябрь 26, 2015, 03:13:13 pm »
Коллеги, я так понимаю, что в РР не нужно изменение Автомобили (Подразделения) т.к. совместительство невозможно, т.е. обмен автомобилями невозможен. Верно мыслю?
Скажу больше - даже если обмен автомобилями возможен, всё равно это не аналог совместительства, и измерение Автомобиль не нужно (только реквизит) (Это на случай, если не читал мой отчет об экзамене  :) ).

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 12. Спец по платформе V8
« Ответ #4 : Октябрь 23, 2015, 12:03:31 pm »
Задача по ПР интересна двумя моментами:
1)   Удержание Штраф 5000 за каждый день Невыхода
2)   Компенсацию начислять только если в этом месяце НаездЧасов водителя перевалил через 1000
Штраф считаю от ресурса ДниНевыходаБаза (базовый ВР – Невыход)
НаездЧасов накапливаю в оборотном регистре, получаю с НачалаВремен по НачМес и по КонМес, сравниваю с помощью Цел(ЧасыНач/1000) и если целые тысячи отличаются, значит в этом месяце водитель перевалил через 1000.

Невосстановимую ошибку (см.выше) на этот раз победил минуты за 2-3.
Отключил зависимость Штрафа от Невыхода, применил, вернул, применил, но все это не помогло.
Тогда удалил Штраф, применил, создал новый, применил, включил зависимость и все заработало.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 12. Спец по платформе V8
« Ответ #5 : Октябрь 23, 2015, 01:29:38 pm »
НаездЧасов накапливаю в оборотном регистре, получаю с НачалаВремен по НачМес и по КонМес, сравниваю с помощью Цел(ЧасыНач/1000) и если целые тысячи отличаются, значит в этом месяце водитель перевалил через 1000.
Альтернатива - регистр остаточный. Если остаток на конец месяца > 1000, начисляем компенсацию и списываем 1000.

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 12. Спец по платформе V8
« Ответ #6 : Октябрь 23, 2015, 01:50:21 pm »
В задаче по ОУ сложность заключается в использовании механизма Характеристик для ЗаказовПокупателей.

Спр ЗначенияСвойств делаем подчиненным ПВХ СвойстваОбъектов.
В тип значения ПВХ включаем спр ЗначенияСвойств.
Создаем рег свед ЗначенияХарактеристик (изм Объект – док ЗаказПокупателя, изм ВидХарактеристики – ПВХ, рес ЗначениеХарактеристики – Характеристика)
Для ресурса ЗначениеХарактеристики в связях параметров выбора включаем что Владельцем является ВидХарактеристики (чтобы в списке значений показывались только те значения, владельцем которых является данный ВидХарактеристики).
В Предприятии созадем Заказы, Поступления, Реализации, заполняем рег свед Значения свойств (указываем для Заказов регионы).
В отчете настраиваем вывод характеристик для объектов типа Документ.ЗаказПокупателя. Формируем Отчет.

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 12. Спец по платформе V8
« Ответ #7 : Октябрь 27, 2015, 07:02:46 am »
Поэтому, коллеги, прошу проверить, ничего ли я не забыл:
1) новая методика контроля остатков (как более эффективная) применена потому, что для формирования движений не нужно ничего получать из БД, все уже есть в ТЧ документа. Алгоритм следующий:
2) До записи движений включаю БлокироватьДляИзменения
3) Формирую движения по списанию
4) Записываю движения
...

В пункте где "БлокироватьДляИзменения" надо еще очищать движения (но не записывать для новой методики).
Привожу цитату из статью Чистова:


К примеру, в зависимости от этого свойства, движения документа будут прочитаны (если галка стоит) при открытии формы или нет. А если даже галка не установлена, и в форме отображаются движения, то движения будут прочитаны при открытии формы.
В обычных формах движения будут однозначно прочитаны при открытии формы.
А если движения прочитаны, то наборы записей в свойстве документа "Движения" не пустые, и добавление при проведении новых движений, как правило приводит к дублям движений.
Так вот, чтобы не зависеть от обстоятельств, мы на всякий случай удаляем то, что возможно может находиться в коллекции движений по регистру ОстаткиТоваров. Обращаю внимание, что запись данных в базу тут не производится, просто в памяти очищается набор записей.
Кстати, если свойство конфигурации "Основной режим запуска" будет установлено в значение "Обычное приложение", то такую строку "Движения.ИмяРегистра.Очистить()" будет писать и сам конструктор формирования движений.


Проверил. Если в форме напротив всей ветки Движения тип "Коллекция движений", поставить галку "Использовать всегда", то движения в форме действительно не очищены.
« Последнее редактирование: Октябрь 27, 2015, 07:11:10 am от HRom »

HRom

  • Пользователь
  • **
  • Сообщений: 94
  • ФИО: HRom
Re: Билет 12. Спец по платформе V8
« Ответ #8 : Октябрь 27, 2015, 08:37:18 am »

БУ

В блокировке хотел разделить номенклатуру на Детали и Изделия (получить две ТЗ и блокировать каждый счет по их содержимому), но потому подумал, что на экзамене не до таких извращений. Короче, просто блокирую оба счета по Номенклатуре из ТЧ. Пойдет?


По идее мы же блокируем не весь счет товары, а счет товары по конкретному списку номенклатуры на субконто "Номенклатура".
Если в нашей табличной части нет товаров (а одни материалы), то не найдя по субконто что блокировать система счет Товары не будет блокировать вообще.
Я правильно понимаю?

АлексейФедоров

  • Новичок
  • *
  • Сообщений: 5
Re: Билет 12. Спец по платформе V8
« Ответ #9 : Ноябрь 02, 2015, 11:35:54 am »
Всем привет!
Только начинаю готовиться, ребят не подскажите как понять когда использовать старую методику, а когда новую, или ссылочку :)

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 12. Спец по платформе V8
« Ответ #10 : Ноябрь 02, 2015, 01:51:52 pm »
Всем привет!
Только начинаю готовиться, ребят не подскажите как понять когда использовать старую методику, а когда новую, или ссылочку :)
Когда перед проведением НЕ НАДО предварительно получать данные из того же регистра, в который записываем, чтобы проконтролировать остатки, обязательно используется новая.
Когда перед проведением НЕОБХОДИМО получить данные именно из того же регистра, в который записываем, чтобы проконтролировать остатки, обязательно старая.
Но чаще ситуация бывает неоднозначная - можно создать дополнительный РН для учета остатков (обычно с меньшим количеством измерений, чем в РН для учета себестоимости), в котором эти самые остатки и контролировать без предварительного получения данных из этого же регистра. И вот в этом случае кто-то создает дополнительный РН, и делает "по-новому", кто-то не создает, и делает "по-старому", обычно на экз вроде прокатывают оба варианта (судя по отзывам).
« Последнее редактирование: Ноябрь 02, 2015, 01:53:44 pm от alex1248 »

АлексейФедоров

  • Новичок
  • *
  • Сообщений: 5
Re: Билет 12. Спец по платформе V8
« Ответ #11 : Ноябрь 05, 2015, 01:44:42 pm »
alex1248, спасибо !=)

Jones

  • Проверенный
  • ***
  • Сообщений: 199
Re: Билет 12. Спец по платформе V8
« Ответ #12 : Ноябрь 06, 2015, 10:10:40 am »
В пункте где "БлокироватьДляИзменения" надо еще очищать движения (но не записывать для новой методики).
HRom, хочешь сказать, Очищать() надо всегда, даже при новой методике? Надо запомнить и применить.

AlexGroovy

  • Пользователь
  • **
  • Сообщений: 69
  • ФИО: ЫЫЫ
Re: Билет 12. Спец по платформе V8
« Ответ #13 : Ноябрь 11, 2015, 04:18:41 pm »
Вот этот кусок мне абсолютно не понятен,то есть надо делать через регистр сведений или брать из документа" Процент компенсации общий для всех сотрудников и может изменяться не чаще, чем один раз в месяц. В информационной базе необходимо хранить историю изменения данного процента. В момент начисления компенсации значение процента определяется определяется пользователем самостоятельно и заносится в документ “Начисление зарплаты”. Компенсация начисляется только в случае отсутствия невыходов, однако контролировать программным образом данное обстоятельство не требуется." ?

AlexGroovy

  • Пользователь
  • **
  • Сообщений: 69
  • ФИО: ЫЫЫ
Re: Билет 12. Спец по платформе V8
« Ответ #14 : Ноябрь 11, 2015, 05:52:38 pm »
И Jones у меня такой вопрос , я заметил ты всегда в период регстрации ставишь дату документа, я думал так можно делать только если есть такое условие" В одном документе могут быть данные только за текущий расчетный период." Если условие за разные расчетные периоды ,тогда период регистрации надо добавлять в ТЧ,или я ошибаюсь?)