Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Добавления нового склада в списке ТМЦ
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
GoDammeD
Добрый день!
Недавно появилась необходимость создания учёта по новому складу. Для этого я зашел в Справочники->Места хранения и добавил новый склад, с названием "Офис".
После появилась необходимость отображения остатков товара с этого склада ("Офис") в списке ТМЦ.
Я открыл в конфигураторе Справочники->ТМЦ, открыл Форму Списка, форма следующего вида:


Пытался найти, откуда берутся столбцы "Гл. склад" и "Транзит" к сожалению не нашел.
Вот, для примера свойства столбца "Гл. склад":



Насколько я понимаю "Остаток(1)" это внутренний метод 1С, и для нового склада необходимо указать "Остаток(3)"

Но как добавить новый столбец в Форму списка, к сожалению я так и не нашел.

Буду рад любым предложениям в решении этой проблемы.
Pepe
Гл.Склад и Транзит - это вычисляемые колонки. Рассчет идет через вызов процедуры Остаток() с передачей номера места хранения (или кода).
Cthulhu
Цитата(GoDammeD @ 09.10.12, 14:47) необходимо зарегистрироваться для просмотра ссылки
Насколько я понимаю "Остаток(1)" это внутренний метод 1С, и для нового склада необходимо указать "Остаток(3)"

неправильное понимание.
искать функцию "Остаток" в модуле формы списка. (если там нет - что очень вряд ли - то в глобальном модуле, с описателем "Экспорт").
из лирики: а вообще-то, вряд ли это штатная колонка и функция. и программисту, использующему ключевые слова встроенного языка 1с для наименований функций (равно как и наименований процедур, переменных и идентификаторов метаданных) - я бы лично руки отрезал по плечи. или откусывал.

Цитата(GoDammeD @ 09.10.12, 14:47) необходимо зарегистрироваться для просмотра ссылки
Но как добавить новый столбец в Форму списка, к сожалению я так и не нашел.

1) активизировать (простым тыком) многострочную часть
2) нажать на кнопку вставки в диалог текстового поля (синенькая буква "Т", подсказака при наведении "Текст" - или Меню-Вставить-Текст)
3) указать место для вставки - многострочную часть (активизированную ранее, на всякий случай, в п.1)..
4) пойти в многострочной части до упора вправо - и найти там желаемое. корежить и переставлять желаемое как заблагорассудится.
GoDammeD
Цитата(Cthulhu @ 09.10.12, 15:57) необходимо зарегистрироваться для просмотра ссылки
неправильное понимание.
искать функцию "Остаток" в модуле формы списка. (если там нет - что очень вряд ли - то в глобальном модуле, с описателем "Экспорт").
из лирики: а вообще-то, вряд ли это штатная колонка и функция. и программисту, использующему ключевые слова встроенного языка 1с для наименований функций (равно как и наименований процедур, переменных и идентификаторов метаданных) - я бы лично руки отрезал по плечи. или откусывал.


1) активизировать (простым тыком) многострочную часть
2) нажать на кнопку вставки в диалог текстового поля (синенькая буква "Т", подсказака при наведении "Текст" - или Меню-Вставить-Текст)
3) указать место для вставки - многострочную часть (активизированную ранее, на всякий случай, в п.1)..
4) пойти в многострочной части до упора вправо - и найти там желаемое. корежить и переставлять желаемое как заблагорассудится.


Работает=) Добавил "Текст" в многострочную часть, установил формулу Остаток(3), в модуле формы списка подправил функцию из:

Функция Остаток(Где) 
    ТекЭл=ТекущийЭлемент();
    Если ТекЭл.ЭтоГруппа() = 1 Тогда
        // по группам не показываем
        Возврат "";
    Иначе
        Если Где=1 Тогда
            ТекСкл=Константа.ОсновнойСклад;
        Иначе                              
            ТекСкл=Константа.ОсновнойСклад2;
        КонецЕсли;
        ОстТМЦ=Ит.СКД(ТекЭл.Счет,"К",,ТекСкл,ТекЭл);  

        Если Число(ОстТМЦ)=0 Тогда
            ОТМЦ="";
        Иначе
            ОТМЦ=Формат(ОстТМЦ,"Ч13.2");
        КонецЕсли;    
        
        Возврат Строка(СокрЛП(ОТМЦ));
    КонецЕсли;    
КонецФункции


на

Если Где=1 Тогда
            ТекСкл=Константа.ОсновнойСклад;
        Иначе
            Если Где=2 Тогда
                ТекСкл=Константа.ОсновнойСклад2;
            Иначе
                ТекСкл=Константа.ОсновнойСклад3;
            КонецЕсли;
        КонецЕсли;


Добавил константу "ОсновнойСклад3" указал значение Офис

И всё отлично работает.
Огромное Вам спасибо!
SpeciaLIST
Благодарю за ответы!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.