Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 14:03

Списание материалов

Автор Pavel-67, 14 сен 2014, 12:56

0 Пользователей и 1 гость просматривают эту тему.

Pavel-67

Цитата: cska-fanat-kz от 22 сен 2014, 10:12
Внимание, правильный ответ. теперь применительно к Бухгалтерии предприятия (правда 3.0, но надеюсь не суть)

Функция ОстаткиНоменклатуры(Номенклатура, Дата)

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

КонецФункции

Pavel-67, никто на вас не обижался. просто хотел не просто вывалить на вас портянку с кодом, а чтобы вы хоть немного в нем понимали...



Доброе время суток, Спасибо большое, код проверил он работает. В большинстве своем я занимаюсь аналитикой кода, понимаю что конкретизировать "класс учеников " можно в этой строке РегистрБухгалтерии.Хозрасчетный.Остатки(&дата, Счет = &СчетМатериалов, &ВидыСубконто, Субконто1 = &Номенклатура) КАК ХозрасчетныйОстатки";, задав соответствующие параметры. Меня смутило разница моего кода с вашим, в первом ответе Вы использовали "УправленческийОстатки" упоминание о которых я не нашел в конфигураторе, и по этому у меня он не пошел. Уже во втором ответе Вы использовали "ХозрасчетныйОстатки", тут все стало на свои места.

Еще раз спасибо, без сарказма, я кажется немного стал понимать организацию Регистров.

cska-fanat-kz

"УправленческийОстатки" - это имя таблицы задаваемое в запросе ПРОИЗВОЛЬНО.
В данном случае оно было сгенерировано конструктором запросов из названия регистра ("Управленческий") и названия виртуальной таблицы ("Остатки").
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск