powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / VB и 1С как получить остатки товаров?
18 сообщений из 43, страница 2 из 2
VB и 1С как получить остатки товаров?
    #38207690
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

В 1С в Глобальный модуль вставляем код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Функция глОстатокVB(тов) Экспорт
	Перем знТов;
	КодТовара=СокрЛП(тов);
	знТов="0; ";
	Если СтрДлина(КодТовара)>0 Тогда
		спрТов=СоздатьОбъект("Справочник.Товары");
		Если СтрДлина(КодТовара)<Метаданные.Справочник("Товары").ДлинаКода Тогда
			СчетчикЦикла = Метаданные.Справочник("Товары").ДлинаКода-СтрДлина(КодТовара);
			Для к=1 По СчетчикЦикла Цикл
				КодТовара=" "+КодТовара;
			КонецЦикла;
			СчетчикЦикла = "";
		КонецЕсли;
		Если спрТов.НайтиПоКоду(КодТовара,0)>0 Тогда
			Товар=спрТов.ТекущийЭлемент();
			знТов=Регистр.ОстаткиТоваров.СводныйОстаток(Товар,,,"ОстатокТовара")+"; "+СокрЛП(Товар.Наименование);
			Товар="";
		КонецЕсли;
		спрТов="";
	КонецЕсли;
	Возврат знТов;
КонецФункции



У вас:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim v7 As Object
st = " /D" & """\\Natali\1sp\""" & " /N " & """ааа""" & " /P" & """111"""
Set v7 = CreateObject("v77.Application")
result = v7.Initialize(v7.RMTrade, st, "yes_SPLASH_SHOW")
DoEvents
If Not result = True Then
    MsgBox "Соединение с 1С не установлено!"
    Exit Sub
Else

TovKode=8186;
Set res = v7.EvalExpr("глОстатокVB(TovKode)")
MsgBox res


По идее должно вернуть остаток и наименование разделенные точкой с запятой. Но вы в коде 1С можете сами поправить что вам вернуть и в каком виде.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38207697
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TovKode поправьте, а то я кавычки пропустил.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38207807
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо огромное!!!! Только маленькая просьба переделать код 1С так чтобы возвращало исключительно Остаток товара без его наименования (честно говоря плохо ориентируюсь в 1С и сроки поджимают).
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38207837
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Функция глОстатокVB(тов) Экспорт
	Перем знТов;
	КодТовара=СокрЛП(тов);
	знТов=0;
	Если СтрДлина(КодТовара)>0 Тогда
		спрТов=СоздатьОбъект("Справочник.Товары");
		Если СтрДлина(КодТовара)<Метаданные.Справочник("Товары").ДлинаКода Тогда
			СчетчикЦикла = Метаданные.Справочник("Товары").ДлинаКода-СтрДлина(КодТовара);
			Для к=1 По СчетчикЦикла Цикл
				КодТовара=" "+КодТовара;
			КонецЦикла;
			СчетчикЦикла = "";
		КонецЕсли;
		Если спрТов.НайтиПоКоду(КодТовара,0)>0 Тогда
			Товар=спрТов.ТекущийЭлемент();
			знТов=Регистр.ОстаткиТоваров.СводныйОстаток(Товар,,,"ОстатокТовара");
			Товар="";
		КонецЕсли;
		спрТов="";
	КонецЕсли;
	Возврат знТов;
КонецФункции
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38207843
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если передашь неправильный код (в 1С ненайдет), то тоже вернет 0. Если нужно что-то другое то в начале меняешь ноль на что необходимо
Код: sql
1.
знТов=0;

, если нужно строку то ставь кавычки как в коде выше.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38207862
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выскакивает ошибка... Что делать?
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38208031
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232Выскакивает ошибка... Что делать?
Ну а про кавычки я для кого писал?
Код: sql
1.
Set res = v7.EvalExpr("глОстатокVB("+TovKode+")")


Вот только одинарные или нет я точно непомню. Просто с VB работал лет 15 назад, еще в школе.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38208407
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Set res = v7.EvalExpr("глОстатокVB(" & TovKode & ")")



Ты имел ввиду это?? Если да то на это выскакивает ошибка несовпадение типа! Что не так?
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38208449
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал и TovKode=8186 и TovKode="8186" все равно не совпадение типа!
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209212
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

Ну попробуй
Код: sql
1.
Set res = v7.EvalExpr("глОстатокVB(8186)")


У меня просто нет времени еще и VB вспоминать. Как загнать 8186 в переменную сам додумай, это чистый VB.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209452
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрSlash232,

Ну попробуй
Код: sql
1.
Set res = v7.EvalExpr("глОстатокVB(8186)")


У меня просто нет времени еще и VB вспоминать. Как загнать 8186 в переменную сам додумай, это чистый VB.

Дело не в коде VB а в функции 1С. Ошибка при всех возможных вариантах Несовпадение типа!
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209533
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232Дело не в коде VB а в функции 1С. Ошибка при всех возможных вариантах Несовпадение типа!
Ну покажи ошибку, я ж не телепат.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209693
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка 13 Несовпадение типа
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209846
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

Скрин давай. Неможет 1С такое валить.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209861
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38209877
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

Ну это тебе твой VB выдает а не 1С. Код для 1С написан правильно. Тебе только осталось дернуть выполнение и все. Если сам неможешь методом тыка найти правильное написание - найди того кто сможет, у меня нет времени тыкаться в то что я давно забросил.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38210435
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сказал что не один тип данных VisualBasic как вводное данное твоей функции не подходит ==> проблема в функции.
...
Рейтинг: 0 / 0
VB и 1С как получить остатки товаров?
    #38213771
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увы проблему не решил(
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / [игнор отключен] [закрыт для гостей] / VB и 1С как получить остатки товаров?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]