ЗАНЯТИЕ 69. РАСЧЕТ ПО КНОПКЕ "РАССЧИТАТЬ" (СПР). ПОДГОТОВКА К СПЕЦИАЛИСТУ ПО ПЛАТФОРМЕ 1С

  Рет қаралды 9,280

Бывший 1Сник

Бывший 1Сник

Күн бұрын

Пікірлер: 26
@ИванМайоров-б7о
@ИванМайоров-б7о 2 жыл бұрын
Концовка - огонь! Спасибо за урок!
@programming_1C
@programming_1C 3 жыл бұрын
Илья, красавчик! Коммент и лайк в поддержку!
@TheRussianEvil
@TheRussianEvil 9 ай бұрын
"страшно, страшно, очень страшно, мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое" 13 лет в 1С, 8 из них разрабом, а это высказывание до сих пор актуально по отношению к платформе 1С
@ИринаСлабоспицкая-э4д
@ИринаСлабоспицкая-э4д 4 ай бұрын
После того, как Илья удалил Движение.Результат из Рассчитать Начисления, а оставил только Строка.Результат при первом нажатии кнопки "Рассчитать" посчитается только Оклад, а премия не посчитается, потому что в регистре не будет РезультатБаза (Мы ведь не записали Движение.Результат). После второго нажатия запишется результат расчета оклада(База) в Регистр, посчитается Премия, и движения очистятся. Лучше тогда не удалять Движение.Результат .
@lusine_mkrtumian
@lusine_mkrtumian 3 жыл бұрын
Спасибо большое за урок, давно собиралась посмотреть, что это за метод - РеквизитФормыВЗначение, все руки не доходили. Теперь все предельно ясно))
@TheRussianEvil
@TheRussianEvil 9 ай бұрын
Шёл январь 2024. Стоимость очного экзамена в Москве - 3400.
@ВикторХабаров-х9м
@ВикторХабаров-х9м 5 ай бұрын
Привет всем)
@kb-3755
@kb-3755 2 жыл бұрын
При таком подходе, если зайти в проведенный документ и нажать кнопку рассчитать (например, чтобы посмотреть суммы расчета), то текущие движения документа очистятся. Получится, что документ проведен, а движений нет.
@andry1619DM
@andry1619DM Жыл бұрын
Тоже это заметил, чуть чуть переделал процедуру формы рассчитать на сервере. &НаСервере Процедура РассчитатьНаСервере() Если Объект.Ссылка.Пустая() Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Документ должен быть записсан!"; Сообщение.Сообщить(); Возврат; КонецЕсли; Если Объект.Проведен = Истина Тогда Если Не Объект.ОсновныеНачисления.Количество() = 0 Тогда ДвиженияОснНач = РегистрыРасчета.ОсновныеНачисления.ВыбратьПоРегистратору(Объект.Ссылка); Объект.ОсновныеНачисления.Очистить(); Пока ДвиженияОснНач.Следующий() Цикл Строка = Объект.ОсновныеНачисления.Добавить(); Строка.Сотрудник = ДвиженияОснНач.Сотрудник; Строка.ГрафикРаботы = ДвиженияОснНач.ГрафикРаботы; Строка.ВидРасчета = ДвиженияОснНач.ВидРасчета; Строка.ДатаНачала = ДвиженияОснНач.ПериодДействияНачало; Строка.ДатаОкончания = ДвиженияОснНач.ПериодДействияКонец; Строка.Результат = ДвиженияОснНач.Результат; Строка.Оклад = ДвиженияОснНач.Оклад; Строка.ОтработаноДней = ДвиженияОснНач.ОтработаноДней; Строка.РабочихДней = ДвиженияОснНач.РабочихДней; КонецЦикла; КонецЕсли; Если Не Объект.ДополнительныеНачисления.Количество() = 0 Тогда ДвиженияДопНач = РегистрыРасчета.ДополнительныеНачисления.ВыбратьПоРегистратору(Объект.Ссылка); Объект.ДополнительныеНачисления.Очистить(); Пока ДвиженияДопНач.Следующий() Цикл Строка = Объект.ДополнительныеНачисления.Добавить(); Строка.Сотрудник = ДвиженияДопНач.Сотрудник; Строка.ВидРасчета = ДвиженияДопНач.ВидРасчета; Строка.Результат = ДвиженияДопНач.Результат; Строка.БазаНачислений = ДвиженияДопНач.БазаНачислений; Строка.ПроцентПремии = ДвиженияДопНач.ПроцентПремии; Строка.Стаж = ДвиженияДопНач.Стаж; КонецЦикла; КонецЕсли; Возврат; КонецЕсли; ДокОбъект = РеквизитФормыВЗначение("Объект"); ДокОбъект.ЗаписатьДанныеВРегистры(); ДокОбъект.РассчитатьНачисления(); ЗначениеВРеквизитФормы(ДокОбъект,"Объект"); КонецПроцедуры
@Ekaterina-ez2kg
@Ekaterina-ez2kg 4 ай бұрын
Так сильно переживаю за Бельдыева. Может отпраить его на курсы повышения квалификации?
@Gild_71
@Gild_71 Жыл бұрын
150 руб кешбеком вернул))))
@gerodoth
@gerodoth 3 жыл бұрын
было сложно но я понял. получается в новом документе если не нажать рассчитать то ничего и не посчитается, запишется то что есть. а если рассчитать то из строк заполнением. финт не очевидный.
@cilantro_bumblebee
@cilantro_bumblebee 3 жыл бұрын
Удалятся ли движения документа, если его распровести? Помоему нет...Я пропустил что-то или этот момент не освещался?
@IlyaLeontyev
@IlyaLeontyev 3 жыл бұрын
Почему не удалятся? Должны удалиться. Такое поведение нам обеспечивает свойство документа "Удалять автоматически при отмене проведения", которое устанавливается для документов по умолчанию.
@dnk3569
@dnk3569 3 жыл бұрын
Илья, привет. в 17:43 ты записал "Отказ =Истина" в проц. РассчитатьНаСервере(). А разве в нее передается этот параметр, не будет она лишней?
@IlyaLeontyev
@IlyaLeontyev 3 жыл бұрын
Да, смысла в этом нет ) Это я рефлекторно уже делаю )
@АлександрОрлов-п9ч
@АлександрОрлов-п9ч 6 ай бұрын
Получается, если пользователь нажмёт "рассчитать", а потом передумает и закроет документ без проведения, то все старые движения пропадут без предупреждения. Опасно)
@gerodoth
@gerodoth 3 жыл бұрын
РеквизитФормыВЗначение("Объект") или Объект.Ссылка.ПолучитьОбъект() Есть ли разница?
@IlyaLeontyev
@IlyaLeontyev 3 жыл бұрын
Да, очень большая. РеквизитФормыВЗначение("Объект") позволяет получать объект с актуальными данными открытой формы. А когда ты по ссылке объект получаешь, ты берешь сохраненную копию объекта (данные которого могут отличаться от данных открытой формы).
@PupaVaskin
@PupaVaskin 3 жыл бұрын
Транзакция здесь просто необходима, ведь мы в разных функциях что-то пишем в базу. В случае каких-то ошибок мы можем получить неочищенные движения и неконсистентность данных.
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 140 МЛН
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 1,1 МЛН
When mom gets home, but you're in rollerblades.
00:40
Daniel LaBelle
Рет қаралды 140 МЛН