Вернуться   Андрей Панько. Заметки про Dynamics NAV > Dynamics NAV (Navision)
Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Dynamics NAV (Navision) Заметки про Dynamics NAV (ранее Navision) и аддон LS Retail

Ответ
 
Опции темы Поиск в этой теме
  #1  
Старый 15.08.2006, 19:35
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Ошибки в Navision

Попытался открыть форму 279 Аудит настройка. Получил следующее сообщение об ошибке: "Неккоректный номер страницы (10) для ярлычка с именем 'Элемент 1'. (InPage установлено 10 в TextBox 'Tax Deferrals Journal')."

Navision 4 SP2.

Проблема исправляется следующим образом:
В форме 279, элемент Tabcontrol изменить свойство PageNames с "Общее,Продажи,Покупки,Товары,Ресурсы,Работы,ОС,Пр оизводство,Сервис,Склад" на "Общее,Продажи,Покупки,Товары,Ресурсы,Работы,ОС,Пр оизводство,Сервис,Склад,Налоги"

Navision 4SP3. Ошибка исправлена.

Последний раз редактировалось apanko, 27.12.2006 в 11:47.
Ответить с цитированием
  #2  
Старый 15.08.2006, 19:37
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Нашел ошибку - при попытке отменить учет выхода - пишет деление 0 / 0.

Посмотрел код в процедуре CalcUnitCost(ItemLedgEntryNo : Integer) : Decimal в таблице 83.

Это код 4.0
Код:
ValueEntry.RESET;
Код:
ValueEntry.SETCURRENTKEY("Item Ledger Entry No."); ValueEntry.SETRANGE("Item Ledger Entry No.",ItemLedgEntryNo); ValueEntry.CALCSUMS("Invoiced Quantity","Cost Amount (Actual)"); EXIT(ValueEntry."Cost Amount (Actual)" / ValueEntry."Invoiced Quantity" * "Qty. per Unit of Measure");

А это было в 3.70
Код:
ValueEntry.RESET;
Код:
ValueEntry.SETCURRENTKEY("Item Ledger Entry No.","Expected Cost"); ValueEntry.SETRANGE("Item Ledger Entry No.",ItemLedgEntryNo); ValueEntry.SETRANGE("Expected Cost",FALSE); ValueEntry.CALCSUMS("Invoiced Quantity","Cost Amount (Actual)"); IF ValueEntry."Invoiced Quantity" <> 0 THEN EXIT(ValueEntry."Cost Amount (Actual)" / ValueEntry."Invoiced Quantity" * "Qty. per Unit of Measure") ELSE EXIT(0);


Любопытно, зачем нужно было убирать проверку деления на 0.

Navision 4SP3. Ошибка исправлена.

Последний раз редактировалось apanko, 27.12.2006 в 11:49.
Ответить с цитированием
  #3  
Старый 16.08.2006, 10:39
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Предположу, что невозможность вручную создать заказ покупки для субподрядов то же является ошибкой.

Подробнее писал в теме: http://apanko.ru/showthread.php?t=31
Ответить с цитированием
  #4  
Старый 23.08.2006, 12:15
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Печать счета фактуры

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

Проявилось в следующем сообщении:
"Резервирование Операция не существует.
Идентифицирующие поля и значения:
Операция Но. = '12345',Положительна = 'Да'".

Применив дебаггер обнаружил источник проблемы в функции LineCycle - OnAfterGetRecord():

Код:
ReservExists := FALSE; ReservEntry.RESET; ReservEntry.SETCURRENTKEY("Source Type","Source Subtype","Source ID"); ReservEntry.SETRANGE("Source Type",37 { Sales Line}); ReservEntry.SETRANGE("Source Subtype",SalesLine1."Document Type"); ReservEntry.SETRANGE("Source ID",SalesLine1."Document No."); ReservEntry.SETRANGE("Source Ref. No.",SalesLine1."Line No."); IF ReservEntry.COUNT = 1 THEN BEGIN ReservEntry.FIND('-'); ReservEntry2.GET(ReservEntry."Entry No.",TRUE); ItemLedgEntry.GET(ReservEntry2."Source Ref. No."); LineCountry := Country.GetLocalName(ItemLedgEntry."Country of Origin Code"); END ELSE BEGIN ReservExists := TRUE; LineCountry := ''; END;

Немного модифицировал, применив конструкцию IF THEN

Код:
ReservExists := FALSE; ReservEntry.RESET; ReservEntry.SETCURRENTKEY("Source Type","Source Subtype","Source ID"); ReservEntry.SETRANGE("Source Type",37 { Sales Line}); ReservEntry.SETRANGE("Source Subtype",SalesLine1."Document Type"); ReservEntry.SETRANGE("Source ID",SalesLine1."Document No."); ReservEntry.SETRANGE("Source Ref. No.",SalesLine1."Line No."); IF ReservEntry.COUNT = 1 THEN BEGIN ReservEntry.FIND('-'); IF ReservEntry2.GET(ReservEntry."Entry No.",TRUE) THEN BEGIN ItemLedgEntry.GET(ReservEntry2."Source Ref. No."); LineCountry := Country.GetLocalName(ItemLedgEntry."Country of Origin Code"); END ELSE LineCountry := ''; END ELSE BEGIN ReservExists := TRUE; LineCountry := ''; END;

Ошибка появляется и в 3.70 и в 4SP2. Исправления аналогичны.

Последний раз редактировалось apanko, 23.08.2006 в 12:18.
Ответить с цитированием
  #5  
Старый 21.09.2006, 11:24
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Прямые поставки

В заказе на отгрузку невозможно заполнить поле "Purchasing Code", система выдает сообщение:
"Формула даты 0D должна включать временной период.
Временной период может быть: Д,ДН,Н,М,К или Г.
С, означающее текущий период, может быть определено как префикс для временного периода."

Проблема в следующем кусочке кода в таблице 37 Продажи Строки.

Код:
Purchasing Code - OnValidate() TestStatusOpen; TESTFIELD(Type,Type::Товар); CheckAssocPurchOrder(FIELDCAPTION(Type)); IF PurchasingCode.GET("Purchasing Code") THEN BEGIN "Drop Shipment" := PurchasingCode."Drop Shipment"; "Special Order" := PurchasingCode."Special Order"; IF "Drop Shipment" OR "Special Order" THEN BEGIN Reserve := Reserve::Нельзя; VALIDATE(Quantity,Quantity); IF "Drop Shipment" THEN BEGIN EVALUATE("Outbound Whse. Handling Time",'0D'); EVALUATE("Shipping Time",'0D'); ...

Заключается ошибка в том, что 0D по-русски выглядит как 0Д. Решений у проблемы есть два:
1. При вводе значения в поле "Purchasing Code", переключаться на ангийский язык.
2. заменить выделенные строки на:
Код:
EVALUATE("Outbound Whse. Handling Time",Format(0D)); EVALUATE("Shipping Time",Format(0D));
3. Дополнение. Заменить выделенные строки на:
Код:
EVALUATE("Outbound Whse. Handling Time",'<0D>'); EVALUATE("Shipping Time",'<0D>');

Примечания:
1. С нескладируемыми товарами проблема не возникает.
2. В версии 3.70 использовался несколько другой код.

__________________
Дополнение
То же, но уже в таблице 39, триггер onValidate к полю "Purchasing Code". Симптомы и методы лечения совпадают.

Последний раз редактировалось apanko, 27.12.2006 в 11:54.
Ответить с цитированием
  #6  
Старый 21.09.2006, 15:55
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Товар Настройка

В версии 4SP2 из формы к вышеуказанной таблице исчезло поле "Проверять дату применения". Я бы решил, что так оно и надо, если бы в этой форме дважды не появилось поле Копировать Комментарии в Тов.

Navision 4SP3. Ошибка исправлена.

Последний раз редактировалось apanko, 27.12.2006 в 11:56.
Ответить с цитированием
  #7  
Старый 09.10.2006, 19:15
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Трассировка по серийным номерам

В учтенных актах оприходования и учтенных актах списания не работают кнопки «Строки / Трассировка Товара».

Описание ситуации:
База Cronus 4SP2.
Товар 80102-T
Создаем и учитываем акт оприходования (количество 5, серийные номера с 200001 по 200005)
Создаем и учитываем акт списания (количество 3, серийные номера с 200001 по 200003)

Предварительный диагноз – нет соответствующих записей в таблице 6508.

Справедливо только для 3.70, в 4SP2 данная функциональность работает корректно.

Плюс любопытный нюанс. Если в карточке товара указать код трассировки СВОБОПЕР (с пустыми галочками на всех закладках), то при учете заказа покупки (продажи) данного товара в учтенном счете покупки (продажи) можно нажать кнопку «Строки / Трассировка Товара». Окно «Учт. товар трассировка строки» откроется, а вот из учтенных накладных этого сделать нельзя, т.е. окно не открывается. Причина такого поведения в том, что при учете счетов создаются строки в таблице 6508, а при учете накладных в таблице 6507 никакие записи не добавляются.

Справедливо для обеих версий.

Последний раз редактировалось apanko, 09.10.2006 в 23:30.
Ответить с цитированием
  #8  
Старый 01.12.2006, 18:50
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Специальные покупки/продажи

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

Недочет заключается в том, что заказ продажи можно учесть до того, как будет учтен заказ покупки. А вот заказ покупки после этого учесть уже нельзя. Хуже того, его нельзя даже удалить.

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

Относится к 4SP2. Третий сервис пак пока никак не получу.

Navision 4SP3. Ошибка исправлена.

Зато найдена новая.
1. В заказе продажи несколько строк и одна из них - специальная продажа.
2. Создаем заказ на покупку (на вторую строку), но не учитываем.
3. Учитываем заказ продажи (точнее только строку со специальной продажей).
4. Учитываем заказ покупки (при этом он исчезает).
5. удаляем строку по которой не было отгрузок из заказа продажи (обычная продажа).
Итого у нас остается заказ продажи со специальной продажей, по которой товар получен (учтен заказ покупки) и продан (учтен заказ продажи), но который нельзя удалить.

Последний раз редактировалось apanko, 27.12.2006 в 12:09.
Ответить с цитированием
  #9  
Старый 27.12.2006, 12:11
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
В связи с получение SP3, фиксирую исправленные ошибки.
Ответить с цитированием
  #10  
Старый 08.04.2008, 12:46
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Копошился с сериями номеров в продажах. Узнал следующее:

Если в таблице Продажи и Клиенты Настройка (311 Sales & Receivables Setup) указать одинаковые серии номеров для Учтенных счетов продажи и Учтенных расходных накладных, то можно вызвать ошибку:
Цитата:

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

Чтобы создать ситуацию нужно:
  1. Создать заказ продажи из двух строк.
  2. Учесть отгрузку по первой строке.
  3. При попытке учесть счет по первой строке будет получена указанная ошибка.
Если использовать опцию учета "Отгрузить и учесть счет" ошибка не возникает.


Глубинные причины и соответственно рецепт лечения не искал.
Ответить с цитированием
  #11  
Старый 23.07.2008, 11:34
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Теперь ошибки будут помещаться на antibug.nav4u.ru

Любой желающий может принять участие.
Как и почему можно узнать в статье Antibug.

Antibug-команда к работе готова.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 16:57.

Контакты: e-mail, телефон: +7(926)1805967 - Архив - Вверх

Microsoft Most Valuable Professional
vBulletin v3.5.4, Copyright ©2000-2019, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат Андрею Панько, если в самом материале не указано иное.
Рейтинг@Mail.ru Rambler's Top100