1с не работает кнопка результат проведения
неактивные кнопки
Здравствуйте! 1С-7,7 (7.70.526) Сегодня после выгрузки из банка выписки пропала возможность с ней работать. Т.е. выписка открывается, но кнопки "подбор по п/п", "внести на основании", "записать", "ОК" - не активны((( Причем оказалось, что все выписки с начала года не активны. Затем такая же ерунда случилась и реализацией - открываем реализацию и ничего в ней откорректировать не можем. Т.е. все документы открываются только на просмотр. Дата запрета редактирования 01.06.2011. Ничего необычного не делали, работали по обычной схеме. Помогите, пожалуйста. Может кто-нибудь сталкивался с подобным
Нас пользователей - два человека. Мы даже не в курсе где можно сменить доступ. Не подскажите - какие должны быть настройки у активного пользователя?
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной.
В типовом релизе такого поведения можно добиться, только сняв права на редактирование. Так что либо кто-то поднастроил вам права, либо релиз нетиповой.
А можете выложить текст процедуры ПриОткрытии() выписки или реализации?
Если бы я не был программистом, я б наверное хирургом стал. Люблю, знаете ли, покопаться во всякой фигне непонятной.
//_____________________________________________________________________________
Процедура ПриОткрытии()
ПриЗаписиПерепроводить(1);
глПроверкаРазрешенияРедактирования(Контекст);
Если Форма.ТолькоПросмотр() = 1 Тогда
Форма.КнопкаВыбораРасчетногоСчета.Доступность(0);
Форма.КнопкаЗаписать.Доступность(0);
Форма.КнопкаОК.Доступность(0);
Форма.КнопкаПоступлениеПоДокументам.Доступность(0);
Форма.КнопкаПодборПоПлатежнымДокументам.Доступность(0);
КонецЕсли;
УправлениеВидимостьюСуммовыхРазниц();
Форма.КоррСчет.ВыполнятьФормулуТолькоПриИзменении();
Форма.КоррСчет.ВыборГруппы(0);
ОстатокНаНачалоДня = 0;
ОстатокНаКонецДня = 0;
УстановитьТипВыписки();
Форма.Кн_Видеокурс.Видимость(?(ТипЗначения(Видео_Компонента) = 0, 0, 1));
НачальнаяДатаДокумента = ДатаДок;
Зайдите в режиме конфигуратора, откройте конфигурацию, нажмите кнопку «Права», двойным щелчком активируйте Ваш набор прав (в типовой без изменений это «Администратор»), найдите док «Выписка», дважды щелкните по нему, посмотрите все ли галочки установлены в поле «Доступ», если нет установите все галочки и сохраните конфигурацию. То же самое с реализацией.
Как Вы думаете, что правильнее писать, например, в ОбработкаПроведения, если документ проводить нельзя?
(12) Исключение это обработка исключительной ситуации, когда выполнение кода может завершиться ошибкой исполнения. Это как микроскопом гвозди забивать, вам не кажется?
(16) конечно потеряется. вызов метода веб-сервиса просто завершится ошибкой, описание будет что то типа "документ не записан."
(13) Исключение выгодно использовать ,когда ошибку надо реально обработать. Например, необходимо внести информацию по ошибке и контексту в таблицу и по окончании процесса вывести ее пользователю.
(14) У ВызватьИсключение есть очень большой минус для групповой обработки - ломает транзакцию. Вместо того, чтобы записать/обработать 100500 элементов одной транзакцией приходится без нее в этом случае делать.
все зависит от случая .
мне больше нравится. Хотя я уверен что это не правильно (Есть такое мнение что все что мне нравится не правильно)
(23) в одной транзакции нужно обрабатывать только те данные в верность которых ты уверен на 1000 процентов.
(26) если мы проводим документ, а он не проводится (в результате проверок внутри обработки проведения) - это разве не исключительная ситуация?
(29) Целостность данных, конечно же. Но как побочный результат, можно слегка оптимизировать работу с БД.
Отказ = Истина; тоже генерирует исключение, только описание ошибки будет совсем не информативное: "Ошибка при вызове метода контекста (Записать): Операция не выполнена!"
(36) Что плюсы? Судя по вопросам, "Ты хочешь и Рыбку съесть и на стуле посидеть". Ты программист или Дворник?
"Будь мужиком, напиши свой обработчик ошибок!" :)
+(36) Ошибка "Не заполнен реквизит " Может быть всего лишь верхушкой Айзберга.
А ошибок может быть куева туча.
.
Но а ты со своим Исключением получишь только одну, да и то мало внятную, если напишешь в ошибку весь талмуд всех ошибок :)
(41) Читай (37). И программируй :)
Если лень, то пиши через Исключение.
.
Предлагаю написать по человечески в зависимости от потребности детализации ошибка на стороне Веб-Клиента :)
(44) Какое в опу нарушение целостности ,когда не обновлен/создан один из 100500 несвязанных элементов? А нагрузка на БД, если делать одной транзакцией будет меньше и отработает шустрее.
(44) Есть легенда, что на определенных объемах информации, через транзакцию быстрее пишутся данные.
Но есть и другая версия, о том, что при этой транзакции все курят бамбук. А так же если превысить определенный объем информации в транзакционном пакете, то скорость упадет куда больше ,чем простая запись :)
(45) связанные они или нет - неважно. к транзакционным системам есть требование атомарности, то есть или все изменения прошли, или ни одно.
"не даст проводить "роботом"" - это что за зверь?
(46) С учетом того, сколько времени отнимает встроенный язык, трансляция запросов и т.д. - кто-то правда задрачивает на оверхед от транзакционной машины в СУБД?
(52) Есть запись в журнал регистрации.
Опять же во многих случаях желательно проверить все ветки алгоритма. Вызов исключения приостанавливает выполнение.
(54) Конечно, это уже поставка от 1С, т.е. если документ не провелся, то получи исключение. Все нормально и логично. Я бы сказал ожидаемо :)
Если доступен флаг Отказ, то стараюсь нужно использовать его. Для случаев, когда Отказ недоступен можно использовать ВызватьИсключение.
+ установка Отказ в Истина не прерывает исполнения процедуры/функции.
(58) какой смысл в дальнейшем выполнении процедуры после того, как Отказ встал в Истина (транзакция полюбому отменяется)? Если только он в дальнейшем опять изменится на Ложь. Такое где нибудь применяется? В типовых точно нет.
(60) это конечно же тема отдельного разговора (выводить пользователю все найденные ошибки или только первую), так что давайте его на другой раз отложим. но извольте: пусть второй вариант опроса реализован чуть иначе: заведена отдельная переменная (например МойОтказ), а в конце процедуры ее значение анализируется и, если оно истинно, то уже вызывается исключение. ведь в этом случае второй вариант несет только плюсы?
(62) Сообщить вполне себе есть на сервере. Даже при вызове из фонового задания вполне работает. Даже то, что было запихано в Сообщить внутри фонового задания потом прочитать можно.
А вообще да, абстракции такие абстракции)
+(62) Отказ = Истина при выходе из ОбработкаПроведения точно так же все остановит, потому что Отказ = Истина это тоже генерация исключения.
(56) Если ты обрабатываешь исключение, то это просто перевод (goto) кода в обработчик исключение
Отказ это не исключение это ОтменитьТранзакцию
(64)
Да, согласный.
>Доступность:
>Сервер, толстый клиент, внешнее соединение.
Но суть в том, что ошибки которые мы хотим Сообщить, покажутся на клиенте только после окончания серверного вызова.
В этом плане, ИМХО, подход в бухе 7.7 (кажется) был самым правильным (после попытки провести отчет с результатом).
PS Все написанное мое личное мнение и может отличаться и других :)
(50) 10-25% процентов экономии порой. Не ахти-что, но иногда экономит лишние полчаса-час. Конечно, надо учитывать блокировки. А кто-то предлагает бездумно что-то использовать?
(63) Есть есть транзакция, то используется Отказ, если код выполняестся вне транзации - ВызватьИсключение.
(67) "Отказ это не исключение" - именно исключение. А откат транзакции это лишь следствие исключения. Если не веришь - попробуй в Попытка - Исключение записать объект, у которого в модуле объекта в "ПередЗаписью" стоит Отказ = Истина. Вывалишься в исключение.
(69) Как все запущено.
Если такой любитель наслаждаться сайд-эффектами - найди в коде все вызовы Новый БлокирвокаДанных и закомментируй. Тоже немало производительности выиграешь.
(74) Представляю, что ты скажешь на то, что я использую обновляю реквизиты документа прямым запросом :)
(72) Вообще то передЗаписью выполняется вне Транзакции.
Но это не суть. Смысл Отказа это установка флага ошибки.
Которое внутри процедуры не прекращает ход выполнения.
Но обрабатывается при выходе из предопределенной процедуры.
А дальше уже может вызываться исключение, Отмена Транзакции.
Смысл исключения перед отменой именно в немедленном прекращении процедуры с записью ошибки в журнал регистрации и вывода исключения для пользователя
Исключения которые перехватываются внутри процедуры это просто оператор перехода в обработчик исключения.
Возникает перед выполнением записи элемента справочника. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи элемента справочника.
да флаг отмена вызывает отмену транзакции и исключение по выходе из процедуры.
ПередЗаписью модуля объекта выполняется уже в транзакции
Здравая мысль про запись в журнал регистрации (1-й вариант не пишет, 2-й пишет), это я как то упустил. Но все равно думаю это не очень существенно.
Но отмена например могла бы быть и результатом выполнения.
(86) Т.е. ты считаешь, что никогда и ни в коем случае, нельзя лезть в 1С прямыми запросами? И что же случится при этом? Мир рухнет, сатана вылезет из ада, солнце потухнет?
(79) Есть еще один минус исключений. Иногда невозможно полностью оттестить все ветки алгоритма, и например проведение записи документа ставишь в обработчик исключений.
Записываешь в ЖР, а пользователю сообщаешь что бы обратился к программисту.
То есть нужно еще разделять пользовательские исключения и исключения системы. В нормальных языках это регулируется классом ошибок.
Обычно при проведении интересно узнать все возможные причины отказа проведения, а не останавливаться на первой попавшейся.
А ведь этим темам не больше года.
Диагноз:
1. "Мальчик паталогически не переносит учебу" - т.е. на лицо банальная аллергия на на чтение документации
2. При этом самомнение - как у вчерашнего девственника, оценивающего свой сексуальный опыт
3. Первое и второе вместе - я бы тебе даже доступа в рабочую базу не дал.
(91) И что не так в этих темах? Ты уверен, что знаешь все? Уверен, что документация раскрывает все возможные проблемы? Я, например, не уверен.
А самомнение только у тебя. Т.к. твое представление о работе с транзакциями кажется единственно верным. А бедные быдлокодеры из шаражки Oracle напридумывали и используют такую ересь, как автономные транзакции. Не понимают своей ущербности :(
(91) Кстати, по мотивам v8: 1С 8.2 УФ. Событие НаКлиенте после отмены проведения. ,а тебе самому не показалось странным и нелогичным, что есть клиентское событие ПередЗаписью, серверное ПередЗаписьюНаСервере, но нет клиентского ПослеЗаписи? Мне вот показалось. Но у меня нет такого самомнения, чтобы быть уверенным в безвыходности этой ситуации :(
(92) Я уверен, что Вам объективно рано делать заявления, подобные (83) :)
А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД. Ваша "вложенная транзакция" не разделяет блокировок основной и т.д. И, что самое главное - описываемого Вами "ускорения" операций в транзакции Вы уже не получите - с таким же успехом, можете просто запускать фоновое задание в коде на встроенном языке и дожидаться его завершения из кода, выполняемого в транзакции - будет тоже самое.
Через эту штуку удобно делать всякие аудиторские записи, инкременты счетчиков за т.д - это да.
А за алгоритм вида "делаем построчный update, где не сделался - пропускаем" любой опытный ораклоид сперва оторвет Вам руки, а затем понесет директору служебку о Вашем несоответствии занимаемой должности :)
(94) "Я уверен, что Вам объективно рано делать заявления, подобные (83) " Т.е. Вы считаете ,что видели все и знаете обо всем? Печально, жить скучно, должно быть.
(95) Я видел достаточно, чтобы гордые рассказы об ускорении обработки за счет транзакций и прямые запросы к 1Сной базе вызывали у меня только facepalm. Остальное - Ваши домыслы
.
(94) "А про вложенные транзакции - это ведь просто обертка над вторым коннектом к БД." Вы это с постгрёй не путаете.
(96) Т.е. Вы мыслите исключительно основываясь на парадигме, что собеседник - дебил? Не спорю, это намного безопаснее и помогает избежать негативных последствий его действий, но вот в рациональности есть сомнения.
(97) https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/autonotransaction_pragma.htm - особенно много внимания уделяем разделу "Usage Notes" - про пересечения блокировок, дедлокам с вложенными транзакциями и т.д.
(98) Это зависит от того, что говорит собеседник. И как аргументирует свою точку зрения.
Трассировка показывает "вход" в эту процедуру? Может "грабли" до неё?
Установи точку отладки на Отказ=Истина; Останавливается на ней или вылетает раньше?
(1) lisrws, кмк это обычное штатное поведение программы. Отказ = Истина в обработке проведения не вызывает исключения, это не ошибка.
Если там же написать а = б / 0, то будет ошибка, предложение перейти в конфигуратор и все такое.
нет. под дебагом зашел. отказ сперва "Ложь". потом установился в "истина". и все завершилось нормально. если убрать "отказ=истина;", то процедура полностью отработает и у документа установится признак проведения
(5) lisrws, странно это все, а если возврат убрать вовсе ? а у вас случайно подписки на проведение нету ? может в подписке валится ?
(7) AllexSoft, Похоже, но смущеет:
Зачем безапеляционная отмена?
и есть проверка на заполненность обязательных реквизитов. так вот на этой проверке, отказ устанавливается в истину и эта ошибка валится только в этом случае
Ну так "Сходите" туда трассировкой.
к сожаление на 15-й версии платформы ситуация повторилась. решили на это исключение забить, так что всем участникам спасибо, что откликнулись
(18) а зачем её завершать? вы же отказ в истину поставили. Документ и так не проведётся и не сделает никаких движений по регистрам (так как там проверяется на отказ = истине).
Или же выполнение дальнейших функций обернуть в
(14) "Возврат" убрать пробовали?)
Имхается проблема в нём.
Так как возврат прекращает процедуру и осуществляет возврат к точке из которой была вызвана эта процедура, то скорее всего вернуться некуда, вот и пишет ошибку.
Была аналогичная ситуация. Поборол следующим образом:
1. Поставил режим совместимости интерфейса "Такси. Разрешить Версия 8.2"
2. Запустил 1С со старым интерфейсом упр. форм.
3. Зашел в документ, при проведении получил ошибку проведения, но уже с окном без кнопки "Подробно" (только ОК).
4. Переключил интерфейс на "Такси"
5. Профит ) При проведении документа и Отказ = Истина получаем окно ошибки без кнопки Подробно.
Методика расследования причин медленной работы операции на примере открытия управляемой формы
Для начала необходимо убедиться, что проблема стабильно воспроизводится (в одинаковых условиях) и что все пункты с описанием применения методики выполнены. Для этого можно сделать следующее:
Сбор и анализ стандартных данных
Разберем пример для операции открытия формы документа "Табель учёта рабочего времени".
Мы организовали тестовый стенд, на котором наша проблема воспроизводится под пользователем с полными правами. К этому стенду мы можем подключаться как напрямую с удаленной рабочей станции в режиме тонкого клиента, так и в режиме веб-клиента через публикацию на веб-сервере.
Настройка технологического журнала на клиенте может быть такой:
Фильтр по имени процесса для нашей задачи избыточен и нужен для того, чтобы в случае ошибочной настройки такого лога на сервере не получить сбор всех событий для серверных процессов, что может занять значительный объем. С другой стороны, при осознанном включении такой настройки на сервере (если клиентские приложения запускаются там же, где может быть развернут и сервер приложений 1С:Предприятие) мы в отдельном каталоге Client_Full увидим данные только клиентских приложений (хотя при этом подкаталоги других процессов тоже будут созданы, но они буду пустыми). Свойство Interface не собираем, так как оно дублируется более "человек читаемым" свойством IName (хотя даже последнее нам в данном примере не обязательно нужно).
После настройки технологических журналов и проверки корректности замера времени ОценкиПроизводительности БСП выполняем повторение операции с включенной отладкой.
Замеры времени средствами БСП будут выглядеть следующим образом:
Везде далее будем рассматривать верхний в этом списке замер от последнего повторения, его длительность 13,022 секунды.
Замер отладчиком конфигуратора изображен на следующем рисунке:
Как видно, сумма длительности всех строк, связанных с открытием формы составила всего 1,523 секунды.
'00010101' + ТекущаяУниверсальнаяДатаВМиллисекундах() / 1000
а для миллисекунд взять остаток от деления на 1000 (то есть просто последние три цифры, обратите внимание на "779" на следующей картинке).
Точное время начала замера (минут:секунд.миллисекунд): 25:10.779
Точное время окончания замера (минут:секунд.миллисекунд): 25:23.801
Найдем теперь записи технологического журнала, соответствующие данному замеру, они будут примерно следующими:
Здесь видно, что соответствующий нашему замеру серверный вызов SCALL завершился примерно за 10,1 секунды, это соответствует интервалу между запросом VRSREQUEST и ответом VRSRESPONSE.
Причем время начала замера почти совпадает с началом вызова, то есть событием VRSREQUEST, что собственно ожидаемо, так как замер БСП начинается на клиенте и должен быть непосредственно перед командой открытия формы. А вот окончание вызова сервера случилось раньше, чем окончание замера, что значит, что эта разница во времени пришлась на часть работы клиентского приложения.
Итак, промежуточный итог по длительностям замеров разными способами показывает соответствие нашей ситуации ограничениям и выполнение неравенства: 1,5 < 10,1 < 13.
Стандартными инструментами не удается увидеть причину проблем низкой производительности работы (открытия) управляемой формы, поэтому воспользуемся следующими помощниками:
- Отладчик операционной системы: Windows Performance Recorder для сбора метрик и Windows Performance Analyzer для их визуализации и анализа;
- Анализатор сетевых протоколов Wireshark или прокси-сервер Fiddler Web Debugger.
Установим и запустим Windows Performance Recorder ("C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\WPRUI.exe"), укажем настройки:
После того, как их подготовили, перейдем в тонкий клиент 1С, откроем форму списка документов и непосредственно перед воспроизведением проблемной операции запустим сбор данных WPR (кнопка Start).
После открытия формы в тонком клиенте запись можно остановить и открыть ее для анализа. В открывшемся окне найдем по PID 5508 (его можно определить в диспетчере задач ОС или по логам ТЖ) наш тонкий клиент 1С и должны получить примерно следующую картинку:
По данным Windows Performance Analyzer видим, что у нас нет серьезной нагрузки по дискам, а поток тонкого клиента потребляет 100% ЦП на протяжении длительного времени вплоть до завершения замера.
Запомним этот результат и проанализируем траффик.
Запустим Wireshark и повторим проблемную операцию в тонком клиенте 1С:Предприятие с прямым подключением к серверу приложений 1С.
При сборе данных с помощью Wireshark (и отбору по пакетам с сервером-источником равным серверу приложений 1С:Предприятие) запуск открытия формы документа будет выглядеть примерно так:
Здесь каждая такая строка – это пакет (или если точнее, то "кадр", frame), который в свою очередь является частью общего большого пакета поверх протокола TCP (PDU – Protocol Data Unit). Если их сложить, получим пакет около 70 Кб. Стоит обратить внимание, что это будет размер с учётом сжатия, а если без него – то должны получить что-то около 2500 – 3500 Кб данных.
Устанавливаем и запускаем Fiddler, на панели инструментов ищем "Browse", выбираем любимый браузер и запускаем в нем необходимое нам приложение (информационную базу 1С:Предприятие). После запуска переходим в форму списка документов (готовимся воспроизвести сценарий), возвращаемся в Fiddler и включаем сбор траффика (кнопка F12), переходим в браузер и открываем форму документа. После её открытия сбор траффика можно отключить и заняться его анализом. Мы должны получить примерно следующее:
В данном дампе достаточно быстро находится относительно большой пакет искомого размера, выбираем его в списке слева, а в правой части окна переключаемся на страницу Inspectors, выбираем там просмотр заголовков (Headers), и так как у нас пакет является сериализованным json (Content-Type: application/json), то попросим Fiddler десериализовать его для нас.
После этого в окне предпросмотра отобразится древовидная структура ответа (response), которая передается с сервера на клиент и содержит так много данных. Далее нам необходимо проанализировать её и найти наиболее проблемные места. Может помочь кнопка Expand All, которая развернёт все элементы дерева, но это может занять некоторое время. Чтобы его сократить, сначала поймем, что именно нужно искать.
Подведем промежуточный итог:
- Проблем с медленной работой прикладного кода 1С или запросов нет.
- Большая часть времени открытия формы состоит из сетевого взаимодействия.
- Размер пакета с формой подозрительно велик.
- После получения пакетов имеем высокую утилизацию ЦП тонким клиентом 1С (или веб-клиентом).
- Потерянное время находится где-то между окончанием/началом работы прикладного кода 1С и сетевой передачей.
Из всех этих пунктов для нас наиболее полезным и требующим дополнительного анализа является тезис "Размер пакета с формой подозрительно велик".
Какие могут быть причины для такой ситуации? В общем случае их несколько:
- Сама по себе большая и сложная форма с большим количеством экранных элементов и реквизитов. Наверное, редкий и точно не очень правильный случай, лучше такого избегать на этапе проектирования систем.
- Простая форма, но много данных в реквизитах формы (включая данные объекта), в особенности:
- Хранилище значения, Строка(0);
- Большие коллекции (Таблица, Дерево, Список);
- Произвольный тип (концентрация проблем).
Так как наша проблема (у вас может быть по-другому) воспроизводится даже при очень небольшом количестве данных в ТЧ, и реквизитов у документа (т.е. объекта формы) совсем не много, то их мы не рассматриваем. Остаются реквизиты формы, не равные основному реквизиту "Объект".
Среди них находится несколько реквизитов, имеющих произвольный тип. Могут выглядеть так:
Сопоставляем эти данные с уже собранным ранее замером с помощью конфигуратора, и видим заполнение этих структур достаточно большим количеством элементов (например, можно 5059 в реквизите "СвойстваИзмерений").
Снова вернемся к дампу траффика в Fiddler и найдем там элемент, отвечающий за параметры формы (response/props). Увидим там примерно следующее:И если развернем далее эти элементы, убедимся, что их там несколько тысяч, каждый из которых представляет собой вложенную структуру вида:
Найдем прикладной код, заполняющий эти параметры, и убедимся, что данных там действительно достаточно много (2-3 Мб), и они представляют собой большое количество сложных вложенных структур.
Отключив заполнение данных реквизитов, убеждаемся, что проблема с производительностью формы исчезает, что значит, что причина была найдена правильно.
Выводы и рекомендации
Длительная работа открытия формы обусловлена сериализацией и десериализацией больших коллекций значений при передаче их между клиентом и сервером.
Для того чтобы оценить степень влияния всех факторов, которые имеют значения в этом процессе, можно сделать несколько тестов (замеров), изменяя эти факторы и оценивая корреляцию их значений и длительности. В нашем случае причиной проблем были структуры, хранящие данные справочников территорий и условий труда, поэтому изменяли количество этих элементов и пробовали замерять передачу с клиента на сервер этих данных (процедура ДанныеДляРедактированияВХранилище).
В следующей таблице приведены результаты таких замеров в нашем примере. Сразу следует оговориться, что не стоит никаким образом рассматривать в ней абсолютные значения, так как это будет зависеть еще и от конфигурации компьютера, сети, версии платформы и многого другого, связанного именно с нашим примером. Для нас же важны зависимости и их характер (линейная, экспоненциальная и т.д.). Предлагаем вам проанализировать их самостоятельно (или даже повторить замеры на актуальной версии платформы в вашей среде).
Принимая во внимание полученные таким образом данные, можно предложить следующие возможные пути решения:
После отработки всех стандартных функций отрабатывает расширение, которое через АПИ передает инфу в нашу CRM. При ручном проведении все отрабатывает нормально. Но если загружать (проводить) документы через выгрузку из банка, то здесь отрабатываются не все документы и при этом никаких ошибок не возникает.
Было мнение, что 1С просто "захлебывается", т.к. проведение документов при выгрузке происходит интенсивнее, пытался лимитировать по времени (даже в ущерб производительности), но данное мнение не подтвердилось.
Если кто сталкивался с подобным откликнитесь пожалуйста. Как решили данную проблему?
Программное проведение документа
Привет. Пишу такой код для программного проведения документа(обработку пишу): &НаСервере.Программное проведение документа из обработки
Всем привет! В обработке создаю документ, но не пойму как его провести. Пробовал вот так, но не.Проведение документа в общем модуле
Помогите пожалуйста, я создал объект для "Регламентных Заданий". создаю объект Документа и.Проведение документа по регистру бухгалтерии
Можете пожалуйста помочь с проводкой документа в котором есть реквизиты(дата,цена.dima_si, какая версия конфигурации и какая совместимость стоит у расширения ?
Еще есть вариант, что при проведении документов через выгрузку из банка включен режим обмена. Посмотрите в отладке.
1С:Предприятие 8.3 (8.3.14.1779)
Бухгалтерия предприятия, редакция 3.0 (3.0.73.38)
Выгрузка из банка через файлыДобавлено через 13 минут
dggrom, подскажите где искать, плутаю по меню, не могу проверить включен ли режим обмена.
1С:Предприятие 8.3 (8.3.14.1779)
Бухгалтерия предприятия, редакция 3.0 (3.0.73.38)
Выгрузка из банка через файлыВозможно прошло обновление и расширение отключилось. Посмотреть можно в предприятии на вкладе с подключаемыми внешнии обработками. Там должно быть ваше расширение и гореть зеленная лампочка.
Режим обмена иногда прописывается модулях объекта, поищите в документах которые вы проводите обработкой слудующую строчку кода. Скорее всего она будет в начале процедур записи или проведения
Решение
Dethmontt, разве ? Если в "ПередЗаписью" и "ПриЗаписи" не закомментировать этот код, потом не вызывается процедура проведения ?
Коллеги, давайте не будем забывать, что конфигурация типовая, лезть в конфигурацию никто мне не позволит, да и потом, она же обновляться будет. dggrom - расширение не отключается, по крайней мере визуально этого не видно. Там много чего еще в этом расширении, но вот отпадает этот момент. И как объяснить тот факт, что ручками то все нормально проводится, а вот когда идет выгрузка из банка (выгружаем выписку по старинке, через файлы), то не все срабатывают документы. Да, какая-то часть срабатывает. Некоторые остаются. При этом доки проводятся, инфа не выгружается. А после берешь этот документ, еще раз проводишь руками и вуаля - все нормально, пользователя не меняли, на права грешить не нужно.
dima_si, Ну значит нужно анализировать ту часть которая проводится с той которая не провелась нормально.
Читайте также: