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

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

Heckfy

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: Руслан
2.19
« : Август 27, 2010, 09:34:04 pm »
Мой вариант 2.19
Вложения:
2.19.dt
« Последнее редактирование: Август 27, 2010, 09:35:13 pm от Руслан »

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
2.19
« Ответ #1 : Август 29, 2010, 10:01:08 pm »
1. Думаю конечно не принципиально, но я не делал субконто партии на счете Товары. Сказано на сумму и количество товара, а про партии ничего, ну думаю тут не важно.
 2. Про признак учета, я тебе уже писал =)
 3. А вот по запросу в собственных нуждах ты уж точно переборщил=) Пакетные запросы и ЛевыеСоединения здесь точно не к чему! Главное параметры таблицы регистра задать:

Счет = ЗНАЧЕНИЕ(ПланСчетов.Управленческий.Материалы), , РАЗНОСТЬДАТ(Субконто2.Дата, &Дата, МЕСЯЦ) >= 1
 ИЛИ
 Субконто1.ВариантСписания = ЗНАЧЕНИЕ(Перечисление.ВариантыСписанияТовара.Частичное)
 4. получим товары, которые надо полностью списать + которые частично
 Посмотри мой вариант, у меня всего строчек 10 в запросе =)
 Да, ты еще про блокировку спрашивал, тут по видимому весь счет блокируем:
 

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

Вложения:
1695216.dt
« Последнее редактирование: Август 30, 2010, 08:04:02 am от Сергей »


Heckfy

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: Руслан
2.19
« Ответ #2 : Август 30, 2010, 02:22:10 pm »
Quote (SergTH000)
1. Думаю конечно не принципиально, но я не делал субконто партии на счете Товары. Сказано на сумму и количество товара, а про партии ничего, ну думаю тут не важно.

 Да. Просто так поставил для симметрии с материалами.
 
Quote (SergTH000)
2. Про признак учета, я тебе уже писал =)

 Исправил.
 
Quote (SergTH000)
3. А вот по запросу в собственных нуждах ты уж точно переборщил=) Пакетные запросы и ЛевыеСоединения здесь точно не к чему! Главное параметры таблицы регистра задать:

 У тебя не равномерно материалы списываются. Посмотри пример (я тебе там данные ввел). Сумма 50 на 3 мес. списывает: 17.22, 21.67, 11.11
 
Quote (SergTH000)
Блокировка = Новый БлокировкаДанных; ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.Управленческий"); ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; ЭлементБлокировки.УстановитьЗначение("Счет", ПланыСчетов.Управленческий.Материалы); Блокировка.Заблокировать();

 А вот этот механизм блокировки, мне кажется, следует использовать когда имеет место старый режим проведения документов 8.1
 Здесь нужно:
 Для конфигурации в целом всегда ставить Режимуправления блокировкой данных = Управляемый
 Для документа: Удаление движений = Удалять движения автоматически при отмене проведения
 В Обработке провдения:
 // регистр Управленческий
 Движения.Управленческий.Записать();
 Движения.Управленческий.БлокироватьДляИзменения = Истина;
 ...
 Движения.Управленческий.Записывать = Истина;
 Хотя это только мои догадки.

Добавлено (30.08.2010, 14:22)
 ---------------------------------------------
 Вытягивать дату партии через точку("ВыборкаДетальныеЗаписи.Партия.Дата" ), мне кажется, тоже не хорошо.
 У меня все данные получаюстя запросом без дальнейщих если.


Вложения:
RE_2.19.dt
« Последнее редактирование: Август 30, 2010, 02:31:19 pm от Руслан »

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
2.19
« Ответ #3 : Август 30, 2010, 05:48:14 pm »
Heckfy, Про блокировки ты запутался)
 Движения.Управленческий.БлокироватьДляИзменения = Истина; - только при новой методике. Т.е. система наложит блокировку только на те движения, которые ты записал.
 При старой надо наооборот как я в сообщении №2 написал.
 
Quote
У тебя не равномерно материалы списываются. Посмотри пример (я тебе там данные ввел). Сумма 50 на 3 мес. списывает: 17.22, 21.67, 11.11
Так, ща посмотрю, что то я не понял как надо то равномерно? Или ты имеешь ввиду, что копейки там зависают? В любом случае параметры указывать обязательно для вирт таблицы.
 Перечитал, у меня не правильные параметры для таблицы надо оставить только РАЗНОСТЬДАТ(Субконто2.Дата, &Дата, МЕСЯЦ) >= 1, тк это обязательное условие для списания при обоих вариантах.

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

« Последнее редактирование: Август 30, 2010, 10:17:08 pm от Сергей »

Heckfy

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: Руслан
2.19
« Ответ #4 : Август 31, 2010, 02:42:48 pm »
А вот такая запись:

Движения.Управленческий.БлокироватьДляИзменения = Истина;
 

 как я понимаю, полностью блокирует РегистрБухгалтерии.Управленчески?
 И все остальные пользователи На время выполнения ОбработкаПроведения "сосут чешки"? Т.е. не могут вносить в него изменения дабы наши - считанные данные оставались актуальными?

« Последнее редактирование: Август 31, 2010, 02:44:25 pm от Руслан »

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
2.19
« Ответ #5 : Август 31, 2010, 02:52:59 pm »
Синтаксис-помощник:
 
Quote
БлокироватьДляИзменения (LockForUpdate)
 Использование:
 Чтение и запись.
 Описание:
 Тип: Булево. Устанавливает режим, при котором в процессе записи набора будет установлена управляемая блокировка для всех комбинаций измерений в соответствии с записями набора записей. Имеет смысл использовать, если проверка итогов регистра выполняется после записи и заблокировать нужно именно те комбинации, по которым записываются записи. В этом случае можно не использовать объект БлокировкаДанных.
 При попытке использования в автоматическом режиме блокировки вызывает исключительную ситуацию. После успешной записи документа свойство устанавливается в Ложь у всех наборов записей.
 При отмене транзакции значение свойства восстанавливается в состояние до транзакции.

Heckfy

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: Руслан
2.19
« Ответ #6 : Август 31, 2010, 03:02:32 pm »
Да. Синтаксис помошник - это последнее место куда нужно смотреть! smile

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
2.19
« Ответ #7 : Август 31, 2010, 03:33:00 pm »
Heckfy,
 
Quote
Да. Синтаксис помошник - это последнее место куда нужно смотреть!

 Я думал наоборот dry
 Ты следующие задачи по бух решаешь? Что-то я тормознулся на 2.26 прям wacko не могу с субконто определиться...

Para_1987

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
2.19
« Ответ #8 : Октябрь 16, 2011, 03:37:12 pm »
Готово, вроде работает правильно. Буду рад любым замечаниям и критике biggrin
 Задача похожа на начисление амортизации в типовой бухгалтерии...ну общая идея такая же. Амортизация начисляется только в конце месяца и если ОС пробыло месяц и более...
 В бухе есть регистр сведений ПервоначальнаяСтоимостьОС, решил сделать так же, завел регистр ПервоначальнаяСтоимость(Изм: Номенклатура, Патрия; Рес: Стоимость) который поможет в определении равных долей. Движения в него делает приходная накладная, если стоит признак СОБСТВЕННЫЙ ТОВАР...ну а при списании цепляюсь к этому регистру по номенклатуре и партии, и вытаскиваю первоначальную стоимость...далее думаю всем понятно как делать...
 Надеюсь решил верно happy
Вложения:
Para_1987_2.19.dt
« Последнее редактирование: Октябрь 16, 2011, 04:19:44 pm от Вячеслав »

kitaets

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Виталий
2.19
« Ответ #9 : Ноябрь 30, 2011, 05:36:04 pm »
Я не знаю зачем здесь нужны: РС, Перчисления; - В условиях же ограничение МЕСЯЦ -; Все рассчеты выполнены в запросе. Думаю так проще... Не знаю, может и ошибаюсь...
Вложения:
2_19_Cv8.dt

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
2.19
« Ответ #10 : Март 04, 2012, 01:26:55 pm »
Мой вариант
Вложения:
sv_mikh_02_19.dt

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
2.19
« Ответ #11 : Март 09, 2012, 09:39:47 am »
Такой вариант решения задачи.
 Спасибо за комментарии и замечания.
Вложения:
kow1976_2.19.dt

3k_strelok

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
2.19
« Ответ #12 : Июнь 20, 2012, 01:01:17 pm »
kow1976, списание неверно, зачем использовать обороты и внутреннее соединение? нет списания количества, нет корректировки на вывод регистра в 0.

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
2.19
« Ответ #13 : Июнь 20, 2012, 06:02:37 pm »
3k_strelok,
 Спасибо.
 
Quote (3k_strelok)
списание неверно

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

3k_strelok

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
2.19
« Ответ #14 : Июнь 20, 2012, 08:13:42 pm »
kow1976, завтра перездача как вернусь приведу пример. Жаль я нашел этот сайт за 1 день до экзамена - много полезного для себя нашел.