|
v7: Печатная форма договора | ☑ | ||
---|---|---|---|---|
0
Дина88
22.10.19
✎
09:22
|
Добрый день! Подскажите, пожалуйста, где находится макет печатной формы к документу или справочнику? Нужно добавить еще 3х сотрудников - авторов в форму и соответственно чтобы они выводились в печатной форме. Я новичок. Начала учиться в 8. Там есть Макет. А в 7 я не вижу слова макет(. Помогите, пожалуйста!
|
|||
1
Дина88
22.10.19
✎
09:24
|
В форму договора подряда добавила еще 3х сотрудников-авторов, которых выбрала из справочника сотрудники.А как в печатную форму добавить не знаю
|
|||
2
Карст
22.10.19
✎
09:25
|
||||
3
Карст
22.10.19
✎
09:27
|
||||
4
Дина88
22.10.19
✎
09:28
|
Спасибо большое. А в камине 7.7 одинаково? забыла сказать, что это камин
|
|||
5
Провинциальный 1сник
22.10.19
✎
09:30
|
(0) Аналог восьмерочного макета - таблица. Доступная из формы. Их может быть несколько, в коде определяется через метод ИсходнаяТаблица().
|
|||
6
Провинциальный 1сник
22.10.19
✎
09:31
|
(4) Без разницы, какая конфигурация.
Еще макеты хранятся в Действия-Общие таблицы. Часто там всякие унифицированные формы лежат. |
|||
7
Карст
22.10.19
✎
09:33
|
В камине скорее всего во внешних файлах
|
|||
8
Kigo_Kigo
22.10.19
✎
09:33
|
По кнопке Печать, посмотреть процедуру, которая исполняется по кнопке, запустить отладчик, поставить точку останова, и смотреть что вызывается в качестве обработки печати
|
|||
9
Карст
22.10.19
✎
09:34
|
или *.mxl (внешняя таблица) или *.ert (внешний макет)
|
|||
10
vladko
22.10.19
✎
09:34
|
в Камине 7.7 любят печатные формы использовать во внешних обработках или печатных формах:
<папка базы>\ExtForms\ <папка базы>\ExtForms\PrnForms\ их вызов идёт из программы по кнопке вызова помощника. |
|||
11
Дина88
22.10.19
✎
09:37
|
Спасибо за такой отклик всем. Оказ. Таблица называется. Вообще код отличается, какие-то слои. Экспорт. Скорее всего внешняя обработка. Придется все изучать потихоньку
|
|||
12
vladko
22.10.19
✎
09:40
|
(11) для работы со слоями есть кнопка внизу на экране с формой. И программное управление ими уже из модуля.
|
|||
13
Злопчинский
22.10.19
✎
14:02
|
слои самое то когда надо организовать безморгательные смены экрана
|
|||
14
Дина88
22.10.19
✎
14:33
|
Спасибо)) нашла таблицу, во внешнем файле была. Начала редактировать
|
|||
15
victuan1
22.10.19
✎
17:10
|
(13) А то)
|
|||
16
Злопчинский
22.10.19
✎
21:31
|
(14) Осторожнее, а то рванет!
|
|||
17
Дина88
24.10.19
✎
16:51
|
Добрый вечер! Подскажите, пожалуйста, как сделать в таблице договора склонение по числам, мн. и ед число к статусам сотрудников? всего 4 статуса(автор, соавтор, наследник, составитель), сотрудников тоже 4, статусы выбираются из выпадающего списка справочника СтатусыСотрудников. В таблице они должны сесть уже склоненные либо ед либо мн число.
текст в договоре - именуемые в дальнейшем как... (соавторы или соавтор) |
|||
18
Злопчинский
24.10.19
✎
19:43
|
(17) склонение вроде по падежам. а не то что вы написали.
для 4 статусов и 2 форм (ед и мн) - всего 8 комбинаций. из контекста "договора" (что там заполнено у вас в договоре или справочнике) - по идее известно: какой статус выбран и сколько составляющих статуса указано в "договоре" - один или больше одного. дальше делаете тупо (я обычно не морочусь). в ячейке макета ставите тип =Шаблон и рисуете именуемые в дальнейшем как... ([ПечСтатус]) а в коде делаем так (хз как у вас там статусы заданы и список авторов\соавторов) //определим или получим как-то аналогично НСИ (нормативно-справочную информацию СЗ = СоздатьОбъект("СписокЗначений"); //значение=мнж.число, представление(ключом будет)=ед.число СЗ.ДобавитьЗначение("авторы","автор"); //1строка = номер статуса, СЗ.ДобавитьЗначение("соавторы","соавтор"); //2 СЗ.ДобавитьЗначение("наследники","наследник"); //3 СЗ.ДобавитьЗначение("составители","составитель"); //4 ПечСтатус="<ОШИБКА, ЗНАЧЕНИЕ НЕ ОПРЕДЕЛЕНО>"; //договоримся что из контекста "договора" можно получить некий ИД статуса - например номер строки в СЗ или ключ статуса и можно получить количество статусов в документе (один автор или несколько) ИдентификаторСтатусаЕд = ПолучитьСтатус(); //здесь получаем ключ/идентификатор статуса, это "автор","исполнитель","составитель","наследник" - этот идентификатор и будет заодно ед.числом. ИдентификаторСтатусаМнж = СЗ.Получить(ИдентификаторСтатусаЕд); Если ПустоеЗначение(ИдентификаторСтатусаМнж)=1 Тогда //какойто кривой статус в документе, выведется ошибка в текст Иначе КолвоСтатусов = ПолучитьКоличествоСтатусов(); //сколько авторов, ЧИСЛО, может быть и 0,если в договоре не заполнено ПечСтатус = ?(КолвоСтатусов<2,ИдентификаторСтатусаЕд,ИдентификаторСтатусаМнж); КонецЕсли; Таб.ВывестиСекцию(...); |
|||
19
Злопчинский
24.10.19
✎
19:53
|
Можно еще так
НомерСтатуса = ПолучитьСтатус(); Если (НомерСтатуса<1) ИЛИ (НомерСтатуса>4) ПечСтатус="<ОШИБКА, ЗНАЧЕНИЕ НЕ ОПРЕДЕЛЕНО>"; Иначе ИдентификаторСтатусаМнж = ""; ИдентификаторСтатусаЕд = СЗ.ПолучитьЗначение(НомерСтатуса,ИдентификаторСтатусаМнж); КолвоСтатусов = ПолучитьКоличествоСтатусов();//сколько авторов, ЧИСЛО, может быть и 0,если в договоре не заполнено ПечСтатус = ?(КолвоСтатусов<2,ИдентификаторСтатусаЕд,ИдентификаторСтатусаМнж); КонецЕсли; Таб.ВывестиСекцию(...); |
|||
20
Злопчинский
24.10.19
✎
19:54
|
можно еще с пяток вариантов накидать, в завсимости как у вас там статусы определены и ка кони в договоре задаются.
тут основное что ед/множ не имеет смысла "склонять", т.к. перечень "склоняемых" мал и заранее определен. |
|||
21
Дина88
25.10.19
✎
05:43
|
Спасибо, что поправили. Сорри, формы. Сейчас буду пробовать
|
|||
22
Дина88
25.10.19
✎
05:50
|
Получается, что одного реквизита статусыСотрудников не достаточно в форме договора, если в форме договора 4 поля для заполнения для сотрудников? Безденежный(соавтор), Скоробогатов(автор), Богатов(наследник) и Честный(составитель). статусы тогда нужно привязать к полям ввода конкретного сотрудника(у меня был создан один реквизит Статус)? надо подумать)
|
|||
23
Дина88
25.10.19
✎
08:24
|
И еще один момент, в 1С 8 когда переменная не определялась из макета, вот такая строчка помогала найти данные контрагента -
ДанныеКонтрагента=Контрагент.ДанныеКонтрагента; Макет.Параметры.ДанныеКонтрагента=ДанныеКонтрагента; В 7.7 не находит реквизит Статус: л_СтатусАвтора = n_Контекст.Статус; Добавила Статус = СтатусыСотрудников.Наименование л_СтатусАвтора = n_Контекст.Статус; СтатусыСотрудников это название Справочника, откуда выдергиваются статусы |
|||
24
Дина88
25.10.19
✎
08:26
|
Все равно не находит, может нужно не во внешней обработке код писать?
|
|||
25
Birmingem
25.10.19
✎
09:52
|
В отладчике посмотрите что показывает ваш n_Контекст
|
|||
26
Дина88
25.10.19
✎
10:13
|
Заместо Макет.Параметры в 7.7 какой аналог кода есть? Таблица.Параметры не действует. Я использовала свойство ячеек Тип - Шаблон, так как с текстом и нужно еще вставить [Статус], возможно из-за этого что-то не так
|
|||
27
ДенисЧ
25.10.19
✎
10:17
|
(26) Переменную в процедуре вывода объяви с таким именем. И ей присваивай
|
|||
28
Провинциальный 1сник
25.10.19
✎
10:24
|
(26) С параметрами в 7.7 всё намного проще. Любой объект и переменная контекста является параметром.
|
|||
29
Дина88
25.10.19
✎
10:31
|
В отладчике во внешних отчетах вообще нет моего макета
|
|||
30
Дина88
25.10.19
✎
10:34
|
Нашла
|
|||
31
Дина88
25.10.19
✎
10:36
|
Денис, есть реквизит сотрудник, который заполняется из справочника Сотрудники, он никаких ошибок не выдает, хотя сделан так же. Разница в справочниках. Справочник СтатусыСотрудников сделала сама, в нем в реквизите наименование забила статус.
|
|||
32
Дина88
25.10.19
✎
10:37
|
Имею ввиду, что переменную сотрудник не объявляла
|
|||
33
ДенисЧ
25.10.19
✎
10:41
|
Значит, она где-то есть. Отсюда не видно
|
|||
34
Дина88
25.10.19
✎
10:54
|
Отладчик если я правильно делаю показывает на гл_НомерВерсииКонфигурации = "2.0";
|
|||
35
Злопчинский
25.10.19
✎
11:13
|
сейчас с текучкой разгребусь, если будет охота - можем удаленно вместе посмотреть, задача какая-то детская, а времени на нее потрачено вагон, стукайся в 11:40 где-то в скайп Zlopun
|
|||
36
Злопчинский
25.10.19
✎
11:36
|
(22) "Получается, что одного реквизита статусыСотрудников не достаточно в форме договора,"
- недостаточно ДЛЯ ЧЕГО? . как я понял из потока сознания, у тебя в договоре могут быть указаны один или много "субьектов" договора (один или несколько авторов, один или несколько наследниов..)..? . "субьект" договора (автор, наследник) - он один или в договоре одновременно указывается несколько разных субьектов - в договоре отдельно упоминается И субъект "автор" (один или несколько) И субъект "наследник" (один или несколько) И...? . |
|||
37
Дина88
26.10.19
✎
09:18
|
Кое-как сделала. Оказ. когда в макете договора тип ячейки шаблон, а не выражение, нужно в квадратных скобках прописать еще n_Контекст. Получается [n_Контекст.СтатусСотрудника]
|
|||
38
Дина88
26.10.19
✎
09:22
|
Только сейчас прочитала ваше предложение Злопчинский, эх, проворонила такую возможность. Когда еще можно? С бухгалтером переговорила на тему если 4 сотрудника, то вариантов статусов тоже 4 может быть, она сказала, пока что нет такого, что все участники были с разными статусами, поэтому пока только ед и мн число надо сделать
|
|||
39
Дина88
26.10.19
✎
09:24
|
то есть будет один статус на всех, если 2 и более сотрудников, то все соавторы, если один сотрудник, то Автор.
|
|||
40
Злопчинский
26.10.19
✎
16:29
|
(37) вывод неверный.
шаблон - указывается в скобках. но в скобках указание nКонтест не имеет никакого отношения к шаблону. если написано в шаблоне [СтатусСотрудника] - то это переменная\реквизит которая видна в контексте процедуры\функции из которой вы строите макет (область видимости переменных, контекст выполнения - это и в 8-ке есть) . у вас в процедуре где вы печатаете - СтатусСотрудника - нет такой переменной\реквизита. у кас в процедуре есть переменная тКонтекст - вот она и видн.зиты этого nКонтест |
|||
41
Злопчинский
26.10.19
✎
16:30
|
(38) да в любое время можно, хоть сейас, сегодня, завтра.... если я у компа - то отвечаю. если не отвечаю - значит у компа нет
|
|||
42
Злопчинский
26.10.19
✎
16:33
|
(39) ", поэтому пока только ед и мн число надо сделать"
ну, про это уже написал |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |