Имя: Пароль:
1C
1C 7.7
v7: проводить документ по данным из ТЗ на форме
,
0 e-9
 
17.10.14
11:42
Вот тут
Обращение к таблице значений из модуля документа.
уже порвали чела за то, что он собирался проводить документ по данным из ТЗ в диалоге.
У меня похожая ситуация с ТС той темы: в многострочной части табеля отработанного времени - список сотрудников, ровно одна строчка на одного сотрудника (если без внутреннего совместительства). Но, при проведении табеля, мне надо создать столько записей в журнале Зарплата на сотрудника, сколько было кадровых перемещений у сотрудника за месяц (а их может быть и два десятка).
Для этого я и завел ТЗ на форме, с двумя колонками "Сотр" (содержит номер соответствующей строки МСЧ) и "КП" (ссылка на документ о кадровом перемещении).
В модуле проведения я хочу взять эту ТЗ - но как?..
Если в модуле формы вызываю Провести(ТЗКП), то в ОбработкеПроведения(ТЗ) сразу же спотыкаюсь на строке ТЗ.ВыбратьСтроки(): "Значение не представляет агрегатный объект (ВыбратьСтроки)"
Пытался обратиться так: ТекущийДокумент().ТЗКП, но был послан компилятором и зарезан Волшебником (признаЮ, мы с компилятором друг друга не поняли и я был не прав:)

Вопросы:
- как в модуле дока взять ТЗ из диалога?
либо
- какие есть праведные способы достигнуть вышеописанной цели - сохранить вместе с документом не только список сотрудников, но и список КП каждого сотрудника (для меня стало печальным открытием, что при сохранении документа данные в ТЗ не сохраняются)?..
1 КонецЦикла
 
17.10.14
11:43
Заведи служебный справочник
ЗЫ. Ваш КЭП
2 e-9
 
17.10.14
11:54
(1) еще один объект метаданных - для вычислимой информации?
не, спасибо, не полетим.
Я имел в виду - что-нибудь разумное (хотя, после открытия, что ТЗ не умеет сохраняться вместе со всем документом, о разуме хочется промолчать).
Придется походу мастерить костыль - типа дополнительного строкового реквизита МСЧ, в который пихать через разделители все КП, а в модуле дока парсить его.....
3 silent person
 
17.10.14
11:56
(0) типовыми средствами ТЗ из формы диалога в модуле документа никак не взять. Используй для служебный документ (введенный на основании Табеля) для сохранения данных из ТЗ в его табличной части перед проведением табеля

Если информация вычислимая что мешает вычислить ее при проведения документа. какой вообще смысл выводит это в ТЗ на форму ?
4 e-9
 
17.10.14
11:57
(3) чтобы летать, а не ползать:)
5 silent person
 
17.10.14
11:58
(2) с 1С 8.2 знаком ? как ты там сохранишь реквизит формы не привязанный к данным ? в 7.7 то же самое только нет явного разделения на данные формы и данные объекта.
6 e-9
 
17.10.14
12:00
+(4) схема такая: при заполнении табеля и так лопатится вся куча г... (перемещения) - поэтому не хочется заниматься этим еще раз, при проведении.
(5) да я бы привязал ТЗ к реквизиту - но нельзя ж....
7 e-9
 
17.10.14
12:05
(0)...дошло до утки: в модуле формы надо вызывать Провести(,ТЗКП)...
8 silent person
 
17.10.14
12:06
(7) а если потребуется программно перепровести табель ?
9 Ёпрст
 
17.10.14
12:08
(0) п...ц
Вниматочно прочитать про параметры методов Провести и ОбработкаПроведения в СП.. Много думать
10 e-9
 
17.10.14
12:09
(8) да даже если и не программно, а просто после закрытия/открытия - все равно засада, из-за несохранения ТЗ
(9) Ёпрст, как всегда, реагируешь только на (0):)
я уже признал свою непроходимую тупость в (7)
11 Ёпрст
 
17.10.14
12:24
(10) я ленивый, всё читать не в моготу
:)
12 e-9
 
17.10.14
12:33
(11) полезная лень - 90% своих постов я бы и сам не писал, если бы вовремя по(до)думал; так же и многие
13 Ёпрст
 
17.10.14
12:35
http://www.mista.ru/articles1c/hare/article.74.html

это почитай, как-нить
14 e-9
 
17.10.14
13:04
(13) прикольно
(не очередного холивара ради - все ж подумываю о переходе на восьмерку; нормальная винда тоже не сразу делалась)
15 КонецЦикла
 
17.10.14
13:13
(10) Групповое проведение как делать будешь?
Чем смущает лишний объект метаданных? Загляни в любую БП не говоря уже об УПП

ЗЫ. точно утка... :)
16 e-9
 
17.10.14
14:08
(15) про групповое уже ответил - его судьба вместе с программным и любым другим, там же в (10)
ЗЫ. приятно встретить сородичей:)
17 NS
 
17.10.14
14:12
(10) Так сохрани ТЗ в реквизите неограниченной длины через ЗначениеВСтрокуВнутр()
18 e-9
 
17.10.14
14:22
(17) интересненько, пороюсь там (в понедельник уже)
19 Злопчинский
 
17.10.14
19:02
(2) > еще один объект метаданных - для вычислимой информации?
не, спасибо, не полетим.
- не парь мозг. вычислимые значения вычисляй не на форме, а в модуле проведения.
зы: ваш ПОДПОЛКОВНИК
20 e-9
 
22.10.14
12:43
(19) см (6): "при заполнении табеля и так лопатится вся куча г... (перемещения) - поэтому не хочется заниматься этим еще раз, при проведении. "
ЗЫ. блин, на одного мл.сержанта уже два офицера...
21 e-9
 
22.10.14
12:45
(17) а такой вопрос тогда: при создании реквизита в табличной части документа с типом "Строка" максимальная длина - 99. Имхо, маловато будет, для сохранения ТЗ. Покатит тип "Неопределенный"?
22 silent person
 
22.10.14
12:47
нафига строка в табличной части ? ты же вроде одну ТЗ собрался сохранять, а не по ТЗ для каждой строки.
23 Kamas
 
22.10.14
12:50
(0) все не читал рег. сведений уже предлагали
24 silent person
 
22.10.14
12:52
(23) у него зарплата вроде 7.7. хотя конфигурацию он не озвучивал.

(21) хотя у документа реквизит типа строка длинной 500 символов, тоже не очень хорошо. в Каминовской зарплате, если мне не изменяет память, если длина строки получалась больше 200 символов то ТЗ сохранялась во внешний файл а в реквизит писался путь к нему, если меньше 200 символов то ТЗ хранилась прямо в документе.
25 Kamas
 
22.10.14
12:53
(2) Зря ибо первая цель чтоб работать было удобно и быстро а не медленно
26 e-9
 
22.10.14
13:02
(22) а...ну да
я счас подумывал для каждого сотра сохранить только ту часть ТЗ, которая про него (тогда меньше парсить в модуле проведения)
Но и в шапке дока строка получается максимум 99!
(24) 7.7 изуродованный за 8 лет внедрения ЗиК белорусский
а что, длинный строковый реквизит - быть беде?
(25) а разве не быстрее брать данные сразу из документа, который проводится - а не с "постороннего" объекта метаданных?
27 Kamas
 
22.10.14
13:17
(26) вопрос нормализации
28 e-9
 
22.10.14
13:26
(27) это как раз наоборот - денормализации (вычислимые объекты в схеме данных), с целью удобства и ускорения
пока не убедился, что варианты с сохранением вычислимой информации в одном реквизите самого документа - хуже, чем в дополнительном "внешнем" по отношению к документу объекте метаданных.
Пока (17) рулит, среди всех предложений. Вопрос только в том - как сделать этот реквизит. Это только у меня такое ограничение - 99 символов на строку, или зашито в платформу?...
29 e-9
 
22.10.14
13:53
...тип "Неопределенный" не прокатил:((( в него вообще не сохранился результат ЗначениеВСтрокуВнутр(ТЗКП)
https://yadi.sk/i/sMWe0OVJcCqTY
30 silent person
 
22.10.14
14:02
(28) в какой момент ограничивает длину строки ? реквизит 500 символов без проблем создал.

галку "Неогр." не пробовал ставить у реквизита ?
31 e-9
 
22.10.14
14:03
...идиотство какое-то...
читая везде, что люди нормально создают реквизиты по несколько сот символов длиной, стал тыкаться у себя; оказалось, что НАПЕЧАТАТЬ можно всего две цифры, в поле "Длина". Т.е., максимум получается 99.
Наконец, попытался мышкой увеличить 99 - получается.......т.е., осталось 900 раз тыкнуть мышкой - и смогу выйти на длину 999
:DDD
32 e-9
 
22.10.14
14:05
(30) напугали меня раньше, неограниченный использовать...или особой разницы нет, 500 или неограниченная?:)
33 NS
 
22.10.14
15:19
(29) При чем тут "неопределенный"?
Строка неограниченной длины.
34 e-9
 
22.10.14
15:26
(33) да я неопределенный попытался использовать, когда не смог строчный реквизит длиннее 99 символов задать
в общем, указал пока галку "Неогр.", полетели....Ждем побочных эффектов (тормоза? большой рост БД?)
35 NS
 
23.10.14
22:09
Нет, всё нормально будет.
36 ADirks
 
24.10.14
14:25
(2) тебе что, табличек жалко?
37 e-9
 
24.10.14
16:39
(13) вот еще тут размышления в тему:
http://www.sql.ru/forum/714161/1s-7-7-tablica-dokumenta
(это я так, чтобы под рукой было:))
38 Chameleon1980
 
24.10.14
17:05
тз в строку, доп док. и все. кули катать. тысчу миллионав раз было
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший