powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Много строчная часть в справочнике
58 сообщений из 58, показаны все 3 страниц
Много строчная часть в справочнике
    #36831720
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

если так то

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

все вроде

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

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

если так то

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

все вроде

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

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

Важный момент, заполнения счета в соответствии с контрагентом я уже сделал, нужен фильтр по номенклатуре описанной в договоре.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36832876
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на один договор - один товарный состав ?
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #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
Много строчная часть в справочнике
    #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
Много строчная часть в справочнике
    #36833002
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

а т.к. периодика таки будет то от справочников прийдется отказаться (нет конечно можно добавить на справочник дату действия скажем и отбирать с её учетом но это имхо неправданное усложнение системы) и остается документ... по аналогии с ПУБовскими справочниками продукции но с учетом множества возможных комплектаций ну и при работе фильтра выбирая последний документ по договору к дате составления счета
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36833567
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmenну и при работе фильтра выбирая последний документ по договору к дате составления счета
Да можно еще проще, в документе есть поля дата начала и дата конца действия.
Для одного договора может быть создано несколько документов.
При выборе договора в документе спецификация берется из соответствующего "подчиненного документа". Или как было раньше предложено пользователь сам выберет на форме с отдельном реквизите нужный документ из списка "подчиненных". А можно заполнять отдельный реквизит подходящей спецификацией и давать возможность перевыбирать при необходимости. Способов мильон.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #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
Много строчная часть в справочнике
    #36834122
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОткрытьФормуМодально
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834124
Фотография Dinamo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwiftBlack,

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

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

Команда:
Код: plaintext
ОткрытьФормуМодально(ДокПарам,, 0 );

Просто отрабатывает как ";", не происходит ничего, просто переходит на следующий оператор, из за чего это может быть?
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834272
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так открывать можно уже записаный документ а новый - через описатель "Документ.ХХХХХ" вместо ДокПарам в ОткрытьФормуМодально(ДокПарам,,0);
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834284
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmenтак открывать можно уже записаный документ а новый - через описатель "Документ.ХХХХХ" вместо ДокПарам в ОткрытьФормуМодально(ДокПарам,,0);

Уже подправил:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Процедура ПоКнопкеНоменклатура()
	Если Модифицированность() =  0  Тогда
		ДокПарам = СоздатьОбъект("Документ.ПараметрыДоговора");
		Если ПустоеЗначение(СокрЛП(ПараметрыДоговора)) =  1  Тогда
			ДокПарам.Новый();
			ДокПарам.ДатаДок = ТекущаяДата();
			ДокПарам.Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
			ДокПарам.ТипЦен = ТипЦен;
			ДокПарам.Кратность =  1 ;
			ДокПарам.ВалютаВзаиморасчетов = ВалютаВзаиморасчетов;
			ДокПарам.Курс = глКурсДляВалюты(ВалютаВзаиморасчетов,ДокПарам.ДатаДок);
			ДокПарам.СпрОснДоговоры = ТекущийЭлемент();
			Попытка
				ДокПарам.Записать();
				ДокПарам.ТекущийЭлемент();
				Если ОткрытьФормуМодально(ДокПарам,, 0 ) =  0  Тогда
				    Предупреждение("Открыть список номенклатуры не удалось",  60 );
				КонецЕсли;
			Исключение
				Предупреждение("Неудалось создать список номенклатуры",  60 );
				Возврат;
			КонецПопытки;
		Иначе
			ДокПарам.НайтиДокумент(ПараметрыДоговора);
			Если ОткрытьФормуМодально(ДокПарам,, 0 ) =  0  Тогда
				Предупреждение("Открыть список номенклатуры не удалось",  60 );
				Возврат;
			КонецЕсли;
			
		КонецЕсли;
	Иначе
		Предупреждение("Договор должен быть записан",  60 );
	КонецЕсли;
	
	
КонецПроцедуры // ПоКнопкеНоменклатура()

Результат неизменен, ОткрытьФормуМодально = 0
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834289
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так тоже не работает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Процедура ПоКнопкеНоменклатура()
	Если Модифицированность() =  0  Тогда
		ДокПарам = СоздатьОбъект("Документ.ПараметрыДоговора");
		Если ПустоеЗначение(СокрЛП(ПараметрыДоговора)) =  1  Тогда
			ДокПарам.Новый();
			ДокПарам.ДатаДок = ТекущаяДата();
			ДокПарам.Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
			ДокПарам.ТипЦен = ТипЦен;
			ДокПарам.Кратность =  1 ;
			ДокПарам.ВалютаВзаиморасчетов = ВалютаВзаиморасчетов;
			ДокПарам.Курс = глКурсДляВалюты(ВалютаВзаиморасчетов,ДокПарам.ДатаДок);
			ДокПарам.СпрОснДоговоры = ТекущийЭлемент();
			Попытка
				ДокПарам.Записать();
				Если ОткрытьФормуМодально(ДокПарам.ТекущийЭлемент(),, 0 ) =  0  Тогда
				    Предупреждение("Открыть список номенклатуры не удалось",  60 );
				КонецЕсли;
			Исключение
				Предупреждение("Неудалось создать список номенклатуры",  60 );
				Возврат;
			КонецПопытки;
		Иначе
			ДокПарам.НайтиДокумент(ПараметрыДоговора);
			Если ОткрытьФормуМодально(ДокПарам.ТекущийЭлемент(),, 0 ) =  0  Тогда
				Предупреждение("Открыть список номенклатуры не удалось",  60 );
				Возврат;
			КонецЕсли;
			
		КонецЕсли;
	Иначе
		Предупреждение("Договор должен быть записан",  60 );
	КонецЕсли;
	
	
КонецПроцедуры // ПоКнопкеНоменклатура()

Не могу понять в чем ошибка, документ записан и ссылка на него.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834304
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сказали?

Код: plaintext
Текущий.ДОКУмент()
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834376
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТузкак сказали?

Код: plaintext
Текущий.ДОКУмент()


Помог ТекущийДокумент(), но почему ОткрытьФормуМодально() возвращает 0?
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834767
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во превых в коде у вас ТекущийЭлемент а не ТекущийДокумент

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

в третьих вы ищете даже не по реквизиту а по объекту причем в переменной вместо объекта у вас текст а не ссылка на объект... уж опредлиться надо как искать (это касаемо той ветки где ищете документ который уже есть)
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36834771
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну откройте наконец справку контекстную по методам поиска и позиционирования

посмотрите отладчиком находит ли его вообще
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835162
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Процедура ПоКнопкеНоменклатура()
	Если Модифицированность() =  0  Тогда
		ДокПарам = СоздатьОбъект("Документ.ПараметрыДоговора");
		Если ПустоеЗначение(СокрЛП(ПараметрыДоговора)) =  1  Тогда
			ДокПарам.Новый();
			ДокПарам.ДатаДок = ТекущаяДата();
			ДокПарам.Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
			ДокПарам.ТипЦен = ТипЦен;
			ДокПарам.Кратность =  1 ;
			ДокПарам.ВалютаВзаиморасчетов = ВалютаВзаиморасчетов;
			ДокПарам.Курс = глКурсДляВалюты(ВалютаВзаиморасчетов,ДокПарам.ДатаДок);
			ДокПарам.СпрОснДоговоры = ТекущийЭлемент();
			Попытка
				ДокПарам.Записать();
				ПараметрыДоговора = ДокПарам.ТекущийДокумент();
				Попытка
					Записать();
				Исключение
					Предупреждение("Неудалось записать изменения, " + РазделительСтрок + "попробуйте записать через 5 сек и повторить операцию",  60 );
					Возврат;
				КонецПопытки;
				Если ОткрытьФормуМодально(ДокПарам.ТекущийДокумент(),, 0 ) =  0  Тогда
				    Предупреждение("Открыть список номенклатуры не удалось",  60 );
				КонецЕсли;
			Исключение
				Предупреждение("Неудалось создать список номенклатуры",  60 );
				Возврат;
			КонецПопытки;
		Иначе
			ДокПарам.НайтиДокумент(ПараметрыДоговора);
			Если ОткрытьФормуМодально(ДокПарам.ТекущийДокумент(),, 0 ) =  0  Тогда
				Предупреждение("Открыть список номенклатуры не удалось",  60 );
				Возврат;
			КонецЕсли;
			
		КонецЕсли;
	Иначе
		Предупреждение("Договор должен быть записан",  60 );
	КонецЕсли;
	
	
КонецПроцедуры // ПоКнопкеНоменклатура()

Как то так, форма то открывается, но ОткрытьФормуМодально по закрытии формы возвращает 0.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835167
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmenну откройте наконец справку контекстную по методам поиска и позиционирования

посмотрите отладчиком находит ли его вообще

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

От метода ОткрытьФормуМодально в итоге пришлось отказаться, толку мало от формы которая свой же подбор номенклатуры накрывает да еще и возвращает код ошибки по закрытии формы, зато банальное ОткрытьФорму прекрасно отрабатывает и возвращает код успеха.

Ниже выложен конечный рабочий вариант, учитывает возможность повторного открытия существующего перечня либо создание нового в отсутствии оного, все работает на ура, если есть предложения по улучшению, буду только рад, напоминаю что программировать в 1С я только учусь.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
Процедура ПоКнопкеНоменклатура()
	Если Модифицированность() =  0  Тогда
		ДокПарам = СоздатьОбъект("Документ.ПараметрыДоговора");
		Если ПустоеЗначение(СокрЛП(ПараметрыДоговора)) =  1  Тогда
			ДокПарам.Новый();
			ДокПарам.ДатаДок = ТекущаяДата();
			ДокПарам.Склад = глЗначениеПоУмолчанию("ОсновнойСклад");
			ДокПарам.ТипЦен = ТипЦен;
			ДокПарам.Кратность =  1 ;
			ДокПарам.Фирма = глЗначениеПоУмолчанию("ОсновнаяФирма");
			ДокПарам.ВалютаВзаиморасчетов = ВалютаВзаиморасчетов;
			ДокПарам.Курс = глКурсДляВалюты(ВалютаВзаиморасчетов,ДокПарам.ДатаДок);
			ДокПарам.СпрОснДоговоры = ТекущийЭлемент();
			Попытка
				ДокПарам.Записать();
				ПараметрыДоговора = ДокПарам.ТекущийДокумент();
				Попытка
					Записать();
				Исключение
					Предупреждение("Неудалось записать изменения, " + РазделительСтрок + "попробуйте записать через 5 сек и повторить операцию",  60 );
					Возврат;
				КонецПопытки;
				Если ОткрытьФорму(ДокПарам.ТекущийДокумент(),, 0 ) =  0  Тогда
				    Предупреждение("Открыть список номенклатуры не удалось",  60 );
				КонецЕсли;
			Исключение
				Предупреждение("Не удалось создать список номенклатуры",  60 );
				Возврат;
			КонецПопытки;
		Иначе
			ДокПарам.НайтиДокумент(ПараметрыДоговора);
			Если ОткрытьФорму(ДокПарам.ТекущийДокумент(),, 0 ) =  0  Тогда
				Предупреждение("Не удалось открыть список номенклатуры",  60 );
				Возврат;
			КонецЕсли;
		КонецЕсли;
	Иначе
		Предупреждение("Договор должен быть записан",  60 );
	КонецЕсли;
КонецПроцедуры // ПоКнопкеНоменклатура()

P.S. Незнание 1С не говорит о квалифицированности программиста, Delphi, PHP, ASM, и т.д.,настройка серверов novell(файл-сервер), linux(файл-сервер, шлюзы, веб, openvpn) (red-hat based, debian based) включая сервера под 1С на linux, от программирования на 1С отнекивался 5 лет, жизнь заставила!
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835691
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то так, форма то открывается, но ОткрытьФормуМодально по закрытии формы возвращает 0.

а что она должна возвратить ? возврат идет на этапе открытия... открыл - "1" не открыл - "0"

ОткрытьФорму(<?>,,)
Синтаксис:
ОткрытьФорму(<Документ>,<КонтекстФормы>,<РежимПросмотра>)
Назначение:
Открывает визуальную форму существующего документа или элемента/группы справочника.
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<Документ> - выражение со значением типа 'документ';
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<РежимПросмотра> - необязательный параметр. Числовое выражение: 1 - открыть форму в режиме только просмотра; 0 - открыть форму в режиме редактирования; -1 (минус единица) - в этом случае используется вариант, предусмотренный текущим значением параметра ''Режим открытия объектов'', установленным пользователем интерактивно.
Замечание:
Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835694
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Свинтуза что должно возвращать то?
чем закрываете?
Хотелось бы получить признак успеха открытия формы, в справке и в книжке написано "1" дадут, а на выходе всегда 0, а не важно чем закрываю, форма открыта, а возвращаемое значение говорит что нет.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835706
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen
а что она должна возвратить ? возврат идет на этапе открытия... открыл - "1" не открыл - "0"


А вот всегда "0" возвращает, я уже и в форме поковырялся, а при закрытии "0" и без вариантов.
Не суть важно заработала и вполне приемлемо, всеравно в 1С какоето странное понятие модальности получается форма в top это понятно, но зачем же даже из нее запущенные процессы и формы в фон сливать, этого я если честно не допонял.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835707
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwiftBlackСвинтуза что должно возвращать то?
чем закрываете?
Хотелось бы получить признак успеха открытия формы, в справке и в книжке написано "1" дадут, а на выходе всегда 0, а не важно чем закрываю, форма открыта, а возвращаемое значение говорит что нет.


это особености модального режим... т.е. т.к. режим модальный (все остальное не локального контекста открытой формы блокируется) то пока не закроем форму ничего по коду вызова происходить не будет
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835719
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1Cmen
это особености модального режим... т.е. т.к. режим модальный (все остальное не локального контекста открытой формы блокируется) то пока не закроем форму ничего по коду вызова происходить не будет
Вопрос, я из модальной формы вызываю подбор, это дочерний процесс который тоже должен обладать признаками модальности формы и быть видимым, но он падает в фон, модальное окно остается на первом плане, это нормальное для 1С 7.7 явление?
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835769
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это фича... там проблем в 7.7 с интерфейсом хватает - не зря же АЛьФ "FormEx" делал
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835938
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖэто фича... там проблем в 7.7 с интерфейсом хватает - не зря же АЛьФ "FormEx" делал



первое правило франча - никогда не употребляйте слова "баги" а вместо них используйте "особености" и "возможности"
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36835962
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Учту на будущее!
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836019
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы поаккуратнее со словами
слово "подбор" имеет смысловую нагрузку в 1с
и свою обработку
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836042
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
но зачем же даже из нее запущенные процессы и формы в фон сливать

многопоточные приложения? ))
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836099
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТузВы поаккуратнее со словами
слово "подбор" имеет смысловую нагрузку в 1с
и свою обработку

Именно с этой смысловой нагрузкой оно и использовано, по нему происходит подбор номенклатуры.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836102
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТуз
Код: plaintext
но зачем же даже из нее запущенные процессы и формы в фон сливать

многопоточные приложения? ))

если честно не понял вопроса...
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836192
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwiftBlackСвинТузВы поаккуратнее со словами
слово "подбор" имеет смысловую нагрузку в 1с
и свою обработку

Именно с этой смысловой нагрузкой оно и использовано, по нему происходит подбор номенклатуры.

подбор это подбор со своим обработчиком и подбор откроется точно в таком же модальном окошке... любое что вызывается из формы в модальном режиме тоже будет модальным
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36836206
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last1CmenSwiftBlackСвинТузВы поаккуратнее со словами
слово "подбор" имеет смысловую нагрузку в 1с
и свою обработку

Именно с этой смысловой нагрузкой оно и использовано, по нему происходит подбор номенклатуры.

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

Видимо у меня это как то не так работало, подбор падал в фон и ждал закрытия модального окна.
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36837863
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SwiftBlackСвинТузВы поаккуратнее со словами
слово "подбор" имеет смысловую нагрузку в 1с
и свою обработку

Именно с этой смысловой нагрузкой оно и использовано, по нему происходит подбор номенклатуры.

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

а про многопоточные приложения лучше в учебниках по делфи и с++ написано
я лично не грамотный
возможно в дельфи понятие модальности и другое
но вроде как я помню в винапи2000 модально это когда окно открывается поверх родительского
и блокирует его ...
я не прав?
кстати в 8.2 вроде что то поменяли в этом смысле
а 7.7 старо как ... не важно
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36837928
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТуз

у вас оригинальное обращение с подбором
я например не вижу даже попыток применения


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

СвинТуз
лучше все таки разжиться руководством

Ну "1С:Предприятие 7.7 Описание встроенного языка", видимо не самое лучшее, посоветуйте список литературы по 1С

СвинТуз
а про многопоточные приложения лучше в учебниках по делфи и с++ написано
я лично не грамотный

Шутку понял, смешно! Если вы не знаете про много поточные приложения на Delphi и C++, тут как бы википедия или литература по оным, если же все таки знаете, ИМХО контекст вашего вопроса про много поточность все же не понятен.

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

И да и нет, что там в MSDN написано точно, не помню, но точно помню что если из модальной формы вызвать другую, она в фон не падала.

СвинТуз
кстати в 8.2 вроде что то поменяли в этом смысле
а 7.7 старо как ... не важно
Ну 7.7 не старее нас с вами, а с 8.2 будем разбираться когда необходимость выростет, на данном этапе и с 7.7 хватает поставленных и ожидающих выполнения задач.

P.$. За сим прошу тему закрыть по причине решения проблемы, либо оставить для дальнейшего обсуждения способа решения задачи , с личными претензиями по моей компетентности или некомпетентности, добро пожаловать в личку или в аську!
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36837959
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я же говорю - я не грамотный ...
модальное окно в 7.7 закрывает родительское и прекращает фоновые вычисления ...
вроде так
когда проектировали 7.7 "по другому" вроде только начиналось
то есть вы вроде можете создать другой процесс и его запустить
а этот стопорится и ждет реакции в модальном окне ...
под каждый процесс выделяются свои ресурсы
вот в 7.7 этого нет ...
в дельфи - есть
отсюда и фраза про могопоточность

не знаю ... спросите где нибудь еще
я не грамотный
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36842171
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТузя же говорю - я не грамотный ...
модальное окно в 7.7 закрывает родительское и прекращает фоновые вычисления ...
вроде так
когда проектировали 7.7 "по другому" вроде только начиналось
то есть вы вроде можете создать другой процесс и его запустить
а этот стопорится и ждет реакции в модальном окне ...
под каждый процесс выделяются свои ресурсы
вот в 7.7 этого нет ...
в дельфи - есть
отсюда и фраза про могопоточность

не знаю ... спросите где нибудь еще
я не грамотный

Все мы только учимся.

P.$.

Мудрец вопросы миру задает,
Дурак ответы точные дает.
Но для того ли мудрый вопрошает,
Чтоб отвечал последний идиот?
— Новелла Николаевна Матвеева
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36842650
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с таким подходом немного желающих будет отвечать выглядеть идиотами

и ещё вопрос - зачем спрашивать если не ждешь ответа ?

пс... не очень слушайте поэтов - люди творческие, в голове каша потому и поэты
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36842810
СвинТуз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а на мой взгляд все нормально
он хороший парень
через несколько лет будет на 10 шагов впереди меня в 1с
если не бросит конечно ))
удачи Эдуард
...
Рейтинг: 0 / 0
Много строчная часть в справочнике
    #36846508
SwiftBlack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СвинТуза на мой взгляд все нормально
он хороший парень
через несколько лет будет на 10 шагов впереди меня в 1с
если не бросит конечно ))
удачи Эдуард

Спасибо огромное за понимание и за помощь, ни в коем случае никого обидеть не хотел, если кого обил извените бога ради!!!
Считаю себя скорее специалистом широкого плана, разбираюсь на достаточном для работы уровне во многих областях, по необходимости углубляюсь в тонкости для выполнения конкретной задачи, до высокого уровня 1с программирования врятли когданибудь дотяну, и вопросов еще много задам по ходу изучения.

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


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