Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Создание учета "Учет товара по комната"


Автор: Guitar_Player 19.3.2008, 17:45
Помогите пожалуйста не могу разобраться.
1.Нужно создать справочник "Комнаты", подчиненный справочнику "Склады".
2.Встроить в справочник "Склады" закладку "комнаты" с кнопками "Добавить","Удалить","Изменить"
3. и т.д.
Вот во втором пункте нужно встроить в справочник закладку.Это как? Это где? Не могу разобраться.
Т.е. закладка - слой на сколько я понял.А где конкретно создать закладку и как оформить я не могу понять.

Автор: Itsys 19.3.2008, 18:02
Версия и конфигурация?

Автор: Guitar_Player 19.3.2008, 20:24
Торговля и Склад 7.70.929 Демо.

Автор: SaschaL 19.3.2008, 20:46
Добрый день!
Вообще все эжто возможно, только сразу хочу оговориться что представлять данные из справочника "Комнаты" может быть отбображено либо в виде ТаблицыЗначений, СпискаЗначений ну или либо в виде теста.
Последний вариан наименее приемлем для вас как мне кажется.
Следовательно ваш варианат ТаблицаЗначение либо  СписокЗначений. Объекты ТаблицаЗначение и либо  СписокЗначений можно разместить в специально созданного для этого слое.
Заполнение Любого из вышепредложенных объектом можно провести при помощи Функции, напримет так
Цитата

//*******************************************************
Функция ЗапТаблицыЗначениями()
    
    Комнаты = СоздатьОбъект("ТаблицаЗначений");  
    

    Комнаты.УдалитьСтроки();
    
    
    Спр = СоздатьОбъект("Справочник.Комнаты");
    Спр.ИспользоватьВладельца(ТекущийЭЛемент());
    спр.ВыбратьЭлементы();
    пока Спр.ПолучитьЭлемент()=1 цикл 
  Если  спр.Признак = Перечисление.Признак.Выполнен тогда   
    
    Комнаты.НоваяСтрока();
    Комнаты.Наим = Спр.Наименование;
    Комнаты.Содержание = Спр.СодДела;
    
          КонецЕсли;
    КонецЦикла;
КонецФункции


Затем разметите данную фукцию с вормуле объекта надпись, преварительно удалив значение в поле заголовок.

Вот в таком духе, если есть еще вопросы то завтра вечером жду вопросом.

Автор: Guitar_Player 21.3.2008, 18:40
Извените. Надо было уехать из города
Я только учу 1С,т.е. пытаюсь его изучить выполняя задачи франчев так вот. Работать со списком значения для меня пройденный этап...
У меня проблемма в другом. Не могу разобраться впринципе со слоями. Т.е. например у справочника Номенклатуры(7.70.879) есть много слоев. Среди них есть Слой Единицы измерения в нем также ТЗ, 3 кнопки а зачем он нужен.??? Всмысле насколько я понял этот слой нужен для добавления единиц измерения которые используются в справочнике. А как юзить форму я так и не нашел

Автор: Itsys 21.3.2008, 18:55
Управление показом слоев происходит в предопределенной процедуре ПриВыбореЗакладки - эта процедура вызавается при смене закладок (верхних), самы закладки устанавливаются при открытии формы - с помошью Формы.Закладки - это СписокЗначений, в который заносятся все закладки.

Автор: Guitar_Player 21.3.2008, 19:27
Спасибо. Проблемма была в том, что я не мог увидеть как это работает. Только что разобрался.
Как думаете?( у меня в задании не написанно). Какие поля нужно в справочнике комнаты размещать? Наименование и товар и штуки? или еще что то можно(надо)

Автор: Itsys 21.3.2008, 21:50
Цитата(Guitar_Player @  21.3.2008,  19:27 Найти цитируемый пост)
товар и штуки? или еще что то можно(надо) 

Каким образом это относится к справочнику "Комнаты"? Это уже движения товара по комнатам  smile 

В справочнике "Комнаты", как мне представляется должен быть всего один реквизит - это номер либо наименование комнаты, а движения нужно делать уже с помошью регистра.

Автор: Guitar_Player 23.3.2008, 19:21
Как то тяжело все продвигается и вообще как то сложно 5 часов в день учить один язык и пытаться на нем что- то написать и 5 часов писать на другом. Только что закончил делать всю функциональную часть, связанную с добавлением новой комнаты и с закладками в Складе.
Теперь стоит проблема нужно вставить комнаты в ТЧ документов "Поступление ТМЦ" И "Реализация" и обработать смену слада в этих документах.
Если не сложно можете подсказать, что подразумевается под "обработать смену склада в этих документах". А что делать со старыми документами этого вида, в них же не отмечено ничего про комнаты.  И еще больше ничего не надо переделывать где-нибудь, а то может, я опять что-нибудь не знаю, и придется, потом мучатся. 


Автор: Itsys 23.3.2008, 20:30
Вставить в ТЧ - это скорее всего надо добавить новый реквизит в табличную часть в вывести его в форму. По поводу "обработки смены склада" - это вообще очень туманное задание, но скорее всего имелос в виду, переделать проведение документа, так, чтобы при проведении проверялось есть товар в этой комнате или нет.
Со старыми документами можно поступить так: создать для каждого склада комнату типа "старое размещение" и проставить ее во все старые документы.

Автор: Guitar_Player 25.3.2008, 17:33
Сделал обработку смены склада, так же вроде бы переделал проведение этих 2х документов. 
Добавил в регистр новое измерение.
Теперь нужно сделать отчетТМЦ. Нужно чтобы при создании отчетаи  выборе конкретного склада в отчете можно было посмотреть что конкретно находится в каждой комнате. 
Как это можно сделать? Я делаю с помощью конструктора. Отчет вроде создается, но чтобы сначала отоброзить комнату, а потом что в ней находиться не получается сделать! Не подскажите?

Автор: Itsys 25.3.2008, 17:57
Дай текст модуля отчета... посмотрим

Автор: SaschaL 25.3.2008, 18:32
Код на обозрение!  smile 

Автор: Guitar_Player 25.3.2008, 19:49
Я тут нашел у себя ошибку в понимании сущности smile Надо уточнить одну вещь у секретарши завтра. Если что придется переделывать немного. Спасибо, что откликнулись) Когда буду приводить в норму сам постараюсь разобраться. 

Автор: Guitar_Player 26.3.2008, 11:09
Нужно доработать существующий отчет до разреза комнат.
Это надо через запрос чтоли? Не могу понять? 
Там кода страниц 10-15 наверное....

Автор: Itsys 26.3.2008, 12:04
Да надо модифицировать запрос. Если не получится сохрани отчет в efd и прикрепи, посмотрим.

Автор: Guitar_Player 26.3.2008, 13:34
Я пытаюсь в запрос добавить Комнаты. Он ругается. Говорит что то типо не обнаруженно.
Комнаты в Регистр ОстаткиТМЦ добавил как новое измерение.
Заранее огромное спасибо.
====================================================================
Я же же на 7ки пишу... Не смог найти как сохранить отчет в efd

Автор: Itsys 26.3.2008, 13:38
Ты бы лучше ошибочный отчет выложил, чем вместо ошибки смотреть коментарий, я же не вижу твою структуру метаданных, либо весь md-шник выкладывай

Автор: Guitar_Player 26.3.2008, 13:55
Md файл весит 2,6 в Rar архиве...
Я его вот сюда залил: 
http://slil.ru/25620813
 
Да с ошибкой что выкладывать... Я там ничего и не написал собственно

Автор: Itsys 26.3.2008, 14:46
Брр... ну где созданные тобой объекты? это де стандартный md, а мне нужен твой, правленый. Стандартны есть и у меня  smile 

Автор: Guitar_Player 26.3.2008, 20:12
Не знаю как так получилось... Сейчас выгрузил по другому, проверил на другом компе... Все загружатся.
вот ссылка http://slil.ru/25622104

Автор: Itsys 26.3.2008, 22:25
Советую тебе прежде чем лезть в стандартные отчеты, попробовать новый функционал на простейших отчетах, понять как он работает, а потом уже править стандратный, т.к. для того чтобы поправить отчет Отсатки ТМЦ на отображение комнат изменить запрос не достаточно,т.к. там надо поменять как минимум код еще в 5-6 местах, табличную форму, а самое главное решить где у тебя будет выводиться информация по комнатам и т.д. это не такая уж тривиальная задача

ЗЫ Прикрепил простейший отчет, сделанный с помошью мастера за 10 секунд

ЗЗЫ Зря ты поменял порядок измерений в регистре у тебя сразу не будут работатоя куча функций, которые связаны с выбором остатков не через запросы, а через функции Регистр.Остаток, Регистр.СводныйОстаток,т.к. там важен порядок полей. Подсказка: работать не будет как минимум списание товаров и реализация, а так эти функции еще используются в куче мест, для проверки меню Конфигурация=>Поиск во всех текстах ищешь ОстаткиТМЦ.СводныйОстаток и ОстаткиТМЦ.Остаток

Автор: Guitar_Player 27.3.2008, 04:24
Спасибо. smile.  Не думал,что если я поля отсортирую что то изменится...
Странно у меня отчет ничего не выводит(по комнатам), наверное из за того что я проводку не правильно написал, надо поразбираться с этим.
А мне эти франчи как то странно сказали" можно изменить готовый", типо так будет легче... Хм. Я пока вчера весь день сидел разбирался с бумажкой уже сам понял, что наврятли это легче).

Автор: Guitar_Player 27.3.2008, 21:11
Сделал отчет. Все красиво выводиться. Т.е. с документом ПоступлениеТМЦ разобрался.

Теперь надо Реализацую... Но тут трабл: не могу провести(Заново провожу) пишет ошибку -
Код

 ОстатокНаСкладе = ВремОстаткиТМЦ.СводныйОстаток(ФирмаДляОстатковТМЦ,ТекНоменклатура,Склад,,"Количество"); 
{Глобальный модуль(6410)}: Неверный идентификатор ресурса!

Что это может быть? Это случайно не из за того что я поправил последовательность измерений? Я их вернул сейчас как было. Ошибка осталась.
==================================
Меня осенило что нужно добавить запятую и вернуть порядок измерений

Автор: Itsys 27.3.2008, 23:46
А еще одну запятую для добавленного тобой измерения добавил?

ЗЫ Смотри формат команды СводныйОстаток - сначала перечисляются все измерения, те которые не надо учитывать - остаются пустыми, а потом ресурс, т.к. ты не добавл еще одну запятую до "Количество" - он у тебя это "Количество" воспринимает как еще одно измерение, а идентификатора ресурса не находит - поэятому и ругается.

Автор: Guitar_Player 30.3.2008, 19:25
Спасибо. Я про СводныйОстаток разобрался почти сразу... Даже свое сообщение изменил)
Знаете. Вроде все работает(Даже по фирме "Новый офис" всё идеально выводит). Но толи я не все документы поправил, толи что.Вот например в одном офисе на "Розничном складу" есть товар который не относится ни к одной комнате и даже есть например 3 холодильника у которых в этой комнате без названия имеют в колличестве знак "- "и эти же холодильники в другой комнате в этом же колличестве имеют знак "+". Помогите разобраться пожалуйста.

Автор: Itsys 30.3.2008, 23:23
А ты процедуру глСписаниеОстатков скорректировал так, чтобы она не только по складу но и еще по комнатам проверяла, а самое главное в дижениях эту комнату проставляла, а то получается что документ, допустим поступление ТМЦ поправил, т.е. движение по измерению "Комната" делается, а списание или продажу нет - и, соответственно движение в "-" делается по пустой комнате.

Автор: Guitar_Player 31.3.2008, 09:19
Проверку по комнатам сейчас сделаю... 
А что значит " в дижениях эту комнату проставляла"? Это про что? 
Я вот так написал... Это не то?
Код

//....
    РегОстатки.Комнаты            = ТаблНоменклатуры.Комнаты;
            РегОстатки.ДвижениеРасходВыполнить();    
//....

А вообще через Регистр ОстаткиТМЦ какие документы проходят не можите сказать?Может чтобы минусы убрать у к комнатам привязать надо еще в какие нибудь документы в ТЧ комнаты добавить?

Автор: Itsys 31.3.2008, 10:00
Все документы в идентификаторе которых присутсвует ТМЦ ну и еще другие, а так по глобальному поиску ищешь .ОстаткиТМЦ - найдешь все места, где регистр используется.

Автор: Guitar_Player 31.3.2008, 17:06
Так все таки что имелось в виду про "в дижениях эту комнату проставляла"? Надо в пятницу показывать, а у меня вот такой косяк(

Автор: Guitar_Player 2.4.2008, 19:02
Знаете, правлю, документ ПеремещениеТМЦ никак не могу изменить владельца, где бы не вставлял код, везде идет ошибка с сообщением невозможно изменить владельца (или как то так). Возникла ситуация при перемещении товара например с Главного Склада из комнаты Пищевые продукты на Розничный склад (тоже пищевые продукты). Товар в розничный склад перемещается, но при составлении отчета на главном показывается 2 комнаты с наименованием пищевые продукры одна соответственно содержит что было на складе и имеет владельца Главный Склад, а другая содержит то, что переместили и имеет владельца Розничные продукты. В ТЧ документа реквизит комнаты связан со складом получателем из-за этого возникает такая ситуация. Можете подсказать, как быть? По идее надо написать процедуры, которая должна пройтись по всем строкам ТЧ и заменить владельца у комнаты на Главный склад при списании продукта так? 
Как сделать чтобы при составления отчета эти комнаты показывались как одна?

Автор: Itsys 2.4.2008, 19:22
Цитата(Guitar_Player @  2.4.2008,  19:02 Найти цитируемый пост)
По идее надо написать процедуры, которая должна пройтись по всем строкам ТЧ и заменить владельца у комнаты на Главный склад при списании продукта так? 
Как сделать чтобы при составления отчета эти комнаты показывались как одна?

Не советую - запутаешься. А в одну строчку не получится т.к. комнаты это в принципе разные элементы справочника и сложить их вместе можно только используя в запросе не ссылку на объект, а ссылку на наименование,
т.е. не
Код

Комната = Регистр.ОстаткиТМЦ.Комната;

а
Код

Комната = Регистр.ОстаткиТМЦ.Комната.Наименование;

и, по идее в дальнейшем если использовать
Код

Группировка Комната;


Он должен будет сделать одну группу для элементов с одинаковым Наименованием, но это только в теории (сам не проверял)

Добавлено через 2 минуты и 54 секунды
Второй вариант использовать Комнаты не как подчиненный справочник справочника "Склады", а как самостоятельный справочник, а подчиненным справочнику "Склады" сделать справочник типа "КомнатыСкладов", где элементы будут содержать ссылку на простой справочник "Комнаты"

Автор: Guitar_Player 4.4.2008, 19:10
Itsys огромное вам спасибо. вопрос решился. сегодня все сдал. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)