Имя: Пароль:
1C
1C 7.7
v7: ТИС: Доработка выбора партии в реализации
0 oxp
 
21.09.12
01:06
Хочу чтобы при определенных условиях сама выбиралась нужная партия (вместо хаотичного автовыбора).

Пишу в модуле (или в модуле формы, при записи):


ДокОсн = ДокОснование;
Если ДокОсн.Вид() = "ЗаказКвитанция" Тогда
   Если СокрЛП(ДокОсн.ТипРаботы) = "Субподряд" Тогда
       ДокПод = СоздатьОбъект("Документ");
       ДокПод.ВыбратьПодчиненныеДокументы(,,ДокОсн);
       Пока ДокПод.ПолучитьДокумент() = 1 Цикл
           Если ДокПод.Вид() = "ПоступлениеТМЦ" Тогда
               ВыбратьСтроки();
               Пока ПолучитьСтроку() = 1 Цикл
                   Если Номенклатура.Вид() = "Услуга" Тогда
                       Продолжить;
                   КонецЕсли;    
                   СпрПарт = СоздатьОбъект("Справочник.Партии");
                   СпрПарт.НайтиПоРеквизиту("ПриходныйДокумент",ДокПод,1);
                   Партия = СпрПарт.ТекущийЭлемент();                    
               КонецЦикла;                
               Прервать;
           КонецЕсли;    
       КонецЦикла;
   КонецЕсли;        
КонецЕсли;    

При проведении в форме, в поле "партия", пишется нужная партия.
Но при проведении вылезает комментарий "не распределилось", товар списывается из "не выбран".
Если мой код закомментить, и в документе выбрать партию вручную, все ок.
В чем может быть дело?
1 Злопчинский
 
21.09.12
01:09
автовыбор обозначает лишь одно - что партии выбираются согласно установленной настройке - или по фифо, или одна - пр среднему. никакого хаотичного автовыбора нет, это у вас к пятнице мозг засирается...
2 Злопчинский
 
21.09.12
01:10
> СокрЛП(ДокОсн.ТипРаботы) = "Субподряд"
двойка за реализацию. Очень сомневаюсь что ТипРаботы - строка. скорее перечисление, а у него в любое врем яможно сменить Представление.. и будет попа
3 Злопчинский
 
21.09.12
01:11
>  ДокПод.ВыбратьПодчиненныеДокументы(,,ДокОсн);
- может как бы хоть чуток ускорить выбор подчиненных, обозначив рамки.. ну там +/-30 дней от ДокОсн.ДатаДок, ане от времен совторени ямира?
4 Злопчинский
 
21.09.12
01:13
> СпрПарт = СоздатьОбъект("Справочник.Партии");
- может вынести из цикла перебора строк...?
5 Злопчинский
 
21.09.12
01:15
В типовой ТиС реквизит "ПриходныйДокумент" не имеет галок сортировки/отбора - где пометка в коде о том, что это неприменимо для типовой?
6 Злопчинский
 
21.09.12
01:16
> При проведении в форме, в поле "партия", пишется нужная партия.
- какой-то бред...
все таки приведенный код в МОДУЛЕ ФОРМЫ или в МОДУЛЕ ДОКУМЕНТА? мне имхается что в модуле формы и при проведении - не участвует
7 oxp
 
21.09.12
01:18
Про автовыбор я имел в виду, что он мне не подходит :)
Согласен по пунктам 2-4, но в данном случае не влияет на печальный результат.
пункт 5: в реквизите поставил галку сортировка
8 oxp
 
21.09.12
01:19
(6) да вроде без разницы, партия выбирается при проведении или при записи
не работает ни так, ни так
9 Злопчинский
 
21.09.12
01:19
> в поле "партия", пишется нужная партия.
партия чего? у тебя в документе реализации строка номер 23, товарФинтифлюшка, а СпрПарт.НайтиПоРеквизиту("ПриходныйДокумент",ДокПод,1); находишь партию которая относится к номенклатуре интимного салона "Член толщиной 22 см"... партия и у финтифлюшки и у члена - относится к приходному документу одному и тому же, но только к разным номенклатурным позициям
10 Злопчинский
 
21.09.12
01:20
короче тотальная двойка. но не все так плохо - бывает еще единица и ноль. а математики утверждают что есть еще и отрицательные числа
11 oxp
 
21.09.12
01:21
что исправить, чтоб выбиралась финтифлюшка?
12 Злопчинский
 
21.09.12
01:22
> СпрПарт.НайтиПоРеквизиту("ПриходныйДокумент",ДокПод,1);
- опасная конструкция!! докПодч - это не объект - это ВЫБОРКА. конкретный объект в 'nqj ds,jkhrt докподч.текущийДокумент()
.
в принципе возможно и так прокатит, но лучше такие замаскированные грабли не оставлять
13 Злопчинский
 
21.09.12
01:22
(11) указать, что в справочнике партий следует проводить посик по приходном удокументу в подмножестве партий, принадлежащийх финтифлюшке
14 Злопчинский
 
21.09.12
01:24
> ну и вообщем крайне желательно все-таки прежде чем пихать партию в реализацию - посмотреть - а не разобрали ли эту партию уже раньше (glheubt реализации, списания, возвраты)...
15 oxp
 
21.09.12
01:25
(14) ну это потом апгрейдить буду
(13) если образец подкинете, буду весьма благодарен
16 Злопчинский
 
21.09.12
01:26
>  Номенклатура.Вид() = "Услуга"
в типовй это не катит.
данный колд всегда вернет ложь. так как Номенклатура.Вид() вернет "Номенклатура"
17 Злопчинский
 
21.09.12
01:26
(15) Синтакс-помощник что ли продать? ;-) я - могу....
18 oxp
 
21.09.12
01:27
да у меня ж не типовая, раз галка сортировки есть :)
19 Злопчинский
 
21.09.12
01:29
(16) + вместо бредятины следуе т писать
.
Если (Номенклатура.ВидТМЦ = Перечисление.ВидыНоменклатуры.Услуга) ИЛИ (Номенклатура.ВидТМЦ = Перечисление.ВидыНоменклатуры.Работа)
20 Злопчинский
 
21.09.12
01:29
(18) наезд не засчитан ;-)
21 Злопчинский
 
21.09.12
01:30
(18) откройте в свободное время глобальный модуль и просто ЧИТАТЙТЕ его просто сверху вниз - найдете много полезного. просто почитав.. даже подряд
22 oxp
 
21.09.12
01:31
(15) так что, "использовать родителя", и отключить флаг глобального поиска?
23 Злопчинский
 
21.09.12
01:31
(15) жмакни в реализации колонку выбора партии и посмотри на экран, которые откроется пред ясные очи.
.
потом найди эту хрень в пофигураторе и посмотри как она получается.
24 Злопчинский
 
21.09.12
01:32
ой плин.. какого нахрен родителя... сюзерена надо юзать
25 oxp
 
21.09.12
01:33
(23) Пробовал!! Но не осилил :)
26 Злопчинский
 
21.09.12
01:35
и вообще непонятно какую ты партию будешь подставлять из своего алгоритма... - пока что никаких селекций и определения нужнйо партии по каким-то признакам не видно - в итоге будет выборка в физическом порядке создания пратий скорее всего...
27 oxp
 
21.09.12
01:37
(26) это почему? конкретное поступленье есть, к номенклатуре привяжу, защитой от косяков пока пренебрегаем...
28 Злопчинский
 
21.09.12
01:38
а! на основании поступления ТМЦ - ну ладно, тады пусть...
ещебы учесть чтобы по поступлению не привязывалось реализаций больше, чем поступление может вместить.. ;-)
29 Злопчинский
 
21.09.12
01:39
сюзерена - осилил?
30 oxp
 
21.09.12
01:41
(28) в идеальном случае считаем, что не привяжется.
(29) владельца-то? пока не пробовал. завтра уже наверное...
спасибо!
31 Злопчинский
 
21.09.12
01:42
32 Злопчинский
 
21.09.12
01:42
(30) расти большой и толстый
33 oxp
 
21.09.12
01:43
:)
34 Злопчинский
 
21.09.12
01:48
такое впечатление что ты 6л и 7м спал рядом с Ильей Муромцем...
35 oxp
 
21.09.12
01:50
в смысле, тоже богатырь?
36 Злопчинский
 
21.09.12
01:57
(35) та ни... в смысле что возраст большой, а уровень маленький ;-)