Вход | Регистрация


1С:Предприятие ::

Метки: 

Товар/Тара, но надо только долг по товару

Я
   a_aladdin
 
12.03.04 - 13:19
Всем привет. Есть комплексная конф.(4.4),Номенклатура - Товар и Тара(ящики)(тара оборотная, стоит денег, но долги по ней покупателей только количественные). Когда делается расход.накл., набивается соответственно товар и его тара.
Менеджерам нужно знать, скоко покупатели должны по товару.
Реализовать это получилось (у меня) токо след. методом - сначала запрос по рег. ПОКУПАТЕЛИ, потом запрос по рег.ПартииНаличие с поиском тары ну и далее  по результатам обоих запросов - вычисляется долг по товару и по таре раздельно.
НО ЭТО ОЧЕНЬ долго, т.к. приходится перебирать все док. с начала базы.
Кто-нибудь может предложить способ получше?
 
  Рекламное место пустует
   It is me
 
1 - 12.03.04 - 14:14
Заведи регистр, аналогичный покупателям и храни там только товар...
   a_aladdin
 
2 - 12.03.04 - 15:44
я уже думал об этом, но как быть с теми документами, которые уже введены?
перепровести все я не могу
   AlexMan
 
3 - 12.03.04 - 16:26
(0) Я наверное не понял чегото но почему нельзя долг покупателя взять как:  СводныйОстаток(,)???
   AlexMan
 
4 - 12.03.04 - 16:26
(0) Я наверное не понял чегото но почему нельзя долг покупателя взять как:  СводныйОстаток(,)???
   a_aladdin
 
5 - 12.03.04 - 18:44
а что же тогда указать в измерениях?
не получится..  :(
   skunk
 
6 - 12.03.04 - 19:17
(5)контрагента
   AlexMan
 
7 - 12.03.04 - 19:18
В измерениях указать Контрагента и применять СводныйОстаток(,) к регистру ПОКУПАТЕЛИ а по таре сделать отдельный регистр , перепровести всю базу и ты в ШОКОЛАДЕ.....
   a_aladdin
 
8 - 12.03.04 - 19:34
(7)Че-то я запутался..
- то СводныйОстаток, то новый регистр
Если мог новый регистр создать, зачем тогда этот СводныйОстаток нужен - все бы из запроса вытаскивал.

Перепровести базу не могу - только с начала этого года

(6)  нету там такого измерения - Контрагент
Договор есть, можно через него до контрагента добраться, но тары-то своей я все-равно не получу-токо долг общий (СуммаРуб)
   skunk
 
9 - 12.03.04 - 19:39
тогда я не понял, что ты спрашивал в (5)
   AlexMan
 
10 - 12.03.04 - 19:50
(8) Насчет регистра нового погоречился ,вспылил вобщем исправлюсь...
долг по товарам:
Конт=Регистр.Покупатели.Договор.Родитель
Долг=Регистр.Покупатели.Сумма
Должок=КонОст(Долг)
долг по таре: в регистре есть ресурс типа Справочник.Номенклатура?
 
  Рекламное место пустует
   AlexMan
 
11 - 12.03.04 - 19:51
(8) Что является признаком тары? как ты ее в регистре отличаеш?
   a_aladdin
 
12 - 12.03.04 - 19:55
(9) AlexMAn предложил СводныйОстаток(), я подумал, что мож че-то я не до конца в нем понимаю 
а он вишь - "отдельный регистр" :)

Думаю теперь - создам все-таки этот регистр под тару и как-нибудь с начала этого года к примеру надо будет прогнать  через него остатки долгов по таре - искуственно двинуть регистры по каждому покупателю. И документам соответствующим прописать его двигать..
   AlexMan
 
13 - 12.03.04 - 19:59
(12) читай (10) и (11)
   a_aladdin
 
14 - 12.03.04 - 20:05
(13) - не увидел вовремя (10,11 извини)
(10)нету номенклатуры (Комплексная 4.4) - в этом трабла
почему       Конт=Регистр.Покупатели.Договор.Родитель 
я всегда думал Конт=Регистр.Покупатели.Договор.Владелец

(11) Признак тары - Перечисление.ВидыНоменклатуры.Тара
либо Товар (там же еще и материалы - тупо сделано, ноэто так = к слову)
и еще есть рекизит свой (остался со старых времен)Тара=1 или Тара=0
   a_aladdin
 
15 - 12.03.04 - 20:07
+(10) Должок- будет долг товар+тара
   AlexMan
 
16 - 12.03.04 - 20:10
(14) действительно Владелец (конец рабочей недели сам понимаеш)
а из регистра ПартииНаличие ти инфу только по таре береш?
   a_aladdin
 
17 - 12.03.04 - 20:16
(16)инфу по таре с доками, потом ищу эти доки в первом запросе и разделяю долги

...говорят в восьмерке наконец-то предусмотрели что-то вроде подобных оборотных вещей,но мне от этого не легче...
   AlexMan
 
18 - 12.03.04 - 20:18
Я счас отойти должен буду позже .... короче если я все правильно понял из Рег Покупатели ты береш инфу : долг по товарам а из Рег Партии береш инфу :  долг по таре если это так тогда вроде знаю как решить проблему.......
   a_aladdin
 
19 - 12.03.04 - 20:24
да,  все прально
токо из рег Покупатели я беру ОБЩИЙ долг по клиенту с
группировкой по докам, ну и потом эти доки ищу в запросе по ПаРТИИНаличие и т .д.
Буду ждать - тогда я щас тоже отваливаю, утром почитаю, че предложишь
   AlexMan
 
20 - 12.03.04 - 23:40
Блин вроде я понял в чем трабл.... трабл в том что у тебя в регистре  ПартииНаличные тип значения реквизита МПЗ (или Номенклатура или еще как) "Справочник" т.е. не указано какой конкретно ... (у меня нет под рукой компл 4_4). так вот если ты пишеш в запросе например:
ПризнакТары=Регистр.ПартииНаличные.МПЗ.Тара
то запрос не выполняется (выдается ошибка не верно указанного пути)
Надо здесь использовать ВНЕШНЮЮ ФУНКЦИЮ  чтото вроде:
Номенклатурка=Регистр.ПартииНаличные.МПЗ
КолТары=Регистр.ПартииНаличные.Количество
Фунуция Кол=КонОст(ВзятьНеВзятьКоличество(Номенклатурка,КолТары))  
т.е. во внешнюю функцию посылаем саму номенклатуру (в общем случае это может быть и материал и что угодно) и количество которое в случае если номенклатура оказалась тарой можно вернуть вот и осталось только написать ПРИМЕРНЫЙ код функции:
Функция ВзятьНеВзятьКоличество(Ном,Кол)
результат=0;
Если Ном.Вид()="Номенклатура" Тогда
Если Ном.Тара=1 Тогда
результат=Кол;
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
в этом примере всю базу шерстить не надо достаточно взять в качестве начала и конца запроса РабочаяДата() или ТекущийДокумент() если в документе расчитываеш 
ну вроде все ....
P.S. возможно (скорей всего так оно и есть) мой ответ не точен но я думаю он натолкнет тебя на правильную мысль (добовлять новый регистр крайний случай)
   a_aladdin
 
21 - 13.03.04 - 11:17
(20) ПартииНаличие, Измерение Номенклатура = Справочник.Номенклатура (другого и быть и не может - товар, материалы и тары - все запихано в этот справочник)
Я что-то типа этого и делаю, только (как теперь понимаешь для этого внешняя функция не нужна) - тут много способов, я делая через статус партии (есть там такое измерение):
|Функция Увел_Тары = Расход(Сум_тар) когда((Опер = глКО.Продажа) и (Статус = глСП.Т_Тара));
|Функция Увел_Кол = Расход(Кол_Тара) когда((Опер = глКО.Продажа) и (Статус = глСП.Т_Тара));
|Функция Уменьш_Тары = Приход(Сум_тар) когда((Опер = глКО.ВозвратОтПокупателя) и (Статус = глСП.Т_Тара));
|Функция Уменьш_Кол = Приход(Кол_Тара)когда(((Опер = глКО.ВозвратОтПокупателя) и (Статус = глСП.Т_Тара));

"в этом примере всю базу шерстить не надо достаточно взять в качестве начала и конца запроса РабочаяДата() или ТекущийДокумент() если в документе расчитываеш 
ну вроде все .... "
- не догоняю опять - Мне нужно получить долг по таре конкретного клиента. Что мне даст РабочаяДата()? Мне же нужно в документы залезть, которые увеличивали и уменьшали остатки по таре.
Или я че-то не понял по (20)?
   AlexMan
 
22 - 15.03.04 - 10:01
Если все так как ты пишеш в (21) тогда зачем в запросе : Расход() Приход()?????? кстате фунункции вычисляются за период с начала базы как я понял а почему бы не испорльзовать КонОст() для этой функции Дата начала запроса не важна и можно запросто использовать только РабочаяДата()...
Зачем "лесть" в документы движения по таре не пишутся чтоли в регистры? если не пишутся тогда быстрей чем у тебя написан запрос ты врятли что то придумаеш...



Список тем форума
Рекламное место пустует   Рекламное место пустует
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует