powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Ошибка кода 1С. В чём?
5 сообщений из 5, страница 1 из 1
Ошибка кода 1С. В чём?
    #38215319
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция глОстатокVB(тов) Экспорт
Перем знТов;
КодТовара=СокрЛП(тов);
знТов=0;
Если СтрДлина(КодТовара)>0 Тогда
спрТов=СоздатьОбъект("Справочник.Товары");
Если СтрДлина(КодТовара)<Метаданные.Справочник("Товары").ДлинаКода Тогда
СчетчикЦикла = Метаданные.Справочник("Товары").ДлинаКода-СтрДлина(КодТовара);
Для к=1 По СчетчикЦикла Цикл
КодТовара=" "+КодТовара;
КонецЦикла;
СчетчикЦикла = "";
КонецЕсли;
Если спрТов.НайтиПоКоду(КодТовара,0)>0 Тогда
Товар=спрТов.ТекущийЭлемент();
знТов=Регистр.ОстаткиТоваров.СводныйОстаток(Товар,,,"ОстатокТовара");
Товар="";
КонецЕсли;
спрТов="";
КонецЕсли;
Возврат знТов;
КонецФункции

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

а так

знТов=Регистр.ОстаткиТоваров.СводныйОстаток(спрТов.ТекущийЭлемент();,,,"ОстатоТовара"); ?

а если убрать все что вы написали и оставить две строчки:

спрТов=СоздатьОбъект("Справочник.Товары");
Возврат Регистр.ОстаткиТоваров.СводныйОстаток(спрТов.НайтиПоКоду(какойто-токод),,,"ОстатокТовара");?
...
Рейтинг: 0 / 0
Ошибка кода 1С. В чём?
    #38215552
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slash232,

Нет смысла плодить темы .
Код 1С написан по структуре регистра остатков, который вы в той теме давали. Если дали структуру не этой базы - тады ОЙ, ваши проблемы. Ошибки в коде 1С - нет . Можно было и короче написать, но сделал специально подробный код для тех кто потом захочет разбираться. Но без комментариев - там и так все понятно.
Вам всего лишь навсего нужно передать из VB строковой параметр в 1С. Если вам самому лень разобраться - поместите в раздел "Работа" ТЗ с бюджетом, и вам помогут.
...
Рейтинг: 0 / 0
Ошибка кода 1С. В чём?
    #38215573
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр, спасибо.

То-то мне не понравились две последнии буквы в глОстатокVB.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Ошибка кода 1С. В чём?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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