Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Бух итоги.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
l2d808
Добрый день. У меня платформа 7,7

Суть вопроса:
коде при выполнении
ИтОст.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2);

Выдает ошибку:
ИтОст.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2);
{Документ.Перемещение.Форма.Модуль(900)}: Число фильтров субконто превысило допустимое значение!


Не могу понять почему.... Подскажите пожалуйста, как ее исправить.
nysysimara
Сколько раз применён метод "ИспользоватьСубконто" для бух.итогов "ИтОст"?
l2d808
Процедура ЗаполнитьОстатками()
    ИтОст.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2);
    ИтОст.ИспользоватьСубконто(ВидыСубконто.ШтрихКод,,1,1);
    ИтОст.ИспользоватьСубконто(ВидыСубконто.ТМЦ);
    
    ИтОст.ВыполнитьЗапрос(ДатаДок, ДатаДок, "ШК",,, 1,, "СК");
    ИтОст.ВыбратьСубконто(2); Ном=0;  Ном1=0;
    Пока ИтОст.ПолучитьСубконто(2) = 1 Цикл  
        Если ИтОст.СКД(3)-ИтОст.СКК(3) > 0 Тогда
            Если ИтОст.Субконто(2).ЭтоГруппа()=1 Тогда
                Продолжить;
            КонецЕсли;    
            НоваяСтрока();
            Штрих_Код = ИтОст.Субконто(2);
            ТМЦ = ИтОст.Субконто(3);
            Артикул = ТМЦ.Артикул;
            Вес = Штрих_Код.Наименование;
            // если партия этого ТМЦ уже есть, не будем ее трогать
            Если Партия.Выбран() = 1 Тогда
                Если Партия.Владелец <> ТМЦ Тогда
                    глПолучитьПартиюПоУмолчанию(Партия,ТМЦ);
                КонецЕсли;
            Иначе
                глПолучитьПартиюПоУмолчанию(Партия,ТМЦ);
            КонецЕсли;
            Кво = 1;
            ИзмТМЦ();
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры



Вот Это полный код.
nysysimara
Установки, выполняемые методом ИспользоватьСубконто суммируются.
ИтОст, насколько я понимаю, глобальная переменная.
Вне процедуры ЗаполнитьОстатками() случайно нет еще ИтОст.ИспользоватьСубконто(.. ??
l2d808
Цитата(nysysimara @ 06.10.11, 11:02) необходимо зарегистрироваться для просмотра ссылки
Установки, выполняемые методом ИспользоватьСубконто суммируются.
ИтОст, насколько я понимаю, глобальная переменная.
Вне процедуры ЗаполнитьОстатками() случайно нет еще ИтОст.ИспользоватьСубконто(.. ??

больше нет.
mister-x
А де таке ж для першоно і третього субконто
ИтОст.ВыбратьСубконто(2);
    Пока ИтОст.ПолучитьСубконто(2)

В плані рахунків, рахунок "ШК" має 3 субконто?
igmig65
Цитата
плані рахунків, рахунок "ШК" має 3 субконто?

понятно, только как вы хотите получить ТМЦ = ИтОст.Субконто(3), если нет выборки по 3 субконто.
Да и вообще странно, зачем субконто штрихкод, ведь он привязан к ТМЦ, ШтрихКод = ТМЦ.ШтрихКод.
alex040269
Цитата(l2d808 @ 06.10.11, 10:50) необходимо зарегистрироваться для просмотра ссылки
Процедура ЗаполнитьОстатками()
    ИтОст.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2);


Скорее всего есть где-то вызовы ИтОст.ИспользоватьСубконто до процедуры, например в глобальном модуле и т.д.


Цитата(l2d808 @ 06.10.11, 10:50) необходимо зарегистрироваться для просмотра ссылки
Процедура ЗаполнитьОстатками()
    ИтОст.ВыбратьСубконто(2); Ном=0;  Ном1=0;
    Пока ИтОст.ПолучитьСубконто(2) = 1 Цикл

здесь тоже скорее всего будет ошибка не выполнено позиционирование на субконто предідущего уровня или как-то так
нужно

ИтОст.ВыбратьСубконто(1);
        ИтОст.ПолучитьСубконто(1);
    ИтОст.ВыбратьСубконто(2); Ном=0;  Ном1=0;
    Пока ИтОст.ПолучитьСубконто(2) = 1 Цикл
g789
Попробуйте переставить третьим
ИтОст.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2);
mister-x
Цитата(igmig65 @ 06.10.11, 13:45) необходимо зарегистрироваться для просмотра ссылки
понятно, только как вы хотите получить ТМЦ = ИтОст.Субконто(3), если нет выборки по 3 субконто.
Да и вообще странно, зачем субконто штрихкод, ведь он привязан к ТМЦ, ШтрихКод = ТМЦ.ШтрихКод.

Я про це запитався у автора теми, а не стверджував таке smile.gif. Автор ще не відповів.
GreenFox
Попробуйте в начале процедуры
ИтОст = СоздатьОбъект("БухгалтерскиеИтоги");
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.