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

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

GK

  • Пользователь
  • **
  • Сообщений: 33
1.13
« Ответ #135 : Апрель 13, 2012, 10:52:53 pm »
Уважаемый sv_mikh, посмотрел ваше решение, не понял немного, это по старой методике проведение? т.е. у вас сначала запрос с вычислением остатков и потом запись?

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
1.13
« Ответ #136 : Апрель 13, 2012, 11:19:43 pm »
Quote (GK)
Уважаемый sv_mikh, посмотрел ваше решение, не понял немного, это по старой методике проведение? т.е. у вас сначала запрос с вычислением остатков и потом запись?

 Скорее всего решение выложенное в ветке было еще по старой методике. Правильно решать эту задачу по новой.
« Последнее редактирование: Апрель 13, 2012, 11:19:54 pm от Михайлов Сергей Валерианович »


Toxicoff

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Кирилл
1.13
« Ответ #137 : Апрель 18, 2012, 11:51:44 pm »
Честно скажу, не осилил всю ветку темы... Но увидел про новую методику.

 Думаю, стоит ли использовать её в данной задаче?

 Что лучше,
 1) запрос + запись + запрос + откат транзации (если фейл) (новая методика)
 2) Запрос(жирнее) + откат транзации (если фейл) (старая методика)

 Что то я склоняюсь что всё таки старая методика результативнее, в данном случае...

 Никто с замером не тестировал? smile
« Последнее редактирование: Апрель 18, 2012, 11:52:57 pm от Кирилл »

GK

  • Пользователь
  • **
  • Сообщений: 33
1.13
« Ответ #138 : Апрель 19, 2012, 11:30:21 am »
Quote (Toxicoff)
Что лучше,
 1) запрос + запись + запрос + откат транзации (если фейл) (новая методика)
 2) Запрос(жирнее) + откат транзации (если фейл) (старая методика)


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

Teriban

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Юрий
1.13
« Ответ #139 : Апрель 19, 2012, 02:14:43 pm »
Делал по новой методе, немного помучался с остатками по стелажам...
Вложения:
1_13_v1.dt

Toxicoff

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Кирилл
1.13
« Ответ #140 : Апрель 20, 2012, 09:41:46 am »
сделал по старой...
 Без отчетов) на блокировки не смотрите - лень пока что smile
Вложения:
toxicoff_1.13.dt

Matcoder

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: алекс
1.13
« Ответ #141 : Май 03, 2012, 07:44:58 pm »
По старой и без отчетов? А че смотреть-то? Там тогда делать нечего... Самая фишка в отчете
 Вот мое решение.
Вложения:
0431139.dt

Para_1987

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
1.13
« Ответ #142 : Май 16, 2012, 10:53:50 am »
Всем привет. Попалась эта задача на экзамене. В общем не зачли. Конечно и других глюков нашли, но не в этом дело. Вопрос: кто как организовывал уникальность детали в стелажах? я сделал регистр сведений
 Измерение: Деталь
 Ресурсы: Стеллаж, Количество.
 При продаже стеллажа, необходимо списывать комплектующие. Вот запросом я соединяюсь к регистру сведений к ресурсу Стеллаж, при условии что номенклатура из ТЧ - это стеллаж и получаю состав стеллажа, далее как обычно, списываю.

 Результат экзамена:
 ОУ: неверно организовано хранение информации о составе стеллажа, регистры предназначены для быстрого получения информации по измерениям, а не ресурсам; блокировки при проведении РН установлены неверно, блокируется по стеллажам, а списываются детали;

 2. Как корректно то установить блокировки по деталям? Еще один запрос?

Добавлено (16.05.2012, 10:53)
---------------------------------------------
смысл ошибки я понял так: Нельзя устанавливать соединение к таблице по ресурсу. Ведь реально регистр нам возвращает ресурсы по комбинации измерений, получается нарушено предназначение регистра))))


kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.13
« Ответ #143 : Май 16, 2012, 04:06:02 pm »
Para_1987,
 Тогда Измерение: Деталь, Стеллаж
 И если нужна проверка по деталям то в модуле объекта РС:
 
Code

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

justaria

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: justaria
1.13
« Ответ #144 : Май 21, 2012, 02:59:13 pm »
Подскажите, плиз, а зачем у baksha_bni блокировка на регистр сведений? и в приходной, и в расходной.. Я чего-то не понимаю? wacko На РН остаткиНоменклатуры-то понятно почему блока нет, он сказал, что забыл поставить БлокироватьДляИзменения.. А вот с РС что-то совсем не въеду. Первый раз такое вижу. Может кто пояснить? Это что получается, если мы не поставим блокировку: пока мы считываем состав комплектующих для стеллажа, вот именно в этот самый момент.. меняются "ГОСТ"ы каким-то из пользователей и хоп! тот же стеллаж уже состоит из других зап.частей - было 5 цилиндров, стало 4 (у нас ведь всегда лишняя деталь есть во всем при сборке) или были в составе болты, а стали гвозди.. и наш стеллаж уже не стеллаж, а груда комплектующих? ИМХО, блокировка на РС - бред. Может я всё-таки чего-то не понимаю? Спецы, выскажитесь, пожалуйста, по этому поводу. question

Gyd

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.13
« Ответ #145 : Май 22, 2012, 08:48:45 am »
Quote (justaria)
а зачем у baksha_bni блокировка на регистр сведений? и в приходной, и в расходной

 Он перестраховался. В рамках экзамена блокировать РС не нужно.

koncull

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: Константин
1.13
« Ответ #146 : Июнь 04, 2012, 10:03:29 pm »
Quote (Para_1987)
2. Как корректно то установить блокировки по деталям?

 Я сделал так :
 
Code

  ЭлементБлокировкиКомплект = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
  ЭлементБлокировкиКомплект.ИсточникДанных = СписокНоменклатуры;
  ЭлементБлокировкиКомплект.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
  Блокировка.Заблокировать();
 


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

Pavlyk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: pavel
1.13
« Ответ #147 : Июнь 05, 2012, 09:33:54 pm »
Quote (kow1976)
Para_1987,
 Тогда Измерение: Деталь, Стеллаж

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

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.13
« Ответ #148 : Июнь 06, 2012, 02:39:57 am »
Pavlyk,
 Проверку можно выполнить программно.

Pavlyk

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: pavel
1.13
« Ответ #149 : Июнь 06, 2012, 11:32:50 am »
Quote (kow1976)
Pavlyk,
 Проверку можно выполнить программно.

 Можешь выложить базу, или код, а то я что-то не совсем понял.