Отключение сравнения данных документа с данными документа основания в УТ 11.5
По теме из базы знаний
- Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2/3.0
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Концепция автоматизации многопрофильного Холдинга в системе АУБ на платформе 1С
- Распознавание и загрузка сканов в 1С "одним нажатием". УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
Найденные решения
Если кому-то пригодится:
&После("ПередЗаписью")
Процедура ЭБСПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Попытка
Если РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
Если ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Иванов Федор Евгеньевич") ИЛИ
ЭтотОбъект.Контрагент.ИНН = 1111111111111
Тогда
СтрокаДляПоиска = ЭтотОбъект.Комментарий;
Поиск1 = Лев(СтрокаДляПоиска, 18);
СтрокаДляПоиска = СтрЗаменить(СтрокаДляПоиска, Поиск1, "");
Поиск2 = СтрНайти(СтрокаДляПоиска, "ID_Склада_") - 1;
СтрокаДляПоиска = Лев(СтрокаДляПоиска, Поиск2);
ЭтотОбъект.ПоступлениеПоЗаказам = Истина;
ЭтотОбъект.ЦенаВключаетНДС = Истина;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщику.Ссылка КАК Ссылка
|ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
| ЗаказПоставщику.Номер = &Номер
| И ЗаказПоставщику.Контрагент = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", ЭтотОбъект.Контрагент);
Запрос.УстановитьПараметр("Номер", СтрокаДляПоиска);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭтотОбъект.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
ЭтотОбъект.Склад = ВыборкаДетальныеЗаписи.Ссылка.Склад;
ЭтотОбъект.Контрагент = ВыборкаДетальныеЗаписи.Ссылка.Контрагент;
ЭтотОбъект.Соглашение = ВыборкаДетальныеЗаписи.Ссылка.Соглашение;
ЭтотОбъект.Партнер = ВыборкаДетальныеЗаписи.Ссылка.Партнер;
Для Каждого СтрокаТоваров Из ЭтотОбъект.Товары Цикл
//ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура);
Если ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура) = "Пусто" Тогда
СтрокаТоваров.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
СтрокаТоваров.КодСтроки = 0;
СтрокаТоваров.РасхождениеЗаказ = 1;
Иначе
СтрокаТоваров.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
СтрокаТоваров.КодСтроки = ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Исключение
//Сообщить("Документ проводится без заказа");
КонецПопытки;
КонецПроцедуры
Функция ПроверкаНоменклатурыВЗаказеПоставщику(СсылкаНаЗаказ, ИскомаяНоменклатура)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщикуТовары.НомерСтроки КАК НомерСтроки,
| ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура
|ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
|ГДЕ
| ЗаказПоставщикуТовары.Номенклатура = &ИскомаяНоменклатура
| И ЗаказПоставщикуТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("ИскомаяНоменклатура", ИскомаяНоменклатура);
Запрос.УстановитьПараметр("Ссылка", СсылкаНаЗаказ);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат "Пусто"
Иначе
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.НомерСтроки;
КонецЦикла;
КонецЕсли;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7)
при проведении заказа поставщику получайте приходную накладную и меняйте. Но обычно так никто не делает. Заказ отображает намерение что-то купить, а приходная накладная отображает что пришло по факту.
7. konsta2006 24.09.24 10:54
(4) ПН - это приходная накладная. в ней товары нужно изменять при подвязанном заказом поставщику.
(4) ПН - это приходная накладная. в ней товары нужно изменять при подвязанном заказом поставщику.
при проведении заказа поставщику получайте приходную накладную и меняйте. Но обычно так никто не делает. Заказ отображает намерение что-то купить, а приходная накладная отображает что пришло по факту.
(8) у нас эти документы отправляются и получаются через бизнес-сеть и потом накладная отличающаяся от заказа не перепроводится. я позже проверю - отпишусь (сейчас RDP заглючило). я думал может кто-то сталкивался. вообще я там нашел в модуле объекта приходной накладной процедуру проверки соответствия товаров (точно название не помню). просто ее придется в расширении заменять - не очень хочется
Если кому-то пригодится:
&После("ПередЗаписью")
Процедура ЭБСПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Попытка
Если РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
Если ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Иванов Федор Евгеньевич") ИЛИ
ЭтотОбъект.Контрагент.ИНН = 1111111111111
Тогда
СтрокаДляПоиска = ЭтотОбъект.Комментарий;
Поиск1 = Лев(СтрокаДляПоиска, 18);
СтрокаДляПоиска = СтрЗаменить(СтрокаДляПоиска, Поиск1, "");
Поиск2 = СтрНайти(СтрокаДляПоиска, "ID_Склада_") - 1;
СтрокаДляПоиска = Лев(СтрокаДляПоиска, Поиск2);
ЭтотОбъект.ПоступлениеПоЗаказам = Истина;
ЭтотОбъект.ЦенаВключаетНДС = Истина;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщику.Ссылка КАК Ссылка
|ИЗ
| Документ.ЗаказПоставщику КАК ЗаказПоставщику
|ГДЕ
| ЗаказПоставщику.Номер = &Номер
| И ЗаказПоставщику.Контрагент = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", ЭтотОбъект.Контрагент);
Запрос.УстановитьПараметр("Номер", СтрокаДляПоиска);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЭтотОбъект.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
ЭтотОбъект.Склад = ВыборкаДетальныеЗаписи.Ссылка.Склад;
ЭтотОбъект.Контрагент = ВыборкаДетальныеЗаписи.Ссылка.Контрагент;
ЭтотОбъект.Соглашение = ВыборкаДетальныеЗаписи.Ссылка.Соглашение;
ЭтотОбъект.Партнер = ВыборкаДетальныеЗаписи.Ссылка.Партнер;
Для Каждого СтрокаТоваров Из ЭтотОбъект.Товары Цикл
//ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура);
Если ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура) = "Пусто" Тогда
СтрокаТоваров.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
СтрокаТоваров.КодСтроки = 0;
СтрокаТоваров.РасхождениеЗаказ = 1;
Иначе
СтрокаТоваров.ЗаказПоставщику = ВыборкаДетальныеЗаписи.Ссылка;
СтрокаТоваров.КодСтроки = ПроверкаНоменклатурыВЗаказеПоставщику(ВыборкаДетальныеЗаписи.Ссылка, СтрокаТоваров.Номенклатура);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Исключение
//Сообщить("Документ проводится без заказа");
КонецПопытки;
КонецПроцедуры
Функция ПроверкаНоменклатурыВЗаказеПоставщику(СсылкаНаЗаказ, ИскомаяНоменклатура)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказПоставщикуТовары.НомерСтроки КАК НомерСтроки,
| ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура
|ИЗ
| Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
|ГДЕ
| ЗаказПоставщикуТовары.Номенклатура = &ИскомаяНоменклатура
| И ЗаказПоставщикуТовары.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("ИскомаяНоменклатура", ИскомаяНоменклатура);
Запрос.УстановитьПараметр("Ссылка", СсылкаНаЗаказ);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат "Пусто"
Иначе
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.НомерСтроки;
КонецЦикла;
КонецЕсли;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот