30.12.2015 12:55
KirillHome
 
В принципе - новшеств много (см. вложение), но то, с чем довелось напрямую столкнуться - в справочнике "Контрагенты" пропал реквизит "ОсновойДоговорКонтрагента" (точнее, его переименовали в "УдалитьОсновнойДоговорКонтрагента").

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

Для работы с этой новой сущностью теперь служит регистр сведений "ОсновныеДоговорыКонтрагентов".
А для получения основного договора использовал функцию общего модуля РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента
Вложения
Тип файла: pdf Новое в версиях 3.0.43.pdf (87.1 Кб, 309 просмотров)
31.12.2015 09:48
MWWRuza
 
Ага... У меня перестала работать моя самописная обработка выгрузки проводок из ККС-Магазина в Бух-3.0, поле агрегатного объекта не найдено "ОсновнойДоговор"... Думаю, че за нах...??? Полез разбираться, а там такие новшества Переделал... Зато, решился вопрос с установкой основного договора, при создании в процессе переноса новых элементов справочников Контрагенты и Договоры. Раньше, нужно было после записи нового элемента в справочник владелец(Контрагенты), записывать реквизит(Основной Договор), со ссылкой на вновь созданный Договор(можно было, конечно через принудительное формирование GUID еще не записанного элемента Договоры сделать, но лениво...), тоесть повторная запись, а теперь все проще и правильнее решается через регистр.
08.02.2016 14:21
JuliaL
 
Добрый день! У меня есть дбф, я загружаю по реквизитам документы, нахожу контарегента по коду. и в поле договор - основной договор.
НоваяСтрока.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента; Теперь все усложняется и надо переписать все обработки. Вместо одной этой строки процедура что ль должна быть?! Помогите пожалуйста примерно как решали эту проблему(( 1С:Предприятие 8.3 (8.3.7.1790)
Бухгалтерия предприятия, редакция 3.0 (3.0.43.29)
08.02.2016 14:22
JuliaL
 
И если можно расскажите как в обработках использовали функцию общего модуля РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента на примере?((
08.02.2016 15:28
KirillHome
 
Используется так

Код:
КонтрВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;

НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
МассивВидовДоговоров = Новый Массив;
МассивВидовДоговоров.Добавить(КонтрВидДоговора);
РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовДок.ДоговорКонтрагента,	НовДок.Контрагент, НовДок.Организация, МассивВидовДоговоров);
Если НовДок.ДоговорКонтрагента <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
	НайденДоговор = Истина;
КонецЕсли;
Всё это в директиве &НаСервере
08.02.2016 16:16
JuliaL
 
А в обработке есть наСервере?!!!
08.02.2016 16:17
JuliaL
 
У меня внешняяОбработка
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
08.02.2016 16:37
KirillHome
 
У меня - обработка с формой, соответственно, в модуле формы - есть как директива &НаКлиенте, так и директива &НаСервере.
08.02.2016 16:45
JuliaL
 
У меня все в модуле объекта происходит.. (( Может поэтому.. не выполняется((

ДоговорКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;

НовДок = Документы.ПриходныйКассовыйОрдер1.СоздатьДокумент();
МассивВидовДоговоров = Новый Массив;
МассивВидовДоговоров.Добавить(ДоговорКонтрагента);
РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовДок.ДоговорКонтрагента, НовДок.Контрагент, НовДок.Организация, МассивВидовДоговоров);
Если НовДок.ДоговорКонтрагента <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
НайденДоговор = Истина;
КонецЕсли;
.......
НоваяСтрока.ДоговорКонтрагента=НайденДоговор;
Вот мой кусок модуля
08.02.2016 16:58
KirillHome
 
Цитата:
JuliaL У меня все в модуле объекта происходит.. (( Может поэтому.. не выполняется((

ДоговорКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;

НовДок = Документы.ПриходныйКассовыйОрдер1.СоздатьДокумент();
МассивВидовДоговоров = Новый Массив;
МассивВидовДоговоров.Добавить(ДоговорКонтрагента);
РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовДок.ДоговорКонтрагента, НовДок.Контрагент, НовДок.Организация, МассивВидовДоговоров);
Если НовДок.ДоговорКонтрагента <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
НайденДоговор = Истина;
КонецЕсли;
.......
НоваяСтрока.ДоговорКонтрагента=НайденДоговор;
Вот мой кусок модуля
Так ошибка то в другом :)

Код:
 ДоговорКонтрагента = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
			  
			  НовДок = Документы.ПриходныйКассовыйОрдер1.СоздатьДокумент();
			  МассивВидовДоговоров = Новый Массив;
			  МассивВидовДоговоров.Добавить(ДоговорКонтрагента);
			  РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовДок.ДоговорКонтрагента,	НовДок.Контрагент, НовДок.Организация, МассивВидовДоговоров);
			  Если НовДок.ДоговорКонтрагента <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
			      НайденДоговор = Истина;
			  КонецЕсли;
.......
Если НайденДоговор Тогда
НоваяСтрока.ДоговорКонтрагента=НовДок.ДоговорКонтрагента;
КонецЕсли;
Т.е. я обходил ситуацию, когда есть несколько договоров с контрагентом указанного вида и ни один из них не является основным.
Из процедуры РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовДок.ДоговорКонтрагента, НовДок.Контрагент, НовДок.Организация, МассивВидовДоговоров) мы получаем НовДок.ДоговорКонтрагента, если договор по данному виду один или есть тот, что является основным по данному виду, иначе - получаем пустую ссылку Справочники.ДоговорыКонтрагентов.ПустаяСсылка()
Часовой пояс GMT +3, время: 18:01.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.