• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

1c77 Сбилась последовательность документов

  • Автор темы vbs
  • Дата начала
V

vbs

У заказчика (ТиС 9.54) с некоего момента при восстановлении последовательности документов начали сбиваться остатки товаров (собственно, по количеству и сумме ровно в три раза
больше, чем по документам на любое число периода). Тестирование и исправление выявило несколько незначительных глюков, но не спасло.

В общем, поступил я так - убил последовательности "КнигаПокупок" и КнигаПродаж" (они им не нужны) - и все ожило.
Но на душе неспокойно. Может, кто поделится своими соображениями на этот счет ?
 
V

vitfil

Вариантов может быть масса.
Навскидку:
1. Попробовать сделать полный пересчет итогов регистров. Если не помогает, рассматриваем другие варианты.
2. К другим можно отнести следующие... Насколько я помню ТиС, это обрубок от Комплексной. Опять же, если мне не изменяет склероз, в документах не стоит признака "Автоматическое удаление движений". Надо копать в сторону проведения документов во время восстановления последовательности: есть подозрение, что для последовательностей "КнигаПокупок" и "КнигаПродаж" документ проводится с параметром, который указывает, что НЕ надо очищать движения по регистру ОстаткиТМЦ в момент проведения. Как результат: плюс в регистр при восстановлении последовательности "Основная" и по двум последовательностям, приведенным выше. Из-за чего это могло произойти? Например, до определенного момента не трогали последовательности "КнигаПокупок" и "КнигаПродаж". Второй вариант: накатили обновления, в которых содержится описанный баг в модуле документов поступления ТМЦ.
 
G

Guest

здраствуйте.возникла проблема в 1С 7.7.начинаю формировать акты сверки по конкретному контрагенту именно с начала года по август выдает ошибку:ПечДокумент = ПечДокумент + ","+РазделительСтрок+"с/ф получ. № "+СокрЛП(СчетФактура_.НомерДокВходящий)+" от "+СчетФактура_.ДатаДокВходящий;
{Отчет.АктСверки.Форма.Модуль(208)}: Поле агрегатного объекта не обнаружено (НомерДокВходящий)
если кто знает помогите очнь надо. :) заранее спасибо.
 
V

vbs

Попробовать сделать полный пересчет итогов регистров
При тестировании и исправлении это ж, вроде делается
для последовательностей "КнигаПокупок" и "КнигаПродаж" документ проводится с параметром, который указывает, что НЕ надо очищать движения по регистру ОстаткиТМЦ
А как это можно проверить ? Черный ящик ведь :)
Если б можно было подробно покопаться, наверное, я бы справился
Например, до определенного момента не трогали последовательности "КнигаПокупок" и "КнигаПродаж".
Знаю, что при восстановлении всегда ставилась птица "Выбрать все" - там ребята не очень продвинутые но аккуратные
накатили обновления, в которых содержится описанный баг в модуле документов поступления ТМЦ
Исключено. Конфигурацию поддерживал только я
 
V

vitfil

А как это можно проверить ? Черный ящик ведь
А если поставить в отладчике точку останова в модуле проведения и попробовать восстановить последовательность? Теоретически, должно взлететь. Вообще же, работа последовательностей в 1С для меня до сих пор загадка. Попробуй, например, в уже существующую последовательность добавить какой-то новый вид документа. Он полностью игнорируется, хотя в списке присутствует. Необходимо удалить последовательность, сохранить конфигурацию, снова создать последовательность и добавить в нее все необходимые документы. О как... Кроме этого, не все так гладко с последовательностями (когда их несколько) при программном проведении документов. Особенно, когда документы модифицируются.
Мне так и не удалось подружиться с последовательностями. Посему предпочитаю строить программу таким образом, чтобы последовательность была неважна.
 
V

vbs

Посему предпочитаю строить программу таким образом, чтобы последовательность была неважна.
А мне терпеть придется - 7 лет они работают, вряд ли что-то новое воспримут. В свое время из ДОС-программы едва ли не полгода на 7.7 переходили
 
V

vitfil

Ну, если других последовательностей нет, одна должна справляться со своими обязанностями.
 
V

vbs

Так похоже, мой способ борьбы - не самый безумный...
 
V

vitfil

Я, если честно, вообще не понимаю сути последовательностей...
Никто так и не смог привести в пример ситуацию, когда последовательность требовалась бы.
 
K

kaa

я понимаю так что последовательность придумана для того чтоб не проводить все документы, а только те которые непосредственно влияют на итоги.

здраствуйте.возникла проблема в 1С 7.7.начинаю формировать акты сверки по конкретному контрагенту именно с начала года по август выдает ошибку:ПечДокумент = ПечДокумент + ","+РазделительСтрок+"с/ф получ. № "+СокрЛП(СчетФактура_.НомерДокВходящий)+" от "+СчетФактура_.ДатаДокВходящий;
{Отчет.АктСверки.Форма.Модуль(208)}: Поле агрегатного объекта не обнаружено (НомерДокВходящий)
если кто знает помогите очнь надо. mellow.gif заранее спасибо.
посмотри в отладчике в выборку попадает документ не имеющий реквизита - НомерДокВходящий (предположу что бух справка или ручная операция)
 
V

vitfil

kaa
Ну а теперь представь себе, что существует 2 последовательности и документ, который входит в обе.
Восстанавливаем первую последовательность, нарушаем вторую...
 
V

vbs

Восстанавливаем первую последовательность, нарушаем вторую...
Да вот раньше никогда такого не наблюдал - обычно пользователи выбирают все последовательности и перепроводят все документы - описанный эффект вижу впервые.
Ни в последовательность "КнигаПродаж", ни в последовательность "КнигаПокупок" - в данной базе не попадает вообще ни один реальный документ,
а на движения регистра "КнигаПродаж" влияет только СчетФактура.
вот и пойми, в чем проблема...
 
K

kaa

kaa
Ну а теперь представь себе, что существует 2 последовательности и документ, который входит в обе.
Восстанавливаем первую последовательность, нарушаем вторую...
Я так думаю, что если первая последовательность восстановится без ошибок то документ входящий в обе последовательности, тоже проведётся до ТА и вторая последовательность не должна быть нарушена
 
V

vbs

Я так думаю, что если первая последовательность восстановится без ошибок то документ входящий в обе последовательности, тоже проведётся до ТА и вторая последовательность не должна быть нарушена
Так пользователю от этого ни жарко, ни холодно. У него остатки поплыли, и объяснять ему про всякие последовательности - себе дороже
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!