Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Много строчная часть в справочнике / 25 сообщений из 58, страница 1 из 3
06.09.2010, 14:18
    #36831720
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Доброго времени суток!

Есть такая задачка, есть справочник Документы и к нему нужно прикрутить много строчную часть, для решения проблемы мне посоветовали использовать в качестве контейнера документ и с привязкой его к справочнику проблем нет, однако создав из справочника "дочерний документ - контейнер", не получается взять из справочника (см ниже 2) родителя некоторые параметры, включая параметры контрагента (см ниже 1) к которому привязан элемент справочника.

1) Контрагент
\ 2) Договор
\ 3) Контейнер (документ)

Возможно эти параметры нужно из договора (2) передать при создании документа (3), но как?



Заранее спасибо и простите за слегка ламерский вопрос!
...
Рейтинг: 0 / 0
06.09.2010, 14:49
    #36831836
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
ниче не понял

есть справочник в который нужно вставить многострочную часть ? её содержимое храниться в документе ?

пс... речь я так понял о 7ке
...
Рейтинг: 0 / 0
06.09.2010, 16:39
    #36832263
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlack,

Да если вы не умеете четко описать задачу, то в программирование даже на "простой 7.7" вам лучше не соваться.
Попробуйте еще раз четко описать задачу.

Справончник 1
Поле 1, тип - документ 1, для хранения таблицы
Поле 2, тип - такой-то
Поле 3, тип - такой то

Документ 1, для хранения таблицы.
Поле 1, тип - справочник 1 (ссылка на справочник родитель)
Табличная часть
ТЧПоле1, тип такой-то
ТЧПоле2, тип такой-то

А теперь для описанных таких полей напишите какие манипуляции и какие данные собираетесь получить.
...
Рейтинг: 0 / 0
06.09.2010, 17:41
    #36832518
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
1) Справочник Договоры, к нему нужна много строчная часть
2) В качестве контейнера для хранения много строчной части порекомендовали создать и использовать документ с нужными мне полями: Номенклатура, количество
3) В справочник Договоры добавлено поле ссылающееся на эти новые документы
4) Создав новый документ нужно осуществить подбор номенклатуры

Вопрос: Как из созданного документа получить доступ к параметрам справочника Документы???
...
Рейтинг: 0 / 0
06.09.2010, 17:47
    #36832540
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Last1Cmenниче не понял

есть справочник в который нужно вставить многострочную часть ? её содержимое храниться в документе ?

пс... речь я так понял о 7ке

Да 7.7, изначально Торговля и Склад.
Вы абсолютно правы.
...
Рейтинг: 0 / 0
06.09.2010, 17:55
    #36832564
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlack1) Справочник Договоры, к нему нужна много строчная часть
2) В качестве контейнера для хранения много строчной части порекомендовали создать и использовать документ с нужными мне полями: Номенклатура, количество
3) В справочник Договоры добавлено поле ссылающееся на эти новые документы
4) Создав новый документ нужно осуществить подбор номенклатуры

Вопрос: Как из созданного документа получить доступ к параметрам справочника Документы???

вы определитесь... справочник то у вас Договоры или Документы?
...
Рейтинг: 0 / 0
06.09.2010, 17:59
    #36832586
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlack1) Справочник Договоры, к нему нужна много строчная часть
2) В качестве контейнера для хранения много строчной части порекомендовали создать и использовать документ с нужными мне полями: Номенклатура, количество
3) В справочник Договоры добавлено поле ссылающееся на эти новые документы
4) Создав новый документ нужно осуществить подбор номенклатуры

Вопрос: Как из созданного документа получить доступ к параметрам справочника Договоры???
...
Рейтинг: 0 / 0
06.09.2010, 18:04
    #36832612
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
ну и проблема то в чем?

докДоговор = СоздатьОбъект("Документы.Договоры");
докДоговор.Договор = НужныйДоговорСФормы;

.............

блабла = докДоговор.Договор.Блабла;

ЗЫ через 2 точки не есть гут обращаться - но это просто для понимания...
...
Рейтинг: 0 / 0
06.09.2010, 20:13
    #36832844
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Господин ПЖну и проблема то в чем?

докДоговор = СоздатьОбъект("Документы.Договоры");
докДоговор.Договор = НужныйДоговорСФормы;

.............

блабла = докДоговор.Договор.Блабла;

ЗЫ через 2 точки не есть гут обращаться - но это просто для понимания...

Я правильно вас понимаю, вы предлагаете создать новый документ руками, записать в него ссылку на элемент справочника из которого мы его создаем, а в последствии сохранить?
А каким образом если не секрет после этого открыть форму именно этого документа для работы с ним?

P.S. Если считаете вопрос глупым или некорректным, могу перефразировать, в 1С я не так силен и могу спросить тривиальную вещь IMHO учусь!
...
Рейтинг: 0 / 0
06.09.2010, 20:27
    #36832859
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
поробую пофантазировать

1. Есть список договоров и у каждого из них есть предопределенный товарный состав (поставка по договору)
2. В карточке договора (они сведены в справочник) надо отображать этот самый товарный состав идущий по данному договору
3. В любом расходно/приходном документе надо осуществить заполнение товарным составом из соответсвующего договора

если так то

1. Документ с товарным составом у которого есть реквизит шапки с сылкой на элемент справочника Договора (в нем будт тов. состав к этому договору)
2. При открытии элемента справочника Договора необходимо найти документ у которого есть ссылка на данный документ и отрисовать его в элементе (таблица скажем или просто по кнопке открывать документ или создавать его)
3. При заполнении какого-либо документа (накладной) необходимо найти документ с товарным составом у которого в реквизите договор стоит тот же договор что и заполняемого документа и вытянуть из него товарный состав

все вроде

только вот запрос а зачем справочник договоров то ? почеум напрямую ссылку на документ с товарным составом по не давать и он же и будет договром... или под договор может быть много различных комплектов поставок ?
...
Рейтинг: 0 / 0
06.09.2010, 20:39
    #36832871
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Last1Cmenпоробую пофантазировать

1. Есть список договоров и у каждого из них есть предопределенный товарный состав (поставка по договору)
2. В карточке договора (они сведены в справочник) надо отображать этот самый товарный состав идущий по данному договору
3. В любом расходно/приходном документе надо осуществить заполнение товарным составом из соответсвующего договора

если так то

1. Документ с товарным составом у которого есть реквизит шапки с сылкой на элемент справочника Договора (в нем будт тов. состав к этому договору)
2. При открытии элемента справочника Договора необходимо найти документ у которого есть ссылка на данный документ и отрисовать его в элементе (таблица скажем или просто по кнопке открывать документ или создавать его)
3. При заполнении какого-либо документа (накладной) необходимо найти документ с товарным составом у которого в реквизите договор стоит тот же договор что и заполняемого документа и вытянуть из него товарный состав

все вроде

только вот запрос а зачем справочник договоров то ? почеум напрямую ссылку на документ с товарным составом по не давать и он же и будет договром... или под договор может быть много различных комплектов поставок ?

Хороший вопрос в конце, объясню все по порядку.
В целом концепцию с номенклатурой вы уловили, но основная идея в другом, начну со стороны и к сути:
1) Есть контрагент, у него есть параметр договор, договоров может быть несколько и каждый со своим перечнем номенклатуры
2) Во время заведения договора для него нужно заполнить присущий ему перечень номенклатуры
3) Есть файл выгрузки *.dbf С определенным набором полей, включая контрагента и перечень номенклатуры
4) Необходимо заполняя Счет, взять из файла все позиции которые совпадают по контрагенту и перечню номенклатуры заведенному в конкретном договоре, который мы собственно в счете и укажем после указания контрагента.

Важный момент, заполнения счета в соответствии с контрагентом я уже сделал, нужен фильтр по номенклатуре описанной в договоре.
...
Рейтинг: 0 / 0
06.09.2010, 20:45
    #36832876
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
на один договор - один товарный состав ?
...
Рейтинг: 0 / 0
06.09.2010, 20:50
    #36832882
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Last1Cmenна один договор - один товарный состав ?
Грубо у нас есть 5 номенклатурных единиц всего

Контрагент1
Договор1 (1,3,5)
Договор2 (2)
Договор3 (4)
Контрагент2
Договор1 (1-5)
Контрагент3
Договор1 (1,2)
Договор2 (3)


Как то так, и при заполнении счета автомат читает *.dbf и при совпадении контрагента уходит в проверку подходит ли по договору номенклатура , подчеркнутое и нужно.
...
Рейтинг: 0 / 0
06.09.2010, 20:54
    #36832889
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlackLast1Cmenна один договор - один товарный состав ?
Грубо у нас есть 5 номенклатурных единиц всего

Контрагент1
Договор1 (1,3,5)
Договор2 (2)
Договор3 (4)
Контрагент2
Договор1 (1-5)
Контрагент3
Договор1 (1,2)
Договор2 (3)


Как то так, и при заполнении счета автомат читает *.dbf и при совпадении контрагента уходит в проверку подходит ли по договору номенклатура , подчеркнутое и нужно.

я не про это.. это понятно

в рамках одного договора товарный состав может изменяться ? скажем до сегодня было один а с сегодня другой состав а договор тот же

если такого нет то справочник вам не нужен достаточно документа с текстовым реквизитом номера договора поставщика ну и контрагентом ессно - это и есть договор и при загрузке ищем документ по этим параметрам ну и ищем вхождения данных о товарах в дбф в табличную часть документ-договора
...
Рейтинг: 0 / 0
06.09.2010, 22:42
    #36833002
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Last1Cmen

я не про это.. это понятно

в рамках одного договора товарный состав может изменяться ? скажем до сегодня было один а с сегодня другой состав а договор тот же

если такого нет то справочник вам не нужен достаточно документа с текстовым реквизитом номера договора поставщика ну и контрагентом ессно - это и есть договор и при загрузке ищем документ по этим параметрам ну и ищем вхождения данных о товарах в дбф в табличную часть документ-договора

Тут вон что получается, изначально за основу взята торговля и склад, дабы использовать существующую систему работы с договорами, а поверх нее навинчивается автоматическое заполнение счетов, и поскольку там уже есть договора к ним и прикручиваются разные фильтры. Большинство договоров в итоговой системе должны будут не только иметь возможность менять состав номенклатуры во время действия, но они в последствии будут иметь интервал действия и авто замену на более поздний, большинство договоров будут квартальными. Но это так отступление.
Как мне объяснили лучше всего добавить в справочник Договоры новое поле с типом Документ.КонтейнерДляДоговоров, и использовать его табличную часть, вот и бьюсь уже несколько дней с тем как из справочника Договоры создать этот самый документ, передать в него все мне нужные параметры (СправочникРодитель, Фирма, Валюта, Склад), апосле его создания открыть его форму модально для работы с ним (Подбор номенклатуры).
...
Рейтинг: 0 / 0
07.09.2010, 08:01
    #36833183
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlack,

Суть идеи сначала создать и записать документ, а потом открыть его на редактирование, так будет проще (есть еще варианты отслеживать контекст открытой формы и при ей закрытии записывать ссылку в договор, но это сложнее).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Док = СоздатьОбъект("Документ.ДоговорыСпецификация");
Док.Новый();
Док.ДатаДок = ТекущаяДата();
Док.ДоговорРодитель = ТекущийЭлемент(); //на этот момент элемент справочника договоры должен быть записан
Попытка 
   Док.Записать()
   Договор.СсылкаНаДокументСпецификацию = Док.ТекущийДокумент();
Исключение
  Сообщить("Не удалось записать");
КонецПопытки
ОткрытьФормуМодально(Док,, 0 )


Вообще в вашем случае нужно еще немного подумать над проектированием структуры данных. Можно ведь обойтись и без "документа" только справочниками.
Например.
СпецификацииДоговоров, подчинен договорам.
НоменклатураСпецификацииДоговоров, подчинен СпецификацииДоговоров.

Таким образом для одного договора можете создавать разные спецификации, а в конкретной спецификации фиксировать таблицу номенклатур.
В СпецификацииДоговоров как раз можете реализовать строки действия и т.п.

В договоре можно предусмотреть периодический реквизит текущая спецификация, при этом если вы знаете состав спецификации заранее также заранее их заполняете и назначаете сроки действия.
Подчиненные справочники удобны тем что выборка подчиненных элементов выполняется быстро.
...
Рейтинг: 0 / 0
07.09.2010, 09:33
    #36833299
свинтуз
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Dinamo
Вообще в вашем случае нужно еще немного подумать над проектированием структуры данных. Можно ведь обойтись и без "документа" только справочниками.
Например.
СпецификацииДоговоров, подчинен договорам.
НоменклатураСпецификацииДоговоров, подчинен СпецификацииДоговоров.


это не 8.1 у справочника спецификаций не будет табличной части
соответственно все будет по другому

в данном случае товарищу правильно посоветовали ИМХО
роль справочника "спецификации" играет документ
а роль регистра сведений "Основные спецификации номенклатуры" -
периодический реквизит типа документ
осталось реализовать
...
Рейтинг: 0 / 0
07.09.2010, 11:02
    #36833471
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
свинтузэто не 8.1 у справочника спецификаций не будет табличной части
соответственно все будет по другому

В качестве "табличной части" будет выступать подчиненный справочник.
При разработке таких связок в 7.7 функциональность формы можно сделать таким образом что пользователь ни сном ни духом не будет знать про отношение подчинения. Самый распространенный способ таблица значений. При открытии формы в ТЗ подгружается содержимое подчиненного справочника. В ТЗ можно реализовать добавление, удаление строки или редактирование реквизитов.
Не спорю что для данных целей можно и документ использовать, казалось бы что это даже легче реализовать, проще проектировать структуру и форму документа.
Но до настоящего момента ограничений и четкого требования использовать обязательно документ ТС не озвучивал.
В первую очередь я призываю ТС еще раз разложить все сущности и атрибуты по полочкам и сформулировать четко требования к функциональности в абстрактном виде.
А уже после этого принимать решения о способе реализации.
...
Рейтинг: 0 / 0
07.09.2010, 11:20
    #36833505
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Dinamo,

Спасибо за помощь.

All, спасибо за участие и обсуждение, буду рад и прочим реализациям возможно пригодиться для дальнейших модернизаций.

P.S. Пойду прикручивать метод предложенный Dinamo, о результатах отпишусь.
...
Рейтинг: 0 / 0
07.09.2010, 11:26
    #36833529
Last1Cmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
коллеги вся "периодика" как вы знаете храниться в одной таблице вместе с константами т.е. запуская такой механизм мы сознательно организовываем узкое место (с журналом док-те тоже но там слава богу ТЧ разнесены по таблицам) и посему лучше так не делать

а т.к. периодика таки будет то от справочников прийдется отказаться (нет конечно можно добавить на справочник дату действия скажем и отбирать с её учетом но это имхо неправданное усложнение системы) и остается документ... по аналогии с ПУБовскими справочниками продукции но с учетом множества возможных комплектаций ну и при работе фильтра выбирая последний документ по договору к дате составления счета
...
Рейтинг: 0 / 0
07.09.2010, 11:43
    #36833567
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Last1Cmenну и при работе фильтра выбирая последний документ по договору к дате составления счета
Да можно еще проще, в документе есть поля дата начала и дата конца действия.
Для одного договора может быть создано несколько документов.
При выборе договора в документе спецификация берется из соответствующего "подчиненного документа". Или как было раньше предложено пользователь сам выберет на форме с отдельном реквизите нужный документ из списка "подчиненных". А можно заполнять отдельный реквизит подходящей спецификацией и давать возможность перевыбирать при необходимости. Способов мильон.
...
Рейтинг: 0 / 0
07.09.2010, 14:54
    #36834112
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Доброго дня!
В итоге получилось как то так, однако ругается слегка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Процедура ПоКнопкеНоменклатура()
	Если Модифицированность() =  1  Тогда
		ДокПарам = СоздатьОбъект("Документ.ПараметрыДоговора");
		Если ПустоеЗначение(СокрЛП(ПараметрыДоговора)) =  1  Тогда
			ДокПарам.Новый();
			ДокПарам.ДатаДок = ТекущаяДата();
			ДокПарам.Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
			ДокПарам.ТипЦен = ТипЦен;
			ДокПарам.Кратность =  1 ;
			ДокПарам.Валюта = ВалютаВзаиморасчетов;
			ДокПарам.Курс = глКурсДляВалюты(ВалютаВзаиморасчетов,ДокПарам.ДатаДок);
			ДокПарам.СпрОснДоговоры = ТекущийЭлемент();
			ОткрытьМодально(ДокПарам,, 0 );
		Иначе
			ДокПарам.НайтиДокумент(СокрЛП(ПараметрыДоговора));
			ОткрытьМодально(ДокПарам,, 0 );		
		КонецЕсли;
	Иначе
		Предупреждение("Договор должен быть записан",  60 );
	КонецЕсли;
	
	
КонецПроцедуры // ПоКнопкеНоменклатура()

Говорит:
Код: plaintext
1.
2.
3.
4.
ОткрытьМодально<<?>>(ДокПарам,, 0 );
{Справочник.Договоры.Форма.Модуль( 62 )}: Процедура не обнаружена (ОткрытьМодально)
ОткрытьМодально<<?>>(ДокПарам,, 0 );		
{Справочник.Договоры.Форма.Модуль( 65 )}: Процедура не обнаружена (ОткрытьМодально)
...
Рейтинг: 0 / 0
07.09.2010, 14:56
    #36834122
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
ОткрытьФормуМодально
...
Рейтинг: 0 / 0
07.09.2010, 14:57
    #36834124
Dinamo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
SwiftBlack,

Нет такой процедуры ОткрытьМодально, есть открытьФормуМодально
...
Рейтинг: 0 / 0
07.09.2010, 14:59
    #36834132
SwiftBlack
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Много строчная часть в справочнике
Dinamo,

Спасибо, моя опечатка, голова уже ромбом!
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Много строчная часть в справочнике / 25 сообщений из 58, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]