Автор Тема: Задача 1.22  (Прочитано 32504 раз)

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

ErrorPro

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вениамин
Задача 1.22
« Ответ #30 : Ноябрь 30, 2011, 03:08:21 pm »
Всем привет, прокомментируйте мое решение пожалуйста. smile
Вложения:
1Cv8ErrorPro.dt

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 1.22
« Ответ #31 : Декабрь 16, 2011, 08:26:26 pm »
Решал очень быстро так что буду рад если ошибок не найдете cool
Вложения:
LEOON_1.22.dt


Альберт

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Альберт
Задача 1.22
« Ответ #32 : Февраль 07, 2012, 01:26:38 pm »
Quote (LEOON)
Решал очень быстро так что буду рад если ошибок не найдете


 LEOON, у конфигурации установлен Режим управления блокировкой данных: Автоматический

 В чем преимущество кода:

 
Code
Если Нехватка > 0 Тогда
  Отказ = Истина;
  Сообщение = Новый СообщениеПользователю;
  Сообщение.Текст = "Не хватает товара """+ВыборкаНоменклатура.Номенклатура+""", нехватка составляет: "+Нехватка+"";
  Сообщение.Поле = "СписокНоменклатуры["+(ВыборкаНоменклатура.НомерСтроки-1)+"].Номенклатура";
  Сообщение.УстановитьДанные(ЭтотОбъект);
  Сообщение.Сообщить();
 КонецЕсли;
 Если Отказ Тогда
  Продолжить;
 КонецЕсли;
   

 перед этим:

 
Code
Если Нехватка > 0 Тогда
  Отказ = Истина;
  Сообщение = Новый СообщениеПользователю;
  Сообщение.Текст = "Не хватает товара """+ВыборкаНоменклатура.Номенклатура+""", нехватка составляет: "+Нехватка+"";
  Сообщение.Поле = "СписокНоменклатуры["+(ВыборкаНоменклатура.НомерСтроки-1)+"].Номенклатура";
  Сообщение.УстановитьДанные(ЭтотОбъект);
  Сообщение.Сообщить();
  Продолжить;
 КонецЕсли;


 в Вашем решении?

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 1.22
« Ответ #33 : Февраль 07, 2012, 09:41:58 pm »
Quote (Альберт)
LEOON, у конфигурации установлен Режим управления блокировкой данных: Автоматический

 Не знал что это ошибка, считал что только если используешь БлокироватьДляИзменения(впрочем список от 1с проглядывал мельком).
 ***
 Для каждой, новой номенклатуры не факт, что будет нехватка. А отказ будет установлен раз и на всю транзакцию.
 Так что мы по каждой номенклатуре, получим сообщения о нехватке, а к формированию движений не перейдем.

alexey55

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.22
« Ответ #34 : Февраль 18, 2012, 05:20:09 pm »
Мое решение. если у склада не указан приоритет тогда Отказ = Истина, и сообщение об установке приоритета
Вложения:
alexey55-1.22.dt

Hawk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: hawk
Задача 1.22
« Ответ #35 : Март 04, 2012, 10:04:55 pm »
alexey55, в целом хорошо в отчете только дату задать нельзя это плохо

Hawk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: hawk
Задача 1.22
« Ответ #36 : Март 04, 2012, 10:06:05 pm »
мой
Вложения:
11.dt

Orkrist

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Игорь
Задача 1.22
« Ответ #37 : Март 19, 2012, 02:54:22 am »
У многих в решении при получении остатков присутствует такая строчка:
 "Запрос.УстановитьПараметр("МоментВремени", ?(Режим = РежимПроведенияДокумента, Неопределено, МоментВремени()));"

 Понимаю, что если использовать такой вариант задания параметра, то ускоряется процесс получения остатков при оперативном проведении. Есть ли еще какие-нибудь преимущества? Обязательно ли на экзамене использовать такой вариант?

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 1.22
« Ответ #38 : Март 19, 2012, 06:14:31 am »
Quote (Orkrist)
У многих в решении при получении остатков присутствует такая строчка:
 "Запрос.УстановитьПараметр("МоментВремени", ?(Режим = РежимПроведенияДокумента, Неопределено, МоментВремени()));"

 Понимаю, что если использовать такой вариант задания параметра, то ускоряется процесс получения остатков при оперативном проведении. Есть ли еще какие-нибудь преимущества? Обязательно ли на экзамене использовать такой вариант?


 Других задач, у данного куска кода нет. Обязательно ли использовать? Наверно нет. Наверно можно просто МоментВремени() писать для обоих видов проведения. Но зачем наступать на микрограбли? Если на накажут, то не сильно... Но куча таких замечаний может выйти боком.

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 1.22
« Ответ #39 : Апрель 06, 2012, 12:09:24 pm »
Ещё такое вот решение
Вложения:
nodalt_1_22.dt

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 1.22
« Ответ #40 : Апрель 06, 2012, 06:11:38 pm »
Quote (nodalt)
Ещё такое вот решение
 Прикрепления: nodalt_1_22.dt(153Kb)


 три запроса - не оправдано.

Добавлено (06.04.2012, 18:11)
---------------------------------------------
ещё один момент - если на складе (который в шапке) хватает номенклатуры, тогда остатки по другим складам выбирать не нужно.


nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 1.22
« Ответ #41 : Апрель 06, 2012, 06:58:46 pm »
safer,
 по поводу склада согласен, но не стал думать над оптимизацией.
 по поводу трёх запросов тоже многовато ... А альтернативу предложить можешь?

 Кстати, один лишний запрос вынужденный из-за условия задачи ... Можно было бы конечно сначала записать движения, а потом прочитать их, но это тоже не оптимально. На мой взгляд приемлемое решение.
 Буду рад увидеть вариант лучше
« Последнее редактирование: Апрель 06, 2012, 07:03:22 pm от Копейкин Дмитрий Николаевич »

old_guest

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Гость
Задача 1.22
« Ответ #42 : Апрель 06, 2012, 07:03:10 pm »
nodalt, второй и третий объедини. Построй один пакетный.

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
Задача 1.22
« Ответ #43 : Апрель 06, 2012, 07:04:28 pm »
Да, про пакет как раз подумал ... У кого-то недавно видел в решении (сам ещё не использовал) Попробую как-нибудь smile

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 1.22
« Ответ #44 : Апрель 08, 2012, 06:52:28 pm »
Мой вариант.
Вложения:
sv_mikh_01_22.dt