Имя: Пароль:
1C
1С v8
Оцените код
,
0 Креатив
 
19.09.13
10:19
Подписка на проведение документа требование-накладная. Для создания проводок вида 08.03 -10.07
Для Каждого Проводка Из Источник.Движения.Хозрасчетный.ЭтотОбъект Цикл  
   Если (Проводка.СчетДт.Код = "08.03") Тогда
      Проводка.СубконтоДт.ОбъектыСтроительства = Источник.Субконто1;
      Проводка.СубконтоДт.СтатьиЗатрат = Источник.Субконто2;
      Проводка.СубконтоДт.СпособыСтроительства = Источник.Субконто3;
   КонецЕсли;
КонецЦикла;
Источник.Движения.Хозрасчетный.ЭтотОбъект.Записать();
1 wms
 
19.09.13
10:23
для фикси кот. обновляет нормально.
франчи обычно тип. объекты  меняют и потом на обновлениях доработанных конф еще наваривают
2 Infsams654
 
19.09.13
10:24
(0) Источник.Движения.Хозрасчетный.ЭтотОбъект

а что такое ЭтотОбъект ?
3 jsmith82
 
19.09.13
10:25
(2) РегистрБухгалтерииНаборЗаписей
4 jsmith82
 
19.09.13
10:27
рекурсия детектед
5 Defender aka LINN
 
19.09.13
10:28
(0) Та на Мисте такой код каждый второй не приходя в сознание напишет
6 jsmith82
 
19.09.13
10:29
а параметр Замещать не надо ставить в Ложь?
7 ОбычныйЧеловек
 
19.09.13
10:31
(0) ты оправдал свой ник :) креативненько код написАл :)
8 mzelensky
 
19.09.13
10:35
(0) я не в теме, мужики...а нафига это все???
9 ОбычныйЧеловек
 
19.09.13
10:36
(8) Вот не понимаешь ты ничего в креативе.
10 mzelensky
 
19.09.13
10:37
(9) научи креативить :)
11 МойКодУныл
 
19.09.13
10:38
(0) Код, как код. Совсем как мой:)
12 ОбычныйЧеловек
 
19.09.13
10:39
(10) у автора учись - пример в (0) :)
13 Serg_1960
 
19.09.13
10:43
Я тоже не в теме. А что оценивать? Количество символов в коде? Или смысл самого алгоритма? Смысла не вижу :)
14 Креатив
 
19.09.13
10:49
(8, 13) Для того, чтобы аналитики по 08.03 заполнить. А необычного в этом коде то, что поначалу я использовал наборзаписей регистра бухгалтерии. Но там не влетало, аналитики терялись.
15 anaed
 
19.09.13
10:57
(0) объясните идиоту зачем .ЭтотОбъект
16 Defender aka LINN
 
19.09.13
10:58
(14) То есть, по-твоему, больше ничего необычного там нет?
17 ОбычныйЧеловек
 
19.09.13
11:03
(15) а что бы уж навернаяка... лучше бы конечно написАть
Источник.Движения.Хозрасчетный.ЭтотОбъект.ЭтотОбъект.ЭтотОбъект - что бы уж точно сработало.
18 jsmith82
 
19.09.13
11:05
по фэн-шую
Источник.ЭтотОбъект.Движения.Найти("Хозрасчетный").ЭтотОбъект
19 Rovan
 
гуру
19.09.13
11:05
(0) скобочки в условии - наследие 7.7 ?
20 Dethmont
 
19.09.13
11:09
Двойка за код!
21 ptiz
 
19.09.13
11:12
Сойдет. Ничего критичного, если они не проводят 100500 требований-накладных в день.
22 ptiz
 
19.09.13
11:14
Сам подход только неверный.
Если по-уму делать, то надо ПередЗаписью документа заполнять табличную часть правильными реквизитами.
23 Serg_1960
 
19.09.13
11:14
Автор понимает, что именно происходит, когда "Источник.Движения.Хозрасчетный.ЭтотОбъект.Записать();"?

"Мне так, просто, чисто поржать"(с)
24 Defender aka LINN
 
19.09.13
11:15
(21) Угу. Ничего критичного, главное на базу не дышать
25 Лефмихалыч
 
19.09.13
11:17
(0) я бы такому зольдатену оружия не давал
26 ptiz
 
19.09.13
11:28
В (0) - рабочий, читаемый код.

Например, мне нам один человек очень даже помог сделать внедрение, хотя местами прикольно писал. Ничего, все живы:

ВремяОкончанияРасстановки = ?(СтрДлина(Формат(СтрокаТЗЧаса.ВремяОкончанияРасстановки, "ДЛФ=T")) = 8, Лев(Формат(СтрокаТЗЧаса.ВремяОкончанияРасстановки, "ДЛФ=T"),5), Лев(Формат(СтрокаТЗЧаса.ВремяОкончанияРасстановки, "ДЛФ=T"),4));
....

Если Формат(СтрокаТЗЧаса.ДатаНачалаФакт, "ДФ=dd.MM.yy") <> Формат(СтрокаТЗЧаса.ДатаОкончанияФакт, "ДФ=dd.MM.yy") Тогда
...
27 jsmith82
 
19.09.13
11:31
а зачем вообще записывать движения
тут непонятно, в подписку вообще как записи пришли
надо в отладчике смотреть
щас движения так мутят в типовых, что диву даёшься
28 ptiz
 
19.09.13
11:33
(27) Движения - это свойства документа-объекта. Они заполняются в обработке проведения, поэтому видны до конца существования документа-объекта.
29 Креатив
 
19.09.13
11:39
(19) наследие Паскаля
(22)в ТЧ данные поля не предусмотрены
30 Defender aka LINN
 
19.09.13
11:39
(26) Рабочий он по первого чиха в план счетов
31 iHell
 
19.09.13
11:42
(28) Не факт.

(30) И часто у вас у счетов меняют код и субконто ? Код конечно далеко не идеален.
32 iHell
 
19.09.13
11:49
(0) Хотя если счет предопределенный, то проблем вообще не вижу.
33 Asirius
 
19.09.13
11:53
(0) если оптимизировать то:

Сч8_3 = ПланыСчетов.Хозрасчетный.Бла-Бла-Бла;
ЕстьПравки = Ложь;

Для Каждого Проводка Из Источник.Движения.Хозрасчетный Цикл  
   Если (Проводка.СчетДт = Сч8_3) Тогда
      Проводка.СубконтоДт.ОбъектыСтроительства = Источник.Субконто1;
      Проводка.СубконтоДт.СтатьиЗатрат = Источник.Субконто2;
      Проводка.СубконтоДт.СпособыСтроительства = Источник.Субконто3;
      ЕстьПравки = Истина;
   КонецЕсли;
КонецЦикла;

Если ЕстьПравки Тогда
      Источник.Движения.Хозрасчетный.Записать();
КонецЕсли;
34 Defender aka LINN
 
19.09.13
11:53
(31) Случается. Ну и за Проводка.СчетДт.Код = "08.03" уже бы ногами в туалете били.
35 Defender aka LINN
 
19.09.13
11:53
(33) Сильно изменилось, да...
36 Поросенок Петр
 
19.09.13
11:55
Нормальный такой обычный себе костыль. В след. релизе уберут и забудут.
37 Лефмихалыч
 
19.09.13
11:55
(31) например, однажды заменили все точки на запятые, чтобы ввод по строке с нумпада бухам облегчить.
38 эцп
 
20.09.13
12:01
(33)

Сч8_3 = ПланыСчетов.Хозрасчетный.СтроительствоОбъектовОсновныхСредств; ЕстьПравки = Ложь;

Для Каждого Проводка Из Источник.Движения.Хозрасчетный Цикл  
   Если Проводка.СчетДт <> Сч8_3 Тогда Продолжить; КонецЕсли;
   Проводка.СубконтоДт.ОбъектыСтроительства = Источник.Субконто1;
   Проводка.СубконтоДт.СтатьиЗатрат = Источник.Субконто2;
   Проводка.СубконтоДт.СпособыСтроительства = Источник.Субконто3;
   ЕстьПравки = Истина;
КонецЦикла;

Если НЕ ЕстьПравки Тогда Возврат; КонецЕсли;
Источник.Движения.Хозрасчетный.Записать();
39 Креатив
 
20.09.13
13:15
(33)(38)
Источник.Движения.Хозрасчетный.Записать(); - не обязательно.
Работает без него.
40 Defender aka LINN
 
20.09.13
14:32
(38) Почему все полагают, что "СубконтоN" всегда будет иметь один и тот же тип?
41 Креатив
 
21.09.13
10:33
(40)Это проблема пользователей. Заполнили правильно - получили нужный результат, нет - сами виноваты.
42 GANR
 
21.09.13
11:27
(0) Повсюду вижу подобный г...код - нет чтобы конфетку написать.
43 Фанат
 
21.09.13
11:34
(0) Ты просто гений программирования.
44 Armando
 
21.09.13
12:38
Теперь любой гамнокод надо на мисту постить?
"Если НЕ ЕстьПравки Тогда Возврат; КонецЕсли;"
Не люблю когда в одну строку пишут.
Своих переписывать заставляю.
45 Рэйв
 
21.09.13
12:55
(0)Делать для одного вида документов подписку- это полная хрень.
46 Рэйв
 
21.09.13
12:56
+  за .Записать() в подписке -- вообще обе коленки прострелить
47 mikecool
 
21.09.13
12:58
мне не нравится креатив здесь Проводка.СчетДт.Код = "08.03"
и где проверка на второй счет?
48 mikecool
 
21.09.13
12:59
а здесь " Для создания проводок вида 08.03 -10.07 " - вообще пиз..ж