|
v7: идентификационный код продукции и услуг | ☑ | ||
---|---|---|---|---|
0
Asia2016
04.08.21
✎
20:37
|
Ввели ИКПУ. Дописываю в документах. Создали справочник ИКПУ (код периодический). при заполнении в расходной накладной всех не нулевых остатков, выдает код автоматом. но при выборе по одной позиции выдает ошибку
Конт.КодИКПУ = ит.КодИКПУ; {Глобальный модуль(557)}: Поле агрегатного объекта не обнаружено (КодИКПУ) |
|||
1
Asia2016
04.08.21
✎
20:38
|
Процедура Заполнить()
глОчиститьТабличнуюЧасть(Контекст); Если количествоСтрок()>0 Тогда Возврат; КонецЕсли; //Если Контрагент.Выбран()=0 Тогда Предупреждение ("Выберите Контрагента!"); // Возврат; //КонецЕсли; ВидСубконто = ВидыСубконто.Номенклатура; ВыбСчет = "28, 29"; глЗаполнитьТМЦ(Контекст, Товар, ВидСубконто, ВыбСчет); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидСубконто,,1); Ит.ВключатьСубсчета(-1); Если (Выбран() = 1) И (Проведен() = 1) Тогда Ит.ВыполнитьЗапрос(ТекущийДокумент(), , "004",,,,,); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Если Ит.СНД(3) > 0 Тогда НоваяСтрока(); СчетУчета = Ит.Счет; Товар = Ит.Субконто(1); КодИКПУ = Ит.Субконто(1).КодИКПУ.Получить(ДатаДок); ШтрихКод = Ит.Субконто(1).ШтрихКод.Получить(ДатаДок); Код = Ит.Субконто(1).Код; Остаток = Ит.СНД(3); Себестоимость = Ит.СНД(1) / Остаток; КонецЕсли; КонецЦикла; КонецЦикла; Иначе Ит.ВыполнитьЗапрос(, ДатаДок, "004",,,,,); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Если Ит.СКД(3) > 0 Тогда НоваяСтрока(); СчетУчета = Ит.Счет; Товар = Ит.Субконто(1); КодИКПУ = Ит.Субконто(1).КодИКПУ.Получить(ДатаДок); ШтрихКод = Ит.Субконто(1).ШтрихКод.Получить(ДатаДок);; Код = Ит.Субконто(1).Код; Остаток = Ит.СКД(3); Себестоимость = Ит.СКД(1) / Остаток; КонецЕсли; КонецЦикла; КонецЦикла; КонецЕсли; Если КоличествоСтрок()=0 Тогда Предупреждение("На данном складе товаров или продукции нет!"); КонецЕсли; СортироватьСтроки("Товар"); КонецПроцедуры //Заполнить |
|||
2
Asia2016
04.08.21
✎
20:39
|
в процедуре заполнить все срабатывает
|
|||
3
Asia2016
04.08.21
✎
20:40
|
Процедура ВыборТовара()
ВидСубконто = ВидыСубконто.Номенклатура; ВыбСчет = "28, 29"; глВыборТМЦ(Контекст, Товар, ВидСубконто, ВыбСчет); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидСубконто, Товар, 2); Ит.ВключатьСубсчета(-1); Если (Выбран() = 1) И (Проведен() = 1) Тогда Ит.ВыполнитьЗапрос(ТекущийДокумент(), , "004",,,,,); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Если Ит.СНД(3) > 0 Тогда СчетУчета = Ит.Счет; Код = Ит.СНД(3).Код; Остаток = Ит.СНД(3); КодИКПУ = Ит.СНД(3).КодИКПУ.Получить(ДатаДок); ШтрихКод= Ит.СНД(3).ШтрихКод.Получить(ДатаДок); Себестоимость = Ит.СНД(1) / Остаток; КонецЕсли; КонецЦикла; Иначе Ит.ВыполнитьЗапрос(, ДатаДок, "004",,,,,); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Если Ит.СКД(3) > 0 Тогда СчетУчета = Ит.Счет; Остаток = Ит.СКД(3); Код = Ит.СКД(3).Код; КодИКПУ = Ит.СКД(3).ИКПУ.Получить(ДатаДок); ШтрихКод = Ит.СКД(3).ШтрихКод.Получить(ДатаДок); Себестоимость = Ит.СКД(1) / Остаток; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры // при выполнении этого модуля выдает ошибку |
|||
4
Злопчинский
04.08.21
✎
20:43
|
(3) мозг включаем
Остаток = Ит.СНД(3); // остток это - число КодИКПУ = Ит.СНД(3).КодИКПУ.Получить(ДатаДок); // КодИКПУ от ЧЕГО хочешь получить? |
|||
5
Злопчинский
04.08.21
✎
20:45
|
ШтрихКод = Ит.СКД(3).ШтрихКод.Получить(ДатаДок); // аналогично
|
|||
6
Asia2016
04.08.21
✎
20:47
|
||||
7
Asia2016
04.08.21
✎
20:51
|
(4) по запарке копирнули. Но через бух итоги тоже не работает. не могу понять почему при заполнении сплошником все идет, а при выборе по каждой позиции не срабатывает.
|
|||
8
Asia2016
04.08.21
✎
20:58
|
вот я тормоз надо ит.субконто (2). спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |