Имя: Пароль:
1C
1C 7.7
v7: Помогите разобраться с вводом на основании
,
0 asder117
 
26.07.16
10:43
Доброго времени суток коллеги. Попалась мне тут бухия 77 под руку и встал в ступор. Подскажите как можно сделать ввод документа на основании (на основании отгрузки - счф) при этом номер и дата мне нужны свои такие как у доков отгрузки. Заранее спасибо
1 Звездец
 
26.07.16
10:47
о друг, тут все сложно, это ж конфигуратор надо запустить и посмотреть как в аналогичных сделано документах. А вообще ты сейчас серьезно? в 77 там и младенец разберется, это не запутанное БСП. В интернете куча примеров с кодом
2 Остап Сулейманович
 
26.07.16
10:49
(0) Автоматическая нумерация документов никак не зависит от способа ввода документа. На основании, непосредственно или как нибудь еще.
Ну а так вотЪ:
В процедуре ВводНаОсновании()
НомерДок = ДокументОснование.НомерДок;
ДатаДок = ДокументОснование.ДатаДок;
3 Злопчинский
 
26.07.16
10:49
дерево-счф-правоймышью-форма документа -закладка модуль документа, ищешь процедуру ВводНаОсновании(), смотришь логику

где нить в конце процедуры ПЕРЕД ВОЗВРАТОМ, ...! (а то впихнешь по логике после возврата и будешь мычать оно не работает, семерка тупая)

ДатаДок = ДокОснование.ДатаДок;
НомерДок = ДокОснование.НомерДок;
4 Злопчинский
 
26.07.16
10:50
(2) Опередун!
5 Остап Сулейманович
 
26.07.16
10:50
(4) Я бы даже сказал опередист. И еще имею несколько синонимов.
6 Злопчинский
 
26.07.16
10:51
(1) "..в 77 там и младенец разберется.."
восьмерочники только к 16 годам от памперсов отвыкают, а ты ".. младенец разберется"
7 Злопчинский
 
26.07.16
10:51
(5) Это мы так как-то в глубоких 90-ых выясняли как назвать черелвека маньячно играющего в тетрис - синонимов 15 набрали...
8 Масянька
 
26.07.16
10:54
(0) А что в бухии на основании реализации не вводится СФ?
Если не вводится - открой ТиС и посмотри. Там точно вводится на основании.
9 asder117
 
26.07.16
10:54
(1) Да смотрел просто 8 глаза замылила
(3)  Спасибо в принципе я так и начал делать.
(6) Отвык уже давно а вот закавыки бывают
Всем спасибо попробую
10 asder117
 
26.07.16
10:55
(8) Мне надо групповую обработку такую состряпасть т.е. ввод на основании воткнуть в цикл по докам
11 Злопчинский
 
26.07.16
10:56
галактеко волнуетсо, отпиши как победишь Звезду смерти
12 Злопчинский
 
26.07.16
10:57
(10) ой блин. напиши плугин в 10 строк для универсального подбора объектов.
13 Злопчинский
 
26.07.16
10:58
14 Масянька
 
26.07.16
11:00
(10) И? В чем проблема? В лени?
15 asder117
 
26.07.16
11:00
(12) вот как раз и сочиняю. Задачу навернули. Сначала на основании отгрузки сделать счф выданный, подом собрать по контрагентом и сделать счф полученный, а потом в них ешще и записать номера сф выданный в поле счф коммитента. Во вроде выговорил....
16 asder117
 
26.07.16
11:01
(14) Не в чем просто надо было вспомнит и тута помогли
17 Злопчинский
 
26.07.16
11:01
(14) ну ты злобная
18 Масянька
 
26.07.16
11:03
(17) Я - справедливая (С) :))))
(15) А полученные-то зачем делать?
19 asder117
 
26.07.16
11:04
(18) Да вот хотят бухгалтера
20 Это_mike
 
26.07.16
11:05
(18) агентский договор... правительство же не может так, чтоб не создатьгеморроя...
21 asder117
 
26.07.16
11:11
(13) Блин еще самое хреновое что не работает в 7 быстрый набор команд (контрл пробел) да и поле точки не показывает реквизитов.
22 Ёпрст
 
26.07.16
11:12
23 Злопчинский
 
26.07.16
11:12
(21) ваша точка в снеговике - мелкое подобие телепата в 77
зайди на ИС и поставь OpenConf Light Pack - будет тебе и шампанское и какава с чаем
24 Это_mike
 
26.07.16
11:12
(21) у нормальных людей - работает. Причем гораздо лучше, чем в снеговике :-)
25 asder117
 
26.07.16
11:13
(22) Это видел и читал
26 Ёпрст
 
26.07.16
11:14
(25) и ?
Бери и пользуйся. Готовое решение
27 Злопчинский
 
26.07.16
11:14
(26) стесняется...
28 Масянька
 
26.07.16
11:19
(21) Самое хреновое, что в снеговике нужно Ctrl+Пробел жать.
29 asder117
 
26.07.16
11:19
(26) Взял и кручу и ругается она к примеру
Если глПолучитьСчетФактуру<<?>>(Док.ТекущийДокумент()) = 1 Тогда
{C:\USERS\ADMINISTRATOR\DESKTOP\МОЕ\ПО Н РАБОТЕ\СЛАЙДШОУ3.ERT(57)}: Функция не обнаружена (глПолучитьСчетФактуру)
30 asder117
 
26.07.16
11:20
(28) В смысле??
31 Масянька
 
26.07.16
11:21
(30) В клюшках реквизиты и прочее само вылазит. После точки. Представляешь?
32 asder117
 
26.07.16
11:23
(31) вот у меня не вылазит. если бы вылазила то я бы не писал и радовался... пробую ставить (23)
33 Масянька
 
26.07.16
11:24
(32) Не маг ты еще... :))))
Ставь и наслаждайся.
34 Это_mike
 
26.07.16
11:25
(32) значит, ты не подходишь прод критерий, указанный в (24)
35 Это_mike
 
26.07.16
11:26
(23) не "мелкое", а "жалкое" :-)))
36 asder117
 
26.07.16
11:27
(34) (35) Ну ну
37 asder117
 
26.07.16
11:29
Полетело. Всем спасибо. а (29) (22) Если кто знает подскажите где искать.
38 Масянька
 
26.07.16
11:40
(37) В глобальнике. Искать.
39 asder117
 
26.07.16
13:36
Вопрос: Как можно открыть форму создаваемого документа перед его записью или отказа.
делал
Докум = СоздатьОбъект("Документ.РасходнаяНакладная");
Докум.УстановитьФильтр(1,0);
    Докум.ВыбратьДокументы(ДатаНачала,ДатаОкончания);
    Пока Докум.ПолучитьДокумент()=1 Цикл
        Если Докум.ПометкаУдаления()=1 тогда
            Продолжить;
        Иначе
            
        Сообщить (Докум.НомерДок);
ДокумСЧФ = СоздатьОбъект("Документ.СчетФактура");
ДокумСЧФ.Новый();
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;

ОткрытьФорму("Документ.СчетФактура",,Докум);
не взлетает))) Спасибо заранее
40 Это_mike
 
26.07.16
13:38
(39) открывай новый док, и пиши в него через контекст....
41 oslokot
 
26.07.16
13:41
да лан, точка в снеговике самое то и никакого телеснега не надоть )
42 asder117
 
26.07.16
13:44
(40) Через контекст и основание ему запихать. Просто честно говоря не могу разобраться с контекстом (как и что его)
43 Это_mike
 
26.07.16
13:52
(42) ну так второй параметр в ОткрытьФорму()
44 asder117
 
26.07.16
13:58
(43) я понял, а как туда передать данные (блин от жары уше кукушка едет)
45 Масянька
 
26.07.16
14:08
(44) ОткрытьФорму(ДокумСЧФ);
46 Масянька
 
26.07.16
14:09
+ (45) Только перед открытием - ДокумСЧФ.Записать();
47 asder117
 
26.07.16
14:20
(45) (46) А если не записывая чтобы бухи сами решили что делать с доком дальше.
48 Масянька
 
26.07.16
14:22
(47) Слушай, ты - программист или где?
Возьми и попробуй.
49 asder117
 
26.07.16
14:23
(46) И вопрос в кучу ... можно ли открыть несколько форм доков для просмотра перед сохранением (при обработке дока основания в цикле) 8 енто дает
50 asder117
 
26.07.16
14:24
(45) Пробовал не взлетает однако....Программист вооще-то с 10 летним стажем. Но и на стьаруху бывает проруха блин почему и спрашиваю
51 Это_mike
 
26.07.16
14:37
(44) Либо ты 1)записываешь док, и потом открываешь его форму, либо 2)Открываешь форму нового, передавая во вотром параметре все, что тебе угодно (а в ПриОткрытии в форме нового дока заполняешь), либо 3) открываег=шь форму нового дока, тогда второй параметр у тебя будет контекстом открытой формы, ну и соотвественно, заполняешь через этот контекст.
52 Это_mike
 
26.07.16
14:43
(49) попробуй открывать с идентификатором формы. вроде должно получаться, но там какая-то засада вроде была. давно было...
да и не нужно это по большому счету
53 Масянька
 
26.07.16
14:46
(50) Десять лет - коробки таскал? :)))) (шучу)
Вместо

ДокумСЧФ = СоздатьОбъект("Документ.СчетФактура");
ДокумСЧФ.Новый();
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;

попробуй

ОткрытьФорму("Документ.СчетФактураВыданный", ДокумСЧФ);
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;
54 asder117
 
26.07.16
14:48
(51) 1 это самое простое. 2- Модуль формы при открытии не хочется ничего менять. "передавая во вотром параметре все, что тебе угодно" Про вот это по-подробнее. точнее как в контексте передать Написано везде много а въехать не могу. У меня тоже это давно было я  с 7 последний раз лет -6 назад возился. И К этому: можно ли открыть несколько форм в цикле (8 енто позволяла)
55 asder117
 
26.07.16
14:48
(53) Попробую. Я уже написал что я с 7 лет 5-6 назад дело имел
56 Масянька
 
26.07.16
14:49
(55) Знания - пропить очень сложно. Не всем это удается. :)))
57 asder117
 
26.07.16
14:50
(56) Если бы.... (53) Попробовал не взлетело. Дату не подставляет
58 Масянька
 
26.07.16
14:52
(57) Форму обнови... Спец, блин.
Чес слово - хуже первоклашки.
59 Это_mike
 
26.07.16
14:56
(54)
1. дык.
2.поставь перехватчик - нужно будет только добавить 3 строчки в ГМ :-) Как - передаешь во втором параметре сз, а в ПриОткрытии берешь из сз  и зпполняешь док.
3. передаешь в ОткрытьФорму существующую переменную вторым параметром. пока форма открыта - в это переменной будет контекст формы. вот его и используешь для заполнения. но - вон, Ёпрст говорит, что без загруженного формекса через контекст табчасть не заполнишь.
60 asder117
 
26.07.16
14:57
(58) Обновил ...и никак
61 asder117
 
26.07.16
14:59
(59) т.е. Как я понял покак не запишешь док безполезно что-либо делать с формой...
62 Это_mike
 
26.07.16
15:00
(61) почему же?
63 Масянька
 
26.07.16
15:02
(60) То есть - док-т открывается, номер проставляется, а дата нет?
64 asder117
 
26.07.16
15:02
(62) Я имею ввиду не изменяя или не добавляя в основную конфу. На 8 я это просто делал и не запаривался. тут в ступор встал:
на данный момент так
Докум = СоздатьОбъект("Документ.РасходнаяНакладная");
Докум.УстановитьФильтр(1,0);
    Докум.ВыбратьДокументы(ДатаНачала,ДатаОкончания);
    Пока Докум.ПолучитьДокумент()=1 Цикл
        Если Докум.ПометкаУдаления()=1 тогда
            Продолжить;
        Иначе
            
        Сообщить (Докум.НомерДок);
ДокумСЧФ = СоздатьОбъект("Документ.СчетФактура");
ДокумСЧФ.Новый();
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;



    
    Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(Докум);
    
КонецЕсли;
ОткрытьФорму("Документ.СчетФактура",,ДокумСЧФ);

ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;
Форма.Обновить();
65 asder117
 
26.07.16
15:03
(63) Док открывается но дата и номер присваиваются автоматом следующие
66 FIXXXL
 
26.07.16
15:03
(28) (31) мадам попутавши?
в 8-ке Ctrl+Пробел жать надо, если длиное название функции писать лень
после точки жать не надо, оно само вылезет
67 Это_mike
 
26.07.16
15:05
(66) ну так а в клюшках и Ctrl+Пробел жать не надо....
68 Масянька
 
26.07.16
15:06
(64) Ты читать умеешь? Или только код карябать?

ДокумСЧФ = СоздатьОбъект("Документ.СчетФактура");
ОткрытьФорму("Документ.СчетФактура",ДокумСЧФ);
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;



    

    Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(Докум);
    

КонецЕсли;


Найди отличия...
69 Масянька
 
26.07.16
15:08
(66) Месье! Лепите снеговика дальше. :)
70 asder117
 
26.07.16
15:16
(68) Извини но не понял тебя. Читать я уменю но не до конца пойму
71 asder117
 
26.07.16
15:17
(66) про удобства я сделал
72 Масянька
 
26.07.16
15:18
(70) Чего не понятно?

Докум = СоздатьОбъект("Документ.РасходнаяНакладная");
Докум.УстановитьФильтр(1,0);
    Докум.ВыбратьДокументы(ДатаНачала,ДатаОкончания);
    Пока Докум.ПолучитьДокумент()=1 Цикл
        Если Докум.ПометкаУдаления()=1 тогда
            Продолжить;
        Иначе
            
        Сообщить (Докум.НомерДок);
ДокумСЧФ = СоздатьОбъект("Документ.СчетФактура");
ОткрытьФорму("Документ.СчетФактура",,ДокумСЧФ);
//ДокумСЧФ.Новый();
ДокумСЧФ.НомерДок = Докум.НомерДок;
ДокумСЧФ.ДатаДок  = Докум.ДатаДок;
Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(Докум);
    

КонецЕсли;
73 Масянька
 
26.07.16
15:18
+ (72) Блин...
ОткрытьФорму("Документ.СчетФактура",ДокумСЧФ);
74 asder117
 
26.07.16
15:21
(72) (73) Да делал я так и не выходит она. А  если про основание - вторая часть балета
75 Ёпрст
 
26.07.16
15:25
Ответ в (22).
Там не надо ничего изменять в конфе.
Метода очень простая - открывается форма документа, считываются атрибуты открытой формы и переписываются в объект созданный через Новый(). Усё.
76 asder117
 
26.07.16
15:26
(75) Я уже говорил про ошибку там
77 asder117
 
26.07.16
15:29
(75) Функция не обнаружена (глПолучитьСчетФактуру)
78 Ёпрст
 
26.07.16
15:40
(77) Конфа типовая ?
79 Ёпрст
 
26.07.16
15:40
там код - примитив, переписать под любую конфу, минут 5.
80 asder117
 
26.07.16
15:40
(78) Да. На инфостате тоже это спросили
81 asder117
 
26.07.16
15:41
Вопрос....где код??
82 Ёпрст
 
26.07.16
15:48
(81)Бухня, комплексная,пуб или что ?
ну замени
Если глНайтиСчетФактуру(Док,"СчетФактураВыданный")
83 Ёпрст
 
26.07.16
15:48
(81) какой код ?
84 Ёпрст
 
26.07.16
15:50
и в коде замени на СоздатьОбъект("Документ.СчетФактураВыданный")
85 Ёпрст
 
26.07.16
15:50
усё.
86 Это_mike
 
26.07.16
15:50
(77) ну так напиши функцию, которя ищет счет-фактуру...
87 asder117
 
26.07.16
15:51
(82) Бухия 4,5
88 asder117
 
26.07.16
15:52
(84) В каком коде?? в моем или в слайдшойу?
89 Ёпрст
 
26.07.16
16:01
(86) это же непосильно, с 10-летним стажем то
(87)

//        Если //глПолучитьСчетФактуру(Док.ТекущийДокумент()) = 1 Тогда
//            Сообщить(Строка(Док) + " уже есть");
//            Сформировать();
//            Возврат;
//        КонецЕсли;

ЕстьСчФ=0;
ДокПодч    = СоздатьОбъект("Документ");
ДокПодч.ВыбратьПодчиненныеДокументы(,,Док.ТекущийДокумент());
Пока  ДокПодч.ПолучитьДокумент()=1 Цикл
  Если ДокПодч.Вид()="СчетФактура" Тогда
     ЕстьСчФ=1;
     Прервать;
  КонецЕсли;
КонецЦикла;
Если ЕстьСчф=1 Тогда
   Продолжить;
КонецЕсли;
90 Ёпрст
 
26.07.16
16:03
Хотя, за это время, можно весь код из ВВодНаОсновании было переписать себе в обработку и давным давно слепить счетфактуры
91 asder117
 
26.07.16
16:06
(89) Все блин посильно. просто еще раз говорю я с 7 давно дело не имел и почему и прошу готовый. На инфостате  ответа не было. А так спасибо.
(90)
роцедура ВводНаОсновании(ДокОсн)
    
    Новый = 1;
    ВерсияОбъекта = Константа.НомерРелиза;
    
    СпособПолучения = 1;
    
    Если Заполнить(ДокОсн) = 0 Тогда
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
    УправлениеКурсом(1);
    Комментарий = "Введен на основании: "+ГлПредставлениеДокумента(ДокОсн);
    
КонецПроцедуры // ВводНаОсновании()
Ентот код???
92 Ёпрст
 
26.07.16
16:10
(91) да, с содержимым Заполнить
93 Масянька
 
26.07.16
16:13
— Боже, пропал дом… что будет с паровым отоплением?.. (С)
94 asder117
 
26.07.16
16:13
(92) Содержимое заполинить это полученная ссылка вот тут как я понял
Докум = СоздатьОбъект("Документ.РасходнаяНакладная");
Докум.УстановитьФильтр(1,0);
    Докум.ВыбратьДокументы(ДатаНачала,ДатаОкончания);
    Пока Докум.ПолучитьДокумент()=1 Цикл
Заполнить(Докум)
Но насколько я вижу или не вижу у дока метода заполнить нет?
95 asder117
 
26.07.16
16:14
(93) Распилим и переделаем
96 asder117
 
26.07.16
16:14
(95) Ну звиняйте дорогие....мне 7 не так сильно нужна была  в работе до такого маразма другие бухи гне доходили
97 Ёпрст
 
26.07.16
16:15
(94) Пофигуратор первый раз  что ле открываешь в жизни ?
98 Ёпрст
 
26.07.16
16:15
(96) Она особо от снеговике ничем не отличается, как бэ.
99 Масянька
 
26.07.16
16:17
(97) Уверен, что он понял?
(98) А позвольте спросить, если она не особо отличается - почему ступор-то такой?
100 Масянька
 
26.07.16
16:17
Сотка
101 asder117
 
26.07.16
16:19
(97) неа не в первый
102 asder117
 
26.07.16
16:37
(97) Боже мой а ларчик просто открывался....жара наверное...туплю чуть-чуть
103 Ёпрст
 
26.07.16
16:51
https://cloud.mail.ru/public/Ciip/X49AGJsGh

На вот, развлекайся
104 asder117
 
26.07.16
17:08
(103) Спасибо но я вроде свою допилил по советам. Переделал модуль под себя заполнения. А эта что-то не запускается точнее открывается но доки не формируются
105 HawkEye
 
26.07.16
17:22
вроде и не пятница... но 105!!!! по теме ввод на основании....
106 Это_mike
 
26.07.16
17:25
(105) по 7.7... В 2016 году...
107 Злопчинский
 
26.07.16
17:40
(49) можно
108 Ёпрст
 
26.07.16
17:47
(104) проверил на типовой бухии, усё работает
109 Масянька
 
26.07.16
17:48
(108) Стою на асфальте я в лыжи обутый... (С)
110 Злопчинский
 
26.07.16
17:54
111 asder117
 
26.07.16
18:08
(110) Круто блин.....полетело.  теперь дальше колдовать надо....лыжники блин
112 Масянька
 
26.07.16
18:10
(110) Не правильная фотка. У меня - либо камни, либо горы, либо море :)
113 HawkEye
 
26.07.16
19:38
(106) ну в этом-то проблем нет, у меня пара клиентов работают - их все устраивает...
114 Garykom
 
гуру
26.07.16
20:15
(15) купите БП3 базовую ))
115 Злопчинский
 
26.07.16
21:29
(112) если попросишь я найду фотку где это все в одном месте...
116 asder117
 
27.07.16
09:45
(114) Не хотят пока. позже переходить будут
Основная теорема систематики: Новые системы плодят новые проблемы.