Консультация № 68902
28.12.2006, 13:02
0.00 руб.
0 5 5
Увадаемые господа эксперты!
интересует такой вопрос: программа 1с 77 Бухгалтерия(Типовая конфигурация) хотелось бы сделать следующее: в документе счет добать в табличную чать колонку(остаток) в которой бы при выборе номенклатуры отображался ее колличественный остаток. Возможно ли это сделать и каким образом???
Спасибо!

Обсуждение

Неизвестный
28.12.2006, 13:14
общий
это ответ
Здравствуйте, Батаков Сергей Александрович / Niacris!
Не вижу смысла корявить конфигурацию. Воспользутесь методом подбора номенклатуры в табличную часть (кнопка "Подбор"). В открывшейся форме справочника сделайте видимой колонку "Остаток".
Неизвестный
28.12.2006, 14:16
общий
это ответ
Здравствуйте, Батаков Сергей Александрович / Niacris!
Если вы это хотите сделаить способом рассчета Бухитогов, то просто составьте функция, рассчитывающую остаток, а на форме создацте текстовое поле, в которое введите формулу для рассчета этого остатка

"Остаток болванок " +Болванка+" - "+ ОстБолв(Болванка)-это пишется в поле "Формула" в текстовом поле


Приложение:
Функция ОстБолв(болв) БИ=СоздатьОбъект("Бухгалтерскиеитоги"); БИ.Рассчитать(ДатаДок,ДатаДок,"01.02"); Ост=0; ост=БИ.СКД("01.02",3,,Болванка); Возврат(Ост);Конецфункции
Неизвестный
28.12.2006, 15:22
общий
это ответ
Здравствуйте, Батаков Сергей Александрович / Niacris!
Поправлю: В функции вызываемой из текстового поля табличной части лучше не привязываться к конкретному счету:

Перем Ит;

Функция Остаток()
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Товар,2);
Ит.ВыполнитьЗапрос(ДатаДок,ДатаДок);
Возврат Ит.СКД(3);
КонецФункции //Остаток

Ит=СоздатьОбъект("БухгалтерскиеИтоги");
Неизвестный
28.12.2006, 22:00
общий
это ответ
Здравствуйте, Батаков Сергей Александрович / Niacris!

(дополнение)
А еще лучше расчет бухгалтерских итогов вынести в отделбную процедуру, которая будет вызываться при открытии документа и при смене даты документа, а в функции Остаток() только позиционироваться на нужный ТМЦ (Номенклатуру). Расчет итогов занимает некоторое время, лучше чтоб эта операция выполнялась как можно реже, а не при каждом перемещении курсора от строки к строке.
Неизвестный
30.12.2006, 14:52
общий
это ответ
Здравствуйте, Батаков Сергей Александрович / Niacris!
Это можно сделать.
Создаете бух. итоги, отбираете по субконто делаете запрос и получаете количественный остаток.
Я плохо знаю типовую конфигурацию, то например:

Счет |Наименование |Вал. учет|Кол. Учет|Субконто1 |Субконто2|
16.1 |Товары | + | + | МОЛ |Номенклатура |
и данный счет Активный

Код.
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Если (Метаданные.РазделительУчета.Выбран() = 1) Тогда
Ит.ИспользоватьРазделительУчета(Фирма);
КонецЕсли;
Ит.ИспользоватьСубконто(ВидыСубконто.МОЛ, МОЛ, 3); // МОЛ - это переменная
Ит.ИспользоватьСубконто(ВидыСубконто.Номенклатура, Номенклатура, 2);
Ит.ВыполнитьЗапрос(, ДатаДок, СчетПоКоду("16.1"));
ОстКоличество = Ит.СНД("К");
Успехов...
Форма ответа