8.х Остатки на складах

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем SUnWer, 15 май 2007.

  1. TopicStarter Overlay
    SUnWer
    Offline

    SUnWer

    Регистрация:
    8 ноя 2006
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вот такая вот история... все предлагают вот такую вот кайфовую процедуру на вывод остатков в списке номенклатуры:

    Код:
    Процедура СписокНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок) 
    
    Запрос = Новый Запрос("ВЫБРАТЬ 
    |	ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток, 
    |	ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Товар 
    |ИЗ 
    |	РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура В (&МассивТоваров)) КАК ТоварыНаСкладахОстатки"); 
    
    МассивНоменклатуры = Новый Массив; // для передачи в параметр запроса 
    Соответствие = Новый Соответствие; // для заполнения остатков в строках табличного поля 
    
    Для Каждого Строка из ОформленияСтрок Цикл 
    МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка); 
    Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка); 
    КонецЦикла; 
    
    Запрос.УстановитьПараметр("МассивТоваров", МассивНоменклатуры); 
    
    Выборка = Запрос.Выполнить().Выбрать(); 
    
    // Вывести остаток в строку, найденную в соответствии по номенклатуре 
    // из запроса. 
    Пока Выборка.Следующий() Цикл 
    Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = Выборка.Остаток; 
    КонецЦикла; 
    
    КонецПроцедуры 
    
    Если я правильно понимаю надо открыть форму "Списка номенклатуры" и повесить ЭТУ ПРОЦЕДУРУ на событие "При получении данных"... На форме добавить новую колонку "Остаток"... и проверяем...

    При открыти формы списка справочника "Номенклатура" в колонку должны встать остатки...

    И вот тут она самая ошибка...

    "{Справочник.Номенклатура.Форма.ФормаСписка(31)}: Значение не является значением объектного типа (Ячейки) Врем.Ячейки.Остаток.Значение = Выборка.Остаток;"

    Подскажите что не так делаю!!!
  2. TopicStarter Overlay
    SUnWer
    Offline

    SUnWer

    Регистрация:
    8 ноя 2006
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Предложите хоть что нибудь
  3. TopicStarter Overlay
    SUnWer
    Offline

    SUnWer

    Регистрация:
    8 ноя 2006
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Отвечаю сам на свой вопрос: Процедура работает нормально: только с элементами справочника, а вот с группами проблемка... (Решение см.ниже)

    Код:
    Процедура СписокНоменклатураПриПолученииДанных(Элемент, ОформленияСтрок) 
    
    Запрос = Новый Запрос("ВЫБРАТЬ 
    | ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток, 
    | ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Товар 
    |ИЗ 
    | РегистрНакопления.ТоварыНаСкладах.Остатки( , Номенклатура В (&МассивТоваров)) КАК 		ТоварыНаСкладахОстатки"); 
    
    МассивНоменклатуры = Новый Массив; // для передачи в параметр запроса 
    Соответствие = Новый Соответствие; // для заполнения остатков в строках табличного поля 
    
    Для Каждого Строка из ОформленияСтрок Цикл 
    МассивНоменклатуры.Добавить(Строка.ДанныеСтроки.Ссылка); 
    Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка); 
    КонецЦикла; 
    
    Запрос.УстановитьПараметр("МассивТоваров", МассивНоменклатуры); 
    
    Выборка = Запрос.Выполнить().Выбрать(); 
    
    // Вывести остаток в строку, найденную в соответствии по номенклатуре 
    // из запроса. 
    Пока Выборка.Следующий() Цикл 
    Если Строка(Соответствие.Получить(Выборка.Товар.Ссылка)) <> "" Тогда
    Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = 	Выборка.Остаток; 
    КонецЕсли;
    КонецЦикла; 
    
    КонецПроцедуры
    
  4. wmaster
    Offline

    wmaster

    Регистрация:
    25 апр 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Vseo je ne poimu kak vi povesili atu protseduru ... pomoghite novichku.

    Vot shto mne pokazivaet

    {Справочник.Номенклатура.Форма.ФормаСписка(435)}: Ошибка при установке значения атрибута контекста (Значение): Попытка записи свойства Значение для ячейки, связанной с данными.
    Соответствие.Получить(Выборка.Товар.Ссылка).Ячейки.Остаток.Значение = Выборка.Остаток;
    по причине:
    Попытка записи свойства Значение для ячейки, связанной с данными.

    [warn=!]Используйте www.translit.ru[/warn]
  5. wmaster
    Offline

    wmaster

    Регистрация:
    25 апр 2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Vseo razobralsea sam.
    Teperi dumaiu eshe i tseni vivesti esli esti ideii budu toliko rad.
    [warn=!]Используйте www.translit.ru[/warn]
  6. Dimrik
    Offline

    Dimrik

    Регистрация:
    3 апр 2008
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Не подскажете? В Бухгалтерии 1.6 есть какие нибудь отчеты, чтобы посмотреть остатки номенклатуры на складе? Как это можно сделать?
  7. Mirage
    Offline

    Mirage

    Регистрация:
    3 дек 2007
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Зависит от того, какие данные ты в итоге хочешь получить и как ведется учет. Если складской учет ведется (Настройка параметров учета - Аналитический учет МПЗ) - то в принципе сгодится любая оборотка - с установленным нужным отбором.
    Если же складской учет не ведется - то остаток все так же можно увидеть в оборотке - но только в целом по фирме.

    PS. Совет - В следующий раз заводи свою тему.
  8. Dimrik
    Offline

    Dimrik

    Регистрация:
    3 апр 2008
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    А можно посмотреть остатки в количественном учете, а не в суммовом? В оборотках только суммы.
  9. Mirage
    Offline

    Mirage

    Регистрация:
    3 дек 2007
    Сообщения:
    39
    Симпатии:
    0
    Баллы:
    1
    Оборотно-сальдовая ведомость по счету.
    Если количества опять не будет - проверь, ведется ли количественный учет на твоем счету.

Поделиться этой страницей