|
v7: Встроенный Отчет. Как в модуле формы получить Идентификатор этого Отчета? | ☑ | ||
---|---|---|---|---|
0
aka AMIGO
09.10.13
✎
11:00
|
К примеру, я вызвал Отчет на исполнение, теперь мне надо увидеть в коде, что именно я вызвал..
Или нет никаких функций доступа к свойствам Отчета, типа Идентификатор, Синоним, Коммент ? ЗЫ. извините, но так и не вижу решения.. Можно, конечно, по-тупому указать строкой/переменной в модуле, но это на случай, если программного решения не существует.. |
|||
1
Ёпрст
09.10.13
✎
11:08
|
Смотришь активный контекст и полный путь объекта.. через сервис.
|
|||
2
пипец
09.10.13
✎
11:16
|
Вопросы и Ответы
Главная : 1С:Предприятие начинающим Содержание » Использование разделителя учета в 1С:Предприятии 7.5 и 7.7 » При вводе документов появляется сообщение “Номер не уникальный!” » Не работает автоматический перенос текста в ячейке таблицы. » Чем отличается пункт меню Конфигуратора *Выгрузить данные* от пункта *Сохранить данные*? » Монопольный режим » Как сделать сообщения, выдаваемые функциями типа Предупреждение() многострочными? » Подчиненные документы » Изменение порядка следования субконто » Как занести в реквизит документа уже существующее перечисление » Использование строковых реквизитов неограниченной длины » Можно ли в таблицу вставить колонку типа Флажок (ChekBox)? » Пустые страницы в отчётах » Особенности использования метода ИспользоватьСписокЭлементов » Как узнать каталог, откуда запущена внешняя обработка? » Получить значение атрибута формы » Работа с метаданными » Видимость() в многослойных формах » Работа с переключателями » Чем отличаются версии 1С:Бухгалтерии: Базовая, Стандартная и Проф. » Каким образом в меню 1С прописать доступ к файлам *.ert » Добавление пиктограмм в табличную часть документа, справочника или журнала » Создать новую конфигурацию » Параметры командной строки Использование разделителя учета в 1С:Предприятии 7.5 и 7.7 Возможность ведения бухгалтерского учета для нескольких фирм в одной информационной базе и формирования сводного баланса (т.е. ведение консолидированного учета) обеспечивается разделителем учета. <…> При этом необходимо добавить еще один реквизит для объекта “Проводка”, назвав его, например, ”РазделительПоФирме” (желательно типа справочник). Затем для плана счетов назначить этот реквизит в качестве разделителя учета. Далее нужно в форму операции и в форму каждого документа ввести поле для выбора разделителя учета, например, “Фирма”. В модуль каждого документа для каждой операции добавить присвоение разделителя учета, например: Операция.НоваяПроводка(); Операция.РазделительПоФирме=Фирма; Операция.Дебет.Счет=СчетНДС; Операция.Кредит.Счет=СчетПоКоду(“60.1”); Операция.Кредит.Контрагенты=Поставщик; Операция.Кредит.Основание=Договор; <по материалам Информационно-Технологического Сопровождения фирмы 1С> В принципе - для этого предназначен так наз. "РазделительУчета" (свойство плана счетов), в качестве которого выбирается произвольный реквизит проводки, который надо предварительно завести (например - Фирма). Однако, хочу предостеречь от его необдуманного использования, поскольку сам "собаку съел" на этом деле, поскольку мои предшественники легкомысленно поленились вводить 4-е субконто, дабы не переделывать все так наз. "стандартные отчеты", где было заложено максимум 3 субконто, а использовать разделитель учета. Проблема же оказалась в том, что хотя в бух.итогах есть метод "ИспользоватьРазделительУчета()", который позволяет получать любые итоги либо по любому конкретному значению разделителя, либо по всем разделителям сразу (см. стандартные отчеты), однако, к моему великому сожалению, нет никакой возможности получить те же итоги теми же методами (СКД,СКК,ДО,КО)по нескольким (но не всем) разделителям сразу! Заказчики же, насладившись возможностью получать отчеты по каждому отдельному разделителю (у нас это были отделения головного предприятия), в конце концов затребовали те же отчеты, но по группам разделителей, собраным по каким-нибудь признакам (папкам, реквизитам или отобранным элементам справочника, выбранного разделителем и т.п.)! Вот тут-то и началось веселье, поскольку все стандартные отчеты все-равно пришлось переделывать, но не только их модули и формы, чего было бы достаточно для 4-х субконто, но и таблицы, куда вместо стандартных методов бух.итогов пришлось выводить значения всяческих переменных, списков и таблиц значений, которые предварительно пришлось чем-то заполнять, а точнее - суммами нужных итогов по всем нужным разделителям учета! Если же Вы абсолютно уверены, что Вашим клиентам никогда не понадобится получать балансы или какие-либо другие отчеты по нескольким, но не всем, предприятиям, а только либо по одному, либо по всем сразу - используйте разделитель учета! В противном случае - лучше использовать субконто, поскольку в запрос по бух.итогам можно передавать список их значений, сформировать который - не проблема! <Сообщил TLL> Наверх При вводе документов появляется сообщение “Номер не уникальный!” Одной из возможных причин такого сообщения является следующая. При оформлении предыдущих документов был изменен предлагаемый системой номер с уменьшением разрядности. Например, номер “00001” был изменен на “1”. При автонумерации документы были созданы с номера “1” до номера “9”, а затем происходит попытка создать следующий документ с номером “1”, так как для того, чтобы был создан документ с номером 10, не хватает разрядности. Так как номер “1“ уже существует, выдается сообщение об ошибке. Автонумерация работает таким образом, если номер имеет текстовый тип. Особенность алгоритма автоматического присваивания нового номера в этом случае заключается в том, что он предполагает неизменную длину номера, например, “00001”-“00002”-“00003” . Другой пример (с префиксом) – “Ст-001” - “Ст-002” - “Ст-003”. Для правильной нумерации при вводе первого номера следует задать в числовой части номера достаточный запас разрядов с лидирующими нулями. <по материалам Информационно-Технологического Сопровождения фирмы 1С> Наверх Не работает автоматический перенос текста в ячейке таблицы. Для автоматического переноса текста в ячейке таблицы необходимо установить режим *Контроль - Переносить* и сделать высоту строки *Авто* (Меню "Высота строки" -> кнопка "Авто"). Если изменить высоту строки, то авто переноса текста происходить не будет. При необходимости увеличения высоты строки сохраняя режим *Авто*, рекомендую создать первую колонку шириной в 1.00 пунктов, установить *Тип - Текст*, *Контроль - Переносить*, а затем регулировать высоту пробелами и размером шрифта в ячейке (ах) данной колонки. Наверх Чем отличается пункт меню Конфигуратора *Выгрузить данные* от пункта *Сохранить данные*? Режим "Сохранить/Восстановить" предназначен для создания резервной копии информационной базы, восстановления из резервной копии, переноса информационной базы на другой компьютер. Данный режим обеспечивает сохранение данных только в случае хранения базы данных в формате DBF/CDX. Режим "Выгрузить/Загрузить" предназначен для создания образа информационной базы в файле переноса. Файл переноса - это упакованный (сжатый) файл, содержащий объекты информационной базы в специальном формате. Данный файл используется при выгрузке/загрузке, а также обмене данными в распределенной информационной базе. Формат данного файла не предназначен для использования его способами, отличными от тех, которые предусмотрены механизмами выгрузки/загрузки системы "1С:Предприятие". При работе с базой формата MS SQL Server данный режим позволяет выполнить полное сохранение данных и конфигурации. Основное отличие этих двух режимов заключается в том, что режим "Сохранить/Восстановить" фактически сохраняет информационную базу на уровне файлов, а режим "Выгрузить/Загрузить" - сохраняет информационную базу в одном файле на уровне объектов информационной базы. Поэтому, если база данных содержит ошибки, появившиеся в процессе работы из-за сбоев оборудования или программы, режим "Сохранить/Восстановить" полностью перенесет файлы с любыми нарушениями их логической и физической структуры. Режим "Выгрузить/Загрузить" выгрузит и загрузит только физически не разрушенные содержащиеся в информационной базе объекты, так как восстановление производится в соответствии с внутренней логикой системы. Поэтому данный режим работает несколько дольше. Наверх Монопольный режим Есть один комп, на нем стоит 1С:Предприятие. Вопрос такой: нужно ли ставить галочку - МОHОПОЛЬHО [x] По каким-либо соображениям ? Увеличится скорость и не будешь связан никакими ограничениями (типа удаление помеченных на удаление объектов, поиск ссылок и т.п.) Наверх Как сделать сообщения, выдаваемые функциями типа Предупреждение() многострочными? Для этого нужно формировать строку для вывода такого плана: Предупреждение("Товар:"+Симв(10)+"Пряники"+Симв(10)+"мало остатков"); Где Симв(10) - перевод строки. Или использовать системную константу РазделительСтрок - прим. ред. Наверх Подчиненные документы Система 1С:Предприятие позволяет устанавливать между документами отношения подчиненности типа «один ко многим». Использование механизма подчиненности дает пользователю возможность автоматически формировать список документов, подчиненных выбранному документу. Кроме того, к списку подчиненных документов можно обращаться из встроенного языка системы 1С:Предприятие. Чтобы сделать какой-либо документ (назовем его условно «Документ 2») подчиненным другому документу («Документ 1»), необходимо: · в структуре документа «Документ 2» создать реквизит типа «документ» (указав конкретный вид документов или «документ вообще»); · при использовании конфигурации при вводе документа «Документ 2» в качестве значения этого реквизита выбрать документ «Документ 1». Для работы со списком документов, подчиненных какому-либо документу, используется журнал специального типа — журнал подчиненных документов. <"Конфигурирование и администрирование" Часть 1> Наверх Изменение порядка следования субконто Проблема: на счете три субконто. Хочу третье сделать первым, а первое скажем третьим. по счету есть проводки. Как сделать это без потери аналитики? Порядок субконто изменяется без потери инфы. Единственное, что нужно сделать, это проверить, как идет формирование проводок в модуле документов, работающих с этим счетом: если по номеру - надо исправлять, если по виду - то все нормально. Но бэкап перед изменениями делать нужно обязательно. (бэкап=сохранение данных - прим.ред.) Наверх Как занести в реквизит документа уже существующее перечисление РеквизитДокумента=Перечисление.ВидПеречисления.ИдентификаторЗначения Тип реквизита - такое же перечисление Наверх Использование строковых реквизитов неограниченной длины В dbf-версии все строки "неограниченной длины" хранятся в файле 1sblob.dbf кусками по 80 символов. Отсюда и делай выводы. Таблица общая для всех объектов данных, которые используют длинные строки - значит, возможны проблемы совместного пользования ею при работе нескольких пользователей. Т. к. строка режется на куски, то, когда записей станет слишком много, возможны проблемы со скоростью доступа к отдельным фрагментам строки. Кроме того, еще не известно, как может себя повести dbf-ный движок, используемый в 1С, и индексные выражения при большом числе записей. Про индекс могу определенно сказать - максимальное число 80-байтных блоков одной строки равно 10000 (0-9999), т. к. индексное выражение содержит в себе STR(BLOCKNO,4). Таким образом, в один реквизит типа "строка неограниченной длины" можно записать до 800000 байт (не такая уж она и "неограниченная"). Теоретический предел количества записей в dbf - 1 миллиард, хотя с глюками 1С-ного движка этот предел может наступить гораздо раньше. Так что напрашивается совет: по возможности избегать строк "неограниченной длины" - можно обойтись справочником, где будут указаны пути к текстовым файлам или разработать свою альтернативную систему хранения таких строк, благо 1С с файлами работать позволяет. В SQL-версиях насчет строк неограниченной длины см. документацию по MS SQL. <Сообщил Дмитрий Москаленко> <...> Обращение к реквизитам неограниченной длины несколько замедляет считывание объекта, если происходит обращение к этим реквизитам. Запись объекта замедляется более несколько существенно, но только если конкретное значение изменялось. Скорость записи, разумеется, зависит от количества записываемых блоков ( в базах данных DBF/CDX), то есть от длины строки. Следует учитывать, что строковые значения реквизитов неограниченной длины записываются и возвращаются без хвостовых пробелов, тогда как обычные строковые реквизиты всегда дополняются пробелами до длины соответствующей длине реквизита в метаданных. <из материалов Информационно-Технологического Сопровождения фирмы 1С> Наверх Можно ли в таблицу вставить колонку типа Флажок (ChekBox)? можно и в ТЗ, и в табличную часть. Эдакий псевдочекбокс. Просто дополнительная колонка. Для ТЗ - ТЗ.ВыводитьПиктограммы(). Для табличной части - дополнительная колонка типа "текст", в свойствах которой установить флажок "Показывать пиктограммы". Далее в свойствах ТЗ или табличной части выбрать картинку, которая будет содержать "отмеченный" чекбокс и неотмеченный... (см. "Добавление пиктограмм в табличную часть документа, справочника или журнала" - прим. ред.) Наверх Пустые страницы в отчётах Посмотри таблицу: возможно, заполняя ячейки таблицы ты передвинул правую границу печати (показывается пунктирной серой линией справа) - как результат, выводятся пустые столбцы -> чистые страницы. Для проверки можешь в опциях печати задать"по ширине листа"- всё сразу увидишь. Или использовал метод НоваяСтраница(). Наверх Особенности использования метода ИспользоватьСписокЭлементов Прежде всего, заметим, что данный метод не устанавливает условие отбора элементов, а задает форме списка справочника непосредственно список элементов, которые нужно показывать в форме. Этим собственно и достигается максимальная гибкость отбора, так как список элементов может быть сформирован с использованием любых средств 1С:Предприятия. Эта возможность позволяет оптимизировать формирование необходимого списка, выбирая наиболее производительный способ отбора данных. Прежде всего, это позволяет при работе с данными в формате MS SQL Server максимально задействовать возможности SQL-сервера. Важной особенностью применения метода " ИспользоватьСписокЭлементов" является необходимость формирования списка элементов отвечающих текущим значениям Родителя и Владельца в форме списка справочника. Типичной ошибкой при использовании данного метода является формирование полного списка элементов, удовлетворяющих требуемому условию. В случае если методу "ИспользоватьСписокЭлементов" переданы элементы не соответствующие текущему Владельцу и Родителю, то такие элементы будут отображаться в списке пустой строкой, и будут отмечаться специальной пиктограммой с символом "?". При этом не будет выдаваться сообщение об ошибке. Фактически, появление такой пиктограммы означает, что метод " ИспользоватьСписокЭлементов" используется не правильно. Такой способ диагностирования ошибки применяется системой в данном случае потому, что проверка переданного списка на корректность в процессе вызова метода потребует фактически обращения к каждому элементу в информационной базе, что существенно замедлит работу данного механизма. Таким образом, после разработки алгоритма модуля формы списка справочника следует проверить его работу на реальных данных и убедиться, что все элементы в списке отображаются правильно. Другой особенностью применения метода " ИспользоватьСписокЭлементов" является необходимость формирования списка элементов при изменениях текущих значений Родителя и Владельца. Для этого необходимо обрабатывать соответсвующие предопределенные процедуры и выполнять формирование списка с учетом новых значений. При работе с формой списка справочника с установленным списком элементов следует учитывать, что содержимое списка не будет автоматически обновляться при изменении данных справочника. Фактически просмотр списка будет отображать состояние справочника на момент формирования списка. По этой же причине в данном режиме запрещен ввод новых данных. Если возможность динамического обновления необходима, то можно рекомендовать включить в форму кнопку для принудительного обновления списка. При разработке алгоритма формирования списка следует обеспечить приемлемую производительность его выполнения на реальных данных. При работе с базами данных в формате MS SQL Server целесообразно воспользоваться рекомендациями по оптимизации выполнения запросов в версии 1С:Предприятия для SQL. Если формирование списка с выбранным критерием не удается выполнить с приемлемой производительностью, то целесообразно изменить критерий отбора или отказаться от отбора элементов в справочнике. Таким образом, метод "ИспользоватьСписокЭлементов" следует рассматривать как весьма специализированный способ представления списка справочника, который с одной стороны предоставляет максимальную гибкость с точки зрения отбора элементов, а с другой стороны требует достаточно аккуратного применения. <по материалам Информационно-Технологического Сопровождения фирмы 1С> Информация взята с сайта А.Кайгородова http://www.sinor.ru/~my1c/knowhow.html Наверх Как узнать каталог, откуда запущена внешняя обработка? РасположениеФайла(,); Синтаксис: РасположениеФайла(<Путь>,<Имя>) Назначение: Определить, где располагается данный внешний отчет. Параметры: <Путь> - идентификатор переменной, куда метод возвращает путь к файлу, где располагается данный внешний отчет. <Имя> - идентификатор переменной, куда метод возвращает имя файла, где располагается данный внешний отчет. Замечание: Данный метод следует использовать только в модуле формы внешнего отчета. Информация взята с сайта А.Кайгородова http://www.sinor.ru/~my1c/knowhow.html Наверх Получить значение атрибута формы Метод формы ПолучитьАтрибут() возвращает ССЫЛКУ на реквизит Формы. Через эту ссылку можно управлять элементом формы, но не получать его содержимое (т.е. значение). Пример: Форма.ПолучитьАтрибут("Реквизит1").Доступность(0); Получить-же ЗНАЧЕНИЕ реквизита формы по строке с именем реквизита можно с использованием ф-ии Шаблон(). Пример: Значение = ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр("+ИмяРеквизитаФормы+")]")); <сообщил АЛьФ> Информация взята с сайта А.Кайгородова http://www.sinor.ru/~my1c/knowhow.html -- если их пронумеровать например в определенном реквизите |
|||
3
aka AMIGO
09.10.13
✎
11:23
|
(1), (2) Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |