Имя: Пароль:
1C
 
Как добраться до реквизита документа извне?
0 amdati
 
29.04.10
23:00
Здравствуйте. Подскажите пожалуйста почему может быть такое... у меня не получается изменить реквизит у документа извне....то есть вот один документ, там есть поле ввода (реквизит).....мне надо из другого документа его изменить....я делаю ВыборкуДокументов....обращаюсь к реквизиту...присваиваю что нужно....ничего не ругается...... но в том документе так ничего и не меняется(((

Во втором документе вот такой код:

ВыборкаДокументов = Документы.График.Выбрать(НачалоГода(ТекущаяДата()), КонецГода(ТекущаяДата()));
   
Пока ВыборкаДокументов.Следующий() Цикл    
   
ВД = ВыборкаДокументов.ПолучитьОбъект();
ВД.Январь1 = "Вывоз";
           
КонецЦикла;


Реквизит Январь1 - строка...все как надо. Метод ПолучитьОбъект сделал потому что без него пишет что Поле объекта недоступно для записи
1 GoldenCalf
 
29.04.10
23:01
ВД.Записать()
2 H A D G E H O G s
 
29.04.10
23:03
(0) Какой физический смысл у реквизита "Январь1" ?
3 Defender aka LINN
 
29.04.10
23:04
(2) Ты ТОЧНО уверен, что хочешь это знать? :)
4 H A D G E H O G s
 
29.04.10
23:05
(3) Я люблю ужасы на ночь.
5 Prikum
 
29.04.10
23:07
(4) Это новая сказка "Двенадцать месяцев" в интерпретации 1С!
6 amdati
 
29.04.10
23:07
мне почему то кажется что Defender aka LINN точно догадался что сейчас делает начинающий программист в моем лице)

а если хотите ужасов на ночь то могу и рассказать)

ЗЫ.  пробую ВД.Записать()
7 Prikum
 
29.04.10
23:09
(6) Не пробуй, подожди до утра!
8 H A D G E H O G s
 
29.04.10
23:09
(6) Я был первым.

Какой физический смысл у реквизита "Январь1" ?
9 nop
 
29.04.10
23:10
(8) вне вакуума ?
10 Defender aka LINN
 
29.04.10
23:13
(6) Ага. Страдает куйней.
11 amdati
 
29.04.10
23:14
http://s51.radikal.ru/i131/1004/ce/7d629e341b4b.jpg

это чтобы вы поняли весь ужас происходящего)
12 Defender aka LINN
 
29.04.10
23:15
О_О
мама...
13 Птица
 
29.04.10
23:16
а что, симпатично.
ну и нефиг флудить:
ВД.Записать()
14 nop
 
29.04.10
23:16
(11) начхать реально. Сделай эти данные, типа Январь1 на регистре
15 H A D G E H O G s
 
29.04.10
23:16
Гусары, молчать!!!
16 H A D G E H O G s
 
29.04.10
23:18
Я бы.
Даже.
Просто Копипастом поленился пользоваться, для вставки реквизитов.
17 H A D G E H O G s
 
29.04.10
23:18
А судя по
ВД.Январь1

там и кода дофигища
18 amdati
 
29.04.10
23:22
Если честно боюсь даже что либо больше писать...это опять будет смех) ну да ладно) смех продлевает жизнь и я делаю хорошее дело)
Регистр так же есть...тоже на 365 реквизитов...
19 Seducer
 
29.04.10
23:22
Хм.... Это, я так понимаю, календарь 2010 года? А на 2011 год будет другая форма? О_о
20 Seducer
 
29.04.10
23:22
>Регистр так же есть...тоже на 365 реквизитов...

О_о!!!!!!!
21 Птица
 
29.04.10
23:23
а чо, трудолюбивый мальчик..
22 amdati
 
29.04.10
23:23
нет....там как только начнется новый год - Графики 2009го года уже будут не нужны....а в Выборке стоит Начало Конец года) так что с этим все хорошо
23 Птица
 
29.04.10
23:24
365?
понимаю, до 2012 дожить не рассчитываешь.
24 H A D G E H O G s
 
29.04.10
23:24
(22) Как жаль.
Ведь только-только доделал 2009, а уже на пороге - середина 2010
25 H A D G E H O G s
 
29.04.10
23:25
(3) ТЫ ЗНАЛ!
26 nop
 
29.04.10
23:26
отложим ветку до пятницы
27 Seducer
 
29.04.10
23:26
(22) >Графики 2009го года уже будут не нужны
Нескромный вопрос. На хрена тогда регистр?
28 nop
 
29.04.10
23:28
пойдемте v8: Выполнить. Весь мозг поломал там круче. Там философия
29 amdati
 
29.04.10
23:29
где то сегодня в середине дня я тоже понял что не нужны.))
В общем) спасибо GoldenCalf и Птице)
Записать работает)
30 Птица
 
29.04.10
23:31
(29)"где то сегодня в середине дня я тоже понял что не нужны"
о_О
в смысле, ты теперь будешь удалять 365 реквизитов?
31 amdati
 
29.04.10
23:31
(17) кода и правда многа)))
32 amdati
 
29.04.10
23:32
(30) нет) на всякий случай оставил)
33 nop
 
29.04.10
23:32
(30) где то в средине удаление поймет что они были нужны ... но не все, только те что уже удалил
34 skiller3000
 
29.04.10
23:35
а зачем тебе в бухе график? ты УПП делать собрался? посмотри как в ЗУПе реализовано а не лепи 365 реквизитов...
35 Птица
 
29.04.10
23:36
(32)молодец, с тобой приятно общаться
36 amdati
 
29.04.10
23:37
кстати о Зупе...я перенес в бухгалтерию тамошний График...даже более того он работал...) но тамошняя реализация ну ОЧЕНЬ пока для меня сложная...
37 Seducer
 
29.04.10
23:37
(31) А можно какую-нибудь часть кода, где используются реквизиты?
38 quest
 
29.04.10
23:37
ты решил его упростить?
39 skiller3000
 
29.04.10
23:38
(36) код в студию :)
40 amdati
 
29.04.10
23:41
(39)нет нет...я просто открыл 2 конфы...ЗУП и бузию....и поперетаскивал все что только нужно для Графикаработы....все перечисления, регистры) закомментировал что не нужно) и все работает) график открывается, в него можно ставить циферки, он эти циферки кидает в регистр, и при открытт подтягивает все из регистра) все как в зарплате
41 simol
 
29.04.10
23:41
А как быть с Февраль29 ?
42 amdati
 
29.04.10
23:43
(41)по поводу високосного....меня почему то проглючило и показалось что в обычном 27 дней....а в високосном 28((( исправлю
43 H A D G E H O G s
 
29.04.10
23:43
Умею я иногда так вовремя и так правильно спросить.
44 skiller3000
 
29.04.10
23:43
(42) кроме графика, тебе будут нужны табеля, документы о невыходах, ты это тоже перетащить хочешь?
45 Seducer
 
29.04.10
23:44
(42) Хорошая, забористая травка
46 Andry888
 
29.04.10
23:45
(42) бери больше)))
47 amdati
 
29.04.10
23:45
(39)

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

Если ЭлементыФормы.День.Значение = "Январь2"
       Тогда
       Если ВыборкаДокументов.Январь2 = "п" Тогда
       СтрокаСостава = ДокументОбъект.Разнарядка.Добавить();
       СтрокаСостава.Контрагент = ВыборкаДокументов.Контрагент;
       СтрокаСостава.Адрес = ВыборкаДокументов.Адрес; СтрокаСостава.График = ВыборкаДокументов.Ссылка;
   КонецЕсли;
КонецЕсли;


и так по каждому дню)
Это код выборки) там ставлю день) напрмер завтрашний и обработка мне показывает к кому завтра надо съездить вывезти мусор)
48 tridog
 
29.04.10
23:46
ужс О_о
49 amdati
 
29.04.10
23:46
(44) нет это все мне не нужно) просто нужен красивое отображение года
50 Seducer
 
29.04.10
23:46
(47) Ипппать......  И так для всех 365 дней????? О_о!!!!
51 amdati
 
29.04.10
23:46
вот....а с запросами я пока не умею работать(
52 amdati
 
29.04.10
23:47
(50) да) и причем все шустро считает-ищет) ничего не тормозит
53 skiller3000
 
29.04.10
23:47
(51) без них делать нечего, вся ЗП на них написана
54 quest
 
29.04.10
23:48
(51) правильной дорогой идете товаришь. Скоро устанете копипастить и будете генерить код всех проверок на лету а в конфе будут сплошные выполнить и вычислить :) Но сразу предупреждаю goto в выполнить лучше не юзать :):):)
55 Птица
 
29.04.10
23:50
хорошо-то как..
56 amdati
 
29.04.10
23:50
(54)ну спасибо за поддержку) в общем то я думаю тема исчерпана) доставил вам пару мгновений радости))) смех и правда продлевает жизнь) тем более я тоже хорошо посмеялся от ваших комментов) спасибо!)
ЗЫ. кину ссыль на ветвь в ЖЖ
57 also
 
29.04.10
23:53
(11)(47) это действительно круто ;)))))))
58 Птица
 
29.04.10
23:56
а всего-то надо вместо 365 копий одного кода написать один фрагмент:
Если ВыборкаДокументов[ЭлементыФормы.День.Значение] = "п" Тогда
       СтрокаСостава = ДокументОбъект.Разнарядка.Добавить();
       СтрокаСостава.Контрагент = ВыборкаДокументов.Контрагент;
       СтрокаСостава.Адрес = ВыборкаДокументов.Адрес; СтрокаСостава.График = ВыборкаДокументов.Ссылка;
   КонецЕсли;
59 amdati
 
29.04.10
23:58
(58) о_О как раз писал вопрос с просьбой о совете как это можно было сделать
60 also
 
29.04.10
23:58
(58) А всего-то можно нормальный объект "ПолеКалендаря" заюзать ;)
61 amdati
 
29.04.10
23:58
я думал об этом варианте но не знал как синтаксически это сделать! спасибо сейчас попробую!
62 amdati
 
30.04.10
00:14
(58) спасибо вам огромное) все работает))) токо уже вот как то не так интересно и весело получается)))
63 Seducer
 
30.04.10
00:15
>токо уже вот как то не так интересно
мазохист  :-)
64 Птица
 
30.04.10
00:16
(62)да, 1с убивает радость
65 Seducer
 
30.04.10
00:18
(64) Ну вот, обломили всю малину.... может, оплата ему за количество строк идет. А тут вместо 2920 строк получилось всего 5. Скукотищща!!!!
66 amdati
 
30.04.10
00:19
(63) ну на самом деле я не так уж и много сил и времени затратил на 365 фрагментов одинакового кода...Ворд и "Замена" быстро решили мою проблему) один месяц сделать...а потом заменять там месяц)
67 amdati
 
30.04.10
00:22
(65)нет) оплата мне не идет) делаю диплом) благо на прогу смотреть не будут...лишь бы была и работала) на код тем более смотреть не будут)
68 anddro
 
30.04.10
00:29
ну вот, пятница началась на час раньше
69 Толич
 
30.04.10
03:01
(47) ААААААААААААААА
УБИЛ. Я 100 лет так не ржал.))
70 Ksandr
 
30.04.10
08:10
(11)(47) О_О!!!! Я под столом!!! Чувагг, ты что куришь? Лучше ЖКК покури!!! Это сохранит тебе время!
71 svent0vit
 
30.04.10
09:24
аминь
72 Лефмихалыч
 
30.04.10
09:55
(0) сатанист какой-то...
73 luckyluke
 
30.04.10
16:36
Лень, страх и упёртость порождает 365 реквизитов? о.О
74 Кир Пластелинин
 
30.04.10
17:06
ну а что) главное - решение задачи, а уж потом оптимизация)
75 amdati
 
30.04.10
17:19
(73) причем тут страх?.....но лень и упертость это да) лень - разобраться в запросах) а упертость.... я бы сказал "упорство")
76 amdati
 
30.04.10
17:20
(74) я того же мнения) сначало сделать в срок и чтоб работало) а потом разберемся)
77 H A D G E H O G s
 
30.04.10
17:25
78 amdati
 
30.04.10
17:35
(77) программирование это всегда творчество...не могу назвать занятие живописью - профессией) вот у меня сейчас все коряво и нелогично в коде... быть может это как пикассо со воими картинами) многие тоже думают что в этом ничего нет и какой то бред и что так нарисовать сможет каждый ребенок))) я понимаю вас...что с точки зрения производительности, практичности и так далее - это ужасно...и в серьезной работе это неприемлимо) но...пока как есть...дальше - видно будет)
79 amdati
 
30.04.10
17:36
вот вы мне вчера помогли...и больше такого не будет....во всяком случае в плане кода....а не в плане трехсот шестидесяти пяти реквизитов)
80 amdati
 
30.04.10
17:37
в смысле я уже не буду таких глупостей писать)
81 H A D G E H O G s
 
30.04.10
17:38
(78) Сколько лет, кем работали раньше, какое образование?
82 H A D G E H O G s
 
30.04.10
17:39
(79) Лично я вам - не помогал.
83 amdati
 
30.04.10
17:43
(82) в том плане что вы - все вместе кто тут писал)

(81) лет 21) образование получу только через полтора месяца...защита диплома в 20х числах июня) образование Прикладная информатика в экономике...но учился абы как потому как не особо это моя стезя) а 1с начали изучать ток в конце 4го курса...
84 H A D G E H O G s
 
30.04.10
17:52
(83) Ясно. Вопросов - не имею.

Вам в плюс:
1) Стрессоустойчивость - не скатились на оскорбления в ответ на критику кода.
2) Молодой возраст - можно многому научиться
3) Усидчивость - судя по коду, посидеть пришлось

В минус:
1) Отсутствие навыков программирования, хотя бы на других языках.

Но.. Удачи!
85 amdati
 
30.04.10
17:55
(84) Благодарю)
86 Святой Ангел
 
01.05.10
07:58
На amdati не наезжать!
Парень молодец, с ЧЮ!
87 amdati
 
04.05.10
02:39
Друзья, а подскажите пожалуйста как мне сделать перебор всех элементов формы отдельно взятого месяца?

сейчас делаю вот так но ничего не выходит:

Для n = 1 по 31 Цикл
   Дата1 = "Январь"+n+"";
   Если ЭлементыФормы[Дата1] = "В" Тогда
   ЭлементыФормы.ИтогоЯнварь.Значение = ЭлементыФормы.ИтогоЯнварь.Значение + 1;
   КонецЕсли;
КонецЦикла;

подскажите что не так(
88 amdati
 
04.05.10
02:43
вроде и не ругается ни на что, но и не считает сколько дней с буковкой "В" (то есть вывезли ли мусор) в этом месяце есть...
89 amdati
 
04.05.10
02:48
Для n = 1 по 31 Цикл
   Дата1 = "Январь"+n+"";
   Если Ссылка[Дата1] = "В" Тогда
   ЭлементыФормы.ИтогоЯнварь.Значение = ЭлементыФормы.ИтогоЯнварь.Значение + 1;
   КонецЕсли;
КонецЦикла;


так работает)