Не работает бланк 06. (ИНВ- 1)

дилер
Регистрация: 19.03.2007

Бланк "06. (ИНВ-1) Инвентаризационная опись основных средств".

В диалоге "Номер документа" меняем дату, чтобы этот же список ОС пересчитать на другое число. Нажимаем "Пересчитать список".

В предварительном редактировании видно уже актуальные суммы.

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

Суммы достаются из неизвестного архива и не соответствуют предварительному редактированию. Заодно не соответствуют даты.

Вложения
дилер
Регистрация: 19.03.2007

Добрый день!

Как успехи по данному вопросу?

Причина найдена - после переоценки ОС меняется сумма в карточке ОС в графе "Восстановительная стоимость". Бланк должен стоимость ОС брать не из карточки, а из файла *\OS\OS_DOC\OSINV.DBF, именно там хранятся инвентаризационные данные.

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

Исправил бланк, добавляйте в поставку.

OS_INV1.BLW

В районе 180 строки ищем "ТАБЛИЦА_ДОК=ТАБЛИЦА_ДОК_ОСИНВ"

Добавляем выгрузку инвентаризационных данных, прошедших предварительно редактирование.

//// выгружаем список актуальных данных инвентаризации ОС во временный файл
инв_врем=ДИР_DBF+"\OS\TEMP\temp_inv1.dbf"
ОСп.ОЧИСТИТЬ
ОСп.ДОБАВИТЬ("SELECT * FROM '"+ТАБЛИЦА_ДОК_ОСИНВ+"'" )
ОСп.ДОБАВИТЬ(" WHERE NUMB='"+НОМЕР_ДОК+"'")
ОSQL=SQL_ЗАПРОС(ОСп)
ОSQL.ЗАПИСАТЬ(инв_врем)
ОSQL.ЗАКРЫТЬ

Добавляем второй JOIN для этого временного файла.

ОСп.ОЧИСТИТЬ
ОСп.ДОБАВИТЬ("SELECT A.*,C.F01,C.F02,C.F03,C.F04,C.F05,C.F08 ")
ОСп.ДОБАВИТЬ(",d.F10,d.F11,d.F12,d.F13 ")
ОСп.ДОБАВИТЬ("FROM '"+ФайлГлавный+"' A ")
ОСп.ДОБАВИТЬ("LEFT JOIN '"+ ФАЙЛ_ДОП_СВОЙСТВ+"' C ON A.INVNOM = C.INVNOM ")      // AND C.INVNOM=A.INVNOM)
ОСп.ДОБАВИТЬ("LEFT JOIN '"+ инв_врем +"' d ON d.INVNOM = A.INVNOM ")

Корректируем имена полей в графах таблицы (было/стало)

//    temp_п[СТР(и)+"_"+СТР(10)]=ОSQL.ПОЛЕ("NUMBER")
//    temp_п[СТР(и)+"_"+СТР(11)]=ОSQL.ПОЛЕ("STCOST")
//    temp_п[СТР(и)+"_"+СТР(12)]=ОSQL.ПОЛЕ("NUMBER")
//    temp_п[СТР(и)+"_"+СТР(13)]=ОSQL.ПОЛЕ("STCOST")
    temp_п[СТР(и)+"_"+СТР(10)]=ОSQL.ПОЛЕ("F10")
    temp_п[СТР(и)+"_"+СТР(11)]=ОSQL.ПОЛЕ("F11")
    temp_п[СТР(и)+"_"+СТР(12)]=ОSQL.ПОЛЕ("F12")
    temp_п[СТР(и)+"_"+СТР(13)]=ОSQL.ПОЛЕ("F13")

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

Поскольку BDE не поддерживает связь "JOIN ... ON ..." по двум полям в пределах одной таблицы, пришлось делать через временный файл. Напрямую из файла OSINV.DBF брать данные нельзя, т.к., если ОС находится в двух разных списках, то будут задвоения и затроения.

Сам файл идёт в прицепе, чтобы просто его скопировать. Выложите его, пожалуйста, в горячих обновлениях.

разработчик
Регистрация: 03.06.2013

Вот только сейчас стало понятно, что речь идет про версию программы для УСН. В первом вашем сообщении об этом ни слова. А я проверял на ОРН - там бланк работает нормально. В УСН же версии бланк ИНВ 1 отличается. Буду исправлять.

модератор
Регистрация: 06.06.2013

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

дилер
Регистрация: 19.03.2007

Замечательно....

Значит в ОРН и УСН, например, платёжка будет работать по-разному?

Как такое вообще допускается?

модератор
Регистрация: 06.06.2013

Добрый день!

Спасибо за сообщение! Будет исправлено.

С уважением, Дёмушкин Юрий Владимирович
ООО "Инфо-Бухгалтер", отдел программных разработок