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

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

clancy08

  • Пользователь
  • **
  • Сообщений: 40
Re: Билет 1. Спец по платформе V8
« Ответ #690 : Январь 20, 2018, 06:52:03 am »
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #691 : Январь 20, 2018, 12:45:09 pm »
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
« Последнее редактирование: Январь 20, 2018, 12:50:01 pm от fimanich »


clancy08

  • Пользователь
  • **
  • Сообщений: 40
Re: Билет 1. Спец по платформе V8
« Ответ #692 : Январь 21, 2018, 09:15:55 am »
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
Не верно поняли. При получении остатков запросом, передавая момент времени, таблица остатков берет данные на дату, не включая ее, а вот если документ проводится оперативно, то момент времени всегда будет текущей датой. И соответственно больше чем дата движений, сделанная документом секундой раньше, в этом случае в таблицу остатков при чтении запросом, документ считает свои движения.
В таком случае стоит писать так
Если Режим = РежимЗаписиДокумента.Оперативный Тогда
                Движения.Себестоимость.Очистить();
                Движения.Себестоимость.Записать()
         КонецЕсли;
В ином случае я не вижу в этом смысла.

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #693 : Январь 21, 2018, 06:40:01 pm »
При оперативном проведении по регистру остатков партий, почему то многие не очищают движения. Старые движения ведь должны попасть в запрос?
Старые движения нужно чистить только для:
- перепроведения из обычной формы
- случая, когда движения вынесены на управляемую форму.
В остальных случаях при перепроведении набор записей пустой вначале. Чтобы старые движения не попали в запрос, делается Движения.Себестоимость.Записать();
 перед запросом.
Универсально так:
Движения.Себестоимость.Записывать = Истина;
Движения.Себестоимость.БлокироватьДляИзменения = Истина;
Движения.Себестоимость.Очистить(); // это для перепроведения из обычной формы
Движения.Себестоимость.Записать();
Не верно поняли. При получении остатков запросом, передавая момент времени, таблица остатков берет данные на дату, не включая ее, а вот если документ проводится оперативно, то момент времени всегда будет текущей датой. И соответственно больше чем дата движений, сделанная документом секундой раньше, в этом случае в таблицу остатков при чтении запросом, документ считает свои движения.
В таком случае стоит писать так
Если Режим = РежимЗаписиДокумента.Оперативный Тогда
                Движения.Себестоимость.Очистить();
                Движения.Себестоимость.Записать()
         КонецЕсли;
В ином случае я не вижу в этом смысла.
Смысл есть. Пример: сегодня 21.01.2018. Пользователь открыл документ от 15.01.2018, поменял дату на 16.01.2018 и (!не оперативно!) перепровел документ. Если движения не чистить, документ прочитает свои движения. Так что чистить движения по себестоимости нужно всегда, независимо от режима проведения.
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.

« Последнее редактирование: Январь 28, 2018, 11:03:00 pm от fimanich »

Slava

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #694 : Январь 21, 2018, 10:56:07 pm »
Цитировать
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.
Поставьте совместимость 8.3.3

Julia2690

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Юлия
Re: Билет 1. Спец по платформе V8
« Ответ #695 : Январь 22, 2018, 06:31:02 am »
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #696 : Январь 22, 2018, 02:43:40 pm »
Цитировать
Прикрепляю свое решение 1-го билета: без расчета ЗП в форме и с расчетом ЗП в форме. Комментариям буду рад.
Поставьте совместимость 8.3.3
Вот вариант в совм. 8.3.3

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #697 : Январь 22, 2018, 03:08:09 pm »
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)
Привет. Вроде норм.. Есть небольшие комменты / вопросы.
1. А зачем в модуле объекта #Если Сервер или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда ?
2. В расходной в середине обработки проведения
Если Отказ Тогда
      Возврат;
   КонецЕсли;
Вроде бы нежелательно использовать возврат внутри предопред. событий
3. Чистить и записывать себестоимость нужно в любом случае (см. мое объяснение выше), а не только когда оперативно.
4. Бухгалтерский: не индексируешь временные табл. по полям соединения, соединяться с можно сразу 2 левых соед-я, т.е. 2-й и 3-й пакет можно объединить

Slava

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #698 : Январь 22, 2018, 10:16:53 pm »
Вот вариант в совм. 8.3.3
1.  ОУ
В приходной нет необходимости очищать движения. В приходной движения вообще можно конструктором формировать. Проверять номенклатуру на услугу надо в расходной по условию задачи. За запись "Движения.ОстаткиНоменклатуры.Очистить()" могут сделать замечание на экзамене.  Эта строчка нужна для обычных форм.
В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"? При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В отчете Склад и Номенклатура в одной колонке идет. Ну это может и не критично.
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.

Pr0glam3r

  • Новичок
  • *
  • Сообщений: 9
Re: Билет 1. Спец по платформе V8
« Ответ #699 : Январь 23, 2018, 12:12:59 am »
Привет всем. Поглядите пожалуйста мое решение :D

Julia2690

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Юлия
Re: Билет 1. Спец по платформе V8
« Ответ #700 : Январь 23, 2018, 05:44:42 am »
Привет, начала готовиться к экзамену, гляньте ОУ+БУ кому не сложно)
Привет. Вроде норм.. Есть небольшие комменты / вопросы.
1. А зачем в модуле объекта #Если Сервер или ТолстыйКлиентОбычноеПриложение или ВнешнееСоединение Тогда ?
2. В расходной в середине обработки проведения
Если Отказ Тогда
      Возврат;
   КонецЕсли;
Вроде бы нежелательно использовать возврат внутри предопред. событий
3. Чистить и записывать себестоимость нужно в любом случае (см. мое объяснение выше), а не только когда оперативно.
4. Бухгалтерский: не индексируешь временные табл. по полям соединения, соединяться с можно сразу 2 левых соед-я, т.е. 2-й и 3-й пакет можно объединить
Спасибо, что посмотрел!
1. Да, этого делать не нужно, начала писать как в типовых, забыла удалить. В любом случае, ошибкой это не будет, думаю..
2. Согласна, это лишнее.
3. Я подсмотрела это в курсах подготовки 1С Специалиста, там в решении ОУ было так прописано.
4. Согласна, поправлю.

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #701 : Январь 23, 2018, 03:32:41 pm »
Вот вариант в совм. 8.3.3
1.  ОУ
В приходной нет необходимости очищать движения. В приходной движения вообще можно конструктором формировать. Проверять номенклатуру на услугу надо в расходной по условию задачи. За запись "Движения.ОстаткиНоменклатуры.Очистить()" могут сделать замечание на экзамене.  Эта строчка нужна для обычных форм.
В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"? При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В отчете Склад и Номенклатура в одной колонке идет. Ну это может и не критично.
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.

Спасибо, что посмотрел!
Цитировать
1.
>В расходной при списании себестоимости зачем строка "Движения.Управленческий.БлокироватьДляИзменения = Истина"?
Ответ здесь: http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307
Цитировать
При вычислении суммы списываемой себестоимости надо округлять. Без округления вычисленное выражение может иметь точность больше двух знаков после запятой, а в регистре точность=2.
В данном случае сомневаюсь, что обязательно надо округлять, ведь когда запишется в регистр, то автоматически округлится
Цитировать
В отчете Склад и Номенклатура в одной колонке идет.
Исправил
Цитировать
2. БУ
За документ "Операция" могут снять баллы. Если пометить на удаление - проводки остаются активными.
Исправил. Хотя в примере из сборник вроде нет такого и я вроде где-то здесь на форуме читал, что не обязательно. Действительно могут снять баллы?
Цитировать
3. БП
Не верно заполнен регистр адресации. То, что есть лишние записи - думаю не страшно. Только времени жалко на лишнюю работу. А вот то, что не правильно заполнен - снимут балл однозначно. При адресации "Все кладовщики" не надо указывать подразделение. Еще не увидел отображения не выполненных задач с отбором по исполнителю.
Согласен, что есть лишние записи, это я увлекся, заполнил, как в табличке в задаче. Однако записи с заполненным кладовщиком и не заполненным подразделением у меня есть, т.е. ошибки нет. Задачи по исполнителю на начальной странице.
Решение прикрепляю.
« Последнее редактирование: Январь 23, 2018, 03:52:12 pm от fimanich »

Slava

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #702 : Январь 23, 2018, 08:35:08 pm »
Цитировать
Спасибо, что посмотрел!

Посмотри и мое - будем в расчете  ;)

Цитировать
Ответ здесь: http://forum.chistov.pro/index.php?topic=2005.msg22307#msg22307

Почитал. Как понял смысла в этой записи нет особого. Можно писать, а можно и не писать. Тема обсуждалась в 2012 году... Я не буду писать

Цитировать
В данном случае сомневаюсь, что обязательно надо округлять, ведь когда запишется в регистр, то автоматически округлится

Может и не нужно в данном случае.

Цитировать
Исправил. Хотя в примере из сборник вроде нет такого и я вроде где-то здесь на форуме читал, что не обязательно. Действительно могут снять баллы?

Мой знакомый сдавал пару лет назад. Ему делали замечание по коду в документе операция. Он толком не смог объяснить, что именно не понравилось экзаменатору, но код смотрят

Цитировать
Согласен, что есть лишние записи, это я увлекся, заполнил, как в табличке в задаче. Однако записи с заполненным кладовщиком и не заполненным подразделением у меня есть, т.е. ошибки нет. Задачи по исполнителю на начальной странице.
Решение прикрепляю.

В решении, которое я смотрел  подразделения заполнены у всех кроме двух бухгалтеров.

Julia2690

  • Пользователь
  • **
  • Сообщений: 29
  • ФИО: Юлия
Re: Билет 1. Спец по платформе V8
« Ответ #703 : Январь 24, 2018, 11:32:55 am »
Прорешала 1 билет! Застряла с БП( Не забывайте настраивать связку измерений РС Регистр адрессации и реквизитов Задачи Исполнителя!
Прикладываю свою базу, прошу критики)

fimanich

  • Пользователь
  • **
  • Сообщений: 49
Re: Билет 1. Спец по платформе V8
« Ответ #704 : Январь 24, 2018, 01:18:47 pm »
Посмотри и мое - будем в расчете  ;)
Что ж, я посмотрел, хорошее решение)
Мои комментарии:
СПР
1. НачислениеЗарплаты
Не понятно, зачем в начале метода рассчитать очистка движений:
Процедура Рассчитать()  Экспорт

   НачатьТранзакцию();
   
   Движения.ОН.Записывать = Истина;
   Движения.ДН.Записывать = Истина;
   Движения.ОН.Очистить();
   Движения.ДН.Очистить();

2. Логично убрать Подразделение из измерений РС СведенияОСотрудниках (перенести в реквизиты), т.к. по условиям задачи Каждый сотрудник может работать одновременно только в одном подразделении компании, то есть совместительство не допускается.
3. В документе НачислениеЗарплаты в методе Рассчитать() в запросе ты не упорядочиваешь по номеру строки, в результате порядок строк в наборе и в ТЧ может отличаться, а ты позиционируешься потом по номеру строки набора на строке ТЧ (в общем модуле Расчет).   
4. Расчет.Расчитать() - не желательно здесь читать набор записей. Желательно передать его из документа. Потому что сейчас так: ты в документе получил набор, записал. В общем модуле ты считал набор, записал. Потом в документе ты чистишь набор и записываешь. Но чистишь и записываешь не ту версию, которая была записана в общем модуле, а ту, которая была записана в документе. Т.е. работаешь с неактуальным набором. Я точно не уверен, но вроде могут быть блокировки из-за попытки записать неактуальный набор.
4. БП: Удобнее в форме бизнес-процесса сделать еще кнопку для обновления карты.
5. В приходной, насколько я понял, есть возможность оприходовать услуги
« Последнее редактирование: Январь 24, 2018, 01:23:56 pm от fimanich »