Имя: Пароль:
1C
1С v8
ПОЛЕ "Банковский счет" становится недоступным для редактирования
,
0 killneo
 
12.09.22
10:25
Добрый день, друзья!

Не могу разобраться почему так происходит:

ПОЛЕ "Банковский счет" становится недоступным для редактирования, после программного создания счёта на оплату покупателю.
Если создаём счёт ручками в программе, то даже после проведения можно зайти в Счёт Покупателю и выбрать в этом поле любой другой наш Банковский счёт.

Конфа Предприятие 8.3 БП 3.0 стандарт, счёт создаю через расширение с помощью http сервиса.

Заранее спасибо за помощь, если ктото знает
1 Злопчинский
 
12.09.22
10:27
сорпоставить все реквизиты в ручноцм созданном и программно созданном. найти отличие. ликвидировать.
даю совет как вообще не знающий что да как...
2 2S
 
12.09.22
10:28
условие оформление поди какое
3 killneo
 
12.09.22
10:28
Вот так создаю счёт программно:

         НовыйДокументСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();
     НовыйДокументСчет.Организация = ОрганизацияВСчет;
     НовыйДокументСчет.Дата = ТекущаяДата();
     НовыйДокументСчет.Контрагент = КонтрагентСсылка;
     НовыйДокументСчет.ДоговорКонтрагента = ДоговорПоиск;
     НовыйДокументСчет.Ответственный = ПользователиКлиентСервер.ТекущийПользователь();
     НовыйДокументСчет.ДокументБезНДС = Истина;  
    
         НовыйДокументСчет.СтруктурнаяЕдиница = Справочники.Организации.ОрганизацияПоУмолчанию().ОсновнойБанковскийСчет;

         НовыйДокументСчет.ВалютаДокумента = Справочники.Валюты.НайтиПоКоду("643");
         НовыйДокументСчет.КратностьВзаиморасчетов = 1;
     НовыйДокументСчет.КурсВзаиморасчетов = 1;    
     НовыйДокументСчет.Записать(РежимЗаписиДокумента.Проведение);
    
     СрокОплаты = СрокиОплатыДокументов.СрокОплатыНовогоСчетаПокупателю(ТекущаяДата());
     СрокиОплатыДокументов.ЗаписатьСрокОплатыДокумента(НовыйДокументСчет.Ссылка, СрокОплаты);
4 Elf_80_lvl
 
12.09.22
10:30
(3) Смотри (1)
5 killneo
 
12.09.22
10:31
Вот как выглядит поле, если зайти в созданный счёт в 1С

https://yapx.ru/v/T2H2y
6 killneo
 
12.09.22
10:33
(4) То есть через отладку сравнить внутренности двух объектов?
7 Elf_80_lvl
 
12.09.22
10:41
Универсальной обработкой выбери два документа и по колонка посмотри чем отличаются для начала
8 killneo
 
12.09.22
10:48
(7) Мне её нужно гдето скачать? Приведите пример где найти эту обработку
если не сложно, никогда не сталкивался
9 Злопчинский
 
12.09.22
11:27
(3) капец какой-то.. а что, в снеговике нет подхода к инициациализации шапки документа когда обращаешься к неким глобальным процедурам..? ну типа
Док.Новый();
глЗаполнитьШапку(Док);
?
10 killneo
 
12.09.22
11:51
(9) Нет даже в Глобальном поиске такого не нашёл(
11 Гипервизор
 
12.09.22
12:06
(10) Ну разумеется именно такой процедуры с таким названием нет.
По сабжу - получателя оплаты не заполняете.
12 Злопчинский
 
12.09.22
12:07
(10) ну, в снеговике по другому всё, я только для примера привел, да и то - больше спросить т.к. самому интересно
13 Ryzeman
 
12.09.22
12:08
(9) В типовых конечно есть, только как правило всё намного сложнее чем просто описать в процедурке общего модуля.
Ну а в самописках - кто как сделал, так и работает...
14 Kassern
 
12.09.22
12:10
(8) блин запустите уже отладку и через Вычислить выражение, выведите 2 таблички, вашего программного объекта и созданного ручками. Глазками сравните и все станет ясно
15 Kassern
 
12.09.22
12:10
Отладкой пользоваться умеете?
16 Ryzeman
 
12.09.22
12:11
(8) https://its.1c.ru/db/metod8dev/content/4500/hdoc
Либо на инфостарте любую. Либо как посоветовал (14). Но как без консоли запросов работать программистом я ХЗ. Разве что прямой доступ к SQL есть, но так как-то неправославно...
17 Kassern
 
12.09.22
13:20
(14) + можно еще эти две таблички в эксель скинуть и рядом поле сделать КолонкаЗначение1=КолонкаЗначение2. Там где не Истина, на те поля обратить внимание, если глазками не получается.
18 killneo
 
12.09.22
13:56
(11) Спасибо, действительно заполнил получателя и всё работает как надо!

Всем спасибо!

(8) Могли бы вы привести пример кода с Вычислить выражение - чтобы на будущее 2 объекта удобно сравнивать,
а то не удобно в отладчике сворачивать разворачивать плюсики)
19 Злопчинский
 
12.09.22
13:58
(18) до (1) самостоятельно додуматься трудно было?
20 Kassern
 
12.09.22
14:05
(18) Берете к примеру процедуру ПриСозданииНаСервере в нужном документе/справочнике корректно заполненным, в конце ее ставите точку останова. На ней делаете вычистить выражение по переменной "Объект". У вас выйдет ДанныеФормыСтруктура. Разжимаете плюсик, чтобы было видно ключи этой структуры и сверх слева есть кнопочка "Вывести список". по ней выводите в табдок вашу структуру данных. Таким макаром делаете с корявым документом/справочником. В итоге у вас 2 табдока с реквизитами и одинаковым порядком полей. Далее, глазками находите разницу, либо через эексельку сравниваете 2 колонки со значением.