Общительный
Группа: Пользователи
Сообщений: 35
Из: Томск
Спасибо сказали: 0 раз
Рейтинг: 0
Здравствуйте! Необходимо решить такую задачку: Необходимо проверить наличие товара на складе (сколько выбранного товара имеется в наличии на складе). Подскажите пожалуйста, что я делаю не правильно?
Живет на форуме
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0
Цитата(Стажёр @ 02.11.10, 8:55)
МоментВремени() равен сегодняшней дате. Замени на ТекущаяДата(), ничего не изменилось. (
Ну тогда ковыряйте регистр напрямую или через отчеты (возможно в нем просто отсутствуют нужные движения или остатки), т.к. у меня выше описанный код на типовой УТ дал результат остатков партий
Живет на форуме
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0
Подождите, Вы знаете что такое отладчик, извините если обидел? 1. Посмотрите в отладчике чему равен НаличиеНаЦентральномСкладе при выполнении строки НаличиеНаЦентральномСкладе=ТаблицаОст.Итог("Количество"); 2. Если это документ (а я почти уверен что это документ), то добавлять реквизит в документ, который будет при каждом открытии документа менятся - за это двойка. Для таких случаев размещают просто колонку в табличной части на форме и в неё уже выводят нужные данные, выше описывал как.
Общительный
Группа: Пользователи
Сообщений: 35
Из: Томск
Спасибо сказали: 0 раз
Рейтинг: 0
Отладчик выдает при выполнении строки НаличиеНаЦентральномСкладе=ТаблицаОст.Итог("Количество"); значение типа Число
при выполнении строки ОформлениеСтроки.Ячейки.НаличиеНаЦентральномСкладе.Значение=ТаблицаОст.Итог("Количество"); ошибка: Поле объекта не обнаружено (НаличиеНаЦентральномСкладе) ОформлениеСтроки.НаличиеНаЦентральномСкладе.Значение=ТаблицаОст.Итог("Количество");
Живет на форуме
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0
1. Удаляем из метаданных реквизит табличной части НаличиеНаЦентральномСкладе 2. На форме на табалице щелкаем правой кнопкой "Добавить колонку" и добавляем новую, имя - НаличиеНаЦентральномСкладе (всё больше ничего не надо) 3. В процедуру при выводе строки вставляем код :
Процедура ТМЦПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОстаткиТМЦ=РегистрыНакопления.ПартииТоваровНаСкладах; ТекТМЦ=ДанныеСтроки.НаименованиеТМЦ;// ВНИМАНИЕ на эту строку, сравните то что было у Вас. // Возможно здесь проблема, вместо ссылки даете строку Отбор=Новый Структура(); Отбор.Вставить("Номенклатура",ТекТМЦ); ТаблицаОст=ОстаткиТМЦ.Остатки(МоментВремени(),Отбор,"Номенклатура","Количество"); ОформлениеСтроки.Ячейки.НаличиеНаЦентральномСкладе.Значение=ТаблицаОст.Итог("Количество"); КонецПроцедуры
Общительный
Группа: Пользователи
Сообщений: 35
Из: Томск
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Batchir @ 02.11.10, 13:41)
1. Удаляем из метаданных реквизит табличной части НаличиеНаЦентральномСкладе 2. На форме на табалице щелкаем правой кнопкой "Добавить колонку" и добавляем новую, имя - НаличиеНаЦентральномСкладе (всё больше ничего не надо) 3. В процедуру при выводе строки вставляем код :
Процедура ТМЦПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОстаткиТМЦ=РегистрыНакопления.ПартииТоваровНаСкладах; ТекТМЦ=ДанныеСтроки.НаименованиеТМЦ;// ВНИМАНИЕ на эту строку, сравните то что было у Вас. // Возможно здесь проблема, вместо ссылки даете строку Отбор=Новый Структура(); Отбор.Вставить("Номенклатура",ТекТМЦ); ТаблицаОст=ОстаткиТМЦ.Остатки(МоментВремени(),Отбор,"Номенклатура","Количество"); ОформлениеСтроки.Ячейки.НаличиеНаЦентральномСкладе.Значение=ТаблицаОст.Итог("Количество"); КонецПроцедуры
Спасибо большое, все получилось, вы меня очень выручили)
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!