|
Как реализовать партионый учет | ☑ | ||
---|---|---|---|---|
0
marat700
17.10.11
✎
14:53
|
Бухгалтерия переделанная V8. Необходимо реализовать партионный учет !
FIFO . .создал регистр накопления который обозвал , Партия1 , Измерения : Организация ,склад ,док-оприходывания ,номенклатура, Ресурсы: количество -цена ,, 1.В документе приход естественно создал при проведении движения по нему ! 2.Вопрос как реализовать выборку из этого регистра ( и движения по нему) при проведении расхода, запрос использовать или еще чо нить , может кто пример скинет ! |
|||
1
CTmuB
17.10.11
✎
14:58
|
Ресурсы: количество , сумма
|
|||
2
CTmuB
17.10.11
✎
14:59
|
Запрос остатков по регистру накопления
|
|||
3
marat700
17.10.11
✎
15:00
|
Пусть будет сумма , это не важно
|
|||
4
Alex_MA
17.10.11
✎
15:00
|
(1)документ забыл
|
|||
5
Alex_MA
17.10.11
✎
15:00
|
(4)+в измерения
|
|||
6
marat700
17.10.11
✎
15:01
|
док оприходывания в измерениях
|
|||
7
marat700
17.10.11
✎
15:01
|
конструктором запрос зафигачить ?
|
|||
8
shuhard
17.10.11
✎
15:02
|
(0) открой типовую УТ 10.3, велокат давно сделан
|
|||
9
marat700
17.10.11
✎
15:03
|
Там наверно так все перевернуто , что хрен что поймешь !
|
|||
10
marat700
17.10.11
✎
15:05
|
может кто нить скинуть пример запроса ,
|
|||
11
ptiz
17.10.11
✎
15:07
|
(10) Опиши сначала этот алгоритм без кода, обычными словами. А потом и сам поймешь.
|
|||
12
aleks-id
17.10.11
✎
15:08
|
>>док оприходывания в измерениях
шедеврально |
|||
13
marat700
17.10.11
✎
15:12
|
а что ты предлагаешь ?
|
|||
14
shuhard
17.10.11
✎
15:13
|
(12) не поверишь,
в типовых так и сделано |
|||
15
rinatru
17.10.11
✎
15:14
|
блин... задачка из Спеца... можно было бы и решить самому для разнообразия
|
|||
16
aleks-id
17.10.11
✎
15:15
|
(14) прям так и сделано? >>док оприходЫЫЫЫЫЫвания ???? може вы еще и пробЫЫЫваете???
|
|||
17
aleks-id
17.10.11
✎
15:16
|
(13) я предлагаю док оприходОвания. и учить русский.
|
|||
18
marat700
17.10.11
✎
15:21
|
Умнее есть мысли ?
|
|||
19
Eugene_life
17.10.11
✎
15:23
|
(18) Можно построить партионный учет и без регистра. При списании ищешь поступление товара в документах.
|
|||
20
rinatru
17.10.11
✎
15:24
|
(19 ) вот это шедевр.... просто супер
|
|||
21
marat700
17.10.11
✎
15:25
|
Без регистра будет медленнее на порядок ,
|
|||
22
marat700
17.10.11
✎
15:25
|
Да и удобнее на порядок .!
|
|||
23
marat700
17.10.11
✎
15:26
|
У кого нить есть пример запроса .1
|
|||
24
rinatru
17.10.11
✎
15:27
|
// расчет стоимости МПЗ при списании методом FIFO
ВыборкаЗапроса = Запасы.ПолучитьСтоимостьТоваров(ЭтотОбъект); Пока ВыборкаЗапроса.Следующий() Цикл Если ?(ВыборкаЗапроса.Количество > ВыборкаЗапроса.КоличествоОстаток, Истина, Ложь) Тогда Сообщить("Не хватает партий"+ВыборкаЗапроса.Номенклатура + ". Необходимо "+ВыборкаЗапроса.Количество + ". В наличии "+ ВыборкаЗапроса.КоличествоОстаток); Отказ = Истина; Продолжить; КонецЕсли; // если хватает, то начинает перебирать ОстатокКСписанию = ВыборкаЗапроса.Количество; ВыборкаПартий = ВыборкаЗапроса.Выбрать(); Пока ВыборкаПартий.Следующий() Цикл Если ОстатокКСписанию <= 0 Тогда Продолжить; // смысла нет дальше бегать. все списали КонецЕсли; Если ВыборкаПартий.КоличествоОстаток = 0 Тогда Продолжить; // продолжим. возможно из-за проведения задним числом сбилась последовательность, // и остатки есть по другим партиям // отгрузку клиенту из-за этого останавливать нельзя, а последовательность можно восстановить КонецЕсли; СписатьКоличество = Мин(ОстатокКСписанию, ВыборкаПартий.КоличествоОстаток); Если ОстатокКСписанию < ВыборкаПартий.КоличествоОстаток Тогда Стоимость = СписатьКоличество * ( ВыборкаПартий.СтоимостьОстаток / ВыборкаПартий.КоличествоОстаток ); Иначе Стоимость = ВыборкаПартий.СтоимостьОстаток; КонецЕсли; // регистр ОстаткиНоменклатуры Расход ДвиженияПартий = Движения.ПартииТоваровНаСкладах.Добавить(); ДвиженияПартий.ВидДвижения = ВидДвиженияНакопления.Расход; ДвиженияПартий.Период = Дата; ДвиженияПартий.Регистратор = Ссылка; ДвиженияПартий.Номенклатура = ВыборкаПартий.Номенклатура; ДвиженияПартий.ДокументОприходования = ВыборкаПартий.ДокументПоступления; ДвиженияПартий.Количество = СписатьКоличество; ДвиженияПартий.Стоимость = Стоимость; ОстатокКСписанию = ОстатокКСписанию - ВыборкаПартий.КоличествоОстаток; КонецЦикла; КонецЦикла; |
|||
25
marat700
17.10.11
✎
15:29
|
Спасибо щаса гляну , думаю привинчу !
|
|||
26
shuhard
17.10.11
✎
15:30
|
(24) классная наёбка
|
|||
27
rinatru
17.10.11
✎
15:31
|
(26) в чем? что выборку не выложил?
|
|||
28
shuhard
17.10.11
✎
15:32
|
(27) ясен пень
ТС не умеет строить запросы сворачивать ТЧ работать с моментом |
|||
29
rinatru
17.10.11
✎
15:34
|
(28) :) согласен. хотя стаж у ТС приличный... клавиатуру на Мисте 4 года протирает
|
|||
30
Nutsiiam
17.10.11
✎
15:37
|
(0) >>Бухгалтерия переделанная V8. Необходимо реализовать партионный учет !
А просто метод списание мпз в политике учета если изменить? Это самописка, или на базе типовой? Если типовой - то какой? 1.5, 1.6, 2.0 - это последние года наверное за 4. Там везде реализован партионный учет при соотв. настройке. |
|||
31
marat700
17.10.11
✎
15:40
|
Документ типовой , но схема проведения реализована своя !
|
|||
32
Nutsiiam
17.10.11
✎
15:42
|
(31) понятно. Успехов! :)
|
|||
33
marat700
17.10.11
✎
15:43
|
ты код из УТ выдернул ?
|
|||
34
rinatru
17.10.11
✎
15:47
|
(33) .. это я в 2005 году готовился к Спецу по Платформе в пустой конфигурации. в типовых код навороченный, да и сейчас я уже не так написал бы, но для примера - держи. учись
|
|||
35
Nutsiiam
17.10.11
✎
15:48
|
(33) открой бухгалтерию и посмотри как списывается при фифо товар. Там элементарнейший запрос, если чо :)
|
|||
36
marat700
17.10.11
✎
15:49
|
Сдал чтоли )?
|
|||
37
rinatru
17.10.11
✎
15:49
|
че ли да.. в 2006 году.
|
|||
38
marat700
17.10.11
✎
15:51
|
текст запроса тогда кинь )
|
|||
39
rinatru
17.10.11
✎
15:52
|
не не... хватит. думай сам
|
|||
40
marat700
17.10.11
✎
15:52
|
Лана )
|
|||
41
marat700
17.10.11
✎
15:53
|
конструкотром попробую
|
|||
42
marat700
17.10.11
✎
15:54
|
Я же инженер-системотехник )
|
|||
43
Nutsiiam
17.10.11
✎
16:02
|
(42) какой код специальности, инженер-системотехник? :)
|
|||
44
GROOVY
17.10.11
✎
16:02
|
||||
45
rinatru
17.10.11
✎
16:09
|
лови, инженер-системотехник
Функция ПолучитьСтоимостьТоваров(НашДокумент) Экспорт ВремяСреза = НашДокумент.МоментВремени(); Товары = НашДокумент.Товары.Выгрузить(); СписокТоваров = Товары.ВыгрузитьКолонку("Номенклатура"); Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВложенныйЗапрос.Количество КАК Количество, | ЕстьNULL(ПартииТоваровНаСкладахОстатки.КоличествоОстаток,0) КАК КоличествоОстаток, | ЕстьNULL(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток, 0) КАК СтоимостьОстаток, | ЕстьNULL(ПартииТоваровНаСкладахОстатки.ДокументОприходования,0) КАК ДокументПоступления |ИЗ | (ВЫБРАТЬ | РеализацияТоваровТовары.Номенклатура КАК Номенклатура, | РеализацияТоваровТовары.Количество КАК Количество | ИЗ | Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары | ГДЕ | РеализацияТоваровТовары.Ссылка = &Ссылка | |) КАК ВложенныйЗапрос | |ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ВремяСреза, Номенклатура В (&СписокНоменклатуры)) КАК ПартииТоваровНаСкладахОстатки | ПО ВложенныйЗапрос.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура | |ДЛЯ ИЗМЕНЕНИЯ | РегистрНакопления.ПартииТоваровНаСкладах.Остатки | |УПОРЯДОЧИТЬ ПО | Номенклатура, | ПартииТоваровНаСкладахОстатки.ДокументОприходования | |ИТОГИ | МИНИМУМ(Количество), | СУММА(КоличествоОстаток) |ПО | Номенклатура |"; запрос.УстановитьПараметр("ВремяСреза", ВремяСреза); запрос.УстановитьПараметр("СписокНоменклатуры", СписокТоваров); запрос.УстановитьПараметр("Ссылка", НашДокумент.Ссылка); Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Возврат Выборка; КонецФункции |
|||
46
marat700
18.10.11
✎
11:38
|
2201
|
|||
47
Maxus43
18.10.11
✎
11:50
|
(46) на 2202 бы учился, почти 1сная специальность)
|
|||
48
marat700
20.10.11
✎
12:04
|
А чо там ? АСУ ?
|
|||
49
marat700
20.10.11
✎
12:05
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Партии1Остатки.Номенклатура КАК Номенклатура, | Партии1Остатки.СчетУчета, | Партии1Остатки.Организация, | Партии1Остатки.Склад, | Партии1Остатки.ДокументОприходования, | Партии1Остатки.КоличествоОстаток, | Партии1Остатки.ЦенаОстаток |ИЗ | РегистрНакопления.Партии1.Остатки( &Дата1) КАК Партии1Остатки |ГДЕ | Партии1Остатки.Номенклатура = &ВыбНомен | И Партии1Остатки.Организация = &ВыбОрг | И Партии1Остатки.Склад = &ВыбСклад | |СГРУППИРОВАТЬ ПО | Партии1Остатки.Номенклатура, | Партии1Остатки.СчетУчета, | Партии1Остатки.Организация, | Партии1Остатки.Склад, | Партии1Остатки.ДокументОприходования, | Партии1Остатки.КоличествоОстаток, | Партии1Остатки.ЦенаОстаток | |УПОРЯДОЧИТЬ ПО | Номенклатура |ИТОГИ ПО | Номенклатура " ; Запрос.УстановитьПараметр("ВыбНомен", ВыбНомен); Запрос.УстановитьПараметр("ВыбОрг", ВыбОрг); Запрос.УстановитьПараметр("Дата1", Дата1); Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад); Результат = Запрос.Выполнить(); ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаНоменклатура.Следующий() Цикл // Вставить обработку выборки ВыборкаНоменклатура ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл // Вставить обработку выборки ВыборкаДетальныеЗаписи КонецЦикла; КонецЦикла; |
|||
50
marat700
20.10.11
✎
12:05
|
Это выдал конструтор , сам запрос работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |