Я создаю надстройку для SAP B1 версии 10.
У меня есть форма с текстовым полем. У меня есть список выбора элементов в этом текстовом поле.
Когда я запускаю дополнение, в первый раз, когда я открываю форму, нажимаю на список выбора и выбираю и элемент, я Я могу без проблем добавить данные. Когда я закрываю форму, открываю ее снова и выбираю код элемента из CFL, я получаю сообщение об ошибке: «Таблица данных — неверный уникальный идентификатор [66000-138]». Что может быть причиной этого?
См. код ниже:
if (
pVal.FormTypeEx == "ContinuousProduction.TapelineGoodsIssue"
&& pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST
&& pVal.ColUID == "Col_0"
&& pVal.BeforeAction == false
)
{
SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
string sCFL_ID = null;
sCFL_ID = oCFLEvento.ChooseFromListUID;
oForm = Application.SBO_Application.Forms.Item(FormUID);
SAPbouiCOM.ChooseFromList oCFL = null;
oCFL = oForm.ChooseFromLists.Item(sCFL_ID);
if (oCFLEvento.BeforeAction == false)
{
SAPbouiCOM.DataTable oDataTable = null;
oDataTable = oCFLEvento.SelectedObjects;
oForm.Freeze(true);
if (oDataTable.IsEmpty == false)
{
string itemCode = null;
string itemName = null;
string inStock = null;
string factor = null;
if (oDataTable.UniqueID == "CFL_Item")
{
itemCode = System.Convert.ToString(oDataTable.GetValue(0, 0), null);
oRecordSet.DoQuery(
"SELECT T0.\"ItemName\", T0.\"IWeight1\" FROM OITM T0 WHERE T0.\"ItemCode\" = '"
+ itemCode
+ "'"
);
oRecordSet.MoveFirst();
if (oRecordSet.RecordCount > 0)
{
itemName = oRecordSet.Fields.Item("ItemName").Value.ToString();
factor = oRecordSet.Fields.Item("IWeight1").Value.ToString();
}
oRecordSet.DoQuery(
"SELECT T0.\"OnHand\" FROM OITW T0 WHERE T0.\"ItemCode\" = '"
+ itemCode
+ "' AND T0.\"WhsCode\" = '"
+ ComboBox1.Value
+ "'"
);
oRecordSet.MoveFirst();
if (oRecordSet.RecordCount > 0)
inStock = oRecordSet.Fields.Item("OnHand").Value.ToString();
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_0").Cells.Item(pVal.Row).Specific
).Value = itemCode;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_1").Cells.Item(pVal.Row).Specific
).Value = itemName;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_2").Cells.Item(pVal.Row).Specific
).Value = inStock;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_4").Cells.Item(pVal.Row).Specific
).Value = ComboBox1.Value;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_5").Cells.Item(pVal.Row).Specific
).Value = factor;
//oDataTable.Rows.Clear();
}
}
oForm.Freeze(false);
}
}
Здесь выдается ошибка:
itemCode = System.Convert.ToString(oDataTable.GetValue(0, 0), null);
Подробнее здесь: https://stackoverflow.com/questions/791 ... -66000-138
Ошибка SAP B1: «Таблица данных – неверный уникальный идентификатор [66000-138]» ⇐ C#
Место общения программистов C#
1731417084
Anonymous
Я создаю надстройку для SAP B1 версии 10.
У меня есть форма с текстовым полем. У меня есть список выбора элементов в этом текстовом поле.
Когда я запускаю дополнение, в первый раз, когда я открываю форму, нажимаю на список выбора и выбираю и элемент, я Я могу без проблем добавить данные. Когда я закрываю форму, открываю ее снова и выбираю код элемента из CFL, я получаю сообщение об ошибке: «Таблица данных — неверный уникальный идентификатор [66000-138]». Что может быть причиной этого?
См. код ниже:
if (
pVal.FormTypeEx == "ContinuousProduction.TapelineGoodsIssue"
&& pVal.EventType == SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST
&& pVal.ColUID == "Col_0"
&& pVal.BeforeAction == false
)
{
SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
string sCFL_ID = null;
sCFL_ID = oCFLEvento.ChooseFromListUID;
oForm = Application.SBO_Application.Forms.Item(FormUID);
SAPbouiCOM.ChooseFromList oCFL = null;
oCFL = oForm.ChooseFromLists.Item(sCFL_ID);
if (oCFLEvento.BeforeAction == false)
{
SAPbouiCOM.DataTable oDataTable = null;
oDataTable = oCFLEvento.SelectedObjects;
oForm.Freeze(true);
if (oDataTable.IsEmpty == false)
{
string itemCode = null;
string itemName = null;
string inStock = null;
string factor = null;
if (oDataTable.UniqueID == "CFL_Item")
{
itemCode = System.Convert.ToString(oDataTable.GetValue(0, 0), null);
oRecordSet.DoQuery(
"SELECT T0.\"ItemName\", T0.\"IWeight1\" FROM OITM T0 WHERE T0.\"ItemCode\" = '"
+ itemCode
+ "'"
);
oRecordSet.MoveFirst();
if (oRecordSet.RecordCount > 0)
{
itemName = oRecordSet.Fields.Item("ItemName").Value.ToString();
factor = oRecordSet.Fields.Item("IWeight1").Value.ToString();
}
oRecordSet.DoQuery(
"SELECT T0.\"OnHand\" FROM OITW T0 WHERE T0.\"ItemCode\" = '"
+ itemCode
+ "' AND T0.\"WhsCode\" = '"
+ ComboBox1.Value
+ "'"
);
oRecordSet.MoveFirst();
if (oRecordSet.RecordCount > 0)
inStock = oRecordSet.Fields.Item("OnHand").Value.ToString();
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_0").Cells.Item(pVal.Row).Specific
).Value = itemCode;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_1").Cells.Item(pVal.Row).Specific
).Value = itemName;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_2").Cells.Item(pVal.Row).Specific
).Value = inStock;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_4").Cells.Item(pVal.Row).Specific
).Value = ComboBox1.Value;
(
(SAPbouiCOM.EditText)Matrix0.Columns.Item("Col_5").Cells.Item(pVal.Row).Specific
).Value = factor;
//oDataTable.Rows.Clear();
}
}
oForm.Freeze(false);
}
}
Здесь выдается ошибка:
itemCode = System.Convert.ToString(oDataTable.GetValue(0, 0), null);
Подробнее здесь: [url]https://stackoverflow.com/questions/79181246/sap-b1-error-data-table-invalid-unique-id-66000-138[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия