Выписки из банка в 1С ERP 2.4

1. AndrewUs 11 10.07.18 15:47 Сейчас в теме
Здравствуйте!
Есть клиент банк. Есть 1С ERP 2.4.
Делаем выгрузку файла выписок из банка. Загружаем в 1С.
В итоге получаем в поле "объект расчетов" в документе платежного поручения не договор, а документ поступления, либо заказ, либо платежное поручение.
В договоре выставлен учет по договорам.
Подскажите, пожалуйста, может кто сталкивался с подобным. Как сделать, чтобы при загрузке выписок из банка всегда автоматически подхватывался договор, а не какой-либо документ?
Спасибо.
user934971; +1 Ответить
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. AndrewUs 11 11.07.18 07:59 Сейчас в теме
Неужели никто не знает?
3. dyuha 49 11.07.18 08:11 Сейчас в теме
Программе проще найти заказ по сумме, и взять из него условия, чем гадать по какому договору из 100500 отразить поступление. Сформируйте отчет по взаиморасчетам и посмотрите, что он покажет, если в Заказе расчет по договорам.
4. AndrewUs 11 11.07.18 08:15 Сейчас в теме
(3) Но как тогда получается, что у некоторых контрагентов в документ подставляется сразу договор, а у некоторых документы расчета? Наверняка какая-то запись в регистрах есть, которая влияет на это "безобразие".
Раньше, в более ранних версиях 1С, была возможность у контрагента указать основной договор, сейчас же такой возможности я не нахожу.
5. dyuha 49 11.07.18 08:22 Сейчас в теме
Я думаю есть система приоритетов. Если документ по сумме подошел берем его. Если никакой не подошел идем в договоры. Если договор один - берем его. (Дальше фантазии) Если не один, берем тот по которому есть задолженность, Если несколько, берем тот у которого срок задолженности больше.
Надо посмотреть в конфигураторе механизм подбора объекта расчетов. Точно помню были комментарии, но искать лень.
6. AndrewUs 11 11.07.18 08:40 Сейчас в теме
(5) Не помните, комментарии в модуле формы документа? Или где-то в другом месте?
7. dyuha 49 11.07.18 08:56 Сейчас в теме
Обработки.КлиентБанк.ПодготовитьСтрокиВыписки(...) Начинать от туда и по шагам вся логика как на ладони.
8. dyuha 49 11.07.18 09:01 Сейчас в теме
ВзаиморасчетыСервер.ПолучитьТекстЗапросаДокументыРасчетовСКлиентами - Здесь формируются приоритеты.
9. AndrewUs 11 11.07.18 09:23 Сейчас в теме
(8) Наверное не догоняю, но пробежавшись по коду, чего-то явного в данном условии я не увидел.

Если ЗначениеЗаполнено(СтрокаДокумента.ОбъектРасчетов) Тогда
СтрокаДокумента.СтатьяДвиженияДенежныхСредств =
ДенежныеСредстваСервер.СтатьяДвиженияДенежныхСредствОбъектаРасчетов(СтрокаДокумента.ОбъектРасчетов,
СтрокаДокумента.ВидОперации);
КонецЕсли;
10. AndrewUs 11 11.07.18 09:26 Сейчас в теме
Посмотрел по коду, нашел запрос, но тоже ничего мне сказал:

// Договор с контрагентом
		Запрос = Новый Запрос;
		Запрос.Текст = "
		|ВЫБРАТЬ ПЕРВЫЕ 2
		|	ДанныеДоговора.Ссылка КАК Ссылка,
		|	ДанныеДоговора.ТипДоговора КАК ТипДоговора,
		|	ДанныеДоговора.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств
		|
		|ИЗ
		|	Справочник.ДоговорыКонтрагентов КАК ДанныеДоговора
		|
		|ГДЕ
		|	ДанныеДоговора.БанковскийСчет = &БанковскийСчет
		|	И ДанныеДоговора.Контрагент = &Контрагент
		|	И ДанныеДоговора.БанковскийСчетКонтрагента = &БанковскийСчетКонтрагента
		|	И ДанныеДоговора.Статус = ЗНАЧЕНИЕ(Перечисление.СтатусыДоговоровКонтрагентов.Действует)
		|";
		
		Запрос.УстановитьПараметр("БанковскийСчет", БанковскийСчет);
		Запрос.УстановитьПараметр("Контрагент", СтрокаДокумента.Контрагент);
		Запрос.УстановитьПараметр("БанковскийСчетКонтрагента", СтрокаДокумента.СчетКонтрагента);
		
		Выборка = Запрос.Выполнить().Выбрать();
		Если Выборка.Количество() = 1 Тогда
			
			Выборка.Следующий();
			
			СтрокаДокумента.ОбъектРасчетов = Выборка.Ссылка;
			СтрокаДокумента.СтатьяДвиженияДенежныхСредств = Выборка.СтатьяДвиженияДенежныхСредств;
			
			Продолжить;
		КонецЕсли;
Показать
11. AndrewUs 11 11.07.18 09:28 Сейчас в теме
Наверное это отвечает за данную фичу:

Если ПроводитьДокументы И РаспределяемаяСумма > 0 Тогда // Подбор объектов расчетов
				
				Для Каждого СтрокаТаблицы Из ТаблицаОстатковРасчетов Цикл
					
					Если ЗначениеЗаполнено(СтрокаТаблицы.Заказ) Тогда
						
						Если СтрокаТаблицы.Обработано Тогда
							Продолжить;
						КонецЕсли;
						
						СтрокаРасшифровки = ДокументОбъект.РасшифровкаПлатежа.Добавить();
						
						СуммаСтроки = Мин(РаспределяемаяСумма, СтрокаТаблицы.Сумма);
						РаспределяемаяСумма = РаспределяемаяСумма - СтрокаТаблицы.Сумма;
						
						ЗаполнитьЗначенияСвойств(СтрокаРасшифровки, СтрокаТаблицы, , "Сумма");
						СтрокаРасшифровки.Сумма = СуммаСтроки;
						
						СтрокаТаблицы.Обработано = Истина;
						
						Если РаспределяемаяСумма <= 0 Тогда
							Прервать;
						КонецЕсли;
						
					КонецЕсли;
				КонецЦикла;
			КонецЕсли;
Показать
12. dyuha 49 11.07.18 10:12 Сейчас в теме
(11) Запрос формирует таблицу документов, в которой порядок документов определяется логикой запроса. Потом в цикле сумма закрывается документами по порядку, пока не схлопнется. Потом при проведении на основании соглашения/договора формируются проводки в регистр и если расчеты по договорам они и будут по договорам. А заказ будет служить источником договора для расчетов.
13. AndrewUs 11 11.07.18 10:28 Сейчас в теме
(12) Т.е. как я понял, без вмешательства в код никак нельзя программу заставить всегда указывать в поле объект расчетов договор, а если договоров несколько то первый по порядку?
14. dyuha 49 11.07.18 10:36 Сейчас в теме
То, что в документе выбран заказ вместо договора можно увидеть только в документе. Проверьте в проводках. Заказа там не будет (если расчеты по договорам).
15. AndrewUs 11 11.07.18 15:20 Сейчас в теме
(14) В самой выписке указан заказ, либо поступление, либо документ ссылается сам на себя и, естественно при формировании ОСВ авансы не закрываются, потому что в документе оплаты объект расчетов, например, заказ, а в поступлении - договор.
16. AndrewUs 11 11.07.18 15:22 Сейчас в теме
(14) В проводках документа нет заказа, но и договор не указан, что становится неприятной проблемой для бухгалтера при сверке.
17. dyuha 49 12.07.18 09:44 Сейчас в теме
Договор появится после расчета взаиморасчетов.
18. AndrewUs 11 12.07.18 13:21 Сейчас в теме
Т.е. получается, если в документе указан заказ или поступление как объект расчетов, то после закрытия месяца, в оборотке будет указан договор?
Если это так, то у нас данный фокус не получается.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)