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

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

CeHbKA

  • Пользователь
  • **
  • Сообщений: 88
Re: Билет 1. Спец по платформе V8
« Ответ #390 : Март 19, 2017, 09:15:31 pm »
ППС. Еще более конкретный признак использования новой/старой методик в неоднозначных ситуациях. Как только у вас получается 2 методики - новую в топку.  :D
спасибо за разъяснения

Pumba

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Алексей
Re: Билет 1. Спец по платформе V8
« Ответ #391 : Март 19, 2017, 09:40:21 pm »
Доброго времени суток, Pumba!

посмотрел твоё решение - логика правильная,
2 регистра накопления, всё как положено,
сначала пишем, потом читаем, проверяем остатки,
если хватает - тогда уже списываем по партиям и т.д.

Хотел спросить у тебя - зачем выставлять свойство "БлокироватьДляИзменения"
в "Истина" для регистра "Партии" ?
Ты же его блокируешь через объект "БлокировкаДанных" ?

Вот фрагмент твоего кода:

   Движения.ПартииНоменклатуры.Записывать = Истина;
   ///Записываем пустой набор, чтобы если документ оперативно перепроводится в остатки не попали его же движения
   ///Блокируем для чтения по тем измерениям, по которым были движения
   Движения.ПартииНоменклатуры.БлокироватьДляИзменения  = Истина;
   Движения.ПартииНоменклатуры.Записать();
   
   ///Накладываем блокировку на чтение на регистр по номенклатуре из ТЧ
   Блокировка = Новый БлокировкаДанных;
   ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ПартииНоменклатуры");
   ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
   ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
   ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура", "Номенклатура");
   Блокировка.Заблокировать();

насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/


Pumba

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Алексей
Re: Билет 1. Спец по платформе V8
« Ответ #392 : Март 19, 2017, 09:45:41 pm »
ППС. Еще более конкретный признак использования новой/старой методик в неоднозначных ситуациях. Как только у вас получается 2 методики - новую в топку.  :D
Огромное спасибо, вот этим и предыдущим сообщением вы внесли полную ясность!

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Re: Билет 1. Спец по платформе V8
« Ответ #393 : Март 19, 2017, 10:07:09 pm »
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

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

Ребята, кто что думает по этому вопросу ?

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #394 : Март 19, 2017, 11:29:41 pm »
Вот мой вариант ОУ + БУ.
Комменты?

kvt500

  • Проверенный
  • ***
  • Сообщений: 159
  • ФИО: kvt500
Re: Билет 1. Спец по платформе V8
« Ответ #395 : Март 20, 2017, 06:00:58 am »
Вот мой вариант ОУ + БУ.
Комменты?
Вроде в оперативной части ошибка, но по txt не гадаю, выкладывай dt

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #396 : Март 20, 2017, 07:18:14 am »
Вот мой вариант ОУ + БУ.
Комменты?
Вроде в оперативной части ошибка, но по txt не гадаю, выкладывай dt

Спасибо! Вот dt-шка

Pumba

  • Пользователь
  • **
  • Сообщений: 16
  • ФИО: Алексей
Re: Билет 1. Спец по платформе V8
« Ответ #397 : Март 20, 2017, 08:35:18 am »
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

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

Ребята, кто что думает по этому вопросу ?
Блокировать надо, потому что иначе после нашей записи пустого набора эту номенклатуру может списать другой документ. И если наше проведение не состоится и транзакция откатится, то возникнет ошибка  - эта номенклатура будет списана двумя документами сразу.

freemaestro

  • Пользователь
  • **
  • Сообщений: 79
  • ФИО: Сергей А.
Re: Билет 1. Спец по платформе V8
« Ответ #398 : Март 20, 2017, 08:47:06 am »
насколько я понимаю, блокировать для изменения и последующая запись пустого набора блокируют по тем измерениям, которые были. А Блокировка данных блокирует по тем измерениям, по которым мы будем писать. Информацию взял отсюда http://expert.chistov.pro/public/195591/

Pumba, я вот задумался над чем: надо ли блокировать по тем измерениям, которые были?

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

Ребята, кто что думает по этому вопросу ?
Блокировать надо, потому что иначе после нашей записи пустого набора эту номенклатуру может списать другой документ. И если наше проведение не состоится и транзакция откатится, то возникнет ошибка  - эта номенклатура будет списана двумя документами сразу.

Доброго времени суток, Pumba !

Логика в твоих словах определенная есть.
Я, к примеру, делал проведение, исходя из этой статьи Павла Чистова:
http://expert.chistov.pro/public/195591/

Там ничего про блокировку старых движений не нашел...

kvt500

  • Проверенный
  • ***
  • Сообщений: 159
  • ФИО: kvt500
Re: Билет 1. Спец по платформе V8
« Ответ #399 : Март 21, 2017, 09:11:56 am »

Вот мой вариант ОУ + БУ.
Комменты?


В бухгалтерской задаче заполнил свои данные, посмотрите dt файл, там поступило товара на 20.00, а  списалось 20.01 - одна копейка зависла, как так?

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #400 : Март 21, 2017, 09:33:16 am »

Вот мой вариант ОУ + БУ.
Комменты?


В бухгалтерской задаче заполнил свои данные, посмотрите dt файл, там поступило товара на 20.00, а  списалось 20.01 - одна копейка зависла, как так?

Спасибо!
Но это не моя конфа. Продублирую еще раз ОУ+БУ+ЧастичноСПР

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #401 : Март 21, 2017, 09:36:40 am »
Вопрос, про БлокироватьДляИзменения и очистку движений обсуждался вот тут, может быть поможет кому:
http://forum.chistov.pro/index.php?topic=1999.msg22182#msg22182

kvt500

  • Проверенный
  • ***
  • Сообщений: 159
  • ФИО: kvt500
Re: Билет 1. Спец по платформе V8
« Ответ #402 : Март 21, 2017, 09:55:49 am »
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #403 : Март 21, 2017, 10:12:04 am »
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?
Да можно, это как вариант решения, к тому же избавился от условия в цикле проверки что это услуга, а именно обращение через точку:
Если Номенклатура.ЭтоУслуга Тогда продолжить КонецЕсли;

Kremlin

  • Пользователь
  • **
  • Сообщений: 37
Re: Билет 1. Спец по платформе V8
« Ответ #404 : Март 21, 2017, 10:52:57 am »
еще раз ОУ+БУ+ЧастичноСПР

Зачем в модуле приходной запрос? можно же просто обойти строки табличной части?

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