Добрый день!
Пишу обработку по выгрузке остатков по счету 002.1.
Пишу обработку по выгрузке остатков по счету 002.1.
Процедура Выгрузить002()
ДБФ = СоздатьОбъект("XBase");
ДБФ.ДобавитьПоле("StKod", "S", 9, );
ДБФ.ДобавитьПоле("KONTR", "S", 150, );
ДБФ.ДобавитьПоле("KontrIdent", "S", 150, );
ДБФ.ДобавитьПоле("DOGOVOR", "S",150 , );
ДБФ.ДобавитьПоле("DATAV", "D", , );
ДБФ.ДобавитьПоле("DATAP", "D", , );
ДБФ.ДобавитьПоле("Shcet","S",15,);
ДБФ.ДобавитьПоле("Summa", "N", 15, 2);
ДБФ.ДобавитьПоле("Kol", "N", 15, 5);
ДБФ.ДобавитьПоле("RODKONTR", "S", 150, );
ДБФ.ДобавитьПоле("INNKONTR", "S", 20, );
ДБФ.ДобавитьПоле("DATANST", "D", , );
ДБФ.ДобавитьПоле("DATAPST", "D", , );
ДБФ.ДобавитьПоле("STVKST", "N", 5, 2);
ДБФ.ДобавитьПоле("EDRSST", "S",25 , );
ДБФ.ДобавитьПоле("SKANKAT", "S",150 , );
ДБФ.ДобавитьПоле("SKANDOG", "S",150 , );
ДБФ.ДобавитьПоле("MatKod", "S", 9, );
ДБФ.ДобавитьПоле("MatIdent", "S", 150, );
ДБФ.ДобавитьПоле("MatName", "S", 100, );
ДБФ.ДобавитьПоле("MatED", "S", 50, );
ДБФ.ДобавитьПоле("MatEDKOD", "S", 10, );
ДБФ.ДобавитьПоле("MatVid", "S", 150, );
ДБФ.ДобавитьПоле("Sklad", "S", 45, );
ДБФ.ДобавитьПоле("SkladKOD", "S", 45, );
ДБФ.ДобавитьПоле("MOL", "S", 150, );
//ДБФ.СоздатьФайл("C:\ТАИФ СТ\60_2_2_1.DBF");
ДБФ.СоздатьФайл("D:\1cBases\temp\Обработки\002_1.DBF");
СтрокаУслСчета = "002.1";
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.Материалы);
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты);
Ит.ИспользоватьСубконто(ВидыСубконто.Договоры);
Ит.ИспользоватьСубконто(ВидыСубконто.ОбъектыСтроительства);
Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения);
Ит.ВыполнитьЗапрос(Дата1, Дата1, СтрокаУслСчета);
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет() = 1 Цикл
Ит.ВыбратьСубконто(1);
Сообщить("В цикле");
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
ОстатокСумма = Ит.СКД("С") - Ит.СКК("С");
Ит.ВыбратьСубконто(2);
Пока Ит.ПолучитьСубконто(2) = 1 Цикл
Если (Ит.СКД("С") = 0 ) и (Ит.СКК("С") = 0) Тогда
Продолжить;
КонецЕсли;
Ит.ВыбратьСубконто(3);
Пока Ит.ПолучитьСубконто(3) = 1 Цикл
Если (Ит.СКД("С") = 0 ) и (Ит.СКК("С") = 0) Тогда
Продолжить;
КонецЕсли;
Ит.ВыбратьСубконто(4);
Пока Ит.ПолучитьСубконто(4) = 1 Цикл
Если (Ит.СКД("С") = 0 ) и (Ит.СКК("С") = 0) Тогда
Продолжить;
КонецЕсли;
Ит.ВыбратьСубконто(5);
Пока Ит.ПолучитьСубконто(5) = 1 Цикл
Если (Ит.СКД("С") = 0 ) и (Ит.СКК("С") = 0) Тогда
Продолжить;
КонецЕсли;
ДБФ.Добавить();
Контрагент=Ит.Субконто(1);
Номенклатура = Ит.Субконто(4);
Склад = Ит.Субконто(5);
//ДБФ.DOGOVOR = Договор.Наименование;
//ДБФ.DATAV = Договор.ДатаВозникновенияОбязательства;
//ДБФ.DATAP = Договор.ДатаПогашенияОбязательства;
ДБФ.Shcet = Ит.Счет.Код;
ДБФ.StKod = Контрагент.Код;
ДБФ.KONTR = КОнтрагент.Наименование;
ДБФ.KontrIdent = ЗначениеВСтрокуВнутр(Контрагент);
ДБФ.Summa = Ит.СКД("С") - Ит.СКК("С");
ДБФ.Kol = Ит.СКД("К") - Ит.СКК("К");
//ДБФ.RODKONTR = Контрагент.Родитель.Наименование;
//ПоискИНН = Найти(Контрагент.ИНН, "/");
//Если ПоискИНН > 0 Тогда
// ДБФ.INNKONTR = Лев(Контрагент.ИНН, ПоискИНН-1);
//Иначе
// ДБФ.INNKONTR = Контрагент.ИНН;
//КонецЕсли;
//ДБФ.DATANST = Договор.ДатаНачалаНачисленияШтрафныхСанкций;
//ДБФ.DATAPST = Договор.ДатаПрекращенияНачисленияШтрафныхСанкций;
//ДБФ.STVKST = Договор.СтавкаШтрафныхСанкций;
//ДБФ.EDRSST = Договор.ВременнаяЕдиницаРасчетаШтрафныхСанкций;
//ДБФ.SKANKAT = Договор.КаталогОтсканированныйДоговор;
//ДБФ.SKANDOG = Договор.ОтсканированныйДоговор;
ДБФ.MatKod = Номенклатура.Код;
ДБФ.MatName = Номенклатура.Наименование;
ДБФ.MatIdent = ЗначениеВСтрокуВнутр(Номенклатура);
ДБФ.MatED = Номенклатура.ЕдиницаИзмерения.Наименование;
ДБФ.MatEDKOD = Номенклатура.ЕдиницаИзмерения.Код;
// ДБФ.MatVid = СокрЛП(Строка(Номенклатура.СубСчет10.Код));
ДБФ.Sklad = Склад.Наименование;
ДБФ.SkladKOD = Склад.Код;
ДБФ.MOL = Склад.МОЛ.Наименование;
ДБФ.Записать();
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Сообщить("Закончили002","!!!");
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Конструирование аналитической структуры плана счетов в программе «1С:Бухгалтерия 8» с целью обеспечения достоверности финансовой отчетности
- Механизмы тестирования в 1С. Использование методики TDD (разработка через тестирование) в 1С
- Сравнительный анализ систем 1С Предприятие и Microsoft Dynamics AX
- Переход с 1С:УПП на 1C:ERP. Переезд пользователей с сохранением прежних прав
- Технические навыки аналитика 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ит.ВыбратьСчета();
вот тут надо так Ит.ВыбратьСчета(, , , 1); иначе субконто счетов просто не получить
а еще лучше даже так Ит.ВыбратьСчета(1, , , 1); чтобы толко данные с итогами по обороту на счете выбрались, но это если не нужны пустые итоги по счету
вот тут надо так Ит.ВыбратьСчета(, , , 1); иначе субконто счетов просто не получить
а еще лучше даже так Ит.ВыбратьСчета(1, , , 1); чтобы толко данные с итогами по обороту на счете выбрались, но это если не нужны пустые итоги по счету
Синтаксис:
Опции(<ВклЗабалансСуммы>,<ВклОборотСубкСуммы>)
Назначение:
Устанавливает режим включения сумм в итоги.
Параметры:
<ВклЗабалансСуммы> - признак включения в итоги сумм по забалансовым счетам. Число: 0 - не включаются суммы по забалансовым счетам; 1 - включаются суммы по забалансовым счетам.
<ВклОборотСубкСуммы> -признак включения в итоги сумм по оборотным субконто. Число: 0 - не включаются суммы по оборотным суб-конто; 1 - включаются суммы по оборотным субконто.
Опции(<ВклЗабалансСуммы>,<ВклОборотСубкСуммы>)
Назначение:
Устанавливает режим включения сумм в итоги.
Параметры:
<ВклЗабалансСуммы> - признак включения в итоги сумм по забалансовым счетам. Число: 0 - не включаются суммы по забалансовым счетам; 1 - включаются суммы по забалансовым счетам.
<ВклОборотСубкСуммы> -признак включения в итоги сумм по оборотным субконто. Число: 0 - не включаются суммы по оборотным суб-конто; 1 - включаются суммы по оборотным субконто.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот