Имя: Пароль:
1C
 
Видимость рисунков в Табличном Документе
0 Солнце
 
27.10.09
15:34
Мне нужно чтобы, при условии выбора организации, выводилось одна из двух печатей. Как это можно осуществить?
1 Mitriy
 
27.10.09
15:51
вставляешь в нужную область нужный рисунок...
2 Солнце
 
27.10.09
15:53
хм... У меня в области 2 рисунка.. При одном условии должен виен быть один, а при другом другой...
3 Mitriy
 
27.10.09
15:54
(3) у табдока есть коллекция Рисунки, можно попробовать удалять ненужный...
4 НЕА123
 
27.10.09
15:57
ТД.Рисунки.Удалить(ТД.Рисунки[УдаляемыйРисунок])
5 Солнце
 
27.10.09
15:58
....?? А при следующем запуске рисунок будет, который удален?
6 Mitriy
 
27.10.09
15:59
(5) вопрос ни о чем... читай книжки...
7 НЕА123
 
27.10.09
16:00
(5) нууууу...того...этого... как его - до пятницы еще далеко.
8 Солнце
 
27.10.09
16:03
я и так книги читаю... Но в основном там слишком простые примеры...
9 Mitriy
 
27.10.09
16:08
(8) макет - объект конфигурации, из предприятия и кода сам макет ты изменить не в силах, ты всегда используешь как бы его копию, причем, чаще всего по частям, получая области - маленькие табдоки, которые заполняешь и выводишь в свой табдок, который потом выводишь... Вот одной из таких областей, получаемых из макета и должна быть область с твоими рисунками, из которой, прежде чем вывести в свой табдок, ты удалишь лишний рисунок... а т.к. область - это просто копия части макета, то твой вопрос не имеет смысла... примерно так...
10 Солнце
 
27.10.09
16:20
Ага... спасибо.. просто в Делфи было бы сразу ясно использовать Visible, а тут... нету такого...
11 Солнце
 
27.10.09
16:36
ТД.Рисунки.Удалить(ТД.Рисунки[УдаляемыйРисунок])

Удаляемый рисунок Там что именно должно быть?.. Его имя?..
12 Mitriy
 
27.10.09
16:38
(11) да
ты пробуй, не бойся...
13 Солнце
 
27.10.09
16:43
Я попробовала имя D16 выдает ошибку ставишь кавычки неизвестный при выполнении...
14 Mitriy
 
27.10.09
16:47
код покажи
15 Солнце
 
27.10.09
16:51
ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки[D16]);
16 Mitriy
 
27.10.09
16:59
а так?
ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D16"]);
17 Mitriy
 
27.10.09
17:01
(16)+ и посмотри в отладчике ОбластьМакета.Рисунки, есть там вообще что-нибудь...
18 Солнце
 
27.10.09
17:02
ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D16"]); тоже не получается... пробовала... не находит объект... Каким образом это смотриться?
19 Mitriy
 
27.10.09
17:04
(18) выделяешь и жмешь Shift+F9
20 НЕА123
 
27.10.09
17:07
Пардон.
ТД.Рисунки.Удалить(ТД.Рисунки.D16)
[] - индекс нужен.
21 Mitriy
 
27.10.09
17:13
(20) запутался ты...
22 Солнце
 
27.10.09
17:15
ТД.Рисунки.Удалить(ТД.Рисунки.D16)
тоже не идет
23 Солнце
 
27.10.09
17:16
Я сделала тупенько.. 2 макета.. и условие выбора их...
24 Солнце
 
27.10.09
17:16
выделяешь и жмешь Shift+F9

Объясните что это это действие делает
25 Mitriy
 
27.10.09
17:21
простой пример:
в макет "Макет" вставлен рисунок, а область, в которой этот рисунок находится обозвана "ОбластьСРисунком", сам рисунок называется "D1".

   Макет = ПолучитьМакет("Макет");
   Область = Макет.ПолучитьОбласть("ОбластьСРисунком");
   Область.Рисунки.Удалить(Область.Рисунки["D1"]);

можно еще проще:

Макет = ПолучитьМакет("Макет");
Макет.Рисунки.Удалить(Макет.Рисунки["D1"]);

и работать уже с этим макетом, в котором вообще не будет ненужного рисунка...


(24) для этого надо воспользоваться отладчиком и точкой останова...
26 Солнце
 
27.10.09
17:25
Пасиба большое... Теперь я поняла)
27 Солнце
 
28.10.09
09:15
{ВнешняяОбработка.СчетНаОплатуФакс(283)}: Поле объекта не обнаружено (D29)
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D29"]);


Тоже не работает... Мне всё же интересно... как возможно это сделать и в чем ошибки...
28 Mitriy
 
28.10.09
09:18
(27) покажи код, начиная от ПолучитьМакет и до этой строчки...
29 Солнце
 
28.10.09
09:20
<code>Макет=ПолучитьМакет("СчетЗаказ");
// Вывести подписи
   Если Тип = "Счет" Тогда
       ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
       Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизации(Шапка.Организация, Шапка.Дата,);
       Руководитель = Руководители.Руководитель;
       Бухгалтер    = Руководители.ГлавныйБухгалтер;
       ОбластьМакета.Параметры.ФИОРуководителя = Руководитель;
       ОбластьМакета.Параметры.ФИОБухгалтера   = Бухгалтер;
       мКод = "000000001";
       НайденнаяОрганизация = Справочники.Организации.НайтиПоКоду(мКод);
       Если Не ЗначениеЗаполнено(НайденнаяОрганизация) Тогда
           Сообщить("Не найдена организация с кодом " + мКод + "!",СтатусСообщения.Внимание);
           Возврат Неопределено;
       КонецЕсли;
       Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D29"]);
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D31"]);
       КонецЕсли;
   
       мКод = "000000002";
       НайденнаяОрганизация = Справочники.Организации.НайтиПоКоду(мКод);
       Если Не ЗначениеЗаполнено(НайденнаяОрганизация) Тогда
           Сообщить("Не найдена организация с кодом " + мКод + "!",СтатусСообщения.Внимание);
           Возврат Неопределено;
       КонецЕсли;
       Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D16"]);
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D31"]);          
       КонецЕсли;

       мКод = "000000003";
       НайденнаяОрганизация = Справочники.Организации.НайтиПоКоду(мКод);
       Если Не ЗначениеЗаполнено(НайденнаяОрганизация) Тогда
           Сообщить("Не найдена организация с кодом " + мКод + "!",СтатусСообщения.Внимание);
           Возврат Неопределено;
       КонецЕсли;
       Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D16"]);
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D29"]);          
       КонецЕсли;

   Иначе
       ОбластьМакета = Макет.ПолучитьОбласть("ПодвалЗаказа");
   КонецЕсли; <code>
30 Rusty Nail
 
28.10.09
09:33
(29) просто посмотри адрес рисунка в режиме отладчика или предприятия
31 Rusty Nail
 
28.10.09
09:34
(29) +твой код работает правильно...
32 Mitriy
 
28.10.09
09:35
гы... пройдись отладчиком пошагово, вполне возможно, что ты один рисунок два раза пытаешься удалить...
скажу по секрету: если удалишь рисунок один раз, то его больше в этой области не будет, пока не получишь ее по новой...
33 Mitriy
 
28.10.09
09:35
Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D29"]);
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D31"]);
        КонецЕсли;

а потом еще раз:

Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D16"]);
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D29"]);          
        КонецЕсли;
34 Mitriy
 
28.10.09
09:38
(33)+ хотя, может быть и не должно повторяться...
ты (17) сделаешь?
35 Солнце
 
28.10.09
09:41
Оно не будет удаляться 2 раза.. там сравнивают разные организации... сейчас попробую...
36 Солнце
 
28.10.09
09:46
Я сделала... там все имена рисунков от D1 до D6... а на макете совсем другое...
37 Солнце
 
28.10.09
09:51
Как такое может быть?....
38 Mitriy
 
28.10.09
09:53
(37) может, если эти рисунки находятся не в этой области, либо выступают каким-нибудь краем...
39 Rusty Nail
 
28.10.09
09:54
(37) а вот так ))) я же тебе в (30) писал, перебирай в своем коде от D1 до D6 и будет тебе счастье )))
40 Солнце
 
28.10.09
09:55
Ща буду пробовать...
41 Mitriy
 
28.10.09
09:55
(39) чо-то не вижу, где ты про это писал...
42 Солнце
 
28.10.09
09:55
Они правильно расположены в области...
43 Rusty Nail
 
28.10.09
09:56
(41) так еще раз (30) прочитай
44 Mitriy
 
28.10.09
09:56
(42) значит, называются не так, как ты думаешь... обзови их сама, чтобы не путаться...
45 Солнце
 
28.10.09
09:56
Хорошо...
46 НЕА123
 
28.10.09
10:01
поэксперементировал.

1. Вставил два рисунка D1 и D2.

2. попробовал изменить имена в макете - не дает. сам назначает.

3. удалил рис D1(в макете оcтался рис с именем D2).

4. программно получил макет - один рис D2.

5. получил облать - один рис D1!!!

как это?
47 Солнце
 
28.10.09
10:01
хм... Имя рисунков не переименовывается... После переименования возвращается предыдущее значчение..
48 Солнце
 
28.10.09
10:02
Я сейчас виже убираются рисунки..
49 Солнце
 
28.10.09
10:03
только в разнобой..
50 Солнце
 
28.10.09
10:03
Тупо как то в 1с это сделано...
51 Солнце
 
28.10.09
10:07
Странно...
<code>Если НайденнаяОрганизация = СсылкаНаОбъект.Организация Тогда
            ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D1"]);
            //ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки["D3"]);
       КонецЕсли;
<code>

он удаляет вместо 1 рисунка, целых 2
52 Mitriy
 
28.10.09
10:09
почему у меня все переименовывается и работает?
почему не как у всех?
прям скоро комплекс разовьется...
53 НЕА123
 
28.10.09
10:10
рисунки можно переименовать, но, видимо, только не начинающиеся с "D".
тогда, кажется, все нормально.
54 Mitriy
 
28.10.09
10:11
(51) кликаешь на рисунке, жмешь Ctrl+Shift+N, в открывшемся окошке пишешь то, что хочешь... и так с каждым рисунком...
55 Солнце
 
28.10.09
10:11
Хорошо
56 НЕА123
 
28.10.09
10:12
(52)
>прям скоро комплекс разовьется...

одно радует, у меня ему уже дальше развиваться некуда...
57 Солнце
 
28.10.09
10:14
кликаешь на рисунке, жмешь Ctrl+Shift+N, в открывшемся окошке пишешь то, что хочешь... и так с каждым рисунком..


Я то пишу... но... он не сохраняет... и там область...
58 НЕА123
 
28.10.09
10:16
(54)
попробуй написать D123. не назначает.
59 Mitriy
 
28.10.09
10:16
(57) не обращай внимания, что там...
60 Солнце
 
28.10.09
10:17
Я даже имя переименовала на _1, _2, _3.... Выдает ошибку объект не найден...
61 НЕА123
 
28.10.09
10:17
(58)
а "Dbbnmb"  - все нормально.
62 Солнце
 
28.10.09
10:17
57) не обращай внимания, что там...

все равно не идет...
63 Mitriy
 
28.10.09
10:18
(58) не назначает ))
я никогда так не писал, всегда обзывал понятными именами, поэтому не получалось, чтобы не получалось )))
64 Солнце
 
28.10.09
10:19
, поэтому не получалось, чтобы не получалось

Что??
65 Mitriy
 
28.10.09
10:19
(62) напиши хотя бы Рисунок1, Рисунок2 и т.п...
66 Солнце
 
28.10.09
10:19
ща
67 НЕА123
 
28.10.09
10:21
а фото?
68 Mitriy
 
28.10.09
10:23
(67) ну вот... взял и напугал...
69 Солнце
 
28.10.09
10:25
Таакк.. теперь такая фишка... есть рисунок1, рисунок2, рисунок3... я их переименовала.... Я нажимаю Shift+F9... Там теперь рисунок1, а остальные D с чмслами...
70 Mitriy
 
28.10.09
10:27
а конфигурацию сохранила? а предприятие перезагрузила?
71 Солнце
 
28.10.09
10:28
Он не видит 2 и 3 рисунок...
72 Солнце
 
28.10.09
10:28
аха)
73 Mitriy
 
28.10.09
10:28
если это не в обработке внешней, конечно...
74 Солнце
 
28.10.09
10:29
внешняя
75 Mitriy
 
28.10.09
10:29
вот на этой строчке:

Если Тип = "Счет" Тогда

поставь точку останова и посмотри, что будет в

Макет.Рисунки
76 Солнце
 
28.10.09
10:30
в Макет.Рисунки  список рисунков все кроме 2 и 3
77 Mitriy
 
28.10.09
10:31
чудеса какие-то...
78 Солнце
 
28.10.09
10:32
вернее кроме 3....
79 Солнце
 
28.10.09
10:32
Я от 1с в шоке!!
80 Mitriy
 
28.10.09
10:32
кинь мне обработку на misvet#list.ru, я хочу посомотреть на это чудо...
81 Mitriy
 
28.10.09
10:32
(79) или она от тебя...
82 Солнце
 
28.10.09
10:33
а может через аську...
83 Mitriy
 
28.10.09
10:33
можно
84 Солнце
 
28.10.09
10:34
добавила
85 НЕА123
 
28.10.09
10:34
в конфигураторе
Таблица->Имена->Имена...
есть все имена рисунков?
86 Солнце
 
28.10.09
10:35
там все есть))
87 Солнце
 
28.10.09
10:39
а при отладки ни 2 ни 3 нету...
88 Солнце
 
28.10.09
10:53
Всем Спасибо... Я разобралась...