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

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

OLAP

  • Пользователь
  • **
  • Сообщений: 12
Re: Билет 1. Спец по платформе V8
« Ответ #900 : Февраль 20, 2019, 03:35:48 pm »
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

Проверял работоспособность данного варианта записи РН (Движение.Количество... и т.д.) - работает верно. Возможно есть какие-то нюансы. Уточните, почему не стоит или нельзя использовать данную конструкцию без приведения ее к переменной? ИМХО, смотрится кривовато, но на работоспособность-то не влияет?
« Последнее редактирование: Февраль 20, 2019, 03:39:16 pm от OLAP »

Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #901 : Февраль 21, 2019, 10:11:48 am »
Добрый день. Оцените плиз СПР.
Судите строго), буду рад критике.:) Спасибо
« Последнее редактирование: Февраль 21, 2019, 10:53:19 am от Tinton228 »


Adr1naline

  • Пользователь
  • **
  • Сообщений: 20
Re: Билет 1. Спец по платформе V8
« Ответ #902 : Февраль 21, 2019, 11:26:08 am »
Добрый день. Оцени плиз СПР.
Судите строго), буду рад критике.:) Спасибо

-Зачем хранить размер и факт в РР ОН? Размер получается из РС во время расчета, а факт, даже не используется нигде.
-Забавно, что у Сотрудника в РР ОН стоит галка запрета незаполненных значений, а в РР ДН не стоит, возможно стоит придерживаться какого-то единообразия.
-Чем обусловлена такая странная система хранения стажа? Разве не проще сразу в РС иметь измерения ОТ и ДО, а не выносить их в отдельный справочник?
-Условие "В форме документа "Начисление зарплаты" необходимо предусмотреть наличие кнопки "Рассчитать", при нажатии на которую, будет произведен предварительный расчет зарплаты. Результат расчета должен быть отражен в табличной части этой же формы не выполнено
- (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(СведенияОСтажеСотрудников.ДатаПринятияНаРаботу, &Текущаядата, ДЕНЬ) КАК ЧИСЛО(3, 0))) / 365 - 0.4999 + СведенияОСтажеСотрудников.СтажДоПринятия кажется неоправданным
-Разделение на 2 функции: РасчитатьОсновныеНачисления и РасчитатьДополнительныеНачисления даст больше гибкости и кажется более красивым вариантом
А так на первый взгляд, вроде все в порядке

Adr1naline

  • Пользователь
  • **
  • Сообщений: 20
Re: Билет 1. Спец по платформе V8
« Ответ #903 : Февраль 21, 2019, 11:35:54 am »
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

Проверял работоспособность данного варианта записи РН (Движение.Количество... и т.д.) - работает верно. Возможно есть какие-то нюансы. Уточните, почему не стоит или нельзя использовать данную конструкцию без приведения ее к переменной? ИМХО, смотрится кривовато, но на работоспособность-то не влияет?
Ага, я потом потестил, работает вроде нормально, так что я ошибся насчет работоспособности. Но смотрится действительно так себе)

_leon4uk_

  • Пользователь
  • **
  • Сообщений: 38
  • ФИО: Леонид
Re: Билет 1. Спец по платформе V8
« Ответ #904 : Февраль 21, 2019, 11:38:51 am »
Добрый день!

Начал готовиться к сдаче на специалиста.
Кому не тяжело, посмотрите моё решение пока только по ОУ и дайте комментарии.
Спасибо.
Почти уверен, что это:
        ?(КоличествоСписать = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Не будет работать правильно.

нужно было вот так?:
?(Движение.Количество = ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                        ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * Движение.Количество / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);
Я бы сказал, что скорее вот так: ?(КоличествоСписать >= ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток, ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток,
                     ВыборкаДетальныеЗаписиНоменклатура.СуммаОстаток * КоличествоСписать / ВыборкаДетальныеЗаписиНоменклатура.КоличествоОстаток);

Проверял работоспособность данного варианта записи РН (Движение.Количество... и т.д.) - работает верно. Возможно есть какие-то нюансы. Уточните, почему не стоит или нельзя использовать данную конструкцию без приведения ее к переменной? ИМХО, смотрится кривовато, но на работоспособность-то не влияет?
Ага, я потом потестил, работает вроде нормально, так что я ошибся насчет работоспособности. Но смотрится действительно так себе)

Вроде делал по рекомендациям.

Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #905 : Февраль 21, 2019, 12:07:43 pm »
Большое спасибо за оценку)
Добрый день. Оцени плиз СПР.
Судите строго), буду рад критике.:) Спасибо

-Зачем хранить размер и факт в РР ОН? Размер получается из РС во время расчета, а факт, даже не используется нигде.
-Забавно, что у Сотрудника в РР ОН стоит галка запрета незаполненных значений, а в РР ДН не стоит, возможно стоит придерживаться какого-то единообразия.
-Чем обусловлена такая странная система хранения стажа? Разве не проще сразу в РС иметь измерения ОТ и ДО, а не выносить их в отдельный справочник?
-Условие "В форме документа "Начисление зарплаты" необходимо предусмотреть наличие кнопки "Рассчитать", при нажатии на которую, будет произведен предварительный расчет зарплаты. Результат расчета должен быть отражен в табличной части этой же формы не выполнено
- (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(СведенияОСтажеСотрудников.ДатаПринятияНаРаботу, &Текущаядата, ДЕНЬ) КАК ЧИСЛО(3, 0))) / 365 - 0.4999 + СведенияОСтажеСотрудников.СтажДоПринятия кажется неоправданным
-Разделение на 2 функции: РасчитатьОсновныеНачисления и РасчитатьДополнительныеНачисления даст больше гибкости и кажется более красивым вариантом
А так на первый взгляд, вроде все в порядке
По размеру, факту, запрет незаполненых, тупо невнимательность) сделал за 30 минут как время появилось на работе.
По поводу хранения стажа: мне здесь писали что при реализации на одном регистре минус балл (ответ 889) на мой вопрос по способам хранения стажа. Такой механизм реализован на основании курса Белоусова. Или это не будет влиять на оценку? обидно из-за такой херни получить минус)
У меня последний архив актуальных билетов. там нету условия про кнопку рассчитать... билеты качал из темы актуальные билеты, пост от 17 января. Они неактуальные?
почему условие вам кажется не оправданным? Еще учитываем стаж накопленный за время работы в фирме. Или вы считаете это избыточно?




Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #906 : Февраль 26, 2019, 03:52:31 pm »
Добрый день. Просьба глянуть спр в основном механизм расчета в форме документа. Важно мнение, можно ли так решать? Или это будет "ГРУБОЕ" нарушение..?
P.s. Да если бы назвал реквизиты одинаково не было бы цикла в форме)

GK

  • Пользователь
  • **
  • Сообщений: 33
Re: Билет 1. Спец по платформе V8
« Ответ #907 : Март 10, 2019, 07:53:34 am »
Народ, подскажите по блокировке из оперативного учета, та что регистр себестоимости блокирует перед запросом выбирающим остатки по партиям.
сделал так по простому:
//
Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.Себестоимость");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
   ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура","Номенклатура");
   Блокировка.Заблокировать();       
//
А теперь думаю, не будет ли избыточна такая блокировка? она всю номенклатуру блокирует из ТЧ по сути, может как то по партиям блокировать которые в запрос попали? Как каноично делается чтобы не было ошибки на экзамене?

AlexAlex777

  • Пользователь
  • **
  • Сообщений: 20
Re: Билет 1. Спец по платформе V8
« Ответ #908 : Март 10, 2019, 04:20:30 pm »
Здравствуйте.
Возникли два вопроса по задаче оперативного учета:
1. При проведении реализации мы контролируем остатки регистра "ОстаткиНоменклатуры" по новой методике . Списание Себестоимости "ПартииТоваров" по старой.  Смотрю примеры решений и не вижу проверки достаточности количества для ПартииТоваров.  Т.е.  если для регистра  "ОстаткиНоменклатуры" количества хватило то для второго регистра только списываем по партиям без проверки количества.
Пример Хильды:


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

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
ОсталосьСписать = ВыборкаНоменклатура.Количество;
ВыборкаПартия = ВыборкаНоменклатура.Выбрать();

Пока ВыборкаПартия.Следующий() И ОсталосьСписать>0 Цикл
Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличестоОст);
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Если Списать = ВыборкаПартия.КоличестоОст Тогда
Движение.Сумма = ВыборкаПартия.СуммаОст;
Иначе
Движение.Сумма = Списать * ВыборкаПартия.СуммаОст / ВыборкаПартия.КоличестоОст;
КонецЕсли;
ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;
КонецЦикла;

2. В приходной накладной достаточно кода сформированного конструктором ? Т.е. не обязательно проверять на услугу?
Т.е. Проверка на услугу в ПРИХОДНОЙ накладной относиться к разряду красивостей? И если этого не будет то баллы не снимут?

Спасибо.

Bebi

  • Проверенный
  • ***
  • Сообщений: 165
Re: Билет 1. Спец по платформе V8
« Ответ #909 : Март 11, 2019, 09:13:59 am »
Здравствуйте.
Возникли два вопроса по задаче оперативного учета:
1. При проведении реализации мы контролируем остатки регистра "ОстаткиНоменклатуры" по новой методике . Списание Себестоимости "ПартииТоваров" по старой.  Смотрю примеры решений и не вижу проверки достаточности количества для ПартииТоваров.  Т.е.  если для регистра  "ОстаткиНоменклатуры" количества хватило то для второго регистра только списываем по партиям без проверки количества.
Пример Хильды:


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

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаНоменклатура = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНоменклатура.Следующий() Цикл
ОсталосьСписать = ВыборкаНоменклатура.Количество;
ВыборкаПартия = ВыборкаНоменклатура.Выбрать();

Пока ВыборкаПартия.Следующий() И ОсталосьСписать>0 Цикл
Списать = МИН(ОсталосьСписать, ВыборкаПартия.КоличестоОст);
Движение = Движения.Себестоимость.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаПартия.Номенклатура;
Движение.Партия = ВыборкаПартия.Партия;
Движение.Количество = Списать;
Если Списать = ВыборкаПартия.КоличестоОст Тогда
Движение.Сумма = ВыборкаПартия.СуммаОст;
Иначе
Движение.Сумма = Списать * ВыборкаПартия.СуммаОст / ВыборкаПартия.КоличестоОст;
КонецЕсли;
ОсталосьСписать = ОсталосьСписать - Списать;
КонецЦикла;
КонецЦикла;

2. В приходной накладной достаточно кода сформированного конструктором ? Т.е. не обязательно проверять на услугу?
Т.е. Проверка на услугу в ПРИХОДНОЙ накладной относиться к разряду красивостей? И если этого не будет то баллы не снимут?

Спасибо.
2. Ну вообще проверка нужна, но многие кто сдавал, обходились и без нее. Но мне кажется нужно, мы же не можем приходовать услугу. По поводу баллов не знаю. Может и снимут 0,5. Но это не точно. Лучше сделать проверку и всё, там 1 строчка кода, потратите 10 сек

GK

  • Пользователь
  • **
  • Сообщений: 33
Re: Билет 1. Спец по платформе V8
« Ответ #910 : Март 12, 2019, 06:42:08 pm »
Услуга в приходной отсекается параметрами выбора номенклатуры, остатки по партиям на минус нужно контролировать вместе с остатками по складу, считается ошибкой на экзамене хотя практического смысла нет

Здравствуйте.
Возникли два вопроса по задаче оперативного учета:

« Последнее редактирование: Март 12, 2019, 07:17:48 pm от GK »

Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #911 : Март 14, 2019, 06:31:57 pm »
Пилил ктонить документ смены учетной политике?

Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #912 : Март 15, 2019, 02:54:44 pm »
Ребят для расчета в форме документа... хочется использовать обработку проведения только с очисткой движений. Как думаете будут придирки? Меня смущает только    
Об = РеквизитФормыВЗначение("Объект");
   Движения = Об.Движения;
   об.ОбработкаПроведения(Ложь, Неопределено);
Параметры которые передаю в обарбокту проведения - думаю за счет них могут придраться. А так очень удобно. буквально 6 строчек кода и все работает.

Tinton228

  • Пользователь
  • **
  • Сообщений: 77
Re: Билет 1. Спец по платформе V8
« Ответ #913 : Март 20, 2019, 08:16:15 am »
Добрый день. На сколько критично если на прибылиУбытки создал субконто номенклатуру, только обороты. Просто для детализации сумм проданного товара? По идее там не должно быть аналитики просто общая сумма. Но с оборотным субконто грубая ошибка ?

Михаил Проходцев

  • Проверенный
  • ***
  • Сообщений: 219
Re: Билет 1. Спец по платформе V8
« Ответ #914 : Март 21, 2019, 01:42:56 am »
Добрый день. На сколько критично если на прибылиУбытки создал субконто номенклатуру, только обороты. Просто для детализации сумм проданного товара? По идее там не должно быть аналитики просто общая сумма. Но с оборотным субконто грубая ошибка ?

Хм, а зачем она там в этом билете? Вроде бы совсем не к чему.
По идее попадает под статью "Создана лишняя аналитика". Но наказание не такое строгое - 0.5 балла.