Ошибка при вызове метода контекста печать

УТ 8.1, помогите разобраться с правами на печать ☑ 0

RSS_Roman

10.06.10

12:56

Не дает печатать. В отчетах печать вообще неактивна, в документах пишет

«Ошибка при вызове метода контекста (Напечатать): Вывод запрещен».

У пользователя выбраны роли «Менеджер по закупкам», «Менеджер по продажам», «Пользователь». В настройке прав в «Организации (список)» добавлена основная организация.

Как разрешить печать?

1

RSS_Roman

10.06.10

15:26

Никто не знает, что ли? В желтой книжке про ограничение печати не нашел. Под полными правами печатает. Как сделать?

2

5 Элемент

10.06.10

15:51

Может там роль есть типа такой ПравоВыводаИнформации ?

3

ad205

10.06.10

15:51

Попробуй в настройках пользователей в предприятии поиграться.

4

ad205

10.06.10

15:54

А в конфигураторе в ролях проверь стоит ли галка на «Управление Торговлей» — «Вывод»

5

RSS_Roman

10.06.10

16:14

Разобрался, спасибо. В УТ пункт «вывод» отмечен только в «полные права» и «правоИспользованияТорговогоОборудования». Не назвал бы офисный принтер торговым оборудованием, ну да ладно.

Столкнулся с такой ошибкой, при выводе информации на печатную форму, платформа выдает следующее сообщение:
Ошибка при вызове метода контекста (ПроверитьВывод)…

ПроверитьВывод() — это метод табличного документа, который проверяет, умещаются ли переданные табличные документы на страницу при печати. В примечании у этого метода разработчики платформы 1С сразу написали, что при возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.

Проверил установленные принтеры, все исправно и работает. Эмпирическим путем выяснил, что данная ошибка возникает только у конкретной печатной формы и только под одним пользователем.

Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.

1. Помещение ПроверитьВывод в попытку

2) Сформировал печатную форму.

2. Пустая печатная форма (кол-во товаров = 0)

3) Для текущей печатной формы открыл параметры страницы и установил правильные параметры.

3. Параметры страницы

Ошибка возникала из-за неправильных параметров страницы, которые платформа сохранила ранее при выводе на печать печатной формы, например: платформа сохранила в параметрах страницы принтер, который в дальнейшем удалили и установили новый. Параметры страницы печатной формы хранятся в свойстве табличного документа КлючПараметровПечати. Это свойство содержит ключ значения, в котором сохраняются параметры печати таблицы. Параметры печати, настроенные и сохраненные с данным ключом, впоследствии восстанавливаются при следующем показе таблицы.

Что бы данная ошибка не возникала из-за неправильных параметров страницы, свойство КлючПараметровПечати следует устанавливать не в начале процедуры вывода на печать, а в конце, так как при установке данного свойства параметры печати тут же восстанавливаются.

UPD 04/10/2015: Если устанавливать свойство КлючПараметровПечати в конце формирования табличного документа, то метод ПроверитьВывод будет использовать параметры печати установленные по-умолчанию, а не пользовательские. Что бы избежать данной ситуации, необходимо устанавливать свойство КлючПараметровСистемы в начале формирования табличного документа, а метод ПроверитьВывод поместить в конструкцию Попытка-Исключение-КонецПопытки.

Содержание

  1. Зависает метод табдока ПроверитьВывод()
  2. ПроверитьВывод() непонятно как то работает
  3. АйТиБложик
  4. Ошибка хитрого метода ПроверитьВывод() табличного документа
  5. Решение проблемы ПроверитьВывод() для огромных документов
  6. Каких результатов удалось достичь
  7. Последовательность действий:
  8. Как это выглядит в программе
  9. Скачать файлы
  10. Специальные предложения
  11. См. также
  12. Безопасная работа с транзакциями во встроенном языке Промо
  13. Пример создания документа с движениями в ERP 2.5.7
  14. Работа с абстрактным массивом
  15. Семеро одного не ждут? Асинхронное исследование асинхронности
  16. Как выполнить отчет на СКД через COM и получить данные отчета? Промо
  17. Связи параметров выбора номенклатуры и характеристики в 1С 8.3
  18. Динамическая расшифровка СКД (на примере отчета)
  19. СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
  20. Как нарисовать граф на 1С Промо
  21. Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям
  22. Программная корректировка при выводе отчета СКД
  23. Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()
  24. Простой способ индексирования интервалов Промо
  25. Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме
  26. Методика обновления формы объекта данных при изменении объекта
  27. Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки
  28. Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо
  29. Вывод сообщений в HTML поле средствами 1С
  30. Краткое руководство по внесению изменений в конфигурацию
  31. Универсальные функции: разложение произвольной строки адреса в структуру
  32. БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо
  33. «Живые» картинки со Snap.SVG
  34. RLS — дубли условий в запросах к СУБД
  35. Полное копирование одной формы в другую
  36. Некоторая работа с данными через COM Промо
  37. Многопоточная обработка данных на примере перепроведения документов
  38. Отображение истории выполнения по всем задачам комплексного процесса в документообороте
  39. Описание формата внутреннего представления данных 1С в контексте обмена данными
  40. Работа со схемой запроса Промо

Зависает метод табдока ПроверитьВывод()

Добрый день! Столкнулся тут с проблемой — есть файловая бух 3.0.41.59 и платформа 8.3.6.2237. Есть пользователь с ограниченными правами, работают все в терминале. Клиент обратился с проблемой — что у этого пользователя виснет 1с при печати любой п.ф. Вначале решили проблему просто — создали нового пользователя, проставили теже роли что и были и вроде все стало ОК, но через 2 дня ситуация повторилась. От пользователя терминала ничего не меняется. Через отладку дошел до места
Функция ПроверитьВыводТабличногоДокумента(ТабДокумент, ВыводимыеОбласти, РезультатПриОшибке = Истина) Экспорт

Попытка
Возврат ТабДокумент.ПроверитьВывод(ВыводимыеОбласти);
Исключение
Вот на этом месте оно и зависает в переменной ВыводимыеОбласти — массив из 2х строк, 1С начинает есть память пока не съест всю и отваливается со словами про нехватку памяти. подскажите куда копать? если я правильно догадываюсь — она считает что область не помещается на страницу и видимо сует ее на следующий лист, но и там она не помещается? может какие-то настройки в пользовательском режиме могут такие последствия давать? Заранее спасибо!

Копать в сторону установленых (пробрасываемых, раз у нас терминальная сессия) принтеров.

На самом деле метод ПроверитьВывод имеет смысл использовать только в том случае если для формируемого табличного документа определен принтер и все его параметры страницы (ориентация, поля, колонтитулы).

Это не очевидно, отсюда и бытует мнение (1) среди 1сников.

Источник

ПроверитьВывод() непонятно как то работает

Подскажите безграмотному, где собака зарыта, пол дня уже бьюсь(

ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ЭкземпляровНаСтранице = 1;

Для каждого СтрокаКомиссия Из Док.ЧленыКомиссии Цикл

Если Не (ТабличныйДокумент.ПроверитьВывод(МассивВыводимыхОбластей)) Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
НомерСтраницы = НомерСтраницы + 1;
ОбластьНомерСтраницы.Параметры.НомерСтраницы = «Страница » + НомерСтраницы;
ТабличныйДокумент.Вывести(ОбластьНомерСтраницы);
МассивВыводимыхОбластей.Очистить();
МассивВыводимыхОбластей.Добавить(ОбластьНомерСтраницы);
КонецЕсли;

Если СтрокаКомиссия.НомерСтроки = 1 Тогда
ОбластьКомиссия.Параметры.СтрокаЧленыКомиссии = «Члены комиссии: «;
Иначе
ОбластьКомиссия.Параметры.СтрокаЧленыКомиссии = «»;
КонецЕсли;

ОбластьКомиссия.Параметры.ФИОЧленаКомиссии = СтрокаКомиссия.ФИО;
ОбластьКомиссия.Параметры.ДолжностьЧленаКомиссии = СтрокаКомиссия.Должность;
ТабличныйДокумент.Вывести(ОбластьКомиссия);
МассивВыводимыхОбластей.Добавить(ОбластьКомиссия);
КонецЦикла;

Есть такой вот код, вот не могу понять, почему у меня ПроверитьВывод срабатывает когда примерно заполнилось пол страниы

(6) без нее когда массив на страницу наполнится будет каждую строчку с новой страницы выводить

(5)(7) придется видимо ковыряться другим способом, попробую предложенным, спасибо

ПроверитьВывод не работает. однозначно. проверено на сферическом вакууме. вот как я его обошел (буквально вчера)

три табличных документа:
ТД
ТДКопия
ТДСтрока

в ТДСтрока формирую строку, которую можно переносить (она может состоять из нескольких строк)
В ТДКопия вывожу область из ТДСтрока, относящуюся к этой строке таблицы.
если число страниц в тдкопия больше, чем в тд, то делаю разрыв, после чего копирую ТД в ТДКопия (чтобы разрывы совпадали), а ТДСтрока очищаю.
не забудь предусмотреть, если строка у тебя последняя, так как надо в ТДСтрока сразу загнать и подвал отчета. если же у тебя еще есть страничный подвал таблицы, то его тоже надо будет загонять в ТДСтрока.

(12) ну, 200 страниц, это даааа.. придется мухлевать, тогда мой метод примени для первой страницы, а дальше проверяй этой долбанутой функцией

(13) эта хрень как раз первую страницу и портит.

(18) отпишусь тут как добил

а ты мне еще на 200 страниц предлагал))) если уже на 20 тормозит)))

Источник

АйТиБложик

Маленький IT блог с характером 1С.

Ошибка хитрого метода ПроверитьВывод() табличного документа

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

Столкнулся с такой ошибкой, при выводе информации на печатную форму, платформа выдает следующее сообщение:
Ошибка при вызове метода контекста (ПроверитьВывод).

ПроверитьВывод() — это метод табличного документа, который проверяет, умещаются ли переданные табличные документы на страницу при печати. В примечании у этого метода разработчики платформы 1С сразу написали, что при возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.

Проверил установленные принтеры, все исправно и работает. Эмпирическим путем выяснил, что данная ошибка возникает только у конкретной печатной формы и только под одним пользователем.

Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.

1. Помещение ПроверитьВывод в попытку

2) Сформировал печатную форму.

2. Пустая печатная форма (кол-во товаров = 0)

3) Для текущей печатной формы открыл параметры страницы и установил правильные параметры.

3. Параметры страницы

Ошибка возникала из-за неправильных параметров страницы, которые платформа сохранила ранее при выводе на печать печатной формы, например: платформа сохранила в параметрах страницы принтер, который в дальнейшем удалили и установили новый. Параметры страницы печатной формы хранятся в свойстве табличного документа КлючПараметровПечати. Это свойство содержит ключ значения, в котором сохраняются параметры печати таблицы. Параметры печати, настроенные и сохраненные с данным ключом, впоследствии восстанавливаются при следующем показе таблицы.

Что бы данная ошибка не возникала из-за неправильных параметров страницы, свойство КлючПараметровПечати следует устанавливать не в начале процедуры вывода на печать, а в конце, так как при установке данного свойства параметры печати тут же восстанавливаются.

UPD 04/10/2015: Если устанавливать свойство КлючПараметровПечати в конце формирования табличного документа, то метод ПроверитьВывод будет использовать параметры печати установленные по-умолчанию, а не пользовательские. Что бы избежать данной ситуации, необходимо устанавливать свойство КлючПараметровСистемы в начале формирования табличного документа, а метод ПроверитьВывод поместить в конструкцию Попытка-Исключение-КонецПопытки.

Источник

Решение проблемы ПроверитьВывод() для огромных документов

Служба информационно-технического развития _ (SITR-utyos)

Каких результатов удалось достичь

Изначально, печатная форма, содержащая

200 страниц выводилась(речь идет об именно выводе в табличный документ) > 15 минут. В результате оптимизации удалось сократить время до 1-2 минут.

Последовательность действий:

  1. Объявляем ТабличныйДокумент как ранее, настраиваем его свойства(Масштаб, ориентация страницы, поля);
  2. Объявляем еще один табличный документ, назовем его ИтоговыйТабличныйДокумент, копируем в него все свойства ранее созданного;
  3. Выполняем вывод одной страницы в ТабличныйДокумент, проверяем, умещается ли он или нет с помощью метода ПроверитьВывод()
  4. Когда вывод не умещается на странице ТабличныйДокумент, то:
    1. Выполняем его вывод в ИтоговыйТабличныйДокумент методом Вывести(ТабличныйДокумент)
    2. Очищаем ТабличныйДокумент
    3. Выводим шапку(если требуется) в Табличный документ
  5. Пункты 3-4 повторяются в цикле, как и при обычном формировании печатных форм
  6. В конце формирования выводим подвал в ИтоговыйТабличныйДокумент

Как это выглядит в программе

Бонусом идет печатная форма для УПП 1.3, в которой присутствует этот кусок кода

Скачать файлы

Специальные предложения

На 8.3.11 не проверяли? Там что-то оптимизировали на эту тему:

Что-то подобное в расчетном листке организации ЗУП 2.5 используется.

(11) да не область на 300 страниц. А сам табличный документ на 300 страниц.

Автор предлагает не вызывать ПроверитьВывод() для большого документа на 300 страниц, а вызывать эту функцию только для малого табличного документа, который равен последней странице большого.

Ускорение происходит не за счет того, что уменьшается количество вызовов функции ПроверитьВывод(), а за счет того, что каждый вызов занимает в разы меньше времени.

Обновление 06.11.17 16:44

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку «В данной транзакции уже происходили ошибки». Учимся защищаться от них.

25.03.2019 45288 tormozit 58

Пример создания документа с движениями в ERP 2.5.7

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

10.08.2021 1907 maraty 10

Работа с абстрактным массивом

Абстрактные типы данных и алгоритмы уверенно набирают популярность в языках общего назначения. Встроенный язык 1С является предметно-ориентированным и не спешит развиваться в сторону поддержки абстракций. Однако потребность в них существует, т.к. задачи, решаемые на платформе, не уступают разнообразию из других ЯП. Предлагаю рассмотреть вариант реализации абстрактного массива в 1С.

07.07.2021 3687 kalyaka 56

Семеро одного не ждут? Асинхронное исследование асинхронности

Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?

08.06.2021 5369 Alxby 45

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, «скопипастить» текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его «немного модифицированная» копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

08.05.2018 31899 wowik 3

Связи параметров выбора номенклатуры и характеристики в 1С 8.3

Из этой статьи вы узнаете, как, используя системы стандартов и методик разработки 1С, правильно настроить связи параметров выбора номенклатуры и характеристики в новой табличной части.

22.02.2021 1348 plotnikov1c 2

Динамическая расшифровка СКД (на примере отчета)

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

08.12.2020 1536 mr_sav 2

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.

07.12.2020 5049 user1502278 18

Описывается реализация на языке запросов 1С метода расположения вершин графа на плоскости, основанного на использовании электромеханической аналогии. При этом вершины графа представляются одноименными электрическими зарядами, дуги — пружинками. Силы взаимодействия вершин в этой системе переводят их из случайного начального в нужное конечное положение. Приведена обработка рисования графов «ГрафОграф», реализующая данный подход, показывающая также динамику процесса. Граф можно задать списком ребер вручную, выбрать из нескольких предопределенных примеров или сформировать по данным информационной базы.

09.08.2013 73463 ildarovich 117

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Цель данной статьи — сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

09.10.2020 7293 hexhoc 12

Программная корректировка при выводе отчета СКД

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

08.10.2020 10699 dabu-dabu 16

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

25.07.2020 11529 Flashill 15

Простой способ индексирования интервалов Промо

Предлагается простой способ индексирования интервалов для решения задач выборки записей, включающих заданный момент времени, пересекающихся с заданным интервалом или множеством интервалов. Способ основан на добавлении к исходной таблице особого числового индексированного поля, рассчитываемого по специальной формуле. Приведен код функций, необходимых для расчетов поля поиска и параметров поисковых запросов. Приведены также результаты тестирования метода, доказывающие его высокую эффективность.

28.09.2016 41987 ildarovich 22

Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме

В данной статье я опишу реализацию универсальной (в кавычках) печати Приказа (Договора или чего пожелаете) с возможностью настройки выводимого текста с параметрами из пользовательского режима. Обработка для скачивания написана для доработанной конфигурации клиента ЗУП версии 3.1.13.120. Перед внедрением в свою конфигурацию ее необходимо будет дорабатывать.

24.06.2020 2418 BuriyLesha 3

Методика обновления формы объекта данных при изменении объекта

В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.

09.03.2020 20071 tormozit 16

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

05.03.2020 8063 user5300 3

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

01.02.2018 38268 rpgshnik 54

Вывод сообщений в HTML поле средствами 1С

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

31.01.2020 10578 burni4 16

Краткое руководство по внесению изменений в конфигурацию

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.

13.01.2020 22641 sapervodichka 41

Универсальные функции: разложение произвольной строки адреса в структуру

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

30.12.2019 5893 vik070777 10

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

10.05.2018 54002 dsdred 46

«Живые» картинки со Snap.SVG

В статье рассмотрен пример использования http-сервисов для визуализации данных

24.10.2019 15110 blackhole321 7

RLS — дубли условий в запросах к СУБД

«Подводные камни», возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

07.10.2019 10030 geron4 4

Полное копирование одной формы в другую

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде «покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал». Тем не менее, мне стало интересно, как это можно сделать.

03.10.2019 7942 nekit_rdx 25

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

05.12.2012 59939 wowik 32

Многопоточная обработка данных на примере перепроведения документов

Дальнейшее развитие темы фоновой обработки данных — проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

17.09.2019 12751 ids79 46

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Коллеги, предлагаю вашему вниманию доработку для вывода полной истории в задачах комплексного процесса.

15.09.2019 8758 pavelpribytkin96 8

Описание формата внутреннего представления данных 1С в контексте обмена данными

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на «внутреннюю кухню» платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм «быстрого массива», который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно «на лету» программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

06.09.2019 21737 Dementor 31

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, — лучше воспользоваться объектной моделью запроса и использовать объект «Схема запроса». В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом «Схема запроса».

Источник

Adblock
detector

Наименование Файл Версия Размер
  • #1

В 1Сv8.2Управление Предприятием Создал пользователя «кладовщик» с соответствующей ролью «кладовщик» и интерфейсом «кладовщик». По должностным обязанностям требуется создавать Требования-накладные и Лимитно-заборные карты( без права Проводки обоих ), а так же разпечатывать эти документы. Возникло две ошибки: одна при открытии (Ошибка при вызове метода контекста(Записать):Вывод запрещен ) Нажимаю ОК и она закрывается. И вторая ошибка при печати документа (Ошибка при вызове метода контекста(Напечатать):Вывод запрещен) Причем печатная форма документа показывается нормально, а ошибка возникает при отправке документа на принтер. Просмотрел все права роли а так же дополнительные права — разрешил все что так или иначе связано с печатью, но проблема не решилась. Пользователь с ролью «Полные права» и полными доп.правами нормально всё разпечатывает и не имеет сообщения об ошибке при входе . Где еще можно искать решение данной проблемы?

  • _________________.bmp

    737,9 КБ
    · Просмотры: 221

  • ___________________.bmp

    1,1 МБ
    · Просмотры: 226

1cprogrammist

1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

1

1C 8.x

02.12.2013, 01:15. Показов 9559. Ответов 33

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Подскажите, пожалуйста. Выбрал для счета только услуги, написал:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Шапка = Запрос.Выполнить().Выгрузить();
    Шапка.Следующий();
    
    СтрокаВыборкиПоляСожержания = ОбработкаТабличныхЧастей.ПолучитьЧастьЗапросаДляВыбораСодержания("ЗаказПокупателя");
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |   ВложенныйЗапрос.Номенклатура                    КАК Номенклатура,
    |   ВЫРАЗИТЬ (ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное,
    |   ВложенныйЗапрос.Количество                      КАК Количество,
    |   ВложенныйЗапрос.ЕдиницаИзмерения.Представление  КАК ЕдиницаИзмерения,
    |   ВложенныйЗапрос.Цена                            КАК Цена,
    |   ВложенныйЗапрос.Сумма                           КАК Сумма,
    |   ВложенныйЗапрос.СуммаНДС                        КАК СуммаНДС,
    |   NULL                                            КАК Характеристика,
    |   NULL                                            КАК Серия,
    |   ВложенныйЗапрос.НомерСтроки                     КАК НомерСтроки
    |   Метка
    |ИЗ
    |(ВЫБРАТЬ
    |      ЗаказПокупателя.Номенклатура,
    |      ЗаказПокупателя.Количество                            КАК Количество,
    |      ЗаказПокупателя.Номенклатура.ЕдиницаХраненияОстатков  КАК ЕдиницаИзмерения,
    |      ЗаказПокупателя.Цена                                  КАК Цена,
    |      ЗаказПокупателя.Сумма                                 КАК Сумма,
    |      ЗаказПокупателя.СуммаНДС                              КАК СуммаНДС,
    |      NULL                                                  КАК Характеристика,
    |      NULL                                                  КАК Серия,
    |      ЗаказПокупателя.НомерСтроки                           КАК НомерСтроки,
    |      1                                                     КАК Метка
    |  ИЗ
    |      Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателя
    |
    |  ГДЕ
    |      ЗаказПокупателя = &ТекущийДокумент
    |) КАК ЗаказПокупателя
    |УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР
    |";

форма регистрируется, но при печати ошибка: Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(14, 1)}: Синтаксическая ошибка «ИЗ» <<?>>ИЗ

Что я не так сделал? Спасибо

Добавлено через 33 секунды
Извиняюсь сразу за свою назойливость



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

02.12.2013, 08:15

2

В первом «Выбрать» запятая после «КАК НомерСтроки» пропущена.



0



Оленька

24 / 24 / 1

Регистрация: 11.04.2008

Сообщений: 541

02.12.2013, 08:31

3

во втором случае (строка 38):
|) КАК ЗаказПокупателя
должно быть: КАК ВложенныйЗапрос

Добавлено через 3 минуты
и в 37 строке скорей всего должно быть:

1C
1
2
ГДЕ
  ЗаказПокупателя.Ссылка.Ссылка = &ТекущийДокумент



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

02.12.2013, 10:30

4

Ссылка.Ссылка — никогда не должно быть



0



24 / 24 / 1

Регистрация: 11.04.2008

Сообщений: 541

02.12.2013, 10:31

5

так там табличная часть документа, а Ссылка.Ссылка = это сам документ



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

02.12.2013, 10:52

6

Цитата
Сообщение от Оленька
Посмотреть сообщение

так там табличная часть документа, а Ссылка.Ссылка = это сам документ

Уже Ссылка — это и есть он. Такой синтаксис может встретиться в единственном случае:
в функции параметр «Ссылка», в который может передаваться и объект, и ссылка. Но это таки не грамотно.

Добавлено через 2 минуты
Вообще-то, тут вложенный запрос не нужен. Только если потренироваться.



0



OrkVasya

02.12.2013, 11:15

Не по теме:

Синьор знает толк…



0



1cprogrammist

1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

02.12.2013, 22:07

 [ТС]

8

Пишу так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    Запрос.Текст = "
    |ВЫБРАТЬ
    |   ЗаказПокупателя.Услуги.Ссылка,
    |   ЗаказПокупателя.Услуги.НомерСтроки,
    |   ЗаказПокупателя.Услуги.Содержание,
    |   ЗаказПокупателя.Услуги.Количество,
    |   ЗаказПокупателя.Услуги.Цена,
    |   ЗаказПокупателя.Услуги.Сумма,
    |   ЗаказПокупателя.Услуги.СтавкаНДС,
    |   ЗаказПокупателя.Услуги.СуммаНДС,
    |   ЗаказПокупателя.Услуги.Номенклатура
    |ИЗ
    |   Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателя
    |
    |ГДЕ
    |   ЗаказПокупателя = &ТекущийДокумент

Таки не нравицца: Опять ошибка «ИЗ»



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

02.12.2013, 22:17

9

Есть подозрение, что, т.к. «Документ.ЗаказПокупателя.Услуги» обозвали синонимом «ЗаказПокупателя», то при обращении в выборке как «ЗаказПокупателя.Услуги», на самом деле идет обращение к полю «ЗаказПокупателя.Услуги.Услуги», а такого ессно нет.
Удалите «.Услуги» в секции «выбрать».

А чем вам не угодил конструктор запросов? С ним таких граблей у вас в жизни не будет.



0



2954 / 1766 / 82

Регистрация: 03.11.2011

Сообщений: 8,280

02.12.2013, 22:24

10

Цитата
Сообщение от 1cprogrammist
Посмотреть сообщение

Пишу так:

Давай конструктор сдэлал, да? Зачэм пишу так?



0



1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

02.12.2013, 23:36

 [ТС]

11

Запрос ощщень нннннада

Ок. Захожу в конструктор запросов, мне надо, чтобы были при печати счета только услуги.



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

02.12.2013, 23:38

12

ПКМ-Конструктор запроса
Дальше визуально таблицы выбирайте. Или внешняя обработка «Консоль запросов» — без нее работать гораздо печальнее.
Простой вариант понимания — откройте Радченко, вай дод!



0



1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

02.12.2013, 23:44

 [ТС]

13

Выбираю «ЗаказПокупателя-Услуги»…..

Добавлено через 1 минуту
и, значит, выбирать что нужно



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

02.12.2013, 23:48

14

и внимательно смотрите что нить из этого, например это.

Не по теме:

Боже, благослови youtube



1



1cprogrammist

1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

03.12.2013, 19:36

 [ТС]

15

Понятно

Добавлено через 6 минут

Цитата
Сообщение от OrkVasya
Посмотреть сообщение

и внимательно смотрите что нить из этого, например это.

Не по теме:

Боже, благослови youtube

Вах, спасыба балшой, дарагой, да, выручил очень

Добавлено через 19 часов 36 минут
Мне еще вот что не понятно до конца.

1C
1
2
3
4
Функция ПолучитьПараметрыПечатиСчета(Тип) Экспорт
Функция СоздатьТабличныйДокументПечатиСчета(Тип, ПараметрыПечати)
Функция Печать() Экспорт
//Макет в виде счета

Но всё равно печатается как заказ а не счет. Почему? Объясните, пожалуйста



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

03.12.2013, 21:35

16

Таки что подразумевается, говоря «печатается как заказ а не счет»?



0



1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

03.12.2013, 22:20

 [ТС]

17

Выходит печатная форма заказа (рис2), а надо чтобы печатался Счет на оплату(рис1). Я то сделал форму счета на оплату услуг и хочу, чтобы из документа печатался именно счет на оплату только услуг.

Миниатюры

Не удалось сформировать внешнюю печатную форму(толстую)! Ошибка при вызове метода контекста (Выполнить): {(14, 1)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ
 

Не удалось сформировать внешнюю печатную форму(толстую)! Ошибка при вызове метода контекста (Выполнить): {(14, 1)}: Синтаксическая ошибка "ИЗ" <<?>>ИЗ
 



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

03.12.2013, 22:23

18

Чета как-та не понятна…
Это внешняя ПФ? Выложить можете?



0



1cprogrammist

1 / 1 / 0

Регистрация: 04.11.2013

Сообщений: 66

03.12.2013, 22:28

 [ТС]

19

Везде прописал «Счет», все реквизиты. Смотрел, как в типовой, там отдельная функца на печать Счета на оплату. Может (как я думаю), убрать

1C
1
 Если Тип = "Счет"

Добавлено через 3 минуты
Да, это внешняя пч форма. Сам файл загрузить?



0



о_____О

Эксперт 1С

224 / 223 / 37

Регистрация: 19.11.2010

Сообщений: 1,062

03.12.2013, 22:36

20

Я про сам файл и говорил. Грузите.



0



Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста переместить файл
  • Ошибка при вызове метода контекста перейтипонавигационнойссылке
  • Ошибка при вызове метода контекста отправитьдляобработки bitrix24
  • Ошибка при вызове метода контекста открытьфайл xml
  • Ошибка при вызове метода контекста открытьмодально