Страница 1 из 2

Этот код уже используется (список заказов)

СообщениеДобавлено: Чт фев 26, 2015 2:40 pm
vadim
модуль список заказов

создаем заказ номер 200 - пишет, что уже используется

проверил список всех счетов, точно нету такого номера.

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт фев 26, 2015 2:45 pm
dmitry
Есть такая проблема, я про нее забыл - этот код заказа наверное был в прошлом году.
Решение такое: нажать там "Настройка" и выбрать "Номер + ММ.гг".

1.png
1.png (19.24 КБ) Просмотров: 3350

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт фев 26, 2015 3:17 pm
vadim
спасибо, решили

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

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт фев 26, 2015 4:07 pm
dmitry
Никак, это не отдельная дата, а часть его номера.

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт фев 26, 2015 4:32 pm
vadim
т.е., или ошибка о повторе, или всегда код + дата?
без вариантов?

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Пт фев 27, 2015 12:41 pm
dmitry
Решение такое:
К номерам заказов за прошлый год автоматичекски добавится "-2014". В настройках можно будет вернуть обычный код без месяца и года, он уже не будет совпадать.

- Скопировать текст ниже.
- В программе нажать Ctrl+F10.
- Вставить текст, нажать ОК.

Dim R As Predpr.TableSQL, ParamID As Integer
R = Predpr.DataMain.AppData.DocumentParamsCollection.DAOrecordset
R.FindFirst("ParamName='Код_заказа'")
If R.NoMatch = False Then
ParamID = R("ID")
Else
Microsoft.VisualBasic.MsgBox("Не найдено свойство 'Код заказа'", , "Отмена")
Exit Sub
End If
Dim DtStr As String = "#01/01/2015#"
Dim DocID As Integer, Rdoc As Predpr.TableSQL
Rdoc = db.OpenRecordset("SELECT ID, DocDate FROM Documents ORDER BY DocDate")
Rdoc.FindFirst("DocDate>=" & DtStr)
If Rdoc.NoMatch = False Then
DocID = Rdoc("ID")
Rdoc.Close
Else
Microsoft.VisualBasic.MsgBox("Не найдены документы 2015", , "Отмена")
Exit Sub
End If
DB.Execute("UPDATE DocumentParams SET Val_3 = Val_3 & '-2014' WHERE ItemID<" & DocID)

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Ср мар 04, 2015 4:54 pm
vadim
Большое спасибо

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 11:16 am
vadim
А строках автозаполнения везде начало дописываться 2014
например:
было поле РЕМОНТ ПРИНТЕРА - теперь стало РЕМОНТ ПРИНТЕРА-2014-2014

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 12:01 pm
dmitry
А что такое "строки автозаполнения"? Можно скриншот?

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 1:31 pm
vadim
якось так і в усіх полях, яких ми сторювали, як додаткові

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 2:39 pm
dmitry
Чтобы исправить:
- Скопировать текст ниже.
- В программе нажать Ctrl+F10.
- Вставить текст, нажать ОК.

Dim R As Predpr.TableSQL, ParamID As Integer, Str As String
R = Predpr.DataMain.AppData.DocumentParamsCollection.DAOrecordset
R.FindFirst("ParamName='Код_заказа'")
If R.NoMatch = False Then
ParamID = R("ID")
End If
R = DB.OpenRecordset("SELECT Val_3 FROM DocumentParams WHERE ParamID<>" & ParamID)
Do While Not R.EOF
Str = Predpr.GlobalFunction.Nz(R("Val_3"), "")
If Str <> "" Then
Str = Str.Replace("-2014-2014-2014", "")
R.Edit()
R("Val_3") = Str
R.Update()
End If
R.MoveNext()
Loop
R.Close()

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 2:51 pm
vadim
ошибка какая-то

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Чт мар 05, 2015 3:32 pm
dmitry
Немного изменил текст:

Dim R As Predpr.TableSQL, ParamID As Integer, Str As String
R = Predpr.DataMain.AppData.DocumentParamsCollection.DAOrecordset
R.FindFirst("ParamName='Код_заказа'")
If R.NoMatch = False Then
ParamID = R("ID")
End If
R = DB.OpenRecordset("SELECT Val_3 FROM DocumentParams WHERE ParamID<>" & ParamID)
Do While Not R.EOF
Str = Predpr.GlobalFunction.Nz(R("Val_3"), "")
If Str <> "" Then
Str = Str.Replace("-2014-2014-2014", "")
If Str = "" Then Str = "-"
R.Edit()
R("Val_3") = Str
R.Update()
End If
R.MoveNext()
Loop
R.Close()

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Пн янв 04, 2016 12:32 pm
vadim
новый год, 2016

нумерация началась с нуля, появилась ошибка - КОД УЖЕ ИСПОЛЬЗУЕТСЯ

Re: Этот код уже используется (список заказов)

СообщениеДобавлено: Пн янв 04, 2016 1:07 pm
dmitry
- Скопировать текст ниже.
- В программе нажать Ctrl+F10.
- Вставить текст, нажать ОК.

Dim R As Predpr.TableSQL, ParamID As Integer
R = Predpr.DataMain.AppData.DocumentParamsCollection.DAOrecordset
R.FindFirst("ParamName='Код_заказа'")
If R.NoMatch = False Then
ParamID = R("ID")
Else
Microsoft.VisualBasic.MsgBox("Не найдено свойство 'Код заказа'", , "Отмена")
Exit Sub
End If
Dim Str as String
Str="UPDATE DocumentParams INNER JOIN Documents ON DocumentParams.ItemID = Documents.ID "
Str=Str & "SET DocumentParams.Val_3 = Documents.Num & '_' & Year(Documents.DocDate) "
Str=Str & "WHERE DocumentParams.ParamID="& ParamID &" AND Documents.DocDate<#1/1/2016#"
DB.Execute(Str)