![]() |
![]() |
![]() |
|
v7: БухИтоги.Рассчитать - проблема с датами периода | ☑ | ||
---|---|---|---|---|
0
gumoldova
16.08.12
✎
18:48
|
Пытаюсь создать связь 1С(7.7) и .NET приложение (VB)
Возникла следующая проблема при расчете БухИтогов после задания периода даты верные Dim BuxItog As Object = V77.EvalExpr("СоздатьОбъект(""БухгалтерскиеИтоги"")") BuxItog.ПериодД("УстановитьДату()", "УстановитьДату()") Значения : BuxItog.НачПероида=#7/1/2012# BuxItog.КонПероида=#9/30/2012# Но как только даю : BuxItog.Рассчитать() НачПероида и КонПериода становятся #12/30/1899# Причем сам Рассчитать проходит без збоев Вылетает уже СКД при переборе в цикле справочника товаров Dim SchetPoCodu As Object = v77.evalexpr("СчетПоКоду(""217"")") ..... ost = BuxItog.СКД(SchetPoCodu, 3, , KatalogTovar.CurrentItem()) ..... Поможите кто чем может. |
|||
1
Rie
16.08.12
✎
18:54
|
(0) Ты действительно полагаешь, что передаваемая в ПериодД строка вдруг ни с того ни с сего превратится в дату?
|
|||
2
gumoldova
16.08.12
✎
20:23
|
Я полагаю, что передаю функцию УстановитьДату() и что интересно как-то эта дата устанавливается.
В режиме отладки (работаю на VB VisualStuio2008) просматриваю значения после выполнения ПериодД, они равны: BuxItog.НачПероида=#7/1/2012# BuxItog.КонПероида=#9/30/2012# Но после BuxItog.Рассчитать() меняются на #12/30/1899# . Может подскажете как надо из VB по OLE правильно это сделать. |
|||
3
Rie
17.08.12
✎
05:19
|
(2) Не передаёшь ты функцию. Передаёшь строку "УстановитьДату()".
BuxItog.ПериодД(V77.EvalExpr("УстановитьДату()"),V77.EvalExpr("УстановитьДату()")) может быть поможет - если УстановитьДату является экспортируемой функцией глобального модуля. Или просто передай даты, если можешь вычислить их непосредственно в VB. |
|||
4
zladenuw
17.08.12
✎
05:26
|
если ты не в 1с типы давай 1с
|
|||
5
zladenuw
17.08.12
✎
05:31
|
(4) no like aline
|
|||
6
gumoldova
17.08.12
✎
10:10
|
Пытаюсь по всякому :
1 сначала забить дату в переменную и ее вставить в бухитоги Dim EndDate As Object = v77.evalexpr(""РабочаяДата()"") BuxItog.Рассчитать("", EndDate , "", "", "", "") 2 Переформатить дату в строку 'DD.MM.YY' Dim Dat2 As Date = CDate(BuxItog.НачПериода) Dim Dat3 As Date = CDate(BuxItog.КонПериода) Dim DatStart As String Dim DatEnd As String DatStart = "'" & Dat2.Day & "." & Dat2.Month & "." & Dat2.Year & "'" DatEnd = "'" & Dat3.Day & "." & Dat3.Month & "." & Dat3.Year & "'" Но после BuxItog.Рассчитать(DatStart, DatEnd, "", "", "", "") Контроль показывает, что период сбрасывается на #12/30/1899#. Dat2 = CDate(BuxItog.НачПериода) Dat3 = CDate(BuxItog.КонПериода) В чем траблы понять не могу, как Бухитог.Рассчитать может изменить период если до его вызова период правильный ? |
|||
7
Rie
17.08.12
✎
10:12
|
(6) Есть основные итоги, есть временные итоги.
|
|||
8
gumoldova
17.08.12
✎
14:32
|
То есть при переходе в режим временных итогов период основных итогов (НачПериода, КонПериода) "сбрасывается" в #12/30/1899#, а расчет временных остатков идет по своим датам периода ?
Как-то можно проверить период временных итогов ? |
|||
9
Rie
17.08.12
✎
14:38
|
(8) А зачем тебе вообще временный расчёт? Режим бухгалтерского запроса - не поможет?
|
|||
10
gumoldova
17.08.12
✎
14:47
|
Вообще задача стоит сформировать накладную 1С на основании работы программы на VB
Для того, чтобы проверить количественные остатки 1С и задать им соответствие с "справочником" VB нужно знать остатки в 1С. Вот я их и пытаюсь рассчитать для начала |
|||
11
Rie
17.08.12
✎
14:50
|
(10) Используй режим бухзапроса.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |